Setting the Time Stamp Injection Offset

Time-Stamping and Time Synchronization

Platform
Intel® PAC
Napatech SmartNIC
Content Type
User Guide

In this section

This section describes how to specify the offset when a time stamp is injected into a transmitted frame. The time stamp injection offset must be 2-byte aligned with the start of the data included in the checksum to be recalculated.
Note: This section only applies to NT200A02, NT100A01 and NT50B01 SmartNICs running on a test and measurement image.

Dynamic and static offset contributions

The time stamp injection offset is determined by the TimestampInjectDynamicOffset and TimestampInjectStaticOffset parameters.

TimestampInjectDynamicOffset can be set to the start of the frame, the end of the frame, the start of the layer 3 header or the start of the layer 4 header.

The actual offset is calculated from the location of TimestampInjectDynamicOffset by adding the value of TimestampInjectStaticOffset. If, for instance, TimestampInjectDynamicOffset is set to the end of the frame and TimestampInjectStaticOffset is set to -20, the time stamp is injected 20 bytes before the end of the frame.

The combination of the two offsets must result in a location inside the current frame, and there must be enough space for both the prepended 2-byte correction value, the 8-byte time stamp and a 4-byte FCS, that is the resulting offset must be between the start of the frame and 14 bytes before the end of the frame. Otherwise some of the time stamp is overwritten by the FCS, and the checksum will be wrong.

ntservice.ini code lines

The syntax for the ntservice.ini code lines setting the time stamp injection offset is:

TimestampInjectDynamicOffset' '=' ( 'TSI_DYN_SOF' | 'TSI_DYN_EOF' | 'TSI_DYN_L3' | 'TSI_DYN_L4' )
'TimestampInjectOffset' '=' ( '–16384' | '–16383' | '–16382' | ... | '0' | '1' |  '2' | ... | '16383' )

Example:

TimestampInjectDynamicOffset=TSI_DYN_L4
TimestampInjectStaticOffset=40

Default values

This table shows the default values.

Parameter Default Value
TimestampInjectDynamicOffset TSI_DYN_SOF
TimestampInjectStaticOffset 0