For the sake of completeness I've made a proper (?) patch which supports Q in Q. I've taken out my unrelated changes discussed previously in this thread. The changes needed were: 1. Remove the ability to disable the addition/stripping of tags on tx/rx. I.e. remove the REORDER flag. 2. for non hw/accel real_devs use real_dev->hard_header and real_dev->rebuild_header. 3. for non hw/accel real_devs *always* encapsulate on tx and *always* strip on rx. 4. proc files modified to reflect changes This patch is against linux-2.4.25 NB: i) This patch will break any code that opens raw sockets on vlan devices and is writes tagged frames to that device. Such frames will become double tagged. Any such code will need to be modified to write untagged frames instead, or use the real_dev. ii) This patch will also break any code that reads raw sockets on vlan devices and expects to see vlan tags in the frames it reads. Basically this patch makes eth0.N look *exactly* like any other ethernet device to the networking stack and all other users of the device. Alex -------------- next part -------------- A non-text attachment was scrubbed... Name: patch-2005-07-28-linux-2.4.25-vlan-q-in-q Type: application/octet-stream Size: 16826 bytes Desc: not available Url : http://www.candelatech.com/pipermail/vlan/attachments/20050728/41df0e04/patch-2005-07-28-linux-2.4-0001.obj