Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Ethereal-users: [Ethereal-users] Re: Does hardware checksum offload always cause incorrect check

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: ronnie sahlberg <ronniesahlberg@xxxxxxxxx>
Date: Fri, 22 Jul 2005 21:09:03 -0400
If checksum offloading is enabled and used then you will see
"incorrect" checksums on those segments sent by the same host you are
capturing on.

Some implementations though only use checksum offloading for large semgnets.

If you see correct checksums on packets you transmit this means the
host is not using the checksum offloading option   which is a GOOD
thing if you care about data integrity.


tcp checksum offloading will not offer you very much performance wise
since it is so cheap to calculate it with the CPU.

tcp checksum offloading is dangerous for data however since it means
that you will send your packets across the least reliable component of
your computer (the pci bus) and without tcp checksum calculated by the
stack   you will not detect bits being flipped/corrupted by the pci
bus and thus data might be corrupted.


tcp checksum offloading is not as good as it initially might be
thought. be glad that tcp checksum offloading is not used on your
host.



On 7/22/05, Anders Thomas Windsor <windsor@xxxxxxxxxxxxxx> wrote:
> According to the FAQ checksum offloading can cause incorrect checksums
> 
> quote:
> Q 5.14: Why am I seeing lots of packets with incorrect TCP checksums?
> 
> A: If the packets that have incorrect TCP checksums are all being sent by 
> the machine on which Ethereal is running, this is probably because the 
> network interface on which you're capturing does TCP checksum offloading. 
> That means that the TCP checksum is added to the packet by the network 
> interface, not by the OS's TCP/IP stack; when capturing on an interface, 
> packets being sent by the host on which you're capturing are directly 
> handed to the capture interface by the OS, which means that they are 
> handed to the capture interface without a TCP checksum being added to 
> them.
> 
> 
> Is this always the case? I think my card has checksum offloading, but all 
> my checksums are rigt, does that mean the futore is broken on my card 
> (according to my drivers checksum offloading is on).
> 
> Thanks in advance for any answer.
> 
> PS: I'm not on the mailing list, so i can only read replies to this 
> e-mail-adress.
> 
> _______________________________________________
> Ethereal-users mailing list
> Ethereal-users@xxxxxxxxxxxx
> http://www.ethereal.com/mailman/listinfo/ethereal-users
>