selftests: net: bridge: add test for vlan_filtering dependency
authorNikolay Aleksandrov <nikolay@nvidia.com>
Thu, 25 Nov 2021 14:08:58 +0000 (16:08 +0200)
committerJakub Kicinski <kuba@kernel.org>
Sat, 27 Nov 2021 00:43:17 +0000 (16:43 -0800)
Add a test for dependency of mcast_vlan_snooping on vlan_filtering. If
vlan_filtering gets disabled, then mcast_vlan_snooping must be
automatically disabled as well.

TEST: Disable multicast vlan snooping when vlan filtering is disabled   [ OK ]

Signed-off-by: Nikolay Aleksandrov <nikolay@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/forwarding/bridge_vlan_mcast.sh

index 898a70f4d2266cf2da90c3c8ad52e2e03191ed4e..5224a5a8595b32eb81b13bada6c50186d4e58cbe 100755 (executable)
@@ -4,7 +4,7 @@
 ALL_TESTS="vlmc_control_test vlmc_querier_test vlmc_igmp_mld_version_test \
           vlmc_last_member_test vlmc_startup_query_test vlmc_membership_test \
           vlmc_querier_intvl_test vlmc_query_intvl_test vlmc_query_response_intvl_test \
-          vlmc_router_port_test"
+          vlmc_router_port_test vlmc_filtering_test"
 NUM_NETIFS=4
 CHECK_TC="yes"
 TEST_GROUP="239.10.10.10"
@@ -523,6 +523,16 @@ vlmc_router_port_test()
        bridge vlan set vid 10 dev $swp1 mcast_router 1
 }
 
+vlmc_filtering_test()
+{
+       RET=0
+       ip link set dev br0 type bridge vlan_filtering 0
+       ip -j -d link show dev bridge | \
+       jq -e "select(.[0].linkinfo.info_data.mcast_vlan_snooping == 1)" &>/dev/null
+       check_fail $? "Vlan filtering is disabled but multicast vlan snooping is still enabled"
+       log_test "Disable multicast vlan snooping when vlan filtering is disabled"
+}
+
 trap cleanup EXIT
 
 setup_prepare