Re: [PATCH] vlan_dev: VLAN 0 should be treated as "no vlan tag" (802.1p packet)
From: Pedro Garcia Pelaez <hidden>
Date: 2010-06-24 19:12:55
On Wed, 16 Jun 2010 10:49:27 +0200, Pedro Garcia [off-list ref] wrote:
On Mon, 14 Jun 2010 21:12:52 +0200, Eric Dumazet
[off-list ref]
wrote:quoted
Le lundi 14 juin 2010 à 19:11 +0200, Patrick McHardy a écrit :quoted
Ben Hutchings wrote:quoted
On Mon, 2010-06-14 at 18:49 +0200, Pedro Garcia wrote:quoted
On Sun, 13 Jun 2010 22:56:30 +0100, Ben Hutchings [off-list ref] wrote:quoted
I have no particular opinion on this change, but you need to read and follow Documentation/SubmittingPatches. Ben.Sorry, first kernel patch, and I did not know about it. I resubmit with the correct style / format:[...] Sorry, no you haven't. - Networking changes go through David Miller's net-next-2.6 tree so you need to use that as the baseline, not 2.6.26 - Patches should be applicable with -p1, not -p0 (so if you use
diff,
quoted
quoted
quoted
you should run it from one directory level up) - The patch was word-wrappedAdditionally: - please use the proper comment style, meaning each line begins with a '*' - the pr_debug statements may be useful for debugging, but are a bit excessive for the final version - + /* 2010-06-13: Pedro Garcia We have changelogs for this, simply explaining what the code does is enough. - Please CC the maintainer (which is me) --Pedro, we have two kind of vlan setups : accelerated and non accelerated ones. Your patch address non accelated ones only, since you only touch vlan_skb_recv() Accelerated vlan can follow these paths : 1) NAPI devices vlan_gro_receive() -> vlan_gro_common() 2) non NAPI devices __vlan_hwaccel_rx() So you might also patch __vlan_hwaccel_rx() and vlan_gro_common() Please merge following bits to your patch submission : http://kerneltrap.org/mailarchive/linux-netdev/2010/5/23/6277868 Good luck for your first patch !Here it is again. I added the modifications in http://kerneltrap.org/mailarchive/linux-netdev/2010/5/23/6277868 for HW accelerated incoming packets (it did not apply cleanly on the last
version
of the kernel, so I applied manually). Now, if the VLAN 0 is not explicitly created by the user, VLAN 0 packets will be treated as no VLAN (802.1p packets), instead of dropping them. The patch is now for two files: vlan_core (accel) and vlan_dev (non
accel)
I can not test on HW accelerated devices, so if someone can check it I will appreciate (even though in the thread above it looked like yes).
For
non accel I tessted in 2.6.26. Now the patch is for net-next-2.6, and it compiles OK, but I a have to setup a test
environment
to check it is still OK (should, but better to test).
I tested the pacth under net-next-2.6, and it OOPSed the kernel (worked under 2.6.26 but not under 2.6.35). I have found why and solved it, but now, to my surprise, it only works when I leave the interface in promiscuous mode. After a lot of debugging, looks like the skb does not even arrive to __netif_receive_skb, unless in promiscuous mode. Under what circunstances could this happen? Pedro