Commit 2ab1ee82 authored by Hangbin Liu's avatar Hangbin Liu Committed by Paolo Abeni

selftests/net: convert ioam6.sh to run it in unique namespace

Here is the test result after conversion.

]# ./ioam6.sh

--------------------------------------------------------------------------
OUTPUT tests
--------------------------------------------------------------------------
TEST: Unknown IOAM namespace (inline mode)                          [ OK ]
TEST: Unknown IOAM namespace (encap mode)                           [ OK ]
TEST: Missing trace room (inline mode)                              [ OK ]
TEST: Missing trace room (encap mode)                               [ OK ]
TEST: Trace type with bit 0 only (inline mode)                      [ OK ]
...
TEST: Full supported trace (encap mode)                             [ OK ]

--------------------------------------------------------------------------
GLOBAL tests
--------------------------------------------------------------------------
TEST: Forward - Full supported trace (inline mode)                  [ OK ]
TEST: Forward - Full supported trace (encap mode)                   [ OK ]

- Tests passed: 88
- Tests failed: 0
Acked-by: default avatarDavid Ahern <dsahern@kernel.org>
Reviewed-by: default avatarJustin Iurman <justin.iurman@uliege.be>
Signed-off-by: default avatarHangbin Liu <liuhangbin@gmail.com>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 80b74bd3
...@@ -117,8 +117,7 @@ ...@@ -117,8 +117,7 @@
# | Schema Data | | # | Schema Data | |
# +-----------------------------------------------------------+ # +-----------------------------------------------------------+
# Kselftest framework requirement - SKIP code is 4. source lib.sh
ksft_skip=4
################################################################################ ################################################################################
# # # #
...@@ -195,32 +194,32 @@ TESTS_GLOBAL=" ...@@ -195,32 +194,32 @@ TESTS_GLOBAL="
check_kernel_compatibility() check_kernel_compatibility()
{ {
ip netns add ioam-tmp-node setup_ns ioam_tmp_node
ip link add name veth0 netns ioam-tmp-node type veth \ ip link add name veth0 netns $ioam_tmp_node type veth \
peer name veth1 netns ioam-tmp-node peer name veth1 netns $ioam_tmp_node
ip -netns ioam-tmp-node link set veth0 up ip -netns $ioam_tmp_node link set veth0 up
ip -netns ioam-tmp-node link set veth1 up ip -netns $ioam_tmp_node link set veth1 up
ip -netns ioam-tmp-node ioam namespace add 0 ip -netns $ioam_tmp_node ioam namespace add 0
ns_ad=$? ns_ad=$?
ip -netns ioam-tmp-node ioam namespace show | grep -q "namespace 0" ip -netns $ioam_tmp_node ioam namespace show | grep -q "namespace 0"
ns_sh=$? ns_sh=$?
if [[ $ns_ad != 0 || $ns_sh != 0 ]] if [[ $ns_ad != 0 || $ns_sh != 0 ]]
then then
echo "SKIP: kernel version probably too old, missing ioam support" echo "SKIP: kernel version probably too old, missing ioam support"
ip link del veth0 2>/dev/null || true ip link del veth0 2>/dev/null || true
ip netns del ioam-tmp-node || true cleanup_ns $ioam_tmp_node || true
exit $ksft_skip exit $ksft_skip
fi fi
ip -netns ioam-tmp-node route add db02::/64 encap ioam6 mode inline \ ip -netns $ioam_tmp_node route add db02::/64 encap ioam6 mode inline \
trace prealloc type 0x800000 ns 0 size 4 dev veth0 trace prealloc type 0x800000 ns 0 size 4 dev veth0
tr_ad=$? tr_ad=$?
ip -netns ioam-tmp-node -6 route | grep -q "encap ioam6" ip -netns $ioam_tmp_node -6 route | grep -q "encap ioam6"
tr_sh=$? tr_sh=$?
if [[ $tr_ad != 0 || $tr_sh != 0 ]] if [[ $tr_ad != 0 || $tr_sh != 0 ]]
...@@ -228,12 +227,12 @@ check_kernel_compatibility() ...@@ -228,12 +227,12 @@ check_kernel_compatibility()
echo "SKIP: cannot attach an ioam trace to a route, did you compile" \ echo "SKIP: cannot attach an ioam trace to a route, did you compile" \
"without CONFIG_IPV6_IOAM6_LWTUNNEL?" "without CONFIG_IPV6_IOAM6_LWTUNNEL?"
ip link del veth0 2>/dev/null || true ip link del veth0 2>/dev/null || true
ip netns del ioam-tmp-node || true cleanup_ns $ioam_tmp_node || true
exit $ksft_skip exit $ksft_skip
fi fi
ip link del veth0 2>/dev/null || true ip link del veth0 2>/dev/null || true
ip netns del ioam-tmp-node || true cleanup_ns $ioam_tmp_node || true
lsmod | grep -q "ip6_tunnel" lsmod | grep -q "ip6_tunnel"
ip6tnl_loaded=$? ip6tnl_loaded=$?
...@@ -265,9 +264,7 @@ cleanup() ...@@ -265,9 +264,7 @@ cleanup()
ip link del ioam-veth-alpha 2>/dev/null || true ip link del ioam-veth-alpha 2>/dev/null || true
ip link del ioam-veth-gamma 2>/dev/null || true ip link del ioam-veth-gamma 2>/dev/null || true
ip netns del ioam-node-alpha || true cleanup_ns $ioam_node_alpha $ioam_node_beta $ioam_node_gamma || true
ip netns del ioam-node-beta || true
ip netns del ioam-node-gamma || true
if [ $ip6tnl_loaded != 0 ] if [ $ip6tnl_loaded != 0 ]
then then
...@@ -277,69 +274,67 @@ cleanup() ...@@ -277,69 +274,67 @@ cleanup()
setup() setup()
{ {
ip netns add ioam-node-alpha setup_ns ioam_node_alpha ioam_node_beta ioam_node_gamma
ip netns add ioam-node-beta
ip netns add ioam-node-gamma ip link add name ioam-veth-alpha netns $ioam_node_alpha type veth \
peer name ioam-veth-betaL netns $ioam_node_beta
ip link add name ioam-veth-alpha netns ioam-node-alpha type veth \ ip link add name ioam-veth-betaR netns $ioam_node_beta type veth \
peer name ioam-veth-betaL netns ioam-node-beta peer name ioam-veth-gamma netns $ioam_node_gamma
ip link add name ioam-veth-betaR netns ioam-node-beta type veth \
peer name ioam-veth-gamma netns ioam-node-gamma ip -netns $ioam_node_alpha link set ioam-veth-alpha name veth0
ip -netns $ioam_node_beta link set ioam-veth-betaL name veth0
ip -netns ioam-node-alpha link set ioam-veth-alpha name veth0 ip -netns $ioam_node_beta link set ioam-veth-betaR name veth1
ip -netns ioam-node-beta link set ioam-veth-betaL name veth0 ip -netns $ioam_node_gamma link set ioam-veth-gamma name veth0
ip -netns ioam-node-beta link set ioam-veth-betaR name veth1
ip -netns ioam-node-gamma link set ioam-veth-gamma name veth0 ip -netns $ioam_node_alpha addr add db01::2/64 dev veth0
ip -netns $ioam_node_alpha link set veth0 up
ip -netns ioam-node-alpha addr add db01::2/64 dev veth0 ip -netns $ioam_node_alpha link set lo up
ip -netns ioam-node-alpha link set veth0 up ip -netns $ioam_node_alpha route add db02::/64 via db01::1 dev veth0
ip -netns ioam-node-alpha link set lo up ip -netns $ioam_node_alpha route del db01::/64
ip -netns ioam-node-alpha route add db02::/64 via db01::1 dev veth0 ip -netns $ioam_node_alpha route add db01::/64 dev veth0
ip -netns ioam-node-alpha route del db01::/64
ip -netns ioam-node-alpha route add db01::/64 dev veth0 ip -netns $ioam_node_beta addr add db01::1/64 dev veth0
ip -netns $ioam_node_beta addr add db02::1/64 dev veth1
ip -netns ioam-node-beta addr add db01::1/64 dev veth0 ip -netns $ioam_node_beta link set veth0 up
ip -netns ioam-node-beta addr add db02::1/64 dev veth1 ip -netns $ioam_node_beta link set veth1 up
ip -netns ioam-node-beta link set veth0 up ip -netns $ioam_node_beta link set lo up
ip -netns ioam-node-beta link set veth1 up
ip -netns ioam-node-beta link set lo up ip -netns $ioam_node_gamma addr add db02::2/64 dev veth0
ip -netns $ioam_node_gamma link set veth0 up
ip -netns ioam-node-gamma addr add db02::2/64 dev veth0 ip -netns $ioam_node_gamma link set lo up
ip -netns ioam-node-gamma link set veth0 up ip -netns $ioam_node_gamma route add db01::/64 via db02::1 dev veth0
ip -netns ioam-node-gamma link set lo up
ip -netns ioam-node-gamma route add db01::/64 via db02::1 dev veth0
# - IOAM config - # - IOAM config -
ip netns exec ioam-node-alpha sysctl -wq net.ipv6.ioam6_id=${ALPHA[0]} ip netns exec $ioam_node_alpha sysctl -wq net.ipv6.ioam6_id=${ALPHA[0]}
ip netns exec ioam-node-alpha sysctl -wq net.ipv6.ioam6_id_wide=${ALPHA[1]} ip netns exec $ioam_node_alpha sysctl -wq net.ipv6.ioam6_id_wide=${ALPHA[1]}
ip netns exec ioam-node-alpha sysctl -wq net.ipv6.conf.veth0.ioam6_id=${ALPHA[4]} ip netns exec $ioam_node_alpha sysctl -wq net.ipv6.conf.veth0.ioam6_id=${ALPHA[4]}
ip netns exec ioam-node-alpha sysctl -wq net.ipv6.conf.veth0.ioam6_id_wide=${ALPHA[5]} ip netns exec $ioam_node_alpha sysctl -wq net.ipv6.conf.veth0.ioam6_id_wide=${ALPHA[5]}
ip -netns ioam-node-alpha ioam namespace add 123 data ${ALPHA[6]} wide ${ALPHA[7]} ip -netns $ioam_node_alpha ioam namespace add 123 data ${ALPHA[6]} wide ${ALPHA[7]}
ip -netns ioam-node-alpha ioam schema add ${ALPHA[8]} "${ALPHA[9]}" ip -netns $ioam_node_alpha ioam schema add ${ALPHA[8]} "${ALPHA[9]}"
ip -netns ioam-node-alpha ioam namespace set 123 schema ${ALPHA[8]} ip -netns $ioam_node_alpha ioam namespace set 123 schema ${ALPHA[8]}
ip netns exec ioam-node-beta sysctl -wq net.ipv6.conf.all.forwarding=1 ip netns exec $ioam_node_beta sysctl -wq net.ipv6.conf.all.forwarding=1
ip netns exec ioam-node-beta sysctl -wq net.ipv6.ioam6_id=${BETA[0]} ip netns exec $ioam_node_beta sysctl -wq net.ipv6.ioam6_id=${BETA[0]}
ip netns exec ioam-node-beta sysctl -wq net.ipv6.ioam6_id_wide=${BETA[1]} ip netns exec $ioam_node_beta sysctl -wq net.ipv6.ioam6_id_wide=${BETA[1]}
ip netns exec ioam-node-beta sysctl -wq net.ipv6.conf.veth0.ioam6_enabled=1 ip netns exec $ioam_node_beta sysctl -wq net.ipv6.conf.veth0.ioam6_enabled=1
ip netns exec ioam-node-beta sysctl -wq net.ipv6.conf.veth0.ioam6_id=${BETA[2]} ip netns exec $ioam_node_beta sysctl -wq net.ipv6.conf.veth0.ioam6_id=${BETA[2]}
ip netns exec ioam-node-beta sysctl -wq net.ipv6.conf.veth0.ioam6_id_wide=${BETA[3]} ip netns exec $ioam_node_beta sysctl -wq net.ipv6.conf.veth0.ioam6_id_wide=${BETA[3]}
ip netns exec ioam-node-beta sysctl -wq net.ipv6.conf.veth1.ioam6_id=${BETA[4]} ip netns exec $ioam_node_beta sysctl -wq net.ipv6.conf.veth1.ioam6_id=${BETA[4]}
ip netns exec ioam-node-beta sysctl -wq net.ipv6.conf.veth1.ioam6_id_wide=${BETA[5]} ip netns exec $ioam_node_beta sysctl -wq net.ipv6.conf.veth1.ioam6_id_wide=${BETA[5]}
ip -netns ioam-node-beta ioam namespace add 123 data ${BETA[6]} wide ${BETA[7]} ip -netns $ioam_node_beta ioam namespace add 123 data ${BETA[6]} wide ${BETA[7]}
ip -netns ioam-node-beta ioam schema add ${BETA[8]} "${BETA[9]}" ip -netns $ioam_node_beta ioam schema add ${BETA[8]} "${BETA[9]}"
ip -netns ioam-node-beta ioam namespace set 123 schema ${BETA[8]} ip -netns $ioam_node_beta ioam namespace set 123 schema ${BETA[8]}
ip netns exec ioam-node-gamma sysctl -wq net.ipv6.ioam6_id=${GAMMA[0]} ip netns exec $ioam_node_gamma sysctl -wq net.ipv6.ioam6_id=${GAMMA[0]}
ip netns exec ioam-node-gamma sysctl -wq net.ipv6.ioam6_id_wide=${GAMMA[1]} ip netns exec $ioam_node_gamma sysctl -wq net.ipv6.ioam6_id_wide=${GAMMA[1]}
ip netns exec ioam-node-gamma sysctl -wq net.ipv6.conf.veth0.ioam6_enabled=1 ip netns exec $ioam_node_gamma sysctl -wq net.ipv6.conf.veth0.ioam6_enabled=1
ip netns exec ioam-node-gamma sysctl -wq net.ipv6.conf.veth0.ioam6_id=${GAMMA[2]} ip netns exec $ioam_node_gamma sysctl -wq net.ipv6.conf.veth0.ioam6_id=${GAMMA[2]}
ip netns exec ioam-node-gamma sysctl -wq net.ipv6.conf.veth0.ioam6_id_wide=${GAMMA[3]} ip netns exec $ioam_node_gamma sysctl -wq net.ipv6.conf.veth0.ioam6_id_wide=${GAMMA[3]}
ip -netns ioam-node-gamma ioam namespace add 123 data ${GAMMA[6]} wide ${GAMMA[7]} ip -netns $ioam_node_gamma ioam namespace add 123 data ${GAMMA[6]} wide ${GAMMA[7]}
sleep 1 sleep 1
ip netns exec ioam-node-alpha ping6 -c 5 -W 1 db02::2 &>/dev/null ip netns exec $ioam_node_alpha ping6 -c 5 -W 1 db02::2 &>/dev/null
if [ $? != 0 ] if [ $? != 0 ]
then then
echo "Setup FAILED" echo "Setup FAILED"
...@@ -412,7 +407,7 @@ run() ...@@ -412,7 +407,7 @@ run()
echo echo
# set OUTPUT settings # set OUTPUT settings
ip netns exec ioam-node-beta sysctl -wq net.ipv6.conf.veth0.ioam6_enabled=0 ip netns exec $ioam_node_beta sysctl -wq net.ipv6.conf.veth0.ioam6_enabled=0
for t in $TESTS_OUTPUT for t in $TESTS_OUTPUT
do do
...@@ -421,8 +416,8 @@ run() ...@@ -421,8 +416,8 @@ run()
done done
# clean OUTPUT settings # clean OUTPUT settings
ip netns exec ioam-node-beta sysctl -wq net.ipv6.conf.veth0.ioam6_enabled=1 ip netns exec $ioam_node_beta sysctl -wq net.ipv6.conf.veth0.ioam6_enabled=1
ip -netns ioam-node-alpha route change db01::/64 dev veth0 ip -netns $ioam_node_alpha route change db01::/64 dev veth0
echo echo
...@@ -433,7 +428,7 @@ run() ...@@ -433,7 +428,7 @@ run()
echo echo
# set INPUT settings # set INPUT settings
ip -netns ioam-node-alpha ioam namespace del 123 ip -netns $ioam_node_alpha ioam namespace del 123
for t in $TESTS_INPUT for t in $TESTS_INPUT
do do
...@@ -442,10 +437,10 @@ run() ...@@ -442,10 +437,10 @@ run()
done done
# clean INPUT settings # clean INPUT settings
ip -netns ioam-node-alpha ioam namespace add 123 \ ip -netns $ioam_node_alpha ioam namespace add 123 \
data ${ALPHA[6]} wide ${ALPHA[7]} data ${ALPHA[6]} wide ${ALPHA[7]}
ip -netns ioam-node-alpha ioam namespace set 123 schema ${ALPHA[8]} ip -netns $ioam_node_alpha ioam namespace set 123 schema ${ALPHA[8]}
ip -netns ioam-node-alpha route change db01::/64 dev veth0 ip -netns $ioam_node_alpha route change db01::/64 dev veth0
echo echo
printf "%0.s-" {1..74} printf "%0.s-" {1..74}
...@@ -488,15 +483,15 @@ out_undef_ns() ...@@ -488,15 +483,15 @@ out_undef_ns()
local desc="Unknown IOAM namespace" local desc="Unknown IOAM namespace"
[ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1" [ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1"
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 up [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 up
ip -netns ioam-node-alpha route change db01::/64 encap ioam6 mode $mode \ ip -netns $ioam_node_alpha route change db01::/64 encap ioam6 mode $mode \
trace prealloc type 0x800000 ns 0 size 4 dev veth0 trace prealloc type 0x800000 ns 0 size 4 dev veth0
run_test ${FUNCNAME[0]} "${desc} ($1 mode)" ioam-node-alpha ioam-node-beta \ run_test ${FUNCNAME[0]} "${desc} ($1 mode)" $ioam_node_alpha $ioam_node_beta \
db01::2 db01::1 veth0 0x800000 0 db01::2 db01::1 veth0 0x800000 0
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 down [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 down
} }
out_no_room() out_no_room()
...@@ -508,15 +503,15 @@ out_no_room() ...@@ -508,15 +503,15 @@ out_no_room()
local desc="Missing trace room" local desc="Missing trace room"
[ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1" [ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1"
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 up [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 up
ip -netns ioam-node-alpha route change db01::/64 encap ioam6 mode $mode \ ip -netns $ioam_node_alpha route change db01::/64 encap ioam6 mode $mode \
trace prealloc type 0xc00000 ns 123 size 4 dev veth0 trace prealloc type 0xc00000 ns 123 size 4 dev veth0
run_test ${FUNCNAME[0]} "${desc} ($1 mode)" ioam-node-alpha ioam-node-beta \ run_test ${FUNCNAME[0]} "${desc} ($1 mode)" $ioam_node_alpha $ioam_node_beta \
db01::2 db01::1 veth0 0xc00000 123 db01::2 db01::1 veth0 0xc00000 123
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 down [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 down
} }
out_bits() out_bits()
...@@ -532,11 +527,11 @@ out_bits() ...@@ -532,11 +527,11 @@ out_bits()
bit2size[22]=$(( $tmp + ${#ALPHA[9]} + ((4 - (${#ALPHA[9]} % 4)) % 4) )) bit2size[22]=$(( $tmp + ${#ALPHA[9]} + ((4 - (${#ALPHA[9]} % 4)) % 4) ))
[ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1" [ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1"
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 up [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 up
for i in {0..22} for i in {0..22}
do do
ip -netns ioam-node-alpha route change db01::/64 encap ioam6 mode $mode \ ip -netns $ioam_node_alpha route change db01::/64 encap ioam6 mode $mode \
trace prealloc type ${bit2type[$i]} ns 123 size ${bit2size[$i]} \ trace prealloc type ${bit2type[$i]} ns 123 size ${bit2size[$i]} \
dev veth0 &>/dev/null dev veth0 &>/dev/null
...@@ -554,12 +549,12 @@ out_bits() ...@@ -554,12 +549,12 @@ out_bits()
log_test_failed "$descr" log_test_failed "$descr"
fi fi
else else
run_test "out_bit$i" "$descr ($1 mode)" ioam-node-alpha \ run_test "out_bit$i" "$descr ($1 mode)" $ioam_node_alpha \
ioam-node-beta db01::2 db01::1 veth0 ${bit2type[$i]} 123 $ioam_node_beta db01::2 db01::1 veth0 ${bit2type[$i]} 123
fi fi
done done
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 down [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 down
bit2size[22]=$tmp bit2size[22]=$tmp
} }
...@@ -573,15 +568,15 @@ out_full_supp_trace() ...@@ -573,15 +568,15 @@ out_full_supp_trace()
local desc="Full supported trace" local desc="Full supported trace"
[ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1" [ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1"
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 up [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 up
ip -netns ioam-node-alpha route change db01::/64 encap ioam6 mode $mode \ ip -netns $ioam_node_alpha route change db01::/64 encap ioam6 mode $mode \
trace prealloc type 0xfff002 ns 123 size 100 dev veth0 trace prealloc type 0xfff002 ns 123 size 100 dev veth0
run_test ${FUNCNAME[0]} "${desc} ($1 mode)" ioam-node-alpha ioam-node-beta \ run_test ${FUNCNAME[0]} "${desc} ($1 mode)" $ioam_node_alpha $ioam_node_beta \
db01::2 db01::1 veth0 0xfff002 123 db01::2 db01::1 veth0 0xfff002 123
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 down [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 down
} }
...@@ -603,15 +598,15 @@ in_undef_ns() ...@@ -603,15 +598,15 @@ in_undef_ns()
local desc="Unknown IOAM namespace" local desc="Unknown IOAM namespace"
[ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1" [ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1"
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 up [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 up
ip -netns ioam-node-alpha route change db01::/64 encap ioam6 mode $mode \ ip -netns $ioam_node_alpha route change db01::/64 encap ioam6 mode $mode \
trace prealloc type 0x800000 ns 0 size 4 dev veth0 trace prealloc type 0x800000 ns 0 size 4 dev veth0
run_test ${FUNCNAME[0]} "${desc} ($1 mode)" ioam-node-alpha ioam-node-beta \ run_test ${FUNCNAME[0]} "${desc} ($1 mode)" $ioam_node_alpha $ioam_node_beta \
db01::2 db01::1 veth0 0x800000 0 db01::2 db01::1 veth0 0x800000 0
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 down [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 down
} }
in_no_room() in_no_room()
...@@ -623,15 +618,15 @@ in_no_room() ...@@ -623,15 +618,15 @@ in_no_room()
local desc="Missing trace room" local desc="Missing trace room"
[ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1" [ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1"
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 up [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 up
ip -netns ioam-node-alpha route change db01::/64 encap ioam6 mode $mode \ ip -netns $ioam_node_alpha route change db01::/64 encap ioam6 mode $mode \
trace prealloc type 0xc00000 ns 123 size 4 dev veth0 trace prealloc type 0xc00000 ns 123 size 4 dev veth0
run_test ${FUNCNAME[0]} "${desc} ($1 mode)" ioam-node-alpha ioam-node-beta \ run_test ${FUNCNAME[0]} "${desc} ($1 mode)" $ioam_node_alpha $ioam_node_beta \
db01::2 db01::1 veth0 0xc00000 123 db01::2 db01::1 veth0 0xc00000 123
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 down [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 down
} }
in_bits() in_bits()
...@@ -647,19 +642,19 @@ in_bits() ...@@ -647,19 +642,19 @@ in_bits()
bit2size[22]=$(( $tmp + ${#BETA[9]} + ((4 - (${#BETA[9]} % 4)) % 4) )) bit2size[22]=$(( $tmp + ${#BETA[9]} + ((4 - (${#BETA[9]} % 4)) % 4) ))
[ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1" [ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1"
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 up [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 up
for i in {0..11} {22..22} for i in {0..11} {22..22}
do do
ip -netns ioam-node-alpha route change db01::/64 encap ioam6 mode $mode \ ip -netns $ioam_node_alpha route change db01::/64 encap ioam6 mode $mode \
trace prealloc type ${bit2type[$i]} ns 123 size ${bit2size[$i]} \ trace prealloc type ${bit2type[$i]} ns 123 size ${bit2size[$i]} \
dev veth0 dev veth0
run_test "in_bit$i" "${desc/<n>/$i} ($1 mode)" ioam-node-alpha \ run_test "in_bit$i" "${desc/<n>/$i} ($1 mode)" $ioam_node_alpha \
ioam-node-beta db01::2 db01::1 veth0 ${bit2type[$i]} 123 $ioam_node_beta db01::2 db01::1 veth0 ${bit2type[$i]} 123
done done
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 down [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 down
bit2size[22]=$tmp bit2size[22]=$tmp
} }
...@@ -675,22 +670,22 @@ in_oflag() ...@@ -675,22 +670,22 @@ in_oflag()
# Exception: # Exception:
# Here, we need the sender to set the Overflow flag. For that, we will add # Here, we need the sender to set the Overflow flag. For that, we will add
# back the IOAM namespace that was previously configured on the sender. # back the IOAM namespace that was previously configured on the sender.
ip -netns ioam-node-alpha ioam namespace add 123 ip -netns $ioam_node_alpha ioam namespace add 123
[ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1" [ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1"
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 up [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 up
ip -netns ioam-node-alpha route change db01::/64 encap ioam6 mode $mode \ ip -netns $ioam_node_alpha route change db01::/64 encap ioam6 mode $mode \
trace prealloc type 0xc00000 ns 123 size 4 dev veth0 trace prealloc type 0xc00000 ns 123 size 4 dev veth0
run_test ${FUNCNAME[0]} "${desc} ($1 mode)" ioam-node-alpha ioam-node-beta \ run_test ${FUNCNAME[0]} "${desc} ($1 mode)" $ioam_node_alpha $ioam_node_beta \
db01::2 db01::1 veth0 0xc00000 123 db01::2 db01::1 veth0 0xc00000 123
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 down [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 down
# And we clean the exception for this test to get things back to normal for # And we clean the exception for this test to get things back to normal for
# other INPUT tests # other INPUT tests
ip -netns ioam-node-alpha ioam namespace del 123 ip -netns $ioam_node_alpha ioam namespace del 123
} }
in_full_supp_trace() in_full_supp_trace()
...@@ -702,15 +697,15 @@ in_full_supp_trace() ...@@ -702,15 +697,15 @@ in_full_supp_trace()
local desc="Full supported trace" local desc="Full supported trace"
[ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1" [ "$1" = "encap" ] && mode="$1 tundst db01::1" || mode="$1"
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 up [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 up
ip -netns ioam-node-alpha route change db01::/64 encap ioam6 mode $mode \ ip -netns $ioam_node_alpha route change db01::/64 encap ioam6 mode $mode \
trace prealloc type 0xfff002 ns 123 size 80 dev veth0 trace prealloc type 0xfff002 ns 123 size 80 dev veth0
run_test ${FUNCNAME[0]} "${desc} ($1 mode)" ioam-node-alpha ioam-node-beta \ run_test ${FUNCNAME[0]} "${desc} ($1 mode)" $ioam_node_alpha $ioam_node_beta \
db01::2 db01::1 veth0 0xfff002 123 db01::2 db01::1 veth0 0xfff002 123
[ "$1" = "encap" ] && ip -netns ioam-node-beta link set ip6tnl0 down [ "$1" = "encap" ] && ip -netns $ioam_node_beta link set ip6tnl0 down
} }
...@@ -730,15 +725,15 @@ fwd_full_supp_trace() ...@@ -730,15 +725,15 @@ fwd_full_supp_trace()
local desc="Forward - Full supported trace" local desc="Forward - Full supported trace"
[ "$1" = "encap" ] && mode="$1 tundst db02::2" || mode="$1" [ "$1" = "encap" ] && mode="$1 tundst db02::2" || mode="$1"
[ "$1" = "encap" ] && ip -netns ioam-node-gamma link set ip6tnl0 up [ "$1" = "encap" ] && ip -netns $ioam_node_gamma link set ip6tnl0 up
ip -netns ioam-node-alpha route change db02::/64 encap ioam6 mode $mode \ ip -netns $ioam_node_alpha route change db02::/64 encap ioam6 mode $mode \
trace prealloc type 0xfff002 ns 123 size 244 via db01::1 dev veth0 trace prealloc type 0xfff002 ns 123 size 244 via db01::1 dev veth0
run_test ${FUNCNAME[0]} "${desc} ($1 mode)" ioam-node-alpha ioam-node-gamma \ run_test ${FUNCNAME[0]} "${desc} ($1 mode)" $ioam_node_alpha $ioam_node_gamma \
db01::2 db02::2 veth0 0xfff002 123 db01::2 db02::2 veth0 0xfff002 123
[ "$1" = "encap" ] && ip -netns ioam-node-gamma link set ip6tnl0 down [ "$1" = "encap" ] && ip -netns $ioam_node_gamma link set ip6tnl0 down
} }
......
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