Skip to content

Commit

Permalink
mcast-snooping: Add and improve mcast-snooping tests.
Browse files Browse the repository at this point in the history
Signed-off-by: nickcooper-zhangtonghao <[email protected]>
Signed-off-by: Ben Pfaff <[email protected]>
  • Loading branch information
xpu22 authored and blp committed Mar 3, 2017
1 parent b077575 commit d46aab1
Showing 1 changed file with 112 additions and 0 deletions.
112 changes: 112 additions & 0 deletions tests/mcast-snooping.at
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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 configuration 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

0 comments on commit d46aab1

Please sign in to comment.