TCP Checksum errors

When analysing packet traces from ZXTMs with a program such as Ethereal, you may occasionally see outbound packets that have been flagged as having incorrect TCP checksums, although the IP checksum will be correct.

One possible reason for this is if your network cards are capable of performing TCP Checksum Offload. Broadcom and Intel gigabit cards are among those that can offload TCP checksum calculation. Linux enabled TCP Checksum Offload automatically when it is available.

With TCP Checksum Offload, the packets are captured before the card calculates the checksum -- so the checksums may not be correct. The checksum actually transmitted on the wire and received by the destination host will be correct.

On Linux, it is possible to disable TCP checksum offload with the following command:

ethtool -K <interface> rx off tx off

Taking another trace after running this command should give you packets where all the checksums are correct.

Offload can be re-enabled with this command:

ethtool -K <interface> rx on tx off

Martin [Zeus Consultancy] 26 May 2006  Permalink  
Leave a comment ...
Your email address will not be displayed.
Your URL will be displayed.
This public messageboard is not a forum for technical support. To report technical support problems, please contact our dedicated Support team using the instructions at the bottom of this page.
Options:
 
(Line breaks become <br />)
(Set cookies for name, email & url)
Download Free ZXTM Desktop Edition

Recent Articles

Other Resources



www.zeus.com