From: Nikolay Aleksandrov <[email protected]>

Add tests which verify the default values of mcast_last_member_count
mcast_last_member_count and also try to change them.

TEST: Vlan mcast_last_member_count global option default value      [ OK ]
TEST: Vlan mcast_last_member_interval global option default value   [ OK ]
TEST: Vlan 10 mcast_last_member_count option changed to 3           [ OK ]
TEST: Vlan 10 mcast_last_member_interval option changed to 200      [ OK ]

Signed-off-by: Nikolay Aleksandrov <[email protected]>
---
 .../net/forwarding/bridge_vlan_mcast.sh       | 36 ++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/forwarding/bridge_vlan_mcast.sh 
b/tools/testing/selftests/net/forwarding/bridge_vlan_mcast.sh
index 1b91778fac2f..85146c998316 100755
--- a/tools/testing/selftests/net/forwarding/bridge_vlan_mcast.sh
+++ b/tools/testing/selftests/net/forwarding/bridge_vlan_mcast.sh
@@ -1,7 +1,7 @@
 #!/bin/bash
 # SPDX-License-Identifier: GPL-2.0
 
-ALL_TESTS="vlmc_control_test vlmc_querier_test vlmc_igmp_mld_version_test"
+ALL_TESTS="vlmc_control_test vlmc_querier_test vlmc_igmp_mld_version_test 
vlmc_last_member_test"
 NUM_NETIFS=4
 CHECK_TC="yes"
 TEST_GROUP="239.10.10.10"
@@ -284,6 +284,40 @@ vlmc_igmp_mld_version_test()
        bridge vlan global set vid 10 dev br0 mcast_snooping 1 
mcast_mld_version 1
 }
 
+vlmc_last_member_test()
+{
+       RET=0
+       local goutput=`bridge -j vlan global show`
+       echo -n $goutput |
+               jq -e ".[].vlans[] | select(.vlan == 10)" &>/dev/null
+       check_err $? "Could not find vlan 10's global options"
+
+       echo -n $goutput |
+               jq -e ".[].vlans[] | select(.vlan == 10 and \
+                                           .mcast_last_member_count == 2) " 
&>/dev/null
+       check_err $? "Wrong default mcast_last_member_count global vlan option 
value"
+       log_test "Vlan mcast_last_member_count global option default value"
+
+       RET=0
+       echo -n $goutput |
+               jq -e ".[].vlans[] | select(.vlan == 10 and \
+                                           .mcast_last_member_interval == 100) 
" &>/dev/null
+       check_err $? "Wrong default mcast_last_member_interval global vlan 
option value"
+       log_test "Vlan mcast_last_member_interval global option default value"
+
+       RET=0
+       bridge vlan global set vid 10 dev br0 mcast_snooping 1 
mcast_last_member_count 3
+       check_err $? "Could not set mcast_last_member_count in vlan 10"
+       log_test "Vlan 10 mcast_last_member_count option changed to 3"
+       bridge vlan global set vid 10 dev br0 mcast_snooping 1 
mcast_last_member_count 2
+
+       RET=0
+       bridge vlan global set vid 10 dev br0 mcast_snooping 1 
mcast_last_member_interval 200
+       check_err $? "Could not set mcast_last_member_interval in vlan 10"
+       log_test "Vlan 10 mcast_last_member_interval option changed to 200"
+       bridge vlan global set vid 10 dev br0 mcast_snooping 1 
mcast_last_member_interval 100
+}
+
 trap cleanup EXIT
 
 setup_prepare
-- 
2.31.1

Reply via email to