selftests: mptcp: add speed env var

Use a new env var speed instead of using 'speed' argument of run_tests()
and do_transfer(). It can be set with 'fast', 'slow', or the actual speed
number:

  run_tests $ns1 $ns2 10.0.1.1 slow

  ->

  speed=slow \
          run_tests $ns1 $ns2 10.0.1.1.

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Link: https://lore.kernel.org/r/20230712-upstream-net-next-20230712-selftests-mptcp-use-local-env-v1-4-f1c8b62fbf95@tessares.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Geliang Tang
2023-07-12 18:03:19 +02:00
committed by Jakub Kicinski
parent 4aadde088a
commit e571fb09c8

View File

@@ -57,6 +57,7 @@ unset addr_nr_ns2
unset sflags unset sflags
unset fastclose unset fastclose
unset fullmesh unset fullmesh
unset speed
# 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)'"
@@ -988,12 +989,12 @@ 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 speed="$6"
local port=$((10000 + TEST_COUNT - 1)) local port=$((10000 + TEST_COUNT - 1))
local cappid local cappid
local FAILING_LINKS=${FAILING_LINKS:-""} local FAILING_LINKS=${FAILING_LINKS:-""}
local fastclose=${fastclose:-""} local fastclose=${fastclose:-""}
local speed=${speed:-"fast"}
:> "$cout" :> "$cout"
:> "$sout" :> "$sout"
@@ -1026,8 +1027,8 @@ do_transfer()
extra_args="-j" extra_args="-j"
elif [ $speed = "slow" ]; then elif [ $speed = "slow" ]; then
extra_args="-r 50" extra_args="-r 50"
elif [[ $speed = "speed_"* ]]; then elif [ $speed -gt 0 ]; then
extra_args="-r ${speed:6}" extra_args="-r ${speed}"
fi fi
local extra_cl_args="" local extra_cl_args=""
@@ -1165,7 +1166,6 @@ 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 speed="${4:-fast}"
local size local size
local test_linkfail=${test_linkfail:-0} local test_linkfail=${test_linkfail:-0}
@@ -1210,7 +1210,7 @@ run_tests()
make_file "$sinfail" "server" $size make_file "$sinfail" "server" $size
fi fi
do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} ${speed} do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr}
} }
dump_stats() dump_stats()
@@ -1999,7 +1999,8 @@ 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 slow speed=slow \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 0 0 0 chk_join_nr 0 0 0
fi fi
@@ -2010,7 +2011,8 @@ 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 slow speed=slow \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 1 1 1 chk_join_nr 1 1 1
fi fi
@@ -2021,7 +2023,8 @@ 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 slow speed=slow \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 1 1 1 chk_join_nr 1 1 1
fi fi
@@ -2033,7 +2036,8 @@ 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 slow & speed=slow \
run_tests $ns1 $ns2 10.0.1.1 &
# 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
@@ -2132,7 +2136,8 @@ 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 slow speed=slow \
run_tests $ns1 $ns2 10.0.1.1
# 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.
@@ -2242,7 +2247,8 @@ 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 slow speed=slow \
run_tests $ns1 $ns2 10.0.1.1
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
@@ -2253,7 +2259,8 @@ 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 slow speed=slow \
run_tests $ns1 $ns2 dead:beef:1::1
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 4 0 chk_add_nr 4 0
fi fi
@@ -2264,7 +2271,8 @@ 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 speed_10 speed=10 \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_add_nr 8 0 chk_add_nr 8 0
fi fi
@@ -2275,7 +2283,8 @@ 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 speed_10 speed=10 \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 8 0 chk_add_nr 8 0
fi fi
@@ -2288,8 +2297,8 @@ 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
addr_nr_ns2=-1 \ addr_nr_ns2=-1 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
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
@@ -2301,8 +2310,8 @@ 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
addr_nr_ns2=-2 \ addr_nr_ns2=-2 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_rm_nr 2 2 chk_rm_nr 2 2
fi fi
@@ -2312,8 +2321,8 @@ 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
addr_nr_ns1=-1 \ addr_nr_ns1=-1 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
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
@@ -2325,8 +2334,8 @@ 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
addr_nr_ns1=-1 addr_nr_ns2=-1 \ addr_nr_ns1=-1 addr_nr_ns2=-1 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow 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_rm_nr 1 1 chk_rm_nr 1 1
@@ -2339,8 +2348,8 @@ 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
addr_nr_ns1=-1 addr_nr_ns2=-2 \ addr_nr_ns1=-1 addr_nr_ns2=-2 speed=10 \
run_tests $ns1 $ns2 10.0.1.1 speed_10 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_rm_nr 2 2 chk_rm_nr 2 2
@@ -2353,8 +2362,8 @@ 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
addr_nr_ns1=-3 \ addr_nr_ns1=-3 speed=10 \
run_tests $ns1 $ns2 10.0.1.1 speed_10 run_tests $ns1 $ns2 10.0.1.1
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
@@ -2367,8 +2376,8 @@ 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
addr_nr_ns1=-3 \ addr_nr_ns1=-3 speed=10 \
run_tests $ns1 $ns2 10.0.1.1 speed_10 run_tests $ns1 $ns2 10.0.1.1
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
@@ -2381,8 +2390,8 @@ 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
addr_nr_ns1=-8 addr_nr_ns2=-8 \ addr_nr_ns1=-8 addr_nr_ns2=-8 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow 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_rm_nr 1 3 invert simult chk_rm_nr 1 3 invert simult
@@ -2395,8 +2404,8 @@ 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
addr_nr_ns1=-8 addr_nr_ns2=-8 \ addr_nr_ns1=-8 addr_nr_ns2=-8 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
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
@@ -2414,8 +2423,8 @@ 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
addr_nr_ns1=-8 addr_nr_ns2=-8 \ addr_nr_ns1=-8 addr_nr_ns2=-8 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
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
@@ -2428,8 +2437,8 @@ 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
addr_nr_ns1=-8 \ addr_nr_ns1=-8 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
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
@@ -2440,8 +2449,8 @@ 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
addr_nr_ns2=-9 \ addr_nr_ns2=-9 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_rm_nr 1 1 chk_rm_nr 1 1
fi fi
@@ -2451,8 +2460,8 @@ 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
addr_nr_ns1=-9 \ addr_nr_ns1=-9 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
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
@@ -2465,8 +2474,8 @@ 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
addr_nr_ns2=1 \ addr_nr_ns2=1 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 1 1 1 chk_join_nr 1 1 1
fi fi
@@ -2474,8 +2483,8 @@ 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
addr_nr_ns1=1 \ addr_nr_ns1=1 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 1 1 chk_add_nr 1 1
fi fi
@@ -2484,8 +2493,8 @@ 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
addr_nr_ns2=2 \ addr_nr_ns2=2 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 2 2 2 chk_join_nr 2 2 2
fi fi
@@ -2493,8 +2502,8 @@ 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
addr_nr_ns2=2 \ addr_nr_ns2=2 speed=slow \
run_tests $ns1 $ns2 dead:beef:1::1 slow run_tests $ns1 $ns2 dead:beef:1::1
chk_join_nr 2 2 2 chk_join_nr 2 2 2
fi fi
@@ -2502,8 +2511,8 @@ 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
addr_nr_ns1=2 \ addr_nr_ns1=2 speed=slow \
run_tests $ns1 $ns2 dead:beef:1::1 slow run_tests $ns1 $ns2 dead:beef:1::1
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_add_nr 2 2 chk_add_nr 2 2
fi fi
@@ -2516,14 +2525,16 @@ 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 slow speed=slow \
run_tests $ns1 $ns2 dead:beef:1::1
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 slow speed=slow \
run_tests $ns1 $ns2 dead:beef:1::1
chk_join_nr 0 0 0 chk_join_nr 0 0 0
chk_add_nr 1 1 chk_add_nr 1 1
fi fi
@@ -2533,7 +2544,8 @@ 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 slow speed=slow \
run_tests $ns1 $ns2 dead:beef:1::1
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_add_nr 1 1 chk_add_nr 1 1
fi fi
@@ -2543,8 +2555,8 @@ 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
addr_nr_ns1=-1 \ addr_nr_ns1=-1 speed=slow \
run_tests $ns1 $ns2 dead:beef:1::1 slow run_tests $ns1 $ns2 dead:beef:1::1
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
@@ -2556,8 +2568,8 @@ 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
addr_nr_ns1=-1 addr_nr_ns2=-1 \ addr_nr_ns1=-1 addr_nr_ns2=-1 speed=slow \
run_tests $ns1 $ns2 dead:beef:1::1 slow run_tests $ns1 $ns2 dead:beef: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_rm_nr 1 1 chk_rm_nr 1 1
@@ -2658,7 +2670,8 @@ 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 slow speed=slow \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 0 0 0 chk_join_nr 0 0 0
fi fi
@@ -2668,7 +2681,8 @@ 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 slow speed=slow \
run_tests $ns1 $ns2 dead:beef:2::1
chk_join_nr 1 1 1 chk_join_nr 1 1 1
fi fi
@@ -2679,7 +2693,8 @@ 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 slow speed=slow \
run_tests $ns1 $ns2 dead:beef:2::1
chk_join_nr 1 1 1 chk_join_nr 1 1 1
fi fi
@@ -2691,8 +2706,8 @@ 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
fullmesh=1 \ fullmesh=1 speed=slow \
run_tests $ns1 $ns2 dead:beef:1::1 slow run_tests $ns1 $ns2 dead:beef:1::1
chk_join_nr 4 4 4 chk_join_nr 4 4 4
fi fi
} }
@@ -2705,8 +2720,8 @@ 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
sflags=nobackup \ sflags=nobackup speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 1 1 1 chk_join_nr 1 1 1
chk_prio_nr 0 1 chk_prio_nr 0 1
fi fi
@@ -2717,8 +2732,8 @@ 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
sflags=backup \ sflags=backup speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
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
@@ -2730,8 +2745,8 @@ 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
sflags=backup \ sflags=backup speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
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
@@ -2740,7 +2755,8 @@ 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 slow speed=slow \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 0 0 0 chk_join_nr 0 0 0
chk_prio_nr 0 1 chk_prio_nr 0 1
fi fi
@@ -2749,7 +2765,8 @@ 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 slow speed=slow \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 0 0 0 chk_join_nr 0 0 0
chk_prio_nr 1 1 chk_prio_nr 1 1
fi fi
@@ -2757,8 +2774,8 @@ 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
sflags=backup \ sflags=backup speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 0 0 0 chk_join_nr 0 0 0
chk_prio_nr 0 1 chk_prio_nr 0 1
fi fi
@@ -2767,8 +2784,8 @@ 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
sflags=backup \ sflags=backup speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 0 0 0 chk_join_nr 0 0 0
chk_prio_nr 1 1 chk_prio_nr 1 1
fi fi
@@ -2857,8 +2874,8 @@ 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
addr_nr_ns1=-1 \ addr_nr_ns1=-1 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
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
@@ -2874,8 +2891,8 @@ 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
addr_nr_ns1=-1 addr_nr_ns2=-1 \ addr_nr_ns1=-1 addr_nr_ns2=-1 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow 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 1 chk_add_nr 1 1 1
chk_rm_nr 1 1 chk_rm_nr 1 1
@@ -2888,8 +2905,8 @@ 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
addr_nr_ns1=-8 addr_nr_ns2=-2 \ addr_nr_ns1=-8 addr_nr_ns2=-2 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow 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_rm_nr 1 3 invert simult chk_rm_nr 1 3 invert simult
@@ -3091,8 +3108,8 @@ 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
addr_nr_ns1=1 \ addr_nr_ns1=1 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 4 4 4 chk_join_nr 4 4 4
chk_add_nr 1 1 chk_add_nr 1 1
fi fi
@@ -3104,8 +3121,8 @@ 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
fullmesh=1 \ fullmesh=1 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow 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
fi fi
@@ -3117,8 +3134,8 @@ 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
fullmesh=2 \ fullmesh=2 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 5 5 5 chk_join_nr 5 5 5
chk_add_nr 1 1 chk_add_nr 1 1
fi fi
@@ -3131,8 +3148,8 @@ 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
fullmesh=2 \ fullmesh=2 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 4 4 4 chk_join_nr 4 4 4
chk_add_nr 1 1 chk_add_nr 1 1
fi fi
@@ -3143,8 +3160,8 @@ 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
addr_nr_ns2=1 sflags=fullmesh \ addr_nr_ns2=1 sflags=fullmesh speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_rm_nr 0 1 chk_rm_nr 0 1
fi fi
@@ -3155,8 +3172,8 @@ 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
fullmesh=1 sflags=nofullmesh \ fullmesh=1 sflags=nofullmesh speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 2 2 2 chk_join_nr 2 2 2
chk_rm_nr 0 1 chk_rm_nr 0 1
fi fi
@@ -3167,8 +3184,8 @@ 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
addr_nr_ns2=1 sflags=backup,fullmesh \ addr_nr_ns2=1 sflags=backup,fullmesh speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
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
@@ -3180,8 +3197,8 @@ 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
sflags=nobackup,nofullmesh \ sflags=nobackup,nofullmesh speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
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
@@ -3356,8 +3373,8 @@ 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
sflags=backup \ sflags=backup speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 1 1 0 chk_join_nr 1 1 0
chk_prio_nr 0 0 chk_prio_nr 0 0
fi fi
@@ -3370,8 +3387,8 @@ 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
addr_nr_ns2=-1 \ addr_nr_ns2=-1 speed=slow \
run_tests $ns1 $ns2 10.0.1.1 slow run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 0 0 0 chk_join_nr 0 0 0
chk_rm_nr 0 0 chk_rm_nr 0 0
fi fi
@@ -3381,7 +3398,8 @@ 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 speed_10 & speed=10 \
run_tests $ns1 $ns2 10.0.1.1 &
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
@@ -3401,7 +3419,8 @@ 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 speed_10 & speed=10 \
run_tests $ns1 $ns2 10.0.1.1 &
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
@@ -3424,7 +3443,8 @@ 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 slow 2>/dev/null & speed=slow \
run_tests $ns1 $ns2 10.0.1.1 2>/dev/null &
wait_mpj $ns1 wait_mpj $ns1
pm_nl_check_endpoint 1 "creation" \ pm_nl_check_endpoint 1 "creation" \
@@ -3447,8 +3467,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
test_linkfail=4 \ test_linkfail=4 speed=20 \
run_tests $ns1 $ns2 10.0.1.1 speed_20 2>/dev/null & run_tests $ns1 $ns2 10.0.1.1 2>/dev/null &
wait_mpj $ns2 wait_mpj $ns2
chk_subflow_nr needtitle "before delete" 2 chk_subflow_nr needtitle "before delete" 2