selftests: mptcp: drop test_linkfail parameter

run_tests() accepts too many optional parameters. Before this modification,
it was required to set all of then when only the last one had to be
changed. That's not clear to see all these 0 and it makes the maintenance
harder:

      run_tests $ns1 $ns2 10.0.1.1 1 2 3 slow

Instead, the parameter can be set as an env var with a limited scope:

      foo=1 bar=2 next=3 \
            run_tests $ns1 $ns2 10.0.1.1 slow

This patch switches to key/value "test_linkfail=*" instead of positional
parameter test_linkfail of do_transfer() and run_tests().

Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
Signed-off-by: Mat Martineau <martineau@kernel.org>
Link: https://lore.kernel.org/r/20230623-send-net-next-20230623-v1-4-a883213c8ba9@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Geliang Tang 2023-06-23 10:34:10 -07:00 committed by Jakub Kicinski
parent be7e9786c9
commit 0c93af1f89

View file

@ -50,6 +50,7 @@ TEST_NAME=""
nr_blank=40 nr_blank=40
export FAILING_LINKS="" export FAILING_LINKS=""
export test_linkfail=0
# generated using "nfbpf_compile '(ip && (ip[54] & 0xf0) == 0x30) || # generated using "nfbpf_compile '(ip && (ip[54] & 0xf0) == 0x30) ||
# (ip6 && (ip6[74] & 0xf0) == 0x30)'" # (ip6 && (ip6[74] & 0xf0) == 0x30)'"
@ -825,11 +826,10 @@ do_transfer()
local cl_proto="$3" local cl_proto="$3"
local srv_proto="$4" local srv_proto="$4"
local connect_addr="$5" local connect_addr="$5"
local test_link_fail="$6" local addr_nr_ns1="$6"
local addr_nr_ns1="$7" local addr_nr_ns2="$7"
local addr_nr_ns2="$8" local speed="$8"
local speed="$9" local sflags="${9}"
local sflags="${10}"
local port=$((10000 + TEST_COUNT - 1)) local port=$((10000 + TEST_COUNT - 1))
local cappid local cappid
@ -874,21 +874,21 @@ do_transfer()
local extra_srv_args="" local extra_srv_args=""
local trunc_size="" local trunc_size=""
if [[ "${addr_nr_ns2}" = "fastclose_"* ]]; then if [[ "${addr_nr_ns2}" = "fastclose_"* ]]; then
if [ ${test_link_fail} -le 1 ]; then if [ ${test_linkfail} -le 1 ]; then
echo "fastclose tests need test_link_fail argument" echo "fastclose tests need test_linkfail argument"
fail_test fail_test
return 1 return 1
fi fi
# disconnect # disconnect
trunc_size=${test_link_fail} trunc_size=${test_linkfail}
local side=${addr_nr_ns2:10} local side=${addr_nr_ns2:10}
if [ ${side} = "client" ]; then if [ ${side} = "client" ]; then
extra_cl_args="-f ${test_link_fail}" extra_cl_args="-f ${test_linkfail}"
extra_srv_args="-f -1" extra_srv_args="-f -1"
elif [ ${side} = "server" ]; then elif [ ${side} = "server" ]; then
extra_srv_args="-f ${test_link_fail}" extra_srv_args="-f ${test_linkfail}"
extra_cl_args="-f -1" extra_cl_args="-f -1"
else else
echo "wrong/unknown fastclose spec ${side}" echo "wrong/unknown fastclose spec ${side}"
@ -902,7 +902,7 @@ do_transfer()
fi fi
extra_srv_args="$extra_args $extra_srv_args" extra_srv_args="$extra_args $extra_srv_args"
if [ "$test_link_fail" -gt 1 ];then if [ "$test_linkfail" -gt 1 ];then
timeout ${timeout_test} \ timeout ${timeout_test} \
ip netns exec ${listener_ns} \ ip netns exec ${listener_ns} \
./mptcp_connect -t ${timeout_poll} -l -p $port -s ${srv_proto} \ ./mptcp_connect -t ${timeout_poll} -l -p $port -s ${srv_proto} \
@ -918,12 +918,12 @@ do_transfer()
wait_local_port_listen "${listener_ns}" "${port}" wait_local_port_listen "${listener_ns}" "${port}"
extra_cl_args="$extra_args $extra_cl_args" extra_cl_args="$extra_args $extra_cl_args"
if [ "$test_link_fail" -eq 0 ];then if [ "$test_linkfail" -eq 0 ];then
timeout ${timeout_test} \ timeout ${timeout_test} \
ip netns exec ${connector_ns} \ ip netns exec ${connector_ns} \
./mptcp_connect -t ${timeout_poll} -p $port -s ${cl_proto} \ ./mptcp_connect -t ${timeout_poll} -p $port -s ${cl_proto} \
$extra_cl_args $connect_addr < "$cin" > "$cout" & $extra_cl_args $connect_addr < "$cin" > "$cout" &
elif [ "$test_link_fail" -eq 1 ] || [ "$test_link_fail" -eq 2 ];then elif [ "$test_linkfail" -eq 1 ] || [ "$test_linkfail" -eq 2 ];then
( cat "$cinfail" ; sleep 2; link_failure $listener_ns ; cat "$cinfail" ) | \ ( cat "$cinfail" ; sleep 2; link_failure $listener_ns ; cat "$cinfail" ) | \
tee "$cinsent" | \ tee "$cinsent" | \
timeout ${timeout_test} \ timeout ${timeout_test} \
@ -1107,13 +1107,13 @@ do_transfer()
return 1 return 1
fi fi
if [ "$test_link_fail" -gt 1 ];then if [ "$test_linkfail" -gt 1 ];then
check_transfer $sinfail $cout "file received by client" $trunc_size check_transfer $sinfail $cout "file received by client" $trunc_size
else else
check_transfer $sin $cout "file received by client" $trunc_size check_transfer $sin $cout "file received by client" $trunc_size
fi fi
retc=$? retc=$?
if [ "$test_link_fail" -eq 0 ];then if [ "$test_linkfail" -eq 0 ];then
check_transfer $cin $sout "file received by server" $trunc_size check_transfer $cin $sout "file received by server" $trunc_size
else else
check_transfer $cinsent $sout "file received by server" $trunc_size check_transfer $cinsent $sout "file received by server" $trunc_size
@ -1146,11 +1146,10 @@ run_tests()
local listener_ns="$1" local listener_ns="$1"
local connector_ns="$2" local connector_ns="$2"
local connect_addr="$3" local connect_addr="$3"
local test_linkfail="${4:-0}" local addr_nr_ns1="${4:-0}"
local addr_nr_ns1="${5:-0}" local addr_nr_ns2="${5:-0}"
local addr_nr_ns2="${6:-0}" local speed="${6:-fast}"
local speed="${7:-fast}" local sflags="${7:-""}"
local sflags="${8:-""}"
local size local size
@ -1195,7 +1194,7 @@ run_tests()
fi fi
do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} \ do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} \
${test_linkfail} ${addr_nr_ns1} ${addr_nr_ns2} ${speed} ${sflags} ${addr_nr_ns1} ${addr_nr_ns2} ${speed} ${sflags}
} }
dump_stats() dump_stats()
@ -1984,7 +1983,7 @@ subflows_error_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 0 1 pm_nl_set_limits $ns2 0 1
pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow run_tests $ns1 $ns2 10.0.1.1 0 0 slow
chk_join_nr 0 0 0 chk_join_nr 0 0 0
fi fi
@ -1995,7 +1994,7 @@ subflows_error_tests()
pm_nl_set_limits $ns2 0 2 pm_nl_set_limits $ns2 0 2
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow run_tests $ns1 $ns2 10.0.1.1 0 0 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
fi fi
@ -2006,7 +2005,7 @@ subflows_error_tests()
pm_nl_set_limits $ns2 0 2 pm_nl_set_limits $ns2 0 2
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow run_tests $ns1 $ns2 10.0.1.1 0 0 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
fi fi
@ -2018,7 +2017,7 @@ subflows_error_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 0 1 pm_nl_set_limits $ns2 0 1
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow & run_tests $ns1 $ns2 10.0.1.1 0 0 slow &
# mpj subflow will be in TW after the reset # mpj subflow will be in TW after the reset
wait_attempt_fail $ns2 wait_attempt_fail $ns2
@ -2117,7 +2116,7 @@ signal_address_tests()
# the peer could possibly miss some addr notification, allow retransmission # the peer could possibly miss some addr notification, allow retransmission
ip netns exec $ns1 sysctl -q net.mptcp.add_addr_timeout=1 ip netns exec $ns1 sysctl -q net.mptcp.add_addr_timeout=1
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow run_tests $ns1 $ns2 10.0.1.1 0 0 slow
# It is not directly linked to the commit introducing this # It is not directly linked to the commit introducing this
# symbol but for the parent one which is linked anyway. # symbol but for the parent one which is linked anyway.
@ -2149,7 +2148,8 @@ link_failure_tests()
pm_nl_set_limits $ns2 1 3 pm_nl_set_limits $ns2 1 3
pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow
pm_nl_add_endpoint $ns2 10.0.4.2 dev ns2eth4 flags subflow pm_nl_add_endpoint $ns2 10.0.4.2 dev ns2eth4 flags subflow
run_tests $ns1 $ns2 10.0.1.1 1 test_linkfail=1 \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 3 3 3 chk_join_nr 3 3 3
chk_add_nr 1 1 chk_add_nr 1 1
chk_stale_nr $ns2 1 5 1 chk_stale_nr $ns2 1 5 1
@ -2164,7 +2164,8 @@ link_failure_tests()
pm_nl_set_limits $ns2 1 3 pm_nl_set_limits $ns2 1 3
pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow
pm_nl_add_endpoint $ns2 10.0.4.2 dev ns2eth4 flags subflow pm_nl_add_endpoint $ns2 10.0.4.2 dev ns2eth4 flags subflow
run_tests $ns1 $ns2 10.0.1.1 2 test_linkfail=2 \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 3 3 3 chk_join_nr 3 3 3
chk_add_nr 1 1 chk_add_nr 1 1
chk_stale_nr $ns2 1 -1 1 chk_stale_nr $ns2 1 -1 1
@ -2178,8 +2179,8 @@ link_failure_tests()
pm_nl_add_endpoint $ns1 10.0.2.1 dev ns1eth2 flags signal pm_nl_add_endpoint $ns1 10.0.2.1 dev ns1eth2 flags signal
pm_nl_set_limits $ns2 1 2 pm_nl_set_limits $ns2 1 2
pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow,backup pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow,backup
FAILING_LINKS="1" \ FAILING_LINKS="1" test_linkfail=1 \
run_tests $ns1 $ns2 10.0.1.1 1 run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_add_nr 1 1 chk_add_nr 1 1
chk_link_usage $ns2 ns2eth3 $cinsent 0 chk_link_usage $ns2 ns2eth3 $cinsent 0
@ -2193,8 +2194,8 @@ link_failure_tests()
pm_nl_add_endpoint $ns1 10.0.2.1 dev ns1eth2 flags signal pm_nl_add_endpoint $ns1 10.0.2.1 dev ns1eth2 flags signal
pm_nl_set_limits $ns2 1 2 pm_nl_set_limits $ns2 1 2
pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow,backup pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow,backup
FAILING_LINKS="1 2" \ FAILING_LINKS="1 2" test_linkfail=1 \
run_tests $ns1 $ns2 10.0.1.1 1 run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_add_nr 1 1 chk_add_nr 1 1
chk_stale_nr $ns2 2 4 2 chk_stale_nr $ns2 2 4 2
@ -2209,8 +2210,8 @@ link_failure_tests()
pm_nl_add_endpoint $ns1 10.0.2.1 dev ns1eth2 flags signal pm_nl_add_endpoint $ns1 10.0.2.1 dev ns1eth2 flags signal
pm_nl_set_limits $ns2 1 3 pm_nl_set_limits $ns2 1 3
pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow,backup pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow,backup
FAILING_LINKS="1 2" \ FAILING_LINKS="1 2" test_linkfail=2 \
run_tests $ns1 $ns2 10.0.1.1 2 run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_add_nr 1 1 chk_add_nr 1 1
chk_stale_nr $ns2 1 -1 2 chk_stale_nr $ns2 1 -1 2
@ -2225,7 +2226,7 @@ add_addr_timeout_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 1 1 pm_nl_set_limits $ns2 1 1
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow run_tests $ns1 $ns2 10.0.1.1 0 0 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_tx_nr 4 4 chk_add_tx_nr 4 4
chk_add_nr 4 0 chk_add_nr 4 0
@ -2236,7 +2237,7 @@ add_addr_timeout_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 1 1 pm_nl_set_limits $ns2 1 1
pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal
run_tests $ns1 $ns2 dead:beef:1::1 0 0 0 slow run_tests $ns1 $ns2 dead:beef:1::1 0 0 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 4 0 chk_add_nr 4 0
fi fi
@ -2247,7 +2248,7 @@ add_addr_timeout_tests()
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
pm_nl_add_endpoint $ns1 10.0.3.1 flags signal pm_nl_add_endpoint $ns1 10.0.3.1 flags signal
pm_nl_set_limits $ns2 2 2 pm_nl_set_limits $ns2 2 2
run_tests $ns1 $ns2 10.0.1.1 0 0 0 speed_10 run_tests $ns1 $ns2 10.0.1.1 0 0 speed_10
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_add_nr 8 0 chk_add_nr 8 0
fi fi
@ -2258,7 +2259,7 @@ add_addr_timeout_tests()
pm_nl_add_endpoint $ns1 10.0.12.1 flags signal pm_nl_add_endpoint $ns1 10.0.12.1 flags signal
pm_nl_add_endpoint $ns1 10.0.3.1 flags signal pm_nl_add_endpoint $ns1 10.0.3.1 flags signal
pm_nl_set_limits $ns2 2 2 pm_nl_set_limits $ns2 2 2
run_tests $ns1 $ns2 10.0.1.1 0 0 0 speed_10 run_tests $ns1 $ns2 10.0.1.1 0 0 speed_10
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 8 0 chk_add_nr 8 0
fi fi
@ -2271,7 +2272,7 @@ remove_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 0 1 pm_nl_set_limits $ns2 0 1
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 0 0 -1 slow run_tests $ns1 $ns2 10.0.1.1 0 -1 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_rm_tx_nr 1 chk_rm_tx_nr 1
chk_rm_nr 1 1 chk_rm_nr 1 1
@ -2283,7 +2284,7 @@ remove_tests()
pm_nl_set_limits $ns2 0 2 pm_nl_set_limits $ns2 0 2
pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 0 0 -2 slow run_tests $ns1 $ns2 10.0.1.1 0 -2 slow
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_rm_nr 2 2 chk_rm_nr 2 2
fi fi
@ -2293,7 +2294,7 @@ remove_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
pm_nl_set_limits $ns2 1 1 pm_nl_set_limits $ns2 1 1
run_tests $ns1 $ns2 10.0.1.1 0 -1 0 slow run_tests $ns1 $ns2 10.0.1.1 -1 0 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 1 1 chk_add_nr 1 1
chk_rm_nr 1 1 invert chk_rm_nr 1 1 invert
@ -2305,7 +2306,7 @@ remove_tests()
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
pm_nl_set_limits $ns2 1 2 pm_nl_set_limits $ns2 1 2
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 0 -1 -1 slow run_tests $ns1 $ns2 10.0.1.1 -1 -1 slow
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_add_nr 1 1 chk_add_nr 1 1
chk_rm_nr 1 1 chk_rm_nr 1 1
@ -2318,7 +2319,7 @@ remove_tests()
pm_nl_set_limits $ns2 1 3 pm_nl_set_limits $ns2 1 3
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 0 -1 -2 speed_10 run_tests $ns1 $ns2 10.0.1.1 -1 -2 speed_10
chk_join_nr 3 3 3 chk_join_nr 3 3 3
chk_add_nr 1 1 chk_add_nr 1 1
chk_rm_nr 2 2 chk_rm_nr 2 2
@ -2331,7 +2332,7 @@ remove_tests()
pm_nl_add_endpoint $ns1 10.0.3.1 flags signal pm_nl_add_endpoint $ns1 10.0.3.1 flags signal
pm_nl_add_endpoint $ns1 10.0.4.1 flags signal pm_nl_add_endpoint $ns1 10.0.4.1 flags signal
pm_nl_set_limits $ns2 3 3 pm_nl_set_limits $ns2 3 3
run_tests $ns1 $ns2 10.0.1.1 0 -3 0 speed_10 run_tests $ns1 $ns2 10.0.1.1 -3 0 speed_10
chk_join_nr 3 3 3 chk_join_nr 3 3 3
chk_add_nr 3 3 chk_add_nr 3 3
chk_rm_nr 3 3 invert chk_rm_nr 3 3 invert
@ -2344,7 +2345,7 @@ remove_tests()
pm_nl_add_endpoint $ns1 10.0.3.1 flags signal pm_nl_add_endpoint $ns1 10.0.3.1 flags signal
pm_nl_add_endpoint $ns1 10.0.14.1 flags signal pm_nl_add_endpoint $ns1 10.0.14.1 flags signal
pm_nl_set_limits $ns2 3 3 pm_nl_set_limits $ns2 3 3
run_tests $ns1 $ns2 10.0.1.1 0 -3 0 speed_10 run_tests $ns1 $ns2 10.0.1.1 -3 0 speed_10
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 3 3 chk_add_nr 3 3
chk_rm_nr 3 1 invert chk_rm_nr 3 1 invert
@ -2357,7 +2358,7 @@ remove_tests()
pm_nl_set_limits $ns2 1 3 pm_nl_set_limits $ns2 1 3
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 0 -8 -8 slow run_tests $ns1 $ns2 10.0.1.1 -8 -8 slow
chk_join_nr 3 3 3 chk_join_nr 3 3 3
chk_add_nr 1 1 chk_add_nr 1 1
chk_rm_nr 1 3 invert simult chk_rm_nr 1 3 invert simult
@ -2370,7 +2371,7 @@ remove_tests()
pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow id 150 pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow id 150
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 0 -8 -8 slow run_tests $ns1 $ns2 10.0.1.1 -8 -8 slow
chk_join_nr 3 3 3 chk_join_nr 3 3 3
if mptcp_lib_kversion_ge 5.18; then if mptcp_lib_kversion_ge 5.18; then
@ -2388,7 +2389,7 @@ remove_tests()
pm_nl_add_endpoint $ns1 10.0.3.1 flags signal pm_nl_add_endpoint $ns1 10.0.3.1 flags signal
pm_nl_add_endpoint $ns1 10.0.4.1 flags signal pm_nl_add_endpoint $ns1 10.0.4.1 flags signal
pm_nl_set_limits $ns2 3 3 pm_nl_set_limits $ns2 3 3
run_tests $ns1 $ns2 10.0.1.1 0 -8 -8 slow run_tests $ns1 $ns2 10.0.1.1 -8 -8 slow
chk_join_nr 3 3 3 chk_join_nr 3 3 3
chk_add_nr 3 3 chk_add_nr 3 3
chk_rm_nr 3 3 invert simult chk_rm_nr 3 3 invert simult
@ -2401,7 +2402,7 @@ remove_tests()
pm_nl_add_endpoint $ns1 10.0.3.1 flags signal pm_nl_add_endpoint $ns1 10.0.3.1 flags signal
pm_nl_add_endpoint $ns1 10.0.14.1 flags signal pm_nl_add_endpoint $ns1 10.0.14.1 flags signal
pm_nl_set_limits $ns2 3 3 pm_nl_set_limits $ns2 3 3
run_tests $ns1 $ns2 10.0.1.1 0 -8 0 slow run_tests $ns1 $ns2 10.0.1.1 -8 0 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 3 3 chk_add_nr 3 3
chk_rm_nr 3 1 invert chk_rm_nr 3 1 invert
@ -2412,7 +2413,7 @@ remove_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 0 1 pm_nl_set_limits $ns2 0 1
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 0 0 -9 slow run_tests $ns1 $ns2 10.0.1.1 0 -9 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_rm_nr 1 1 chk_rm_nr 1 1
fi fi
@ -2422,7 +2423,7 @@ remove_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
pm_nl_set_limits $ns2 1 1 pm_nl_set_limits $ns2 1 1
run_tests $ns1 $ns2 10.0.1.1 0 -9 0 slow run_tests $ns1 $ns2 10.0.1.1 -9 0 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 1 1 chk_add_nr 1 1
chk_rm_nr 1 1 invert chk_rm_nr 1 1 invert
@ -2435,7 +2436,7 @@ add_tests()
if reset "add single subflow"; then if reset "add single subflow"; then
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 0 1 pm_nl_set_limits $ns2 0 1
run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow run_tests $ns1 $ns2 10.0.1.1 0 1 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
fi fi
@ -2443,7 +2444,7 @@ add_tests()
if reset "add signal address"; then if reset "add signal address"; then
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 1 1 pm_nl_set_limits $ns2 1 1
run_tests $ns1 $ns2 10.0.1.1 0 1 0 slow run_tests $ns1 $ns2 10.0.1.1 1 0 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 1 1 chk_add_nr 1 1
fi fi
@ -2452,7 +2453,7 @@ add_tests()
if reset "add multiple subflows"; then if reset "add multiple subflows"; then
pm_nl_set_limits $ns1 0 2 pm_nl_set_limits $ns1 0 2
pm_nl_set_limits $ns2 0 2 pm_nl_set_limits $ns2 0 2
run_tests $ns1 $ns2 10.0.1.1 0 0 2 slow run_tests $ns1 $ns2 10.0.1.1 0 2 slow
chk_join_nr 2 2 2 chk_join_nr 2 2 2
fi fi
@ -2460,7 +2461,7 @@ add_tests()
if reset "add multiple subflows IPv6"; then if reset "add multiple subflows IPv6"; then
pm_nl_set_limits $ns1 0 2 pm_nl_set_limits $ns1 0 2
pm_nl_set_limits $ns2 0 2 pm_nl_set_limits $ns2 0 2
run_tests $ns1 $ns2 dead:beef:1::1 0 0 2 slow run_tests $ns1 $ns2 dead:beef:1::1 0 2 slow
chk_join_nr 2 2 2 chk_join_nr 2 2 2
fi fi
@ -2468,7 +2469,7 @@ add_tests()
if reset "add multiple addresses IPv6"; then if reset "add multiple addresses IPv6"; then
pm_nl_set_limits $ns1 0 2 pm_nl_set_limits $ns1 0 2
pm_nl_set_limits $ns2 2 2 pm_nl_set_limits $ns2 2 2
run_tests $ns1 $ns2 dead:beef:1::1 0 2 0 slow run_tests $ns1 $ns2 dead:beef:1::1 2 0 slow
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_add_nr 2 2 chk_add_nr 2 2
fi fi
@ -2481,14 +2482,14 @@ ipv6_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 0 1 pm_nl_set_limits $ns2 0 1
pm_nl_add_endpoint $ns2 dead:beef:3::2 dev ns2eth3 flags subflow pm_nl_add_endpoint $ns2 dead:beef:3::2 dev ns2eth3 flags subflow
run_tests $ns1 $ns2 dead:beef:1::1 0 0 0 slow run_tests $ns1 $ns2 dead:beef:1::1 0 0 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
fi fi
# add_address, unused IPv6 # add_address, unused IPv6
if reset "unused signal address IPv6"; then if reset "unused signal address IPv6"; then
pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal
run_tests $ns1 $ns2 dead:beef:1::1 0 0 0 slow run_tests $ns1 $ns2 dead:beef:1::1 0 0 slow
chk_join_nr 0 0 0 chk_join_nr 0 0 0
chk_add_nr 1 1 chk_add_nr 1 1
fi fi
@ -2498,7 +2499,7 @@ ipv6_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal
pm_nl_set_limits $ns2 1 1 pm_nl_set_limits $ns2 1 1
run_tests $ns1 $ns2 dead:beef:1::1 0 0 0 slow run_tests $ns1 $ns2 dead:beef:1::1 0 0 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 1 1 chk_add_nr 1 1
fi fi
@ -2508,7 +2509,7 @@ ipv6_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal
pm_nl_set_limits $ns2 1 1 pm_nl_set_limits $ns2 1 1
run_tests $ns1 $ns2 dead:beef:1::1 0 -1 0 slow run_tests $ns1 $ns2 dead:beef:1::1 -1 0 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 1 1 chk_add_nr 1 1
chk_rm_nr 1 1 invert chk_rm_nr 1 1 invert
@ -2520,7 +2521,7 @@ ipv6_tests()
pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal
pm_nl_set_limits $ns2 1 2 pm_nl_set_limits $ns2 1 2
pm_nl_add_endpoint $ns2 dead:beef:3::2 dev ns2eth3 flags subflow pm_nl_add_endpoint $ns2 dead:beef:3::2 dev ns2eth3 flags subflow
run_tests $ns1 $ns2 dead:beef:1::1 0 -1 -1 slow run_tests $ns1 $ns2 dead:beef:1::1 -1 -1 slow
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_add_nr 1 1 chk_add_nr 1 1
chk_rm_nr 1 1 chk_rm_nr 1 1
@ -2621,7 +2622,7 @@ mixed_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 1 1 pm_nl_set_limits $ns2 1 1
pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow run_tests $ns1 $ns2 10.0.1.1 0 0 slow
chk_join_nr 0 0 0 chk_join_nr 0 0 0
fi fi
@ -2631,7 +2632,7 @@ mixed_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 1 1 pm_nl_set_limits $ns2 1 1
pm_nl_add_endpoint $ns1 10.0.1.1 flags signal pm_nl_add_endpoint $ns1 10.0.1.1 flags signal
run_tests $ns1 $ns2 dead:beef:2::1 0 0 0 slow run_tests $ns1 $ns2 dead:beef:2::1 0 0 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
fi fi
@ -2642,7 +2643,7 @@ mixed_tests()
pm_nl_set_limits $ns2 1 4 pm_nl_set_limits $ns2 1 4
pm_nl_add_endpoint $ns2 dead:beef:2::2 flags subflow,fullmesh pm_nl_add_endpoint $ns2 dead:beef:2::2 flags subflow,fullmesh
pm_nl_add_endpoint $ns1 10.0.1.1 flags signal pm_nl_add_endpoint $ns1 10.0.1.1 flags signal
run_tests $ns1 $ns2 dead:beef:2::1 0 0 0 slow run_tests $ns1 $ns2 dead:beef:2::1 0 0 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
fi fi
@ -2654,7 +2655,7 @@ mixed_tests()
pm_nl_set_limits $ns2 2 4 pm_nl_set_limits $ns2 2 4
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal
run_tests $ns1 $ns2 dead:beef:1::1 0 0 fullmesh_1 slow run_tests $ns1 $ns2 dead:beef:1::1 0 fullmesh_1 slow
chk_join_nr 4 4 4 chk_join_nr 4 4 4
fi fi
} }
@ -2667,7 +2668,7 @@ backup_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 0 1 pm_nl_set_limits $ns2 0 1
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow,backup pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow,backup
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow nobackup run_tests $ns1 $ns2 10.0.1.1 0 0 slow nobackup
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_prio_nr 0 1 chk_prio_nr 0 1
fi fi
@ -2678,7 +2679,7 @@ backup_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
pm_nl_set_limits $ns2 1 1 pm_nl_set_limits $ns2 1 1
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup run_tests $ns1 $ns2 10.0.1.1 0 0 slow backup
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 1 1 chk_add_nr 1 1
chk_prio_nr 1 1 chk_prio_nr 1 1
@ -2690,7 +2691,7 @@ backup_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100
pm_nl_set_limits $ns2 1 1 pm_nl_set_limits $ns2 1 1
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup run_tests $ns1 $ns2 10.0.1.1 0 0 slow backup
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 1 1 chk_add_nr 1 1
chk_prio_nr 1 1 chk_prio_nr 1 1
@ -2699,7 +2700,7 @@ backup_tests()
if reset "mpc backup" && if reset "mpc backup" &&
continue_if mptcp_lib_kallsyms_doesnt_have "mptcp_subflow_send_ack$"; then continue_if mptcp_lib_kallsyms_doesnt_have "mptcp_subflow_send_ack$"; then
pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow,backup pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow,backup
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow run_tests $ns1 $ns2 10.0.1.1 0 0 slow
chk_join_nr 0 0 0 chk_join_nr 0 0 0
chk_prio_nr 0 1 chk_prio_nr 0 1
fi fi
@ -2708,7 +2709,7 @@ backup_tests()
continue_if mptcp_lib_kallsyms_doesnt_have "mptcp_subflow_send_ack$"; then continue_if mptcp_lib_kallsyms_doesnt_have "mptcp_subflow_send_ack$"; then
pm_nl_add_endpoint $ns1 10.0.1.1 flags subflow,backup pm_nl_add_endpoint $ns1 10.0.1.1 flags subflow,backup
pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow,backup pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow,backup
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow run_tests $ns1 $ns2 10.0.1.1 0 0 slow
chk_join_nr 0 0 0 chk_join_nr 0 0 0
chk_prio_nr 1 1 chk_prio_nr 1 1
fi fi
@ -2716,7 +2717,7 @@ backup_tests()
if reset "mpc switch to backup" && if reset "mpc switch to backup" &&
continue_if mptcp_lib_kallsyms_doesnt_have "mptcp_subflow_send_ack$"; then continue_if mptcp_lib_kallsyms_doesnt_have "mptcp_subflow_send_ack$"; then
pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup run_tests $ns1 $ns2 10.0.1.1 0 0 slow backup
chk_join_nr 0 0 0 chk_join_nr 0 0 0
chk_prio_nr 0 1 chk_prio_nr 0 1
fi fi
@ -2725,7 +2726,7 @@ backup_tests()
continue_if mptcp_lib_kallsyms_doesnt_have "mptcp_subflow_send_ack$"; then continue_if mptcp_lib_kallsyms_doesnt_have "mptcp_subflow_send_ack$"; then
pm_nl_add_endpoint $ns1 10.0.1.1 flags subflow pm_nl_add_endpoint $ns1 10.0.1.1 flags subflow
pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup run_tests $ns1 $ns2 10.0.1.1 0 0 slow backup
chk_join_nr 0 0 0 chk_join_nr 0 0 0
chk_prio_nr 1 1 chk_prio_nr 1 1
fi fi
@ -2814,7 +2815,7 @@ add_addr_ports_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100
pm_nl_set_limits $ns2 1 1 pm_nl_set_limits $ns2 1 1
run_tests $ns1 $ns2 10.0.1.1 0 -1 0 slow run_tests $ns1 $ns2 10.0.1.1 -1 0 slow
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 1 1 1 chk_add_nr 1 1 1
chk_rm_nr 1 1 invert chk_rm_nr 1 1 invert
@ -2830,7 +2831,7 @@ add_addr_ports_tests()
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100
pm_nl_set_limits $ns2 1 2 pm_nl_set_limits $ns2 1 2
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 0 -1 -1 slow run_tests $ns1 $ns2 10.0.1.1 -1 -1 slow
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_add_nr 1 1 1 chk_add_nr 1 1 1
chk_rm_nr 1 1 chk_rm_nr 1 1
@ -2843,7 +2844,7 @@ add_addr_ports_tests()
pm_nl_set_limits $ns2 1 3 pm_nl_set_limits $ns2 1 3
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 0 -8 -2 slow run_tests $ns1 $ns2 10.0.1.1 -8 -2 slow
chk_join_nr 3 3 3 chk_join_nr 3 3 3
chk_add_nr 1 1 chk_add_nr 1 1
chk_rm_nr 1 3 invert simult chk_rm_nr 1 3 invert simult
@ -3045,7 +3046,7 @@ fullmesh_tests()
pm_nl_set_limits $ns2 1 4 pm_nl_set_limits $ns2 1 4
pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow,fullmesh pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow,fullmesh
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow,fullmesh pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow,fullmesh
run_tests $ns1 $ns2 10.0.1.1 0 1 0 slow run_tests $ns1 $ns2 10.0.1.1 1 0 slow
chk_join_nr 4 4 4 chk_join_nr 4 4 4
chk_add_nr 1 1 chk_add_nr 1 1
fi fi
@ -3057,7 +3058,7 @@ fullmesh_tests()
pm_nl_set_limits $ns1 1 3 pm_nl_set_limits $ns1 1 3
pm_nl_set_limits $ns2 1 3 pm_nl_set_limits $ns2 1 3
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_1 slow run_tests $ns1 $ns2 10.0.1.1 0 fullmesh_1 slow
chk_join_nr 3 3 3 chk_join_nr 3 3 3
chk_add_nr 1 1 chk_add_nr 1 1
fi fi
@ -3069,7 +3070,7 @@ fullmesh_tests()
pm_nl_set_limits $ns1 2 5 pm_nl_set_limits $ns1 2 5
pm_nl_set_limits $ns2 1 5 pm_nl_set_limits $ns2 1 5
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_2 slow run_tests $ns1 $ns2 10.0.1.1 0 fullmesh_2 slow
chk_join_nr 5 5 5 chk_join_nr 5 5 5
chk_add_nr 1 1 chk_add_nr 1 1
fi fi
@ -3082,7 +3083,7 @@ fullmesh_tests()
pm_nl_set_limits $ns1 2 4 pm_nl_set_limits $ns1 2 4
pm_nl_set_limits $ns2 1 4 pm_nl_set_limits $ns2 1 4
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_2 slow run_tests $ns1 $ns2 10.0.1.1 0 fullmesh_2 slow
chk_join_nr 4 4 4 chk_join_nr 4 4 4
chk_add_nr 1 1 chk_add_nr 1 1
fi fi
@ -3093,7 +3094,7 @@ fullmesh_tests()
pm_nl_set_limits $ns1 4 4 pm_nl_set_limits $ns1 4 4
pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow
pm_nl_set_limits $ns2 4 4 pm_nl_set_limits $ns2 4 4
run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow fullmesh run_tests $ns1 $ns2 10.0.1.1 0 1 slow fullmesh
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_rm_nr 0 1 chk_rm_nr 0 1
fi fi
@ -3104,7 +3105,7 @@ fullmesh_tests()
pm_nl_set_limits $ns1 4 4 pm_nl_set_limits $ns1 4 4
pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow,fullmesh pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow,fullmesh
pm_nl_set_limits $ns2 4 4 pm_nl_set_limits $ns2 4 4
run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_1 slow nofullmesh run_tests $ns1 $ns2 10.0.1.1 0 fullmesh_1 slow nofullmesh
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_rm_nr 0 1 chk_rm_nr 0 1
fi fi
@ -3115,7 +3116,7 @@ fullmesh_tests()
pm_nl_set_limits $ns1 4 4 pm_nl_set_limits $ns1 4 4
pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow
pm_nl_set_limits $ns2 4 4 pm_nl_set_limits $ns2 4 4
run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow backup,fullmesh run_tests $ns1 $ns2 10.0.1.1 0 1 slow backup,fullmesh
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_prio_nr 0 1 chk_prio_nr 0 1
chk_rm_nr 0 1 chk_rm_nr 0 1
@ -3127,7 +3128,7 @@ fullmesh_tests()
pm_nl_set_limits $ns1 4 4 pm_nl_set_limits $ns1 4 4
pm_nl_set_limits $ns2 4 4 pm_nl_set_limits $ns2 4 4
pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow,backup,fullmesh pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow,backup,fullmesh
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow nobackup,nofullmesh run_tests $ns1 $ns2 10.0.1.1 0 0 slow nobackup,nofullmesh
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_prio_nr 0 1 chk_prio_nr 0 1
chk_rm_nr 0 1 chk_rm_nr 0 1
@ -3137,14 +3138,16 @@ fullmesh_tests()
fastclose_tests() fastclose_tests()
{ {
if reset_check_counter "fastclose test" "MPTcpExtMPFastcloseTx"; then if reset_check_counter "fastclose test" "MPTcpExtMPFastcloseTx"; then
run_tests $ns1 $ns2 10.0.1.1 1024 0 fastclose_client test_linkfail=1024 \
run_tests $ns1 $ns2 10.0.1.1 0 fastclose_client
chk_join_nr 0 0 0 chk_join_nr 0 0 0
chk_fclose_nr 1 1 chk_fclose_nr 1 1
chk_rst_nr 1 1 invert chk_rst_nr 1 1 invert
fi fi
if reset_check_counter "fastclose server test" "MPTcpExtMPFastcloseRx"; then if reset_check_counter "fastclose server test" "MPTcpExtMPFastcloseRx"; then
run_tests $ns1 $ns2 10.0.1.1 1024 0 fastclose_server test_linkfail=1024 \
run_tests $ns1 $ns2 10.0.1.1 0 fastclose_server
chk_join_nr 0 0 0 chk_join_nr 0 0 0
chk_fclose_nr 1 1 invert chk_fclose_nr 1 1 invert
chk_rst_nr 1 1 chk_rst_nr 1 1
@ -3162,7 +3165,8 @@ fail_tests()
{ {
# single subflow # single subflow
if reset_with_fail "Infinite map" 1; then if reset_with_fail "Infinite map" 1; then
run_tests $ns1 $ns2 10.0.1.1 128 test_linkfail=128 \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 0 0 0 +1 +0 1 0 1 "$(pedit_action_pkts)" chk_join_nr 0 0 0 +1 +0 1 0 1 "$(pedit_action_pkts)"
chk_fail_nr 1 -1 invert chk_fail_nr 1 -1 invert
fi fi
@ -3173,7 +3177,8 @@ fail_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 0 1 pm_nl_set_limits $ns2 0 1
pm_nl_add_endpoint $ns2 10.0.2.2 dev ns2eth2 flags subflow pm_nl_add_endpoint $ns2 10.0.2.2 dev ns2eth2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 1024 test_linkfail=1024 \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 1 1 1 1 0 1 1 0 "$(pedit_action_pkts)" chk_join_nr 1 1 1 1 0 1 1 0 "$(pedit_action_pkts)"
fi fi
} }
@ -3298,7 +3303,7 @@ userspace_tests()
pm_nl_set_limits $ns1 1 1 pm_nl_set_limits $ns1 1 1
pm_nl_set_limits $ns2 1 1 pm_nl_set_limits $ns2 1 1
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup run_tests $ns1 $ns2 10.0.1.1 0 0 slow backup
chk_join_nr 1 1 0 chk_join_nr 1 1 0
chk_prio_nr 0 0 chk_prio_nr 0 0
fi fi
@ -3311,7 +3316,7 @@ userspace_tests()
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 0 1 pm_nl_set_limits $ns2 0 1
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 0 0 -1 slow run_tests $ns1 $ns2 10.0.1.1 0 -1 slow
chk_join_nr 0 0 0 chk_join_nr 0 0 0
chk_rm_nr 0 0 chk_rm_nr 0 0
fi fi
@ -3321,7 +3326,7 @@ userspace_tests()
continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then
set_userspace_pm $ns1 set_userspace_pm $ns1
pm_nl_set_limits $ns2 1 1 pm_nl_set_limits $ns2 1 1
run_tests $ns1 $ns2 10.0.1.1 0 0 0 speed_10 & run_tests $ns1 $ns2 10.0.1.1 0 0 speed_10 &
local tests_pid=$! local tests_pid=$!
wait_mpj $ns1 wait_mpj $ns1
userspace_pm_add_addr 10.0.2.1 10 userspace_pm_add_addr 10.0.2.1 10
@ -3341,7 +3346,7 @@ userspace_tests()
continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then
set_userspace_pm $ns2 set_userspace_pm $ns2
pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns1 0 1
run_tests $ns1 $ns2 10.0.1.1 0 0 0 speed_10 & run_tests $ns1 $ns2 10.0.1.1 0 0 speed_10 &
local tests_pid=$! local tests_pid=$!
wait_mpj $ns2 wait_mpj $ns2
userspace_pm_add_sf 10.0.3.2 20 userspace_pm_add_sf 10.0.3.2 20
@ -3364,7 +3369,7 @@ endpoint_tests()
pm_nl_set_limits $ns1 2 2 pm_nl_set_limits $ns1 2 2
pm_nl_set_limits $ns2 2 2 pm_nl_set_limits $ns2 2 2
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow 2>/dev/null & run_tests $ns1 $ns2 10.0.1.1 0 0 slow 2>/dev/null &
wait_mpj $ns1 wait_mpj $ns1
pm_nl_check_endpoint 1 "creation" \ pm_nl_check_endpoint 1 "creation" \
@ -3387,7 +3392,8 @@ endpoint_tests()
pm_nl_set_limits $ns1 1 1 pm_nl_set_limits $ns1 1 1
pm_nl_set_limits $ns2 1 1 pm_nl_set_limits $ns2 1 1
pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2 flags subflow pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2 flags subflow
run_tests $ns1 $ns2 10.0.1.1 4 0 0 speed_20 2>/dev/null & test_linkfail=4 \
run_tests $ns1 $ns2 10.0.1.1 0 0 speed_20 2>/dev/null &
wait_mpj $ns2 wait_mpj $ns2
chk_subflow_nr needtitle "before delete" 2 chk_subflow_nr needtitle "before delete" 2