Merge "Granite Rapids-D GNSS and DPLL support for timing"
This commit is contained in:
		@@ -62,6 +62,7 @@
 | 
				
			|||||||
.. |DNAT| replace:: :abbr:`DNAT (Destination Network Address Translation)`
 | 
					.. |DNAT| replace:: :abbr:`DNAT (Destination Network Address Translation)`
 | 
				
			||||||
.. |DNS| replace:: :abbr:`DNS (Domain Name System)`
 | 
					.. |DNS| replace:: :abbr:`DNS (Domain Name System)`
 | 
				
			||||||
.. |DPDK| replace:: :abbr:`DPDK (Data Plane Development Kit)`
 | 
					.. |DPDK| replace:: :abbr:`DPDK (Data Plane Development Kit)`
 | 
				
			||||||
 | 
					.. |DPLL| replace:: :abbr:`DPLL (Digital Phase Locked Loop)`
 | 
				
			||||||
.. |DN| replace:: :abbr:`DN (Distinguished Name)`
 | 
					.. |DN| replace:: :abbr:`DN (Distinguished Name)`
 | 
				
			||||||
.. |DORA| replace:: :abbr:`DORA (Dell Open RAN Accelerator)`
 | 
					.. |DORA| replace:: :abbr:`DORA (Dell Open RAN Accelerator)`
 | 
				
			||||||
.. |DRAM| replace:: :abbr:`DRAM (Dynamic Random Access Memory)`
 | 
					.. |DRAM| replace:: :abbr:`DRAM (Dynamic Random Access Memory)`
 | 
				
			||||||
@@ -169,6 +170,8 @@
 | 
				
			|||||||
.. |PMU| replace:: :abbr:`PMU (Performance Monitor Unit)`
 | 
					.. |PMU| replace:: :abbr:`PMU (Performance Monitor Unit)`
 | 
				
			||||||
.. |PQDN| replace:: :abbr:`PDQN (Partially Qualified Domain Name)`
 | 
					.. |PQDN| replace:: :abbr:`PDQN (Partially Qualified Domain Name)`
 | 
				
			||||||
.. |PQDNs| replace:: :abbr:`PQDNs (Partially Qualified Domain Names)`
 | 
					.. |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)`
 | 
					.. |PRTC| replace:: :abbr:`PRTC (Primary Reference Time Clock)`
 | 
				
			||||||
.. |PSA| replace:: :abbr:`PSA (Pod Security Admission)`
 | 
					.. |PSA| replace:: :abbr:`PSA (Pod Security Admission)`
 | 
				
			||||||
.. |PSP| replace:: :abbr:`PSP (Pod Security Policy)`
 | 
					.. |PSP| replace:: :abbr:`PSP (Pod Security Policy)`
 | 
				
			||||||
@@ -196,6 +199,7 @@
 | 
				
			|||||||
.. |RST| replace:: :abbr:`rST (reStructuredText)`
 | 
					.. |RST| replace:: :abbr:`rST (reStructuredText)`
 | 
				
			||||||
.. |RVMC| replace:: :abbr:`RVMC (Redfish Virtual Media Controller)`
 | 
					.. |RVMC| replace:: :abbr:`RVMC (Redfish Virtual Media Controller)`
 | 
				
			||||||
.. |RWX| replace:: :abbr:`RWX (Read Write Many)`
 | 
					.. |RWX| replace:: :abbr:`RWX (Read Write Many)`
 | 
				
			||||||
 | 
					.. |RX| replace:: :abbr:`RX (Receiver)`
 | 
				
			||||||
.. |SA| replace:: :abbr:`SA (Security Association)`
 | 
					.. |SA| replace:: :abbr:`SA (Security Association)`
 | 
				
			||||||
.. |SAs| replace:: :abbr:`SAs (Security Associations)`
 | 
					.. |SAs| replace:: :abbr:`SAs (Security Associations)`
 | 
				
			||||||
.. |SAN| replace:: :abbr:`SAN (Subject Alternative Name)`
 | 
					.. |SAN| replace:: :abbr:`SAN (Subject Alternative Name)`
 | 
				
			||||||
@@ -243,6 +247,7 @@
 | 
				
			|||||||
.. |TPM| replace:: :abbr:`TPM (Trusted Platform Module)`
 | 
					.. |TPM| replace:: :abbr:`TPM (Trusted Platform Module)`
 | 
				
			||||||
.. |TPMs| replace:: :abbr:`TPMs (Trusted Platform Modules)`
 | 
					.. |TPMs| replace:: :abbr:`TPMs (Trusted Platform Modules)`
 | 
				
			||||||
.. |TTL| replace:: :abbr:`TTL (Time-to-live)`
 | 
					.. |TTL| replace:: :abbr:`TTL (Time-to-live)`
 | 
				
			||||||
 | 
					.. |TX| replace:: :abbr:`TX (Transmitter)`
 | 
				
			||||||
.. |UDP| replace:: :abbr:`UDP (User Datagram Protocol)`
 | 
					.. |UDP| replace:: :abbr:`UDP (User Datagram Protocol)`
 | 
				
			||||||
.. |UDS| replace:: :abbr:`UDS (Unix Domain Socket)`
 | 
					.. |UDS| replace:: :abbr:`UDS (Unix Domain Socket)`
 | 
				
			||||||
.. |UEFI| replace:: :abbr:`UEFI (Unified Extensible Firmware Interface)`
 | 
					.. |UEFI| replace:: :abbr:`UEFI (Unified Extensible Firmware Interface)`
 | 
				
			||||||
 
 | 
				
			|||||||
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 38 KiB  | 
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 78 KiB  | 
@@ -124,15 +124,73 @@ NONE
 | 
				
			|||||||
**Other requirements**
 | 
					**Other requirements**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The clock type instance is a special instance used for configuring the |NIC|
 | 
					The clock type instance is a special instance used for configuring the |NIC|
 | 
				
			||||||
control parameters of the Westport Channel or Logan Beach |NIC| clock
 | 
					control parameters of the Westport Channel, Logan Beach, E825 (GNR-D) and E830
 | 
				
			||||||
interface parameters.
 | 
					(Connorsville) |NICs| clock interface parameters.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
These parameters can be applied to the interface of a clock instance |PTP|
 | 
					These parameters can be applied to the interface of a clock instance |PTP|
 | 
				
			||||||
parameters:
 | 
					parameters:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*  sma1 input/output
 | 
					- sma1 input/output
 | 
				
			||||||
*  sma2 input/output
 | 
					
 | 
				
			||||||
*  u.fl1 output
 | 
					- sma2 input/output
 | 
				
			||||||
*  u.fl2 input
 | 
					
 | 
				
			||||||
*  synce_rclka enabled
 | 
					- u.fl1 output
 | 
				
			||||||
*  synce_rclkb enabled
 | 
					
 | 
				
			||||||
 | 
					- 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,22 +9,18 @@ Example PTP Instance Configurations
 | 
				
			|||||||
    :depth: 2
 | 
					    :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|.
 | 
					configurations supported by |prod|.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* The first is a Border Clock setup where an external |PTP| |PTS| is providing
 | 
					T-BC - Simple PTP configuration
 | 
				
			||||||
  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
 | 
					 | 
				
			||||||
===============================
 | 
					===============================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Using the topology shown, the following examples provide
 | 
					This example presents a Border Clock setup where an external |PTP| |PTS|
 | 
				
			||||||
configurations for each service type:
 | 
					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
 | 
					.. figure:: figures/ptp-t-bc-configuration.png
 | 
				
			||||||
    :scale: 110 %
 | 
					    :scale: 110 %
 | 
				
			||||||
@@ -162,11 +158,12 @@ phc2sys
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      ~(keystone_admin)]$ system ptp-instance-apply
 | 
					      ~(keystone_admin)]$ system ptp-instance-apply
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					T-GM - Alternate PTP Configuration
 | 
				
			||||||
 | 
					 | 
				
			||||||
Alternate PTP configuration - T-GM
 | 
					 | 
				
			||||||
==================================
 | 
					==================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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
 | 
					Using the topology shown, the following examples provide configurations for
 | 
				
			||||||
each service type.
 | 
					each service type.
 | 
				
			||||||
@@ -404,3 +401,411 @@ instance:
 | 
				
			|||||||
   .. code-block::
 | 
					   .. code-block::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      ~(keystone_admin)]$ system ptp-instance-apply
 | 
					      ~(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
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user