cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
10776
Views
27
Helpful
1
Replies

what is CRC_STOMPED & CRC_NOT_STOMPED

gavinhans
Level 1
Level 1

Hi,

 

what is stomped and not stomped? how it helps to troubleshoot CRC errors?

 

 

Nexus-SW# show hardware internal bigsur port e1/21 | include ignore-case stomp

RX_PKT_CRC_NOT_STOMPED         | 0

RX_PKT_CRC_STOMPED             | 0

1 Reply 1

Sergiu.Daniluk
VIP Alumni
VIP Alumni

Hi @gavinhans 

As you may now, Nexus switches (including your Nexus 5600/6000) are cut-through switches. This means that as soon as the switch receives the dMAC, it will already forward the packet, without checking the FCS, meaning if the packet is corrupted, it will not be able to drop it.

What the switch will do, it will increment the ingress and egress interfaces with CRC counter.

To make the troubleshooting easier, there is this notion of Stomped - which is a pre-calculated value for the CRC-check value present in the frame trailer, and is used to differentiate between a local link corrupted frame vs a frame which is received already corrupted.

For example you have the following topology:

 

Srv1 --- eth1/1 [SWITCH-A] eth1/2 ------- eth1/1 [SWITCH-B] eth1/2 --- Srv2

 

Srv1 is sending packets to Srv2, but the packets are corrupted due to some h/w problems on NIC level.

SW-A will receive the frames on eth1/1 and know that it needs to send the packets on eth1/2. After the FCS, the Nexus will know that the packet is corrupted, so it will increment the CRC on eth1/1, will change the CRC-check value with the STOMPED value, and forward the rest of the frame. At the same time, it will increment CRC_STOMPED on eth1/2.

 

SW-B will receive the frame on eth1/1, will know it needs to be sent to eth1/2. Will receive the trailer and know that this packet has CRC_STOMPED value. So it will increment CRC_STOMPED counter on eth1/1 as well as eth1/2.

 

Because there are problems for Srv1-Srv2 communication, you will need to t-shoot this problem. You will start with SW-B, will look on eth1/2 and see that hey, we have CRC_STOMPED packets on this interface. You will also look on eth1/1 (incoming interface) and you will see the same CRC_STOMPED packets. At this point you will know that the CRC packets were not generated by SW-A, because they are received stomped. So what you will do as a next point, you will look for incoming interface on SW-A.

You check the SW-A incoming interface (eth1/1) and see that on this interface only CRC counter is increasing. This means that the frames are corrupted on this link between SW-A and Srv1.

 

Let me know if you have any questions.

 

Hope it helps,

Sergiu