Thread (35 messages) 35 messages, 11 authors, 2010-07-20

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-wrapped
Additionally:

- 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 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help