Signed-off-by: nickcooper-zhangtonghao <n...@opencloud.tech>
---
 tests/mcast-snooping.at | 112 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 112 insertions(+)

diff --git a/tests/mcast-snooping.at b/tests/mcast-snooping.at
index c03aba3..90de8b3 100644
--- a/tests/mcast-snooping.at
+++ b/tests/mcast-snooping.at
@@ -29,6 +29,8 @@ dummy@ovs-dummy: hit:0 missed:0
                p2 2/2: (dummy)
 ])
 
+ovs-appctl time/stop
+
 # Send IGMPv3 query on p2 with vlan 1725
 # 5c:8a:38:55:25:52 > 01:00:5e:00:00:01, ethertype 802.1Q (0x8100), length 64: 
vlan 1725, p 0, ethertype IPv4,
 # 172.17.25.1 > 224.0.0.1: igmp query v3
@@ -102,3 +104,113 @@ AT_CHECK([ovs-appctl mdb/show br0], [0], [dnl
 
 OVS_VSWITCHD_STOP
 AT_CLEANUP
+
+AT_SETUP([mcast - delete the port mdb when vlan configruation changed])
+OVS_VSWITCHD_START([])
+
+AT_CHECK([
+    ovs-vsctl set bridge br0 \
+    datapath_type=dummy \
+    mcast_snooping_enable=true \
+    other-config:mcast-snooping-disable-flood-unregistered=false
+], [0])
+
+AT_CHECK([ovs-ofctl add-flow br0 action=normal])
+
+AT_CHECK([
+    ovs-vsctl add-port br0 p1 -- set Interface p1 type=dummy \
+    other-config:hwaddr=aa:55:aa:55:00:01 ofport_request=1 \
+    -- add-port br0 p2 \
+    -- set Interface p2 type=dummy other-config:hwaddr=aa:55:aa:55:00:02 
ofport_request=2 \
+    -- add-port br0 p3 \
+    -- set Interface p3 type=dummy other-config:hwaddr=aa:55:aa:55:00:03 
ofport_request=3
+], [0])
+
+ovs-appctl time/stop
+
+# send report packets
+AT_CHECK([
+    ovs-appctl netdev-dummy/receive p1  \
+        
'01005E010101000C29A027A18100000108004500001C000100004002CBAEAC10221EE001010112140CE9E0010101'
+    ovs-appctl netdev-dummy/receive p1  \
+        
'01005E010101000C29A027A28100000208004500001C000100004002CBAEAC10221EE001010112140CE9E0010101'
+], [0])
+
+# send query packets
+AT_CHECK([
+    ovs-appctl netdev-dummy/receive p3  \
+       
'01005E010101000C29A027D18100000108004500001C000100004002CBCBAC102201E00101011114EEEB00000000'
+    ovs-appctl netdev-dummy/receive p3  \
+        
'01005E010101000C29A027D28100000208004500001C000100004002CBCAAC102202E00101011114EEEB00000000'
+], [0])
+
+AT_CHECK([ovs-appctl mdb/show br0], [0], [dnl
+ port  VLAN  GROUP                Age
+    1     1  224.1.1.1           0
+    1     2  224.1.1.1           0
+    3     1  querier               0
+    3     2  querier               0
+])
+
+AT_CHECK([ovs-vsctl set port p3 tag=2], [0])
+
+AT_CHECK([ovs-appctl mdb/show br0], [0], [dnl
+ port  VLAN  GROUP                Age
+    1     1  224.1.1.1           0
+    1     2  224.1.1.1           0
+])
+
+AT_CLEANUP
+
+AT_SETUP([mcast - delete the port mdb when port destroyed])
+OVS_VSWITCHD_START([])
+
+AT_CHECK([
+    ovs-vsctl set bridge br0 \
+    datapath_type=dummy \
+    mcast_snooping_enable=true \
+    other-config:mcast-snooping-disable-flood-unregistered=false
+], [0])
+
+AT_CHECK([ovs-ofctl add-flow br0 action=normal])
+
+AT_CHECK([
+    ovs-vsctl add-port br0 p1 -- set Interface p1 type=dummy \
+    other-config:hwaddr=aa:55:aa:55:00:01 ofport_request=1 \
+    -- add-port br0 p2 \
+    -- set Interface p2 type=dummy other-config:hwaddr=aa:55:aa:55:00:02 
ofport_request=2 \
+], [0])
+
+# send report packets
+AT_CHECK([
+    ovs-appctl netdev-dummy/receive p1  \
+        
'01005E010101000C29A027A18100000108004500001C000100004002CBAEAC10221EE001010112140CE9E0010101'
+    ovs-appctl netdev-dummy/receive p1  \
+        
'01005E010101000C29A027A28100000208004500001C000100004002CBAEAC10221EE001010112140CE9E0010101'
+], [0])
+
+# send query packets
+AT_CHECK([
+    ovs-appctl netdev-dummy/receive p2  \
+       
'01005E010101000C29A027D18100000108004500001C000100004002CBCBAC102201E00101011114EEEB00000000'
+    ovs-appctl netdev-dummy/receive p2  \
+        
'01005E010101000C29A027D28100000208004500001C000100004002CBCAAC102202E00101011114EEEB00000000'
+], [0])
+
+AT_CHECK([ovs-appctl mdb/show br0], [0], [dnl
+ port  VLAN  GROUP                Age
+    1     1  224.1.1.1           0
+    1     2  224.1.1.1           0
+    2     1  querier               0
+    2     2  querier               0
+])
+
+AT_CHECK([ovs-vsctl del-port br0 p2], [0])
+
+AT_CHECK([ovs-appctl mdb/show br0], [0], [dnl
+ port  VLAN  GROUP                Age
+    1     1  224.1.1.1           0
+    1     2  224.1.1.1           0
+])
+
+AT_CLEANUP
-- 
1.8.3.1



_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to