brctl addbr br-hdp
ip l set up dev br-hdp
# enable vlan filterecho1> /sys/class/net/br-hdp/bridge/vlan_filtering
create and set tap
ip tuntap add tf0 mod tap
ip tuntap add tf1 mod tap
ip tuntap add tf2 mod tap
ip tuntap add tf3 mod tap
ip l set master br-hdp dev tf0
ip l set master br-hdp dev tf1
ip l set master br-hdp dev tf2
ip l set master br-hdp dev tf3
ip l set up dev tf0
ip l set up dev tf1
ip l set up dev tf2
ip l set up dev tf3
# pvid: tag vid if ingress has not vlan tag# untagged: untag egress packet# more details refer to command 'man bridge' in linux
bridge vlan add dev tf0 vid 11 pvid untagged
bridge vlan add dev tf1 vid 11 pvid untagged
bridge vlan add dev tf2 vid 22 pvid untagged
bridge vlan add dev tf3 vid 22 pvid untagged
[root@5fc7e1d8e068 ~]# bridge vlan show
port vlan-id
virbr0 1 PVID Egress Untagged
virbr0-nic 1 PVID Egress Untagged
br-hdp 1 PVID Egress Untagged
tf0 1 Egress Untagged
11 PVID Egress Untagged
tf1 1 Egress Untagged
11 PVID Egress Untagged
tf2 1 Egress Untagged
22 PVID Egress Untagged
tf3 1 Egress Untagged
22 PVID Egress Untagged
vnet0 1 PVID Egress Untagged