> I didn't say "tagged". I just said "not PVID". There are 2 independent > bridge VLAN attributes: "pvid" and [egress-]"untagged". I am suggesting > that packets in VID 3, 4, 5 all exit the 802.1ad bridge untagged, but > every bridge port has a unique PVID from this range. > > bridge vlan add dev port1 vid 3 pvid untagged > bridge vlan add dev port1 vid 4 untagged > bridge vlan add dev port1 vid 5 untagged > > bridge vlan add dev port1 vid 3 untagged > bridge vlan add dev port1 vid 4 pvid untagged > bridge vlan add dev port1 vid 5 untagged > > bridge vlan add dev port1 vid 3 untagged > bridge vlan add dev port1 vid 4 untagged > bridge vlan add dev port1 vid 5 pvid untagged Thanks for the clarification. I think you meant to have the second set of three commands affect port2 and the third set of three commands affect port3. Please let me know if I'm wrong about this. I gave this a try: root@OpenWrt:~# bridge vlan show port vlan-id lan1 3 PVID Egress Untagged 4 Egress Untagged 5 Egress Untagged lan2 3 Egress Untagged 4 PVID Egress Untagged 5 Egress Untagged lan3 3 Egress Untagged 4 Egress Untagged 5 PVID Egress Untagged root@OpenWrt:~# bridge fdb show dynamic f4:a4:54:80:93:2f dev lan1 vlan 3 master br-lan e0:3f:49:47:9a:38 dev lan2 vlan 4 master br-lan f4:a4:54:81:7a:90 dev lan3 vlan 5 master br-lan Like you said, this has a FDB per port. But I think I need to have a FDB per inner/outer VLAN combination. Connectiving works as expected in the above example, but only because of unknown-unicast flood, which of course, is suboptimal. The switch is acting like a hub. For example, ever time the host behind lan1 sends a frame to the host behind lan2, the bridge is not able to find an FDB entry for the VID corresponding to PVID of lan1 and the MAC of the host behind lan2. The only FDB entry for the MAC corresponding to the host behind lan2 is associated with the VID corresponding to the PVID of lan2 (which is a different VID than what the packet arrived on). Hence, there is constant unicast flood. I also don't think that this solves the issue for https://docs.google.com/drawings/d/1FybJP3UyCPxVQRGxAqGztO4Qc5mgXclV4m-QEyfUFQ8 . If you like, I'm happy to explain why. But before I do, I want to make sure we are on the same page before going further. Thanks, Andy