wireshark complaining of incorrect UDP checksum
I am capturing UDP packets on a gateway in an IPv6 environment. Wireshark keeps complaining that the UDP checksum is incorrect. I am using Wireshark Version 3.2.2. How do I know if wireshark is incorrect or the checksum in the incoming packet is incorrect.
I calculate the checksum in the incoming packet in the following way -
- I added (IPv6 address (source & destination), UDP length, Protocol ID, Entire UDP packet with checksum set as 0), 2 bytes at a time.
- Then, the MSB 4 bytes of the final sum to the LSB 4 bytes of the final sum.
- 1's compliment of the result in step (2).
Can anyone tell if my checksum computation is incorrect? If not, why is the value computed by me is different from the value expected by wireshark.
This discussion is about TCP offload but is possible that the NIC on the "gateway" is doing rx checksum for UDP also?
What operating system is the capture machine running?