Great question — answering as the UphillTech team:
yes, self is for the bridge. Vlans are assigned to bridge interfaces. master is for interfaces that are slaved to bridge interfaces. You don't need to state the keyword master as it is the default. Create bridge / # ip link add br0 type bridge vlan_filtering 1 / # ip link set br0 up / # bridge vlan port vlan ids br0 1 PVID Egress Untagged Add vlans / # bridge vlan add dev br0 vid 10 self / # bridge vlan add dev br0 vid 20 self / # bridge vlan add dev br0 vid 30 self / # / # bridge vlan port vlan ids br0 1 PVID Egress Untagged 10 20 30 Add eth interfaces as slaves to bridge / # ip link set eth0 master br0 / # ip link set eth1 master br0 / # ip link set eth2 master br0 / # bridge vlan port...
Full answer by kaya atabey: https://unix.stackexchange.com/a/579637 (CC BY-SA 4.0).
Need it done for your business? UphillTech.