ā07-18-2020 08:23 PM
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
ā07-19-2020 11:06 PM
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
ā03-06-2025 06:12 AM
Well explained.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide