diff --git a/doc/source/shared/abbrevs.txt b/doc/source/shared/abbrevs.txt index a58ee2203..e3f0d7146 100755 --- a/doc/source/shared/abbrevs.txt +++ b/doc/source/shared/abbrevs.txt @@ -62,6 +62,7 @@ .. |DNAT| replace:: :abbr:`DNAT (Destination Network Address Translation)` .. |DNS| replace:: :abbr:`DNS (Domain Name System)` .. |DPDK| replace:: :abbr:`DPDK (Data Plane Development Kit)` +.. |DPLL| replace:: :abbr:`DPLL (Digital Phase Locked Loop)` .. |DN| replace:: :abbr:`DN (Distinguished Name)` .. |DORA| replace:: :abbr:`DORA (Dell Open RAN Accelerator)` .. |DRAM| replace:: :abbr:`DRAM (Dynamic Random Access Memory)` @@ -169,6 +170,8 @@ .. |PMU| replace:: :abbr:`PMU (Performance Monitor Unit)` .. |PQDN| replace:: :abbr:`PDQN (Partially Qualified Domain Name)` .. |PQDNs| replace:: :abbr:`PQDNs (Partially Qualified Domain Names)` +.. |PHY| replace:: :abbr:`PHY (Physical Layer)` +.. |PPS| replace:: :abbr:`PPS (Pulse Per Second)` .. |PRTC| replace:: :abbr:`PRTC (Primary Reference Time Clock)` .. |PSA| replace:: :abbr:`PSA (Pod Security Admission)` .. |PSP| replace:: :abbr:`PSP (Pod Security Policy)` @@ -196,6 +199,7 @@ .. |RST| replace:: :abbr:`rST (reStructuredText)` .. |RVMC| replace:: :abbr:`RVMC (Redfish Virtual Media Controller)` .. |RWX| replace:: :abbr:`RWX (Read Write Many)` +.. |RX| replace:: :abbr:`RX (Receiver)` .. |SA| replace:: :abbr:`SA (Security Association)` .. |SAs| replace:: :abbr:`SAs (Security Associations)` .. |SAN| replace:: :abbr:`SAN (Subject Alternative Name)` @@ -243,6 +247,7 @@ .. |TPM| replace:: :abbr:`TPM (Trusted Platform Module)` .. |TPMs| replace:: :abbr:`TPMs (Trusted Platform Modules)` .. |TTL| replace:: :abbr:`TTL (Time-to-live)` +.. |TX| replace:: :abbr:`TX (Transmitter)` .. |UDP| replace:: :abbr:`UDP (User Datagram Protocol)` .. |UDS| replace:: :abbr:`UDS (Unix Domain Socket)` .. |UEFI| replace:: :abbr:`UEFI (Unified Extensible Firmware Interface)` diff --git a/doc/source/system_configuration/kubernetes/figures/t-bc-configuration.PNG b/doc/source/system_configuration/kubernetes/figures/t-bc-configuration.PNG new file mode 100644 index 000000000..3e256d8d1 Binary files /dev/null and b/doc/source/system_configuration/kubernetes/figures/t-bc-configuration.PNG differ diff --git a/doc/source/system_configuration/kubernetes/figures/t-gm-configuration.PNG b/doc/source/system_configuration/kubernetes/figures/t-gm-configuration.PNG new file mode 100644 index 000000000..205cf4467 Binary files /dev/null and b/doc/source/system_configuration/kubernetes/figures/t-gm-configuration.PNG differ diff --git a/doc/source/system_configuration/kubernetes/instance-specific-considerations-d9d9509c79dd.rst b/doc/source/system_configuration/kubernetes/instance-specific-considerations-d9d9509c79dd.rst index ee2c8ff53..0f334d419 100644 --- a/doc/source/system_configuration/kubernetes/instance-specific-considerations-d9d9509c79dd.rst +++ b/doc/source/system_configuration/kubernetes/instance-specific-considerations-d9d9509c79dd.rst @@ -124,15 +124,73 @@ NONE **Other requirements** The clock type instance is a special instance used for configuring the |NIC| -control parameters of the Westport Channel or Logan Beach |NIC| clock -interface parameters. +control parameters of the Westport Channel, Logan Beach, E825 (GNR-D) and E830 +(Connorsville) |NICs| clock interface parameters. These parameters can be applied to the interface of a clock instance |PTP| parameters: -* sma1 input/output -* sma2 input/output -* u.fl1 output -* u.fl2 input -* synce_rclka enabled -* synce_rclkb enabled +- sma1 input/output + +- sma2 input/output + +- u.fl1 output + +- u.fl2 input + +- synce_rclka enabled + +- synce_rclkb enabled + +- sdp0 + + - output - configure SDP0 pin as output and assign to channel 1 + +- sdp1 + + - input - configure SDP1 pin as input and assign to channel 1 + +- sdp2 + + - output - configure SDP2 pin as output and assign to channel 2 + +- sdp3 + + - input - configure SDP3 pin as input and assign to channel 2 + +- period_sdp0 + + - 1pps - enable 1PPS output on SDP0 pin + + - 1khz - enable 1 KHz output on SDP0 pin + + - 10mhz - enable 10 MHz output on SDP0 pin + +- period_sdp2 + + - 1pps - enable 1PPS output on SDP2 pin + + - 1khz - enable 1 KHz output on SDP2 pin + + - 10mhz - enable 10 MHz output on SDP2 pin + +- tspll_cfg: + + - osc_156.25 - use the 156.25 MHz oscillator clock signal as input reference + clock for the |PHC| + + - timeref_156.25 - use the 156.25 MHz |DPLL| clock signal (TIME_REF) as input + reference clock for the |PHC|. + +- tx_clk + + - enet - use the 25 MHz oscillator clock signal as |TX| reference clock for the + |PHY| port + + - synce - use the 156.25 MHz |DPLL| clock signal as |TX| reference clock for the + |PHY| port. + + - eref0 - use the 156.25 MHz oscillator clock signal as |TX| reference clock + for the |PHY| port + + diff --git a/doc/source/system_configuration/kubernetes/ptp-instance-examples-517dce312f56.rst b/doc/source/system_configuration/kubernetes/ptp-instance-examples-517dce312f56.rst index 4fbf523d7..90c3bcb7d 100644 --- a/doc/source/system_configuration/kubernetes/ptp-instance-examples-517dce312f56.rst +++ b/doc/source/system_configuration/kubernetes/ptp-instance-examples-517dce312f56.rst @@ -9,22 +9,18 @@ Example PTP Instance Configurations :depth: 2 -The following sections provide example configuration steps for two |PTP| +The following sections provide example configuration steps for some |PTP| configurations supported by |prod|. -* The first is a Border Clock setup where an external |PTP| |PTS| is providing - a time source for the system. Only ptp4l and phc2sys are used for this - configuration. - -* The second shows how to setup a |PTS| node when a time source is available - via a locally connected GNSS signal. The ``ptp4l``, ``phc2sys``, - ``ts2phc`` and clock instance types are used for this configuration. - -Simple PTP configuration - T-BC +T-BC - Simple PTP configuration =============================== -Using the topology shown, the following examples provide -configurations for each service type: +This example presents a Border Clock setup where an external |PTP| |PTS| +provides a time source for the system. Only ``ptp4l`` and ``phc2sys`` are used +for this configuration. + +Using the topology shown, the following examples provide configurations for +each service type: .. figure:: figures/ptp-t-bc-configuration.png :scale: 110 % @@ -162,11 +158,12 @@ phc2sys ~(keystone_admin)]$ system ptp-instance-apply - - -Alternate PTP configuration - T-GM +T-GM - Alternate PTP Configuration ================================== +This example shows how to setup a |PTS| node when a time source is available +via a locally connected |GNSS| signal. The ``ptp4l``, ``phc2sys``, ``ts2phc`` +and clock instance types are used for this configuration. Using the topology shown, the following examples provide configurations for each service type. @@ -404,3 +401,411 @@ instance: .. code-block:: ~(keystone_admin)]$ system ptp-instance-apply + +T-GM - Dual NIC Deployment with GNSS and Timing Modules +======================================================= + +This scenario presents an example of |T-GM| setup where the two |NICs| use |GNSS| +as the precise time source. This configuration can be extended to include +additional |NICs|. + +.. figure:: figures/t-gm-configuration.PNG + :scale: 110 % + + *T-GM Configuration* + +clock +----- + +#. Create an instance. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-add clock0 clock + +#. Create an interface to configure NIC1, add parameter(s), and assign the host + interface(s) to it. The SDP1 pin is assigned to channel 1 and will receive + the signal from |DPLL|. Input reference clock for |PHC| will be a 156.25 MHz + signal from |DPLL| (TIME_REF). Use |DPLL| clock signal (SyncE) as |TX| + reference clock for |PHY| port. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-interface-add clock0if0 clock0 + ~(keystone_admin)]$ system ptp-interface-parameter-add clock0if0 sdp1=input + ~(keystone_admin)]$ system ptp-interface-parameter-add clock0if0 tspll_cfg=timeref_156.25 + ~(keystone_admin)]$ system ptp-interface-parameter-add clock0if0 tx_clk=synce + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f0 clk0if0 + +#. Create an interface to configure the other ports of NIC1. Use |DPLL| clock + signal (SyncE) as |TX| reference clock for |PHY| port. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-interface-add clock0if1 clock0 + ~(keystone_admin)]$ system ptp-interface-parameter-add clock0if1 tx_clk=synce + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f1 clock0if1 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f2 clock0if1 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f3 clock0if1 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f4 clock0if1 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f5 clock0if1 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f6 clock0if1 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f7 clock0if1 + +#. Create an interface to configure NIC2, add parameter(s), and assign the host + interface(s) to it. SDP1 pin is assigned to channel 1 and will receive the + signal from |DPLL|. For additional |NICs|, run the following commands for each |NIC|. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-interface-add clock0if2 clock0 + ~(keystone_admin)]$ system ptp-interface-parameter-add clock0if2 sdp1=input + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f0 clock0if2 + +#. Assign the instance to a host. + + .. code-block:: none + + ~(keystone_admin)]$ system host-ptp-instance-assign controller-0 clock0 + +#. Apply the configuration. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-apply + + +ts2phc +------ + +#. Create an instance and add parameter(s). This instance will synchronize the + |PHCs| with the external timestamp signal coming from the |GNSS|. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-add ts0 ts2phc + ~(keystone_admin)]$ system ptp-instance-parameter-add ts0 ts2phc.nmea_serialport=/dev/ttyACM0 + + .. note:: + + The |GNSS| serial port and baud rate may vary depending on the platform. + +#. Create an interface, add parameter(s), and assign the host interface(s) to + it. The clock signal will be received by the SDP1 pin on channel 1 of each + |NIC|. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-interface-add ts0if0 ts0 + ~(keystone_admin)]$ system ptp-interface-parameter-add ts0if0 ts2phc.channel=1 ts2phc.pin_index=1 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f0 ts0if0 + +#. Assign the host interface(s) of the other |NICs| that will be + synchronized by the |GNSS| timestamps. + + .. code-block:: none + + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f0 ts0if0 + +#. Assign the instance to a host. + + .. code-block:: none + + ~(keystone_admin)]$ system host-ptp-instance-assign controller-0 ts0 + +#. Apply the configuration. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-apply + + +ptp4l +----- + +#. Create an instance for NIC1 and add parameter(s). It is recommended to + create a ``ptp4l`` instance for each |PHC|. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-add ptp0 ptp4l + ~(keystone_admin)]$ system ptp-instance-parameter-add ptp0 domainNumber=24 + ~(keystone_admin)]$ system ptp-instance-parameter-add ptp0 dataset_comparison=G.8275.x + +#. Create an interface, add parameter(s), and assign host interface(s) to it. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-interface-add ptp0if0 ptp0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f0 ptp0if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f1 ptp0if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f2 ptp0if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f3 ptp0if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f4 ptp0if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f5 ptp0if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f6 ptp0if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f7 ptp0if0 + +#. Assign the instance to a host. + + .. code-block:: none + + ~(keystone_admin)]$ system host-ptp-instance-assign controller-0 ptp0 + +#. Repeat the procedure in a similar manner for the additional |NICs|. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-add ptp1 ptp4l + ~(keystone_admin)]$ system ptp-instance-parameter-add ptp1 domainNumber=24 + ~(keystone_admin)]$ system ptp-instance-parameter-add ptp1 dataset_comparison=G.8275.x + + ~(keystone_admin)]$ system ptp-interface-add ptp1if0 ptp1 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f0 ptp1if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f1 ptp1if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f2 ptp1if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f3 ptp1if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f4 ptp1if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f5 ptp1if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f6 ptp1if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f7 ptp1if0 + ~(keystone_admin)]$ system host-ptp-instance-assign controller-0 ptp1 + +#. Apply the configuration. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-apply + +phc2sys +------- + +#. Create an instance and add parameter(s). This instance will synchronize the + system clock with the NIC1 |PHC| via the |PTP| port (-s option). + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-add phc0 phc2sys + ~(keystone_admin)]$ system ptp-instance-parameter-add phc0 domainNumber=24 + ~(keystone_admin)]$ system ptp-instance-parameter-add phc0 uds_address=/var/run/ptp4l-ptp0 + ~(keystone_admin)]$ system ptp-instance-parameter-add phc0 cmdline_opts='-w -s enp1s0f0' + + .. note:: + + For the -s option in the ``cmdline_opts`` parameter, it is necessary to + add the |PTP| port of NIC1. To find the |PTP| port, find the interface + that contains the ``ptp`` folder: + + .. code-block:: none + + $ ls /sys/class/net/enp1*/device/ptp + /sys/class/net/enp1s0f0/device/ptp: + ptp0 + +#. Assign the instance to a host. + + .. code-block:: none + + ~(keystone_admin)]$ system host-ptp-instance-assign controller-0 phc0 + +#. Apply the configuration. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-apply + +T-BC - Dual NIC Deployment with Timing Module +============================================= + +This scenario presents an example of |T-BC| configuration where NIC1 is +synchronized via ``ptp4l`` and then NIC2 is synchronized via a clock signal +generated by NIC1. + +This configuration can be extended to include additional |NICs|. + +.. figure:: figures/t-bc-configuration.PNG + :scale: 110 % + + *T-BC configuration* + +.. note:: + + In a setup where Intel E825 and E830 |NICs| are used, the incoming |PTP| and + SyncE clock sources must be connected to the E825 ports only. + +clock +----- + +#. Create an instance. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-add clock0 clock + +#. Create an interface to configure NIC1, add parameter(s), and assign the host + interface(s) to it. The SDP0 pin is assigned to channel 1 and will generate + a 1 |PPS| signal to |DPLL|. Input reference clock for |PHC| will be a 156.25 MHz + signal from |DPLL| (TIME_REF). Use |DPLL| clock signal (SyncE) as |TX| reference + clock for |PHY| port. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-interface-add clock0if0 clock0 + ~(keystone_admin)]$ system ptp-interface-parameter-add clock0if0 sdp0=output period_sdp0=1pps + ~(keystone_admin)]$ system ptp-interface-parameter-add clock0if0 tspll_cfg=timeref_156.25 + ~(keystone_admin)]$ system ptp-interface-parameter-add clock0if0 tx_clk=synce + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f0 clk0if0 + +#. Create an interface to configure the other ports of NIC1. Use |DPLL| clock + signal (SyncE) as |TX| reference clock for |PHY| port. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-interface-add clock0if1 clock0 + ~(keystone_admin)]$ system ptp-interface-parameter-add clock0if1 tx_clk=synce + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f1 clock0if1 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f2 clock0if1 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f3 clock0if1 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f4 clock0if1 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f5 clock0if1 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f6 clock0if1 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp1s0f7 clock0if1 + +#. Create an interface to configure NIC2, add parameter(s), and assign the host + interface(s) to it. SDP1 pin is assigned to channel 1 and will receive the + signal from |DPLL|. For additional |NICs|, run the following commands for + each |NIC|. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-interface-add clock0if2 clock0 + ~(keystone_admin)]$ system ptp-interface-parameter-add clock0if2 sdp1=input + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f0 clock0if2 + +#. Assign the instance to a host. + + .. code-block:: none + + ~(keystone_admin)]$ system host-ptp-instance-assign controller-0 clock0 + +#. Apply the configuration. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-apply + +ts2phc +------ + +#. Create an instance and add parameter(s). This instance will synchronize the + |PHCs| with the clock signal generated by NIC1. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-add ts0 ts2phc + ~(keystone_admin)]$ system ptp-instance-parameter-add ts0 cmdline_opts='-s generic' + +#. Create an interface, add parameter(s), and assign the host interface(s) of the + |NICs| that will be synchronized by NIC1 clock signal. The clock signal + will be received by the SDP1 pin on channel 1 of each |NIC|. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-interface-add ts0if0 ts0 + ~(keystone_admin)]$ system ptp-interface-parameter-add ts0if0 ts2phc.channel=1 ts2phc.pin_index=1 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f0 ts0if0 + +#. Assign the instance to a host. + + .. code-block:: none + + ~(keystone_admin)]$ system host-ptp-instance-assign controller-0 ts0 + +#. Apply the configuration. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-apply + +ptp4l +----- + +#. Create an instance for NIC1 and add parameter(s). It is recommended to + create a ``ptp4l`` instance for each |PHC|. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-add ptp0 ptp4l + ~(keystone_admin)]$ system ptp-instance-parameter-add ptp0 domainNumber=24 + ~(keystone_admin)]$ system ptp-instance-parameter-add ptp0 dataset_comparison=G.8275.x + +#. Create an interface, add parameter(s), and assign the host interface(s) to it. + + .. code-block:: none + + ~(keystone_admin)$ system ptp-interface-add ptp0if0 ptp0 + ~(keystone_admin)$ system host-if-ptp-assign controller-0 enp1s0f0 ptp0if0 + ~(keystone_admin)$ system host-if-ptp-assign controller-0 enp1s0f1 ptp0if0 + ~(keystone_admin)$ system host-if-ptp-assign controller-0 enp1s0f2 ptp0if0 + ~(keystone_admin)$ system host-if-ptp-assign controller-0 enp1s0f3 ptp0if0 + ~(keystone_admin)$ system host-if-ptp-assign controller-0 enp1s0f4 ptp0if0 + ~(keystone_admin)$ system host-if-ptp-assign controller-0 enp1s0f5 ptp0if0 + ~(keystone_admin)$ system host-if-ptp-assign controller-0 enp1s0f6 ptp0if0 + ~(keystone_admin)$ system host-if-ptp-assign controller-0 enp1s0f7 ptp0if0 + + +#. Assign the instance to a host. + + .. code-block:: none + + ~(keystone_admin)]$ system host-ptp-instance-assign controller-0 ptp0 + +#. Repeat the procedure in a similar manner for the additional |NICs|. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-add ptp1 ptp4l + ~(keystone_admin)]$ system ptp-instance-parameter-add ptp1 domainNumber=24 + ~(keystone_admin)]$ system ptp-instance-parameter-add ptp1 dataset_comparison=G.8275.x + ~(keystone_admin)]$ system ptp-interface-add ptp1if0 ptp1 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f0 ptp1if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f1 ptp1if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f2 ptp1if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f3 ptp1if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f4 ptp1if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f5 ptp1if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f6 ptp1if0 + ~(keystone_admin)]$ system host-if-ptp-assign controller-0 enp2s0f7 ptp1if0 + ~(keystone_admin)]$ system host-ptp-instance-assign controller-0 ptp1 + + +#. Apply the configuration. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-apply + +phc2sys +------- + +#. Create an instance and add parameter(s). This instance will synchronize the + system clock with the NIC1 |PHC| via the |PTP| port (-s option). + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-add phc0 phc2sys + ~(keystone_admin)]$ system ptp-instance-parameter-add phc0 domainNumber=24 + ~(keystone_admin)]$ system ptp-instance-parameter-add phc0 uds_address=/var/run/ptp4l-ptp0 + ~(keystone_admin)]$ system ptp-instance-parameter-add phc0 cmdline_opts='-w -s enp1s0f0' + +#. Assign the instance to a host. + + .. code-block:: none + + ~(keystone_admin)]$ system host-ptp-instance-assign controller-0 phc0 + +#. Apply the configuration. + + .. code-block:: none + + ~(keystone_admin)]$ system ptp-instance-apply