Kernel 2.6.8.1 .... I'm sorry about 2.4 kernel it was an old one ..., but nevertheless 2.4.27 hasn't the bug fixed yet .. patch for Kernel 2.4.27 : --- include/linux/if_vlan.old 2004-04-14 15:05:40.000000000 +0200 +++ include/linux/if_vlan.h 2004-10-15 17:16:09.000000000 +0200 @@ -183,7 +183,7 @@ skb->pkt_type = PACKET_HOST; break; }; - + skb->dev = skb->real_dev; return (polling ? netif_receive_skb(skb) : netif_rx(skb)); } Ben Greear <greearb@xxxxxxxxxxxxxxx> Sent by: vlan-bounces@xxxxxxxxxxxxxxx 14.10.2004 19:07 Please respond to "Linux 802.1Q VLAN" To "Linux 802.1Q VLAN" <vlan@xxxxxxxxxxxxxxx> cc Subject Re: [VLAN] |PATCH| setting skb->dev to vlan device in vlan_hwaccel_rx is wrong ... Frank Pavlic wrote: > IHi , > I found a problem using vlan_hwaccel_rx function to pass skb to the stack. > vlan_hwaccel_rx sets skb->dev to the vlan device accordingly to the vlan > id. > After checking pkt_type netif_rx is called in non polling mode . > vlan_skb_recv > is called with a wrong skb->dev setting as the receive function is still > expecting > the real device .... , the problem also exists in 2.4 vlan code ... While looking at the 2.4.27 code, I think that this fix may already be in. 2.6.7 also looks correct. What versions did you base these patches off of? Ben > > Frank > > Kernel 2.6: > > Index: include/linux/if_vlan.h > =================================================================== > RCS file: /home/cvs/linux-2.5/include/linux/if_vlan.h,v > retrieving revision 1.10 > diff -B -u -b -r1.10 if_vlan.h > --- include/linux/if_vlan.h 17 Aug 2004 11:50:08 -0000 1.10 > +++ include/linux/if_vlan.h 14 Oct 2004 13:43:58 -0000 > @@ -184,7 +184,7 @@ > skb->pkt_type = PACKET_HOST; > break; > }; > - > + skb->dev = skb->real_dev; > return (polling ? netif_receive_skb(skb) : netif_rx(skb)); > } > > KERNEL > 2.4.21: > > Index: include/linux/if_vlan.h > =================================================================== > RCS file: /home/cvs/linux-2.3/include/linux/if_vlan.h,v > retrieving revision 1.6 > diff -B -u -b -r1.6 if_vlan.h > --- include/linux/if_vlan.h 17 Feb 2003 10:36:43 -0000 1.6 > +++ include/linux/if_vlan.h 14 Oct 2004 13:45:39 -0000 > @@ -147,6 +147,7 @@ > unsigned short vlan_tag, int polling) > { > struct net_device_stats *stats; > + struct net_device *real_dev = skb->dev; > > skb->dev = grp->vlan_devices[vlan_tag & VLAN_VID_MASK]; > if (skb->dev == NULL) { > @@ -182,7 +183,7 @@ > skb->pkt_type = PACKET_HOST; > break; > }; > - > + skb->dev = real_dev; > return (polling ? netif_receive_skb(skb) : netif_rx(skb)); > } > > _______________________________________________ > Vlan mailing list > Vlan@xxxxxxxxxxxx > http://www.lanforge.com/mailman/listinfo/vlan > -- Ben Greear <greearb@xxxxxxxxxxxxxxx> Candela Technologies Inc http://www.candelatech.com _______________________________________________ Vlan mailing list Vlan@xxxxxxxxxxxx http://www.lanforge.com/mailman/listinfo/vlan