Subject: Re: [Xen-devel] kernel BUG at net/core/dev.c:1133!

From: Patrick McHardy <[email-masked]>
Date: Fri, 07 Jul 2006 22:06:08 +0200

Herbert Xu wrote:
> Petersson, Mats <[email-masked]> wrote:
> 
>>Looks like the GSO is involved?
> 
> 
> It's certainly what crashed your machine :) It's probably not the
> guilty party though.  Someone is passing through a TSO packet with
> checksum set to something other than CHECKSUM_HW.
> 
> I bet it's netfilter and we just never noticed before because real
> NICS would simply corrupt the checksum silently.
> 
> Could you confirm that you have netfilter rules (in particular NAT
> rules) and that this goes away if you flush all your netfilter tables?
> 
> Patrick, do we really have to zap the checksum on outbound NAT? Could
> we update it instead?

Are you refering to this code in ip_nat_fn()?

        /* If we had a hardware checksum before, it's now invalid */
        if ((*pskb)->ip_summed == CHECKSUM_HW)
                if (skb_checksum_help(*pskb, (out == NULL)))
                        return NF_DROP;

Doing incremental updates should work fine. This is something
I wanted to take care of at some point, but didn't get to it
yet.