> Hello, > > I've observed a behaviour of Linux VLAN support that surprises me, but, > given that I'm not an expert :) I would like to describe it in this list, > just to know if it is the expected behaviour. > > It seems that when a 802.1q tagged packet is received in a physical Linux > interface (for example 'eth2') the behaviour is: > > 1. If there is some subinterface maching the tag, the packet is deliver to > that interface. For example, if the packet is tagged with VLANID=200 and > there is an eth2.200 interface, the packet is delivered to eth2.200 (and a > 'tcpdump -i eth2.200', for example, would show it). > > 2. If there is no subinterface maching the tag, the packet is drop. For > example, if the packet is tagged with VLANID=300 and there is no eth2.300, > the packet is drop (and a 'tcpdump -i eth2' would never show it). > > Is that right? > > In that case, I would like to know if is possible to change the behaviour > of > item 2 (maybe with some configuration in the /proc/sys hierarchy), so a > 'tcpdump -i eth2' shows the tagged packet. > > I'm asking this beacuse I would like to bridge a trunk of tagged traffic > (that comes at eth2 from/to a Cisco router) with a software bridge in the > Linux box implemeted with brctl ('brctl addif somebridge eth2') , but if > the > default behaviour is to drop tagged un-matched packets, this seems > imposible... What Ethernet adapter are you using (chipset or linux module name)? Do you have any ebtables rules in place (you will eventually need some to do what you want to do)? James