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