From: Dave Johnson <djohnson+linux-kernel@sw.starentnetworks.com>
To: linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
bguo@sw.starentnetworks.com, Michael Chan <mchan@broadcom.com>
Subject: Re: expected behavior of PF_PACKET on NETIF_F_HW_VLAN_RX device?
Date: Fri, 2 Nov 2007 14:08:32 -0400 [thread overview]
Message-ID: <18219.26528.485099.317944@zeus.sw.starentnetworks.com> (raw)
In-Reply-To: <18218.18134.353553.189622@zeus.sw.starentnetworks.com>
Dave Johnson writes:
> Ben Greear writes:
> > Currently, VLAN devices offer the ability to 'reorder' the header
> > and explicitly remove the VLAN header. I assume we keep this
> > feature and have the AF_PACKET logic check the device flags to see
> > if it should insert the VLAN header for hw-accel vlans?
> >
> > Either way, if we sniff the underlying device, we should always get
> > the VLAN header.
>
> Yes, but it's more than just a packet socket issue.
>
> A quick look through the hwaccel capable drivers (in 2.6.23) and most
> are doing something like:
>
> if (foo->vlgrp && packet_is_tagged)
> vlan_hwaccel_receive_skb(skb, foo->vlgrp, vlan_tag);
> else
> netif_receive_skb(skb);
>
> The important thing here is if the vlan group is NULL, the MAC must
> be configured to NOT strip the tag.
>
> users of NETIF_F_HW_VLAN_RX:
> ---------------------------
> ./drivers/net/8139cp.c: looks ok
> ./drivers/net/acenic.c: *1
> ./drivers/net/amd8111e.c: unsure, probably *1
> ./drivers/net/atl1/atl1_main.c: looks ok
> ./drivers/net/bnx2.c: *2
> ./drivers/net/bonding/bond_main.c: unsure, probably ok
> ./drivers/net/chelsio/cxgb2.c: looks ok
> ./drivers/net/cxgb3/cxgb3_main.c: looks ok
> ./drivers/net/e1000/e1000_main.c: looks ok
> ./drivers/net/ehea/ehea_main.c: unsure, probably ok
> ./drivers/net/forcedeth.c: looks ok
> ./drivers/net/gianfar.c: looks ok
> ./drivers/net/ixgb/ixgb_main.c: looks ok
> ./drivers/net/ns83820.c: unsure, probably ok
> ./drivers/net/r8169.c: looks ok
> ./drivers/net/s2io.c: *1
> ./drivers/net/sky2.c: looks ok
> ./drivers/net/starfire.c: unsure, probably ok
> ./drivers/net/tg3.c: *2
> ./drivers/net/typhoon.c: unsure, probably ok
> ./drivers/s390/net/qeth_main.c: unsure, probably ok
>
> *1: Driver configures the MAC to strip TAGs even if vlan group is
> NULL. MAC strips the tag, but driver calls netif_rx() or
> netif_receive_skb() with the packet as untagged. Kernel
> processes tagged packet as if it was received untagged. Possible
> security issue.
>
> *2: If chip supports 'ASF', tag is always stripped (see *1 above).
> Looks ok if ASF is not supported.
Michael,
These changes seems to cause this issue:
> [BNX2]: Fix VLAN on ASF
>
> Always set up the device to strip incoming VLAN tags when ASF is
> enabled. ASF firmware will not parse packets correctly if VLAN tags
> are not stripped.
>
> Signed-off-by: Michael Chan <mchan@broadcom.com>
> Signed-off-by: David S. Miller <davem@davemloft.net>
>
> GIT: e29054f92d7d575631691865c1b95bee5bc974cc
and
> ChangeSet@1.1371.72.2, 2003-12-02 02:34:13-08:00, davem@nuts.ninka.net +1 -0
> [TG3]: Do not set RX_MODE_KEEP_VLAN_TAG when ASF is enabled.
Could you elaborate if this is really needed, if so is there some
workaround that could be done instead?
Simply removing the check seemed to work for me, but I'm unsure if
this is actually a valid thing to do with these MACs.
--
Dave Johnson
Starent Networks
next prev parent reply other threads:[~2007-11-02 18:08 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-31 18:43 Dave Johnson
2007-10-31 19:33 ` Stephen Hemminger
2007-11-01 1:06 ` Ben Greear
2007-11-01 1:10 ` David Miller
2007-11-01 1:23 ` Stephen Hemminger
2007-11-01 1:31 ` Ben Greear
2007-11-01 4:50 ` David Miller
2007-11-01 15:04 ` Ben Greear
2007-11-01 21:35 ` David Miller
2007-11-01 21:36 ` Dave Johnson
2007-11-01 21:48 ` Rick Jones
2007-11-01 21:59 ` David Miller
2007-11-01 22:04 ` Rick Jones
2007-11-01 22:07 ` David Miller
2007-11-01 23:26 ` Rick Jones
2007-11-05 17:46 ` [PATCH 1/2] NET: Re-add VLAN tag for devices incapable of keeping it Dave Johnson
2007-11-05 18:00 ` Patrick McHardy
2007-11-05 23:15 ` David Miller
2007-11-06 0:21 ` Patrick McHardy
2007-11-06 0:35 ` David Miller
2007-11-06 18:03 ` Krzysztof Halasa
2007-11-06 18:56 ` Ben Greear
2007-11-06 20:08 ` Krzysztof Halasa
2007-11-06 23:55 ` Patrick McHardy
2007-11-05 17:47 ` [PATCH 2/2] " Dave Johnson
2007-11-06 2:39 ` Ramkrishna Vepa
2007-11-06 18:28 ` Ramkrishna Vepa
2007-11-06 18:34 ` Dave Johnson
2007-11-01 21:58 ` expected behavior of PF_PACKET on NETIF_F_HW_VLAN_RX device? David Miller
2007-11-02 18:08 ` Dave Johnson [this message]
2007-11-02 21:20 ` David Miller
2007-11-02 21:52 ` Michael Chan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=18219.26528.485099.317944@zeus.sw.starentnetworks.com \
--to=djohnson+linux-kernel@sw.starentnetworks.com \
--cc=bguo@sw.starentnetworks.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mchan@broadcom.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®