SyncE Introduction¶
Intel’s Westport Channel and Logan Beach NICs support a built-in GNSS module
and the ability to distribute clock via Synchronous Ethernet (SyncE). This
feature allows a PPS signal to be taken in via the GNSS module and
redistributed to additional NICs on the same host or on different hosts.
This behavior is configured on StarlingX using the clock instance type in
the PTP configuration. Many of the configuration steps in this section are
similar to those in the PTP Configuration section - reference this for
additional details if required.
Important
Reference the user guide for their Westport Channel or Logan Beach NIC for additional information on configuring these features. The intent of this section is to explain how these parameters can be set, rather than describing each possible configuration.
Note
The SyncE configuration using the synce4l is not supported in StarlingX.
The service type of synce4l in the ptp-instance-add command
is not supported in StarlingX.
Basic ‘clock’ instance configuration¶
General ‘clock’ information¶
Default global parameters
There are no supported global parameters for the clock type
Default interface parameters
NONE
Required user-supplied parameters
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.
Configure a ‘clock’ instance¶
Create the instance.
~(keystone_admin)]$ system ptp-instance-add myclock1 clock
Create an interface for
myclock1.~(keystone_admin)]$ system ptp-interface-add clockint1 myclock1
Add a port to the interface.
~(keystone_admin)]$ system host-if-ptp-assign controller-0 oam0 clockint1
Add parameters to the interface.
~(keystone_admin)]$ system ptp-interface-parameter-add clockint1 sma1=output
Assign the instance to a host.
~(keystone_admin)]$ system host-ptp-instance-assign controller-0 myclock1
Apply the configuration.
~(keystone_admin)]$ system ptp-instance-apply
Clock interface parameters¶
Note
All parameters are scoped to the entire NIC, except for synce_rclka and
synce_rclkb. This means that if sma1=input is applied to ens1f0 and
sma1=output is applied to ens1f2, they will override each other and
the last one processed by the system will be applied. Only the
synce_rclka and synce_rclkb parameters can be configured
per-interface. See the NIC user guide document for additional details.
Note
The absence of a parameter is treated as disabled.
The following parameters can be applied to the interface of a clock instance.
PTP Parameters:
sma1=input
sma1=output
sma2=input
sma2=output
u.fl1=output
u.fl2=input
synce_rclka=enabled
synce_rclkb=enabled
GNSS Receiver Control (Granite Rapids-D)¶
On GNR-D server platforms, the onboard GNSS receiver can
be enabled or disabled using the gnss_enabled clock interface parameter.
This controls the GNSS 1PPS input signal at the motherboard level via the
DPLL pin state.
Note
The
gnss_enabledparameter applies only to the GNR-D platforms. On other NICs (Westport Channel, Logan Beach, Salem), the parameter is accepted but it does not have effect.The
gnss_enabledparameter operates at the motherboard level, and not at the individual port or NIC level. The parameter applies to the entire GNSS receiver across the platform, regardless of the port on which it is configured.When the
gnss_enabledparameter is not configured, or is removed after configuration, the GNSS receiver defaults to the enabled (selectable) state.If
gnss_enabledis configured on multiple interfaces of a host, the GNSS receiver is disabled if any interface is set tognss_enabled=0. This behavior is intended to ensure robustness; however, configuringgnss_enabledon multiple interfaces is not recommended.
Disable GNSS Receiver¶
To disable the GNSS receiver on the GNR-D platform, add gnss_enabled=0 to
a clock interface:
~(keystone_admin)]$ system ptp-instance-add clock0 clock
~(keystone_admin)]$ system host-ptp-instance-assign controller-0 clock0
~(keystone_admin)]$ system ptp-interface-add clock0if0 clock0
~(keystone_admin)]$ system ptp-interface-parameter-add clock0if0 gnss_enabled=0
~(keystone_admin)]$ system host-if-ptp-assign controller-0 eno8703 clk0if0
~(keystone_admin)]$ system ptp-instance-apply
Enable GNSS Receiver¶
To re-enable the GNSS receiver, run the following commands:
~(keystone_admin)]$ system ptp-interface-parameter-delete clock0if0 gnss_enabled=0
~(keystone_admin)]$ system ptp-interface-parameter-add clock0if0 gnss_enabled=1
~(keystone_admin)]$ system ptp-instance-apply
Restore Default Behavior¶
Remove the parameter to restore the default behavior (GNSS receiver enabled):
~(keystone_admin)]$ system ptp-interface-parameter-delete clock0if0 gnss_enabled=0
~(keystone_admin)]$ system ptp-instance-apply