Thursday, February 07, 2008

Invalid Checksums

Apparently, there is a checksum offload engine in my laptop's network card. Unfortunately, this engine doesnt work, at least with the latest Ubuntu release (Gutsy).

The problem manifests itself as a continuous stream of bad UDP checksum errors when monitoring network traffic with Wireshark. In particular, every DNS request my system sent had an invalid checksum error. I did not bother to check for the same problem with other traffic types. In any case, I found a bug report describing this exact issue:

https://bugs.launchpad.net/ubuntu/+source/libpcap/+bug/31273

Apparently it is very easy to turn off the checksum offload feature using this command:

sudo ethtool -K eth0 rx off tx off

After this modification, my packets are no longer broken!