Replace CRC with Timestamp
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:
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:
Log in as admin.
Enter config mode. Run:
switch
> enableswitch
# configure terminalDisable recalculation of the CRC on the specific egress port. Run:
switch
(configinterface
ethernet1
/1
) # fcs egress disable-recalculate
To disable CRC check on the port:
Log in as admin.
Enter config mode. Run:
switch
> enableswitch
# configure terminalDisable checking of the CRC on the specific ingress port. Run:
switch
(configinterface
ethernet1
/1
) # fcs ingress disable-check
To disable timestamping globally:
Log in as admin.
Enter config mode. Run:
switch
> enableswitch
# configure terminalDisable timestamping in the system. Run:
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. |