summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorNicolas Dichtel <nicolas.dichtel@6wind.com>2024-01-08 12:41:03 +0300
committerJakub Kicinski <kuba@kernel.org>2024-01-12 03:47:40 +0300
commita159cbe81d3b88bf35cd4edb4e6040d015972fdd (patch)
tree81c688531ae2e6ab98cd1e646165b378e69698c9 /tools
parentec4ffd100ffb396eca13ebe7d18938ea80f399c3 (diff)
downloadlinux-a159cbe81d3b88bf35cd4edb4e6040d015972fdd.tar.xz
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>
Diffstat (limited to 'tools')
-rwxr-xr-xtools/testing/selftests/net/rtnetlink.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/tools/testing/selftests/net/rtnetlink.sh b/tools/testing/selftests/net/rtnetlink.sh
index a10a32952f21..a31be0eaaa50 100755
--- a/tools/testing/selftests/net/rtnetlink.sh
+++ b/tools/testing/selftests/net/rtnetlink.sh
@@ -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