Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2d0d21c1 authored by Florian Westphal's avatar Florian Westphal Committed by David S. Miller
Browse files

selftests: rtnetlink: add a small macsec test case

parent ab104615
Loading
Loading
Loading
Loading
+42 −0
Original line number Diff line number Diff line
@@ -461,6 +461,47 @@ kci_test_encap()
	ip netns del "$testns"
}

kci_test_macsec()
{
	msname="test_macsec0"
	ret=0

	ip macsec help 2>&1 | grep -q "^Usage: ip macsec"
	if [ $? -ne 0 ]; then
		echo "SKIP: macsec: iproute2 too old"
		return 0
	fi

	ip link add link "$devdummy" "$msname" type macsec port 42 encrypt on
	check_err $?
	if [ $ret -ne 0 ];then
		echo "FAIL: can't add macsec interface, skipping test"
		return 1
	fi

	ip macsec add "$msname" tx sa 0 pn 1024 on key 01 12345678901234567890123456789012
	check_err $?

	ip macsec add "$msname" rx port 1234 address "1c:ed:de:ad:be:ef"
	check_err $?

	ip macsec add "$msname" rx port 1234 address "1c:ed:de:ad:be:ef" sa 0 pn 1 on key 00 0123456789abcdef0123456789abcdef
	check_err $?

	ip macsec show > /dev/null
	check_err $?

	ip link del dev "$msname"
	check_err $?

	if [ $ret -ne 0 ];then
		echo "FAIL: macsec"
		return 1
	fi

	echo "PASS: macsec"
}

kci_test_rtnl()
{
	kci_add_dummy
@@ -478,6 +519,7 @@ kci_test_rtnl()
	kci_test_ifalias
	kci_test_vrf
	kci_test_encap
	kci_test_macsec

	kci_del_dummy
}