Specifying Compensation for a PTP Delay Asymmetry

Time-Stamping and Time Synchronization

product_line_custom
Intel® PAC
Napatech SmartNIC
category
User Guide

In this section

This section describes how to compensate for a PTP path delay asymmetry.

PTP delay asymmetry

PTP path delay asymmetry is defined as half the difference between the propagation times in two opposite directions. There can be a number of causes for such an asymmetry:

  • Mismatch in the link speeds between master and slave
  • Mismatched fiber lengths if separate fibers are used for the two directions resulting in a 2.5-ns asymmetry per meter of length difference since the delay in optical fibers is 5 ns/m and the asymmetry is half the difference between propagation times
  • Different routes for uplink and downlink
  • Poor equipment design

The asymmetry can be calculated or measured, and the value can be used for compensation.

Example

This figure shows an example where the cable in one direction is 4 m and the cable in the other direction is 104 m. In theory this results in a delay asymmetry of 250 ns (100 m × 2.5 ns/m).


Example of delay symmetry based on cable length

However, the delay asymmetry can also be measured and monitored by the SmartNIC using PPS and the monitoring tool (see DN-0449 and DN-0793).

PTP delay asymmetry compensation

The PTPDelayAsymmetry parameter in the slave SmartNIC specifies the PTP delay asymmetry compensation in nanoseconds. The value must be positive when the propagation time from master to slave is longer than the propagation time from slave to master. The compensation is based on the delay asymmetry correction method specified in the IEEE 1588-2008 specification and is done by using the correction fields of the PTP event messages.
Note: The settings of other parameters such as the PtpDelMech parameter (E2E vs P2P – see Applying a PTP Delay Mechanism) may influence the delay asymmetry.

ntservice.ini code line

The syntax for the ntservice.ini code line compensating for a PTP delay asymmetry is:

'PTPDelayAsymmetry' '=' ( '–999000000' | '–998999999' |  '–998999998' | ... | '0' | '1' |  '2' | ... | '999000000' )

Example:

PTPDelayAsymmetry=10000

Default value

This table shows the default value.

Parameter Default Value
PTPDelayAsymmetry 0