[VLAN] dropping of un-matched tagged packets?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Fermin Galan Marquez wrote:
> Dear James,
> 
> 
>>>>What Ethernet adapter are you using (chipset or linux module name)?
>>>
>>>The kernel module seems to be e1000
>>>
>>>occ3-devb:~# dmesg | grep eth2
>>>e1000: eth2: e1000_probe: Intel(R) PRO/1000 Network Connection
>>>e1000: eth2: e1000_watchdog_task: NIC Link is Up 100 Mbps Full Duplex
>>>
>>>My kernel version (in the case it would be needed) is 2.6.14.2.
>>
>>I think what you want to do is create a bridge containing eth2 and
>>whatever else, and then create vlans on the bridge, eg create a br0.200
>>interface, and therefore never invoke the bridge logic on the e1000. The
>>problem is, as was suspected earlier, that the e1000 contains hardware
>>vlan acceleration which does indeed appear to filter out the vlans you
>>don't care about.
> 
> 
> Well, it's a bit more complicated... The idea is to bridge the physical
> interface (eth2) with some tun devices (for example, tun0, tun1, etc.) that
> are connected to interfaces inside a virtual machine running in the host
> (using User Mode Linux, http://user-mode-linux.sourceforge.net/, maybe you
> know about it) (tun0 to eth0 in virtual machine, tun1 to eth1 in virtual
> machine, etc.) and to create the VLANs inside the virtual machine (eth0.200
> in the virtual machine, eth1.300 in the virtual methince, etc.) not in the
> bridge itself. Therefore, the bridge would have to switch trunk traffic
> transparently, so this traffic reach the virtual machine and the virtual
> machine kernel vlan interface can deal with the tagged packet (and deliver
> it untagged to eth0.200, eth1.300 or whatever).
> 
> 
>>Unfortunately, once you turn on vlanning on the physical e1000
>>interface, the hardware acceleration will come into play and you won't
>>see the ones you aren't subscribing to anyway.
>>
>>Assuming there isn't already a way and I just can't see it, in order to
>>work around the above problem you'd need to:
>>. patch the vlan kernel module to optionally not use hw acceleration
>>even if it is available, via a parameter to one of the ioctls
>>. patch the vconfig code to add a command line option to make use of the
>>above option
>>
>>Ben would be the best one to comment on how useful the above might be. I
>>could probably put a patch together, but you'd have to test it :)
> 
> 
> Of course, I will do! :)
> 
> Although I know I'm trying a weird UML/VLAN/bridge application :), I think
> such patch could be useful in general, due to it would increase the
> flexibility of the VLAN support for people using cards with hw acceleration,
> like me.

The easiest way is probably to hack the NIC's driver instead of
the VLAN code.  The driver has a flag that says whether it supports
HW accell or not..just need to disable that flag, probably.

The e1000 driver writers hang out on the netdev mailing list,
could ask there.

Ben

> 
> Best regards,
> 
> _______________________________________________
> Vlan mailing list
> Vlan@xxxxxxxxxxxxxxx
> http://www.lanforge.com/mailman/listinfo/vlan
> 


-- 
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc  http://www.candelatech.com


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux