[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#608144: linux-image-2.6.32-5-xen-amd64: Kernel oops: net/core/dev.c:1582 skb_gso_segment+0x109/0x263() (Bug #596802 reappeared)



On Tue, 2011-01-04 at 21:44 +0100, Stephan Austermühle wrote: 
> So the problem was already present in -23 and it just seems to have the
> same symptoms like #596802.

OK, thanks for testing that.

I wonder if you could play with ethtool to enable/disable various
features on the physical NIC. In particular I think it might be worth
fiddling with the LRO and GRO settings, via the -k/-K options.

The reason for this is that the warning you are seeing is because the
skb in question has skb->gso_size != 0 (i.e. it is apparently a GSO skb)
but it is not skb->ip_summed == CHECKSUM_PARTIAL, which is necessary in
order to do GSO, (i.e. to send the SKB).

I think one way that such skbs can be injected into the system is via
LRO on the physical NIC (LRO is a bit like, but not exactly identical
to, the opposite of GSO, AIUI). When an NIC which supports LRO is
bridged then these SKBs are passed across the bridge and end up getting
treated as GSO on the outgoing path (i.e. the VIF) even though they
aren't quite GSO frames, and this triggers the warning in
skb_gso_segment.

GRO is a generalisation of LRO, I'm not sure if it is supposed to fix
this forwarding issue or not.

Ian.
-- 
Ian Campbell

Reactor error - core dumped!




Reply to: