I created VLAN-aware bridge with command and add relevant interfaces:
% ip link add br0 type bridge vlan_filtering 1
% ip link set dev eth0 master br0
...
(and repeat this for eth1, eth2, eth3)
Now, I want the bridge ports to handle frames with multiple tags, and have the frames stripped off tags and delivered on port br0 where I have a listening daemon:
% bridge vlan del dev eth0 vid 1
% bridge vlan add dev eth0 vid 2-4094
...
(and repeat this for eth1, eth2, eth3)
After all commands completed, bridge setup looks as follows:
% bridge -c vlan sh
port vlan ids
br0 1 PVID Egress Untagged
eth3 2-4094
eth2 2-4094
eth1 2-4094
eth0 2-4094
br1 1 PVID Egress Untagged
Now when I send ping
from host behind eth0
interface to br0
(having IP 192.168.1.1), I see with tcpdump
that eth0 is indeed receiving tagged frame (in my case ID is 10), however br0 does not receive anything. What am I missing?