Re: Re[2]: kernel oops, fast ethernet bridge, 2.4.31

From: jleima
Date: Thu Jul 28 2005 - 09:25:22 EST

I have included a patch that adds Cisco ISL support to the ethernet bridge code. When I first debugged it I had to make changes to ip_output.c and netfilter_bridge.h to leave room for the ISL header. The changes to ip_output.c I got from looking at the 2.6 changes and tweeking them a bit. The same problem I had w/ large UDP packets are going to happen to you as we need to reserve space for the extra bytes that the VLAN uses when fragmenting the UDP packet that is being forwarded.

I think if you take the ip_output.c diffs, along with the nf_bridge_pad() from netfilter_bridge.h you should be fine. nf_bridge_tail() is only needed for ISL as it has an extra checksum at the end of the packet. That can be removed for VLAN only

I have attached the patch, patch.isl is the patch that I have running w/ ISL support and is working for me. fix.vlan is just the code I think you need to add. It wasn't generated by diff so you will need to hand edit it.

If you have questions let me know. If it fixes your problem, we need to submit it to the ebtables person that is maintaining the 2.4.31 tree as it needs to be released from them. These changes are in 2.6 already.

- joy leima -

> On Fri, 22 Jul 2005 15:13:33 +0000 (UTC)
> Joy Leima <jleima@xxxxxxxxxxx> wrote:
> > Lukasz,
> >
> > I think I have a fix for you. Verify for me that it is the same
> > problem. Send a large UDP packet through the bridge. I believe the
> > problem is the ip_fragment code is not taking into account the VLAN
> > header that needs to be added to the packet when it gets fragmented
> > on the way out.
> >
> > Just send the large UDP packet through the bridge. I use ttcp. If
> > it panics then I can send you the fix. There are further changed to
> > ip_output.c
> Hello Joy,
> This is exactly this situation which you described.
> Could you be so kind to send me this patch ?
> Best regards,
> Lukasz Spaleniak
> --
> lspaleniak on wroc zigzag pl
> GCM dpu s: a--- C++ UL++++ P+ L+++ E--- W+ N+ K- w O- M V-
> PGP t--- 5 X+ R- tv-- b DI- D- G e-- h! r y+

Attachment: patch.isl
Description: Binary data

Attachment: fix.vlan
Description: Binary data