In DVR mode, this bug not only caused Layer 2 flooding, but also caused Layer 3 flooding.
* For example L2 flooding, vm1(sub1, host1), vm2(sub1, host1), vm3(sub1, host2).
Ping from vm1 to vm3, the vm2 can also grab packets.
* For example L3 flooding, vm1(sub1, host1), vm4(sub2, host1), vm5(sub2, host2).
Ping from vm1 to vm5, the vm4 can also grab packets.
I add a fix commit in [1], it add a flow table 59 which process the packets with src_mac is gateway_mac.This table contains three types of flows:
* table=59, n_packets=0, n_bytes=0, priority=20,dl_vlan=3,dl_src=fa:16:3e:6f:7b:39,dl_dst=fa:16:3e:1b:18:b9 actions=strip_vlan,output:"qvoe6d500f9-62". This flow process the l3 packet from remote ports to local port.
* table=59, n_packets=8, n_bytes=672, priority=20,dl_src=fa:16:3e:6f:7b:39,dl_dst=fa:16:3e:1b:18:b9 actions=output:"qvoe6d500f9-62". This flow process the l3 packet from local router to local ports.
* table=59, n_packets=3, n_bytes=294, priority=19,dl_src=fa:16:3e:6f:7b:39 actions=mod_vlan_vid:3,output:"patch-tun". This flow process the l3 packet from local router to remote ports.
In DVR mode, this bug not only caused Layer 2 flooding, but also caused Layer 3 flooding.
* For example L2 flooding, vm1(sub1, host1), vm2(sub1, host1), vm3(sub1, host2).
Ping from vm1 to vm3, the vm2 can also grab packets.
* For example L3 flooding, vm1(sub1, host1), vm4(sub2, host1), vm5(sub2, host2).
Ping from vm1 to vm5, the vm4 can also grab packets.
I add a fix commit in [1], it add a flow table 59 which process the packets with src_mac is gateway_mac.This table contains three types of flows: 20,dl_vlan= 3,dl_src= fa:16:3e: 6f:7b:39, dl_dst= fa:16:3e: 1b:18:b9 actions= strip_vlan, output: "qvoe6d500f9- 62". This flow process the l3 packet from remote ports to local port. 20,dl_src= fa:16:3e: 6f:7b:39, dl_dst= fa:16:3e: 1b:18:b9 actions= output: "qvoe6d500f9- 62". This flow process the l3 packet from local router to local ports. 19,dl_src= fa:16:3e: 6f:7b:39 actions= mod_vlan_ vid:3,output: "patch- tun". This flow process the l3 packet from local router to remote ports.
* table=59, n_packets=0, n_bytes=0, priority=
* table=59, n_packets=8, n_bytes=672, priority=
* table=59, n_packets=3, n_bytes=294, priority=
[1] https:/ /review. opendev. org/#/c/ 715419/