Commit a159cbe8 authored by Nicolas Dichtel's avatar Nicolas Dichtel Committed by Jakub Kicinski
Browse files

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: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
Link: https://lore.kernel.org/r/20240108094103.2001224-3-nicolas.dichtel@6wind.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent ec4ffd10
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -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