selftests: rtnetlink: check enslaving iface in a bond

The goal is to check the following two sequences:
> ip link set dummy0 up
> ip link set dummy0 master bond0 down

Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Link: https://lore.kernel.org/r/20240108094103.2001224-3-nicolas.dichtel@6wind.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Nicolas Dichtel 2024-01-08 10:41:03 +01:00 committed by Jakub Kicinski
parent ec4ffd100f
commit a159cbe81d

View File

@ -28,6 +28,7 @@ ALL_TESTS="
kci_test_neigh_get
kci_test_bridge_parent_id
kci_test_address_proto
kci_test_enslave_bonding
"
devdummy="test-dummy0"
@ -1241,6 +1242,33 @@ kci_test_address_proto()
return $ret
}
kci_test_enslave_bonding()
{
local testns="testns"
local bond="bond123"
local dummy="dummy123"
local ret=0
run_cmd ip netns add "$testns"
if [ $ret -ne 0 ]; then
end_test "SKIP bonding tests: cannot add net namespace $testns"
return $ksft_skip
fi
run_cmd ip -netns $testns link add dev $bond type bond mode balance-rr
run_cmd ip -netns $testns link add dev $dummy type dummy
run_cmd ip -netns $testns link set dev $dummy up
run_cmd ip -netns $testns link set dev $dummy master $bond down
if [ $ret -ne 0 ]; then
end_test "FAIL: initially up interface added to a bond and set down"
ip netns del "$testns"
return 1
fi
end_test "PASS: enslave interface in a bond"
ip netns del "$testns"
}
kci_test_rtnl()
{
local current_test