[Bridge] sky2 hw csum failure

Stephen Hemminger shemminger at vyatta.com
Tue Nov 15 17:45:16 UTC 2011

On Tue, 15 Nov 2011 18:28:55 +0800
"Yan, Zheng" <zheng.z.yan at intel.com> wrote:

> I re-tested the checksum code, both CHECKSUM_NONE and CHECKSUM_COMPLETE
> cases are OK. Maybe the bug is related to sky2.
> Regards
> Yan, Zheng

There are three types of receive checksumming:
  1. Hardware does not do checksumming (CHECKSUM_NONE)
  2. Hardware validates checksum (CHECKSUM_UNNECESSARY)
  3. Hardware computes sum of bytes in skb (CHECKSUM_COMPLETE)

Most hardware does #2, but sky2 uses #3.
For the second case, the hardware does not look at headers but only
reports the one's complement value in ip_summed. It is up to the
protocol layers to adjust accordingly.  This means if data is removed
or added the checksum needs to be adjusted.

More information about the Bridge mailing list