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

  1. Create the instance.

    ~(keystone_admin)]$ system ptp-instance-add myclock1 clock
    
  2. Create an interface for myclock1.

    ~(keystone_admin)]$ system ptp-interface-add clockint1 myclock1
    
  3. Add a port to the interface.

    ~(keystone_admin)]$ system host-if-ptp-assign controller-0 oam0 clockint1
    
  4. Add parameters to the interface.

    ~(keystone_admin)]$ system ptp-interface-parameter-add clockint1 sma1=output
    
  5. Assign the instance to a host.

    ~(keystone_admin)]$ system host-ptp-instance-assign controller-0 myclock1
    
  6. 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_enabled parameter 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_enabled parameter 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_enabled parameter is not configured, or is removed after configuration, the GNSS receiver defaults to the enabled (selectable) state.

  • If gnss_enabled is configured on multiple interfaces of a host, the GNSS receiver is disabled if any interface is set to gnss_enabled=0. This behavior is intended to ensure robustness; however, configuring gnss_enabled on 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