Test that locked bridge port configurations that are not supported by
mlxsw are rejected.

Signed-off-by: Ido Schimmel <[email protected]>
---
 .../selftests/drivers/net/mlxsw/rtnetlink.sh  | 31 +++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/tools/testing/selftests/drivers/net/mlxsw/rtnetlink.sh 
b/tools/testing/selftests/drivers/net/mlxsw/rtnetlink.sh
index 04f03ae9d8fb..5e89657857c7 100755
--- a/tools/testing/selftests/drivers/net/mlxsw/rtnetlink.sh
+++ b/tools/testing/selftests/drivers/net/mlxsw/rtnetlink.sh
@@ -34,6 +34,7 @@ ALL_TESTS="
        nexthop_obj_bucket_offload_test
        nexthop_obj_blackhole_offload_test
        nexthop_obj_route_offload_test
+       bridge_locked_port_test
        devlink_reload_test
 "
 NUM_NETIFS=2
@@ -917,6 +918,36 @@ nexthop_obj_route_offload_test()
        simple_if_fini $swp1 192.0.2.1/24 2001:db8:1::1/64
 }
 
+bridge_locked_port_test()
+{
+       RET=0
+
+       ip link add name br1 up type bridge vlan_filtering 0
+
+       ip link add link $swp1 name $swp1.10 type vlan id 10
+       ip link set dev $swp1.10 master br1
+
+       bridge link set dev $swp1.10 locked on
+       check_fail $? "managed to set locked flag on a VLAN upper"
+
+       ip link set dev $swp1.10 nomaster
+       ip link set dev $swp1 master br1
+
+       bridge link set dev $swp1 locked on
+       check_fail $? "managed to set locked flag on a bridge port that has a 
VLAN upper"
+
+       ip link del dev $swp1.10
+       bridge link set dev $swp1 locked on
+
+       ip link add link $swp1 name $swp1.10 type vlan id 10
+       check_fail $? "managed to configure a VLAN upper on a locked port"
+
+       log_test "bridge locked port"
+
+       ip link del dev $swp1.10 &> /dev/null
+       ip link del dev br1
+}
+
 devlink_reload_test()
 {
        # Test that after executing all the above configuration tests, a
-- 
2.37.3

Reply via email to