Commit ef27e2cc authored by William Tu's avatar William Tu Committed by David S. Miller

selftests: rtnetlink: add erspan and ip6erspan

Add test cases for ipv4, ipv6 erspan, v1 and v2 native mode
and external (collect metadata) mode.
Signed-off-by: default avatarWilliam Tu <u9012063@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ac0b715e
...@@ -598,6 +598,135 @@ kci_test_ip6gretap() ...@@ -598,6 +598,135 @@ kci_test_ip6gretap()
ip netns del "$testns" ip netns del "$testns"
} }
kci_test_erspan()
{
testns="testns"
DEV_NS=erspan00
ret=0
ip link help erspan 2>&1 | grep -q "^Usage:"
if [ $? -ne 0 ];then
echo "SKIP: erspan: iproute2 too old"
return 1
fi
ip netns add "$testns"
if [ $? -ne 0 ]; then
echo "SKIP erspan tests: cannot add net namespace $testns"
return 1
fi
# test native tunnel erspan v1
ip netns exec "$testns" ip link add dev "$DEV_NS" type erspan seq \
key 102 local 172.16.1.100 remote 172.16.1.200 \
erspan_ver 1 erspan 488
check_err $?
ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24
check_err $?
ip netns exec "$testns" ip link set dev $DEV_NS up
check_err $?
ip netns exec "$testns" ip link del "$DEV_NS"
check_err $?
# test native tunnel erspan v2
ip netns exec "$testns" ip link add dev "$DEV_NS" type erspan seq \
key 102 local 172.16.1.100 remote 172.16.1.200 \
erspan_ver 2 erspan_dir ingress erspan_hwid 7
check_err $?
ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24
check_err $?
ip netns exec "$testns" ip link set dev $DEV_NS up
check_err $?
ip netns exec "$testns" ip link del "$DEV_NS"
check_err $?
# test external mode
ip netns exec "$testns" ip link add dev "$DEV_NS" type erspan external
check_err $?
ip netns exec "$testns" ip link del "$DEV_NS"
check_err $?
if [ $ret -ne 0 ]; then
echo "FAIL: erspan"
return 1
fi
echo "PASS: erspan"
ip netns del "$testns"
}
kci_test_ip6erspan()
{
testns="testns"
DEV_NS=ip6erspan00
ret=0
ip link help ip6erspan 2>&1 | grep -q "^Usage:"
if [ $? -ne 0 ];then
echo "SKIP: ip6erspan: iproute2 too old"
return 1
fi
ip netns add "$testns"
if [ $? -ne 0 ]; then
echo "SKIP ip6erspan tests: cannot add net namespace $testns"
return 1
fi
# test native tunnel ip6erspan v1
ip netns exec "$testns" ip link add dev "$DEV_NS" type ip6erspan seq \
key 102 local fc00:100::1 remote fc00:100::2 \
erspan_ver 1 erspan 488
check_err $?
ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24
check_err $?
ip netns exec "$testns" ip link set dev $DEV_NS up
check_err $?
ip netns exec "$testns" ip link del "$DEV_NS"
check_err $?
# test native tunnel ip6erspan v2
ip netns exec "$testns" ip link add dev "$DEV_NS" type ip6erspan seq \
key 102 local fc00:100::1 remote fc00:100::2 \
erspan_ver 2 erspan_dir ingress erspan_hwid 7
check_err $?
ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24
check_err $?
ip netns exec "$testns" ip link set dev $DEV_NS up
check_err $?
ip netns exec "$testns" ip link del "$DEV_NS"
check_err $?
# test external mode
ip netns exec "$testns" ip link add dev "$DEV_NS" \
type ip6erspan external
check_err $?
ip netns exec "$testns" ip link del "$DEV_NS"
check_err $?
if [ $ret -ne 0 ]; then
echo "FAIL: ip6erspan"
return 1
fi
echo "PASS: ip6erspan"
ip netns del "$testns"
}
kci_test_rtnl() kci_test_rtnl()
{ {
kci_add_dummy kci_add_dummy
...@@ -612,6 +741,8 @@ kci_test_rtnl() ...@@ -612,6 +741,8 @@ kci_test_rtnl()
kci_test_gre kci_test_gre
kci_test_gretap kci_test_gretap
kci_test_ip6gretap kci_test_ip6gretap
kci_test_erspan
kci_test_ip6erspan
kci_test_bridge kci_test_bridge
kci_test_addrlabel kci_test_addrlabel
kci_test_ifalias kci_test_ifalias
......
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