[Bridge] hw checksum problems

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

 



On Mon, 13 Oct 2003 14:19:01 +0200
Gergely Madarasz <gorgo@xxxxxxxxxxxxxxxxxxxxxxx> wrote:

> On Mon, Oct 13, 2003 at 01:16:47PM +0200, Gergely Madarasz wrote:
> > Hello,
> > 
> > I'm trying to make a bridge between a Broadcom BCM5703 gigabit ethernet
> > and a sun happy meal fastethernet interface. The sunhme card supports hw
> > checksums (and cannot be turned off in the driver). I applied the patch
> > (to set CHECKSUM_NONE on forwarded packets), but I still get kernel oopses
> > (though it seems less often than before). I cannot tell exactly what
> > triggers it, sometimes it seems a large ping, sometimes a broadcast ping,
> > sometimes just normal network traffic. Any ideas?
> 
> Oh, I forgot :) The kernel is 2.4.22 with the execshield patch. The cards
> work nicely when there is no bridge. One more specific info: when bridged,
> under normal circumstances the hme port is in blocking state (it should
> start forwarding only if the tg3 link is down). 

Fixed in 2.6.0-test6 or 2.4.23 or use this patch posted earlier to the list...
--------------

The hardware checksumming flags need to be cleared when forwarding packets.
Bridging just needs to forward what ever checksum is in the existing skbuff,
it doesn't want or need the packet to be resummed.

Without this fix, forwarding between smart/dumb interfaces causes an oops.

diff -Nru a/net/bridge/br_forward.c b/net/bridge/br_forward.c
--- a/net/bridge/br_forward.c	Mon Sep  8 09:29:44 2003
+++ b/net/bridge/br_forward.c	Mon Sep  8 09:29:44 2003
@@ -59,6 +59,7 @@
 
 	indev = skb->dev;
 	skb->dev = to->dev;
+	skb->ip_summed = CHECKSUM_NONE;
 
 	NF_HOOK(PF_BRIDGE, NF_BR_FORWARD, skb, indev, skb->dev,
 			__br_forward_finish);


[Index of Archives]     [Netdev]     [AoE Tools]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux