TCP Checksum errorsWhen 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:
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:
Comments: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.
Comment from:
Lin Chen [Visitor]
I tried
ethtool -K rx off , it yields error : Cannot set device rx csum settings: Operation not supported in RHEL kernel 2.6.9-67. Do you know why? Thanks
Comment from:
Raghu Gandham [Visitor]
Are you sure you are doing this as root ?
Comment from:
Raghu Gandham [Visitor]
Ok.. I missed the point that the error message was Operation not supported. This happens if the ethernet driver does not support setting of rx csum value.
|
Recently...
Other Resources
|





