selftests: net: bridge: add vlan mcast_last_member_count/interval tests

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 <nikolay@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Nikolay Aleksandrov 2021-11-25 16:08:52 +02:00 committed by Jakub Kicinski
parent 2b75e9dd58
commit 3825f1fb67

View File

@ -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