Merge "Silicom NIC PTP support (r8, dsR8)"
This commit is contained in:
commit
e199398608
@ -61,6 +61,8 @@ Supported hardware components for use with |prod| are listed here.
|
||||
| | |
|
||||
| | - NVIDIA Mellanox MCX4121A-ACAT (ConnectX-4) Lx 10G/25G |
|
||||
| | |
|
||||
| | - Silicom TimeSync STS2 |
|
||||
| | |
|
||||
+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| NICs Verified for SR-IOV | - Intel 82599 (Niantic) 10G |
|
||||
| | |
|
||||
@ -78,6 +80,8 @@ Supported hardware components for use with |prod| are listed here.
|
||||
| | |
|
||||
| | - Broadcom 57504 |
|
||||
| | |
|
||||
| | - Silicom TimeSync STS2 |
|
||||
| | |
|
||||
| | .. note:: |
|
||||
| | For Mellanox NICs, SR-IOV must be enabled in the NIC firmware. |
|
||||
| | |
|
||||
@ -93,6 +97,8 @@ Supported hardware components for use with |prod| are listed here.
|
||||
| | |
|
||||
| | - NVIDIA Mellanox MCX623106AC-CDAT, MCX623106AN-CDAT (ConnectX-6) 100G |
|
||||
| | |
|
||||
| | - Silicom TimeSync STS2 |
|
||||
| | |
|
||||
+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| NIC for High-precision timing synchronization with IEEE | - Intel E810-XXVDA4T (Columbiaville - Westport Channel) 25G |
|
||||
| 1588 PTP, SyncE and GNSS | |
|
||||
|
@ -0,0 +1,98 @@
|
||||
.. _configure-silicom-sts-ptp-application-1bc4a8d07aad:
|
||||
|
||||
======================================================
|
||||
Configure PTP on Silicom TimeSync (STS) Server Adapter
|
||||
======================================================
|
||||
|
||||
|
||||
The Silicom TimeSync Server Adapter (STS) provides local time sync support via
|
||||
a local GNSS module which is based on Intel E810 chipset.
|
||||
|
||||
For additional information, see
|
||||
https://www.silicom-usa.com/pr/server-adapters/networking-adapters/10-gigabit-ethernet-networking-adapters/p410g8ts81-timesync-server-adapter/
|
||||
|
||||
The Silicom STS card operates in two modes: regular NIC mode and timing mode.
|
||||
|
||||
Packaged as a system application, the sts-silicom application provides
|
||||
the ability to configure the STS cards in timing mode and specify time sync
|
||||
parameters using helm-overrides.
|
||||
|
||||
.. rubric:: |context|
|
||||
|
||||
On multi-node systems, a homogenous deployment of the Silicom TimeSync (STS)
|
||||
cards is necessary since it's not possible to specify different configurations
|
||||
for different nodes.
|
||||
|
||||
|
||||
.. rubric:: **Limitations**
|
||||
|
||||
.. include:: configuring-ptp-service-using-the-cli.rst
|
||||
:start-after: begin-silicom-ptp-limitations
|
||||
:end-before: end-silicom-ptp-limitations
|
||||
|
||||
.. rubric:: |proc|
|
||||
|
||||
The following example uses a Grand Master deployment on port ``enp81s0f3`` with
|
||||
``twoStep`` mode enabled:
|
||||
|
||||
#. Install the application.
|
||||
|
||||
~(keystone_admin)]$ system application-upload /usr/local/share/applications/helm/sts-silicom-<n.n-nn>.tgz
|
||||
|
||||
|
||||
#. Create the configuration file and apply it.
|
||||
|
||||
.. code-block::
|
||||
|
||||
$ cat << EOF > sts_override.yaml
|
||||
Spec:
|
||||
profileID: 2
|
||||
ports:
|
||||
- ethName: enp81s0f3
|
||||
ql: 4
|
||||
ethPort: 4
|
||||
masterPortMask_GM: 0x8
|
||||
syncePortMask_GM: 0x8
|
||||
twoStep: 1
|
||||
EOF
|
||||
|
||||
~(keystone_admin)]$ system helm-override-update sts-silicom sts-silicom sts-silicom --values sts_override.yaml
|
||||
|
||||
~(keystone_admin)]$ system application-apply sts-silicom
|
||||
|
||||
#. Check if the application is applied.
|
||||
|
||||
.. code-block::
|
||||
|
||||
~(keystone_admin)]$ system application-show sts-silicom
|
||||
|
||||
.. rubric:: |postreq|
|
||||
|
||||
To update the application, remove and re-apply it with the new configuration.
|
||||
|
||||
#. Remove the application.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system application-remove sts-silicom
|
||||
|
||||
#. Edit ``sts_override.yaml``.
|
||||
|
||||
#. Apply the new configuration.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system helm-override-update sts-silicom sts-silicom sts-silicom --values sts_override.yaml
|
||||
~(keystone_admin)]$ system application-apply sts-silicom
|
||||
|
||||
|
||||
For more details on the configuration parameters, please consult the following
|
||||
Silicom documentation:
|
||||
|
||||
https://github.com/silicom-ltd/STS_HelmCharts
|
||||
|
||||
From https://silicom.ftptoday.com, under /STS/STS_Docs/ (credentials
|
||||
required):
|
||||
|
||||
* STS_Products_Line_Quick_Start_Guide_v1.60.pdf
|
||||
* Linux_TSync_Prog_Guide_V2.4.pdf
|
@ -235,19 +235,70 @@ Create an interface and assign to ports
|
||||
PTP Limitations
|
||||
---------------
|
||||
|
||||
NICs using the Intel Ice NIC driver may report the following in the ``ptp4l``
|
||||
logs, which might coincide with a |PTP| port switching to ``FAULTY`` before
|
||||
re-initializing.
|
||||
|
||||
.. code-block:: none
|
||||
* NICs using the Intel® ice driver may report the following error in the
|
||||
``ptp4l`` logs, which results in a |PTP| port switching to ``FAULTY`` before
|
||||
re-initializing.
|
||||
|
||||
ptp4l[80330.489]: timed out while polling for tx timestamp
|
||||
ptp4l[80330.489]: increasing tx_timestamp_timeout may correct this issue, but it is likely caused by a driver bug
|
||||
.. note::
|
||||
|
||||
|PTP| ports frequently switching to ``FAULTY`` may degrade the accuracy of
|
||||
the |PTP| timing.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
ptp4l[80330.489]: timed out while polling for tx timestamp
|
||||
ptp4l[80330.489]: increasing tx_timestamp_timeout may correct this issue, but it is likely caused by a driver bug
|
||||
|
||||
.. note::
|
||||
|
||||
This is due to a limitation of the Intel Ice driver. The recommended workaround
|
||||
is to set the ``tx_timestamp_timeout`` parameter to 700 (ms) in the ``ptp4l``
|
||||
config.
|
||||
This is due to a limitation with the Intel® ice driver as the driver
|
||||
cannot guarantee the time interval to return the timestamp to the
|
||||
``ptp4l`` user space process which results in the occasional timeout
|
||||
error message.
|
||||
|
||||
.. code-block:: none
|
||||
**Workaround**: The workaround recommended by Intel is to increase the
|
||||
``tx_timestamp_timeout`` parameter in the ``ptp4l`` config. The increased
|
||||
timeout value gives more time for the ice driver to provide the timestamp to
|
||||
the ``ptp4l`` user space process. Timeout values of 50ms and 700ms have been
|
||||
validated. However, the user can use a different value if it is more suitable
|
||||
for their system.
|
||||
|
||||
~(keystone_admin)]$ system ptp-instance-parameter-add ptp-inst1 tx_timestamp_timeout=700
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system ptp-instance-parameter-add <instance_name> tx_timestamp_timeout=700
|
||||
~(keystone_admin)]$ system ptp-instance-apply
|
||||
|
||||
.. note::
|
||||
|
||||
The ``ptp4l`` timeout error log may also be caused by other underlying
|
||||
issues, such as NIC port instability. Therefore, it is recommended to
|
||||
confirm the NIC port is stable before adjusting the timeout values.
|
||||
|
||||
.. begin-silicom-ptp-limitations
|
||||
|
||||
* Silicom and Intel based Time Sync NICs may not be deployed on the same system
|
||||
due to conflicting time sync services and operations.
|
||||
|
||||
|PTP| configuration for Silicom TimeSync (STS) cards is handled separately
|
||||
from |prod| host |PTP| configuration and may result in configuration
|
||||
conflicts if both are used at the same time.
|
||||
|
||||
The sts-silicom application provides a dedicated ``phc2sys`` instance which
|
||||
synchronizes the local system clock to the Silicom TimeSync (STS) card. Users
|
||||
should ensure that ``phc2sys`` is not configured via |prod| |PTP| Host
|
||||
Configuration when the sts-silicom application is in use.
|
||||
|
||||
Additionally, if |prod| |PTP| Host Configuration is being used in parallel
|
||||
for non-STS NICs, users should ensure that all ``ptp4l`` instances do not use
|
||||
conflicting ``domainNumber`` values.
|
||||
|
||||
* When the Silicom TimeSync (STS) card is configured in timing mode using the
|
||||
sts-silicom application, the card goes through an initialization process on
|
||||
application apply and server reboots. The ports will bounce up and down
|
||||
several times during the initialization process, causing network traffic
|
||||
disruption. Therefore, configuring the platform networks on the Silicom
|
||||
TimeSync (STS) card is not supported since it will cause platform
|
||||
instability.
|
||||
|
||||
.. end-silicom-ptp-limitations
|
||||
|
@ -54,6 +54,7 @@ PTP Server Configuration
|
||||
instance-specific-considerations-d9d9509c79dd
|
||||
remove-ptp-configurations-4885c027dfa5
|
||||
advanced-ptp-configuration-334a08dc50fb
|
||||
configure-silicom-sts-ptp-application-1bc4a8d07aad
|
||||
ptp-instance-examples-517dce312f56
|
||||
ptp-instance-troubleshooting-7a7c576ee57a
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user