Message ID | 4E78FC38.7040903@kasperkp.dk |
---|---|
State | Superseded, archived |
Delegated to: | David Miller |
Headers | show |
On Tue, Sep 20, 2011 at 2:09 PM, Matt Carlson <mcarlson@broadcom.com> wrote: > On Tue, Sep 20, 2011 at 01:48:56PM -0700, Kasper Pedersen wrote: >> commit 92cd3a17ce9c719abb4c28dee3438e0c641f8de4 >> tg3: Simplify tx bd assignments >> >> broke VLAN tagging on outbound packets. >> It ifdef'ed BCM_KERNEL_SUPPORTS_8021Q, but this >> is not set anywhere. So vlan never gets set, and >> all packets are sent with vlan=0. >> >> Change to use the CONFIG_VLAN_xxx defines instead. >> Tested on BCM5721 rev 11. >> >> Signed-off-by: Kasper Pedersen <kernel@kasperkp.dk> > > Yes. This is correct. > > Acked-by: Matt Carlson <mcarlson@broadcom.com> Actually, please don't do this. Those config #define's refer to the 802.1q module that creates vlan devices only. The rest of the network stack has code for dealing with vlan packets that is not protected by config guards, so there's no reason that drivers should be. The correct thing to do here is just drop the test altogether and unconditionally include the code. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 09/20/2011 11:27 PM, Jesse Gross wrote: > On Tue, Sep 20, 2011 at 2:09 PM, Matt Carlson <mcarlson@broadcom.com> wrote: >> On Tue, Sep 20, 2011 at 01:48:56PM -0700, Kasper Pedersen wrote: >>> commit 92cd3a17ce9c719abb4c28dee3438e0c641f8de4 >>> tg3: Simplify tx bd assignments >>> >>> broke VLAN tagging on outbound packets. >>> It ifdef'ed BCM_KERNEL_SUPPORTS_8021Q, but this >>> is not set anywhere. So vlan never gets set, and >>> all packets are sent with vlan=0. >>> >>> Change to use the CONFIG_VLAN_xxx defines instead. >>> Tested on BCM5721 rev 11. >>> >>> Signed-off-by: Kasper Pedersen <kernel@kasperkp.dk> >> >> Yes. This is correct. >> >> Acked-by: Matt Carlson <mcarlson@broadcom.com> > > Actually, please don't do this. Those config #define's refer to the > 802.1q module that creates vlan devices only. The rest of the network > stack has code for dealing with vlan packets that is not protected by > config guards, so there's no reason that drivers should be. The > correct thing to do here is just drop the test altogether and > unconditionally include the code. > currently testing, and will post a just-remove-ifdef in a few hours, assuming it behaves as expected on a no-802.1q-module config. tg3 has one more place where this is done, and it looks as if the code in that location doesn't quite mesh with the comment. /Kasper Pedersen -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Le mardi 20 septembre 2011 à 23:57 +0200, Kasper Pedersen a écrit : > On 09/20/2011 11:27 PM, Jesse Gross wrote: > > > On Tue, Sep 20, 2011 at 2:09 PM, Matt Carlson <mcarlson@broadcom.com> wrote: > >> On Tue, Sep 20, 2011 at 01:48:56PM -0700, Kasper Pedersen wrote: > >>> commit 92cd3a17ce9c719abb4c28dee3438e0c641f8de4 > >>> tg3: Simplify tx bd assignments > >>> > >>> broke VLAN tagging on outbound packets. > >>> It ifdef'ed BCM_KERNEL_SUPPORTS_8021Q, but this > >>> is not set anywhere. So vlan never gets set, and > >>> all packets are sent with vlan=0. > >>> > >>> Change to use the CONFIG_VLAN_xxx defines instead. > >>> Tested on BCM5721 rev 11. > >>> > >>> Signed-off-by: Kasper Pedersen <kernel@kasperkp.dk> > >> > >> Yes. This is correct. > >> > >> Acked-by: Matt Carlson <mcarlson@broadcom.com> > > > > Actually, please don't do this. Those config #define's refer to the > > 802.1q module that creates vlan devices only. The rest of the network > > stack has code for dealing with vlan packets that is not protected by > > config guards, so there's no reason that drivers should be. The > > correct thing to do here is just drop the test altogether and > > unconditionally include the code. > > > > > currently testing, and will post a just-remove-ifdef in a few hours, > assuming it behaves as expected on a no-802.1q-module config. > > > tg3 has one more place where this is done, and it looks as if the code > in that location doesn't quite mesh with the comment. Thanks for finding this bug, this hit me last day on a BCM5755M but I had no time to investigate. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Le mercredi 21 septembre 2011 à 00:08 +0200, Eric Dumazet a écrit : > Thanks for finding this bug, this hit me last day on a BCM5755M but I > had no time to investigate. > I meant a BCM5715S, but its probably a generic bug anyway ;) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index dc3fbf6..a00d21b 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -6234,7 +6234,7 @@ static netdev_tx_t tg3_start_xmit(struct sk_buff *skb, struct net_device *dev) } } -#ifdef BCM_KERNEL_SUPPORTS_8021Q +#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE) if (vlan_tx_tag_present(skb)) { base_flags |= TXD_FLAG_VLAN; vlan = vlan_tx_tag_get(skb);
commit 92cd3a17ce9c719abb4c28dee3438e0c641f8de4 tg3: Simplify tx bd assignments broke VLAN tagging on outbound packets. It ifdef'ed BCM_KERNEL_SUPPORTS_8021Q, but this is not set anywhere. So vlan never gets set, and all packets are sent with vlan=0. Change to use the CONFIG_VLAN_xxx defines instead. Tested on BCM5721 rev 11. Signed-off-by: Kasper Pedersen <kernel@kasperkp.dk> --- drivers/net/tg3.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html