Commit 69e33b27 authored by Florian Westphal's avatar Florian Westphal Committed by David S. Miller

selftests: rtnetlink.sh: add test case for device ifalias

Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent bffa72cf
...@@ -15,6 +15,14 @@ check_err() ...@@ -15,6 +15,14 @@ check_err()
fi fi
} }
# same but inverted -- used when command must fail for test to pass
check_fail()
{
if [ $1 -eq 0 ]; then
ret=1
fi
}
kci_add_dummy() kci_add_dummy()
{ {
ip link add name "$devdummy" type dummy ip link add name "$devdummy" type dummy
...@@ -235,6 +243,54 @@ kci_test_addrlabel() ...@@ -235,6 +243,54 @@ kci_test_addrlabel()
echo "PASS: ipv6 addrlabel" echo "PASS: ipv6 addrlabel"
} }
kci_test_ifalias()
{
ret=0
namewant=$(uuidgen)
syspathname="/sys/class/net/$devdummy/ifalias"
ip link set dev "$devdummy" alias "$namewant"
check_err $?
if [ $ret -ne 0 ]; then
echo "FAIL: cannot set interface alias of $devdummy to $namewant"
return 1
fi
ip link show "$devdummy" | grep -q "alias $namewant"
check_err $?
if [ -r "$syspathname" ] ; then
read namehave < "$syspathname"
if [ "$namewant" != "$namehave" ]; then
echo "FAIL: did set ifalias $namewant but got $namehave"
return 1
fi
namewant=$(uuidgen)
echo "$namewant" > "$syspathname"
ip link show "$devdummy" | grep -q "alias $namewant"
check_err $?
# sysfs interface allows to delete alias again
echo "" > "$syspathname"
ip link show "$devdummy" | grep -q "alias $namewant"
check_fail $?
# re-add the alias -- kernel should free mem when dummy dev is removed
ip link set dev "$devdummy" alias "$namewant"
check_err $?
fi
if [ $ret -ne 0 ]; then
echo "FAIL: set interface alias $devdummy to $namewant"
return 1
fi
echo "PASS: set ifalias $namewant for $devdummy"
}
kci_test_rtnl() kci_test_rtnl()
{ {
kci_add_dummy kci_add_dummy
...@@ -249,6 +305,7 @@ kci_test_rtnl() ...@@ -249,6 +305,7 @@ kci_test_rtnl()
kci_test_gre kci_test_gre
kci_test_bridge kci_test_bridge
kci_test_addrlabel kci_test_addrlabel
kci_test_ifalias
kci_del_dummy kci_del_dummy
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment