[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240103094846.2397083-3-nicolas.dichtel@6wind.com>
Date: Wed, 3 Jan 2024 10:48:46 +0100
From: Nicolas Dichtel <nicolas.dichtel@...nd.com>
To: "David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Eric Dumazet <edumazet@...gle.com>,
Phil Sutter <phil@....cc>,
David Ahern <dsahern@...nel.org>
Cc: netdev@...r.kernel.org,
Nicolas Dichtel <nicolas.dichtel@...nd.com>
Subject: [PATCH net v2 2/2] selftests: rtnetlink: check enslaving iface in a bond
The goal is to check the following two sequences:
> ip link set dummy0 down
> ip link set dummy0 master bond0 up
and
> ip link set dummy0 up
> ip link set dummy0 master bond0 down
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@...nd.com>
---
tools/testing/selftests/net/rtnetlink.sh | 39 ++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/tools/testing/selftests/net/rtnetlink.sh b/tools/testing/selftests/net/rtnetlink.sh
index 26827ea4e3e5..130be7de76af 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"
@@ -1239,6 +1240,44 @@ 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 [ $? -ne 0 ]; then
+ end_test "SKIP bonding tests: cannot add net namespace $testns"
+ return $ksft_skip
+ fi
+
+ # test native tunnel
+ 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: enslave an up interface in a bonding"
+ ip netns del "$testns"
+ return 1
+ fi
+
+ run_cmd ip -netns $testns link del dev $dummy
+ run_cmd ip -netns $testns link add dev $dummy type dummy
+ run_cmd ip -netns $testns link set dev $dummy down
+ run_cmd ip -netns $testns link set dev $dummy master $bond up
+ if [ $ret -ne 0 ]; then
+ end_test "FAIL: enslave an down interface in a bonding and set it up"
+ ip netns del "$testns"
+ return 1
+ fi
+
+ end_test "PASS: enslave iface in a bonding"
+ ip netns del "$testns"
+}
+
kci_test_rtnl()
{
local current_test
--
2.39.2
Powered by blists - more mailing lists