-----Original Message-----
>From: Tommy Christensen [mailto:[EMAIL PROTECTED]
>Sent: Wednesday, October 08, 2003 10:09 AM
>To: Christian Darnell
>Cc: 'Linux 802.1Q VLAN'; Bart De Schuymer; [EMAIL PROTECTED]; bridge
>Subject: Re: [Bridge] RE: [VLAN] Re: [PATCH/RFC] Let {ip, arp}tables
>"see" bridged VLAN tagged{I,AR}P packets
>
>
>
>This is because the VLAN code is mangling shared data.
>You need to do something like this:
>
>
>--- linux-2.4/net/8021q/vlan_dev.c.org 2003-02-25 15:23:09.000000000
>+0100
>+++ linux-2.4/net/8021q/vlan_dev.c     2003-10-07 16:01:29.000000000 +0200
>@@ -75,7 +75,12 @@
> static inline struct sk_buff *vlan_check_reorder_header(struct sk_buff
>*skb)
> {
>       if (VLAN_DEV_INFO(skb->dev)->flags & 1) {
>-              skb = skb_share_check(skb, GFP_ATOMIC);
>+              if (skb_shared(skb) || skb_cloned(skb)) {
>+                      struct sk_buff *nskb;
>+                      nskb = skb_copy(skb, GFP_ATOMIC);
>+                      kfree_skb(skb);
>+                      skb = nskb;
>+              }
>               if (skb) {
>                       /* Lifted from Gleb's VLAN code... */
>                       memmove(skb->data - ETH_HLEN,
>
>
>Christian, could you try this out?


Thanks Tommy! I tried this (on kernel 2.4.22) and it works great!


Best Regards, 

Christian Darnell
_______________________________________________
Bridge mailing list
[EMAIL PROTECTED]
http://lists.osdl.org/mailman/listinfo/bridge

Reply via email to