Replace CRC with Timestamp

Warning

Replacing CRC field with a timestamp is only supported on Spectrum-2 and Spectrum-3 systems.

In some applications, it is important to know the exact time when a packet arrived at the switch in order to analyze networkwide application behavior. In order to achieve this capability, it is possible to mark the packet that leaves the switch with a timestamp that shows when this packet arrived.

One of the use cases is a mirroring setup when an original packet is forwarded by the system, but its mirrored copy is sent to a collector for analysis together with a timestamp that will help analyzer to rebuild the sequence of events in the network.

The feature gives a possibility to configure the following functionality:

  • Disabling checking of the CRC on the ingress port

  • Disabling recalculation of the CRC on the egress port

  • Disabling replacement of the FCS (Frame Check Sequence) field in the packet with a timestamp globally

CRC checking operation is enabled by default and is performed for incoming packets. Disabling CRC checking is required in cases when we want the packet which has timestamp instead of FCS field to traverse the switch through the ingress port. Otherwise (when CRC checking is enabled), it will be dropped as the packet that has bad CRC value.

CRC recalculation operation is done on the outgoing packets by default. Disabling CRC recalculation is required in cases when we want the packet to pass through the egress port and preserve the timestamp in the FCS field. Otherwise (when CRC recalculation is enabled), the packet’s FCS field will be overwritten by actual CRC value during the recalculation process.

A timestamp that is placed into FCS field in the packet can be obtained from the following time sources according to priority:

  • NTP (if running)

  • Local clock

The timestamp identifies a time when the packet is entered into the system. It is presented in UTC format and overwrites 26 bits of the FCS field as follows:

  • 24 bits in nanoseconds [29:6]

  • 2 bits in seconds [31:30]

Replacing the FCS field with a timestamp is enabled globally in NVIDIA Onyx by default. Despite this, packets will still leave the switch without the timestamp – it will be overwritten on the egress port during recalculation process (unless the CRC recalculation is disabled by the user).

In order to ensure that the timestamp will traverse through the switch, the following configuration should be applied:

image2020-7-16_13-44-36.png

The first switch is collecting timestamp – the timestamp will be set when a packet entered the system through the ingress port. In order to preserve the timestamp, the CRC recalculation should be disabled on the egress port.

The packet with a timestamp should pass through the second switch transparently. For this purpose, both CRC check and recalculation must be disabled on the ingress and egress ports accordingly.


To disable CRC recalculation on the port:

  1. Log in as admin.

  2. Enter config mode. Run:

    Copy
    Copied!
                

    switch > enable switch # configure terminal

  3. Disable recalculation of the CRC on the specific egress port. Run:

    Copy
    Copied!
                

    switch (config interface ethernet 1/1) # fcs egress disable-recalculate

To disable CRC check on the port:

  1. Log in as admin.

  2. Enter config mode. Run:

    Copy
    Copied!
                

    switch > enable switch # configure terminal

  3. Disable checking of the CRC on the specific ingress port. Run:

    Copy
    Copied!
                

    switch (config interface ethernet 1/1) # fcs ingress disable-check

To disable timestamping globally:

  1. Log in as admin.

  2. Enter config mode. Run:

    Copy
    Copied!
                

    switch > enable switch # configure terminal

  3. Disable timestamping in the system. Run:

    Copy
    Copied!
                

    switch (config) # system timestamp disable

fcs igress disable-check

fcs ingress disable-check
no fcs ingress disable-check

Disables checking of the CRC value in the ingress packets received on the interface.
The “no” form of the command enables checking of the CRC value.

Syntax Description

N/A

Default

Enabled CRC

Configuration Mode

config interface ethernet
config interface port-channel
config interface mlag-port-channel

History

3.9.1000

Example

switch (config) # interface ethernet 1/1 fcs ingress disable-check

Related Commands

fcs egress disable-recalculate
show interfaces ethernet
show interfaces port-channel
show interfaces mlag-port-channel
system timestamp disable

Notes

Disable CRC check cannot be configured on the LAG or MLAG ethernet members alone.

fcs egress disable-recalculate

fcs egress disable-recalculate
no fcs egress disable-recalculate

Disables recalculation of the CRC value in the egress packets being sent from the interface.
The “no” form of the command enables recalculation of the CRC value.

Syntax Description

N/A

Default

Enabled CRC recalculation

Configuration Mode

config interface ethernet
config interface port-channel
config interface mlag-port-channel

History

3.9.1000

Example

switch (config) # interface ethernet 1/1 fcs egress disable-recalculate

Related Commands

fcs ingress disable-check
show interfaces ethernet
show interfaces port-channel
show interfaces mlag-port-channel
system timestamp disable

Notes

Disable CRC recalculate cannot be configured on the LAG or MLAG ethernet members alone.

system timestamp disable

system timestamp disable
no system timestamp disable

Disables replacement of the CRC/FCS field in the packet with a timestamp in the system.
The "no" form of the command enables replacement of the CRC/FCS field with a timestamp.

Syntax Description

N/A

Default

Enabled

Configuration Mode

config

History

3.9.1000

Example

switch (config) # system timestamp disable

Related Commands

fcs ingress disable-check
fcs egress disable-recalculate
show interfaces ethernet
show interfaces port-channel
show interfaces mlag-port-channel

Notes

Timestamping is enabled in the system by default. Despite this, packets will still leave the switch without the timestamp—it will be overwritten on the egress port during recalculation process.

© Copyright 2023, NVIDIA. Last updated on Mar 5, 2024.