selftests: mptcp: add speed env var
authorGeliang Tang <geliang.tang@suse.com>
Wed, 12 Jul 2023 16:03:19 +0000 (18:03 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 14 Jul 2023 03:34:51 +0000 (20:34 -0700)
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>
tools/testing/selftests/net/mptcp/mptcp_join.sh

index 5ad95cc..b5eeea4 100755 (executable)
@@ -57,6 +57,7 @@ unset addr_nr_ns2
 unset sflags
 unset fastclose
 unset fullmesh
+unset speed
 
 # generated using "nfbpf_compile '(ip && (ip[54] & 0xf0) == 0x30) ||
 #                                (ip6 && (ip6[74] & 0xf0) == 0x30)'"
@@ -988,12 +989,12 @@ do_transfer()
        local cl_proto="$3"
        local srv_proto="$4"
        local connect_addr="$5"
-       local speed="$6"
 
        local port=$((10000 + TEST_COUNT - 1))
        local cappid
        local FAILING_LINKS=${FAILING_LINKS:-""}
        local fastclose=${fastclose:-""}
+       local speed=${speed:-"fast"}
 
        :> "$cout"
        :> "$sout"
@@ -1026,8 +1027,8 @@ do_transfer()
                extra_args="-j"
        elif [ $speed = "slow" ]; then
                extra_args="-r 50"
-       elif [[ $speed = "speed_"* ]]; then
-               extra_args="-r ${speed:6}"
+       elif [ $speed -gt 0 ]; then
+               extra_args="-r ${speed}"
        fi
 
        local extra_cl_args=""
@@ -1165,7 +1166,6 @@ run_tests()
        local listener_ns="$1"
        local connector_ns="$2"
        local connect_addr="$3"
-       local speed="${4:-fast}"
 
        local size
        local test_linkfail=${test_linkfail:-0}
@@ -1210,7 +1210,7 @@ run_tests()
                make_file "$sinfail" "server" $size
        fi
 
-       do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} ${speed}
+       do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr}
 }
 
 dump_stats()
@@ -1999,7 +1999,8 @@ subflows_error_tests()
                pm_nl_set_limits $ns1 0 1
                pm_nl_set_limits $ns2 0 1
                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
        fi
 
@@ -2010,7 +2011,8 @@ subflows_error_tests()
                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.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
        fi
 
@@ -2021,7 +2023,8 @@ subflows_error_tests()
                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.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
        fi
 
@@ -2033,7 +2036,8 @@ subflows_error_tests()
                pm_nl_set_limits $ns1 0 1
                pm_nl_set_limits $ns2 0 1
                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
                wait_attempt_fail $ns2
@@ -2132,7 +2136,8 @@ signal_address_tests()
 
                # the peer could possibly miss some addr notification, allow retransmission
                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
                # 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 $ns2 1 1
                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_add_tx_nr 4 4
                chk_add_nr 4 0
@@ -2253,7 +2259,8 @@ add_addr_timeout_tests()
                pm_nl_set_limits $ns1 0 1
                pm_nl_set_limits $ns2 1 1
                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_add_nr 4 0
        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.3.1 flags signal
                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_add_nr 8 0
        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.3.1 flags signal
                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_add_nr 8 0
        fi
@@ -2288,8 +2297,8 @@ remove_tests()
                pm_nl_set_limits $ns1 0 1
                pm_nl_set_limits $ns2 0 1
                pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
-               addr_nr_ns2=-1 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns2=-1 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 1 1 1
                chk_rm_tx_nr 1
                chk_rm_nr 1 1
@@ -2301,8 +2310,8 @@ remove_tests()
                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.3.2 flags subflow
-               addr_nr_ns2=-2 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns2=-2 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 2 2 2
                chk_rm_nr 2 2
        fi
@@ -2312,8 +2321,8 @@ remove_tests()
                pm_nl_set_limits $ns1 0 1
                pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
                pm_nl_set_limits $ns2 1 1
-               addr_nr_ns1=-1 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns1=-1 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 1 1 1
                chk_add_nr 1 1
                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_set_limits $ns2 1 2
                pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
-               addr_nr_ns1=-1 addr_nr_ns2=-1 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns1=-1 addr_nr_ns2=-1 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 2 2 2
                chk_add_nr 1 1
                chk_rm_nr 1 1
@@ -2339,8 +2348,8 @@ remove_tests()
                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.4.2 flags subflow
-               addr_nr_ns1=-1 addr_nr_ns2=-2 \
-                       run_tests $ns1 $ns2 10.0.1.1 speed_10
+               addr_nr_ns1=-1 addr_nr_ns2=-2 speed=10 \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 3 3 3
                chk_add_nr 1 1
                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.4.1 flags signal
                pm_nl_set_limits $ns2 3 3
-               addr_nr_ns1=-3 \
-                       run_tests $ns1 $ns2 10.0.1.1 speed_10
+               addr_nr_ns1=-3 speed=10 \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 3 3 3
                chk_add_nr 3 3
                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.14.1 flags signal
                pm_nl_set_limits $ns2 3 3
-               addr_nr_ns1=-3 \
-                       run_tests $ns1 $ns2 10.0.1.1 speed_10
+               addr_nr_ns1=-3 speed=10 \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 1 1 1
                chk_add_nr 3 3
                chk_rm_nr 3 1 invert
@@ -2381,8 +2390,8 @@ remove_tests()
                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.4.2 flags subflow
-               addr_nr_ns1=-8 addr_nr_ns2=-8 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns1=-8 addr_nr_ns2=-8 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 3 3 3
                chk_add_nr 1 1
                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.3.2 flags subflow
                pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow
-               addr_nr_ns1=-8 addr_nr_ns2=-8 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns1=-8 addr_nr_ns2=-8 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 3 3 3
 
                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.4.1 flags signal
                pm_nl_set_limits $ns2 3 3
-               addr_nr_ns1=-8 addr_nr_ns2=-8 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns1=-8 addr_nr_ns2=-8 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 3 3 3
                chk_add_nr 3 3
                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.14.1 flags signal
                pm_nl_set_limits $ns2 3 3
-               addr_nr_ns1=-8 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns1=-8 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 1 1 1
                chk_add_nr 3 3
                chk_rm_nr 3 1 invert
@@ -2440,8 +2449,8 @@ remove_tests()
                pm_nl_set_limits $ns1 0 1
                pm_nl_set_limits $ns2 0 1
                pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
-               addr_nr_ns2=-9 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns2=-9 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 1 1 1
                chk_rm_nr 1 1
        fi
@@ -2451,8 +2460,8 @@ remove_tests()
                pm_nl_set_limits $ns1 0 1
                pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
                pm_nl_set_limits $ns2 1 1
-               addr_nr_ns1=-9 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns1=-9 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 1 1 1
                chk_add_nr 1 1
                chk_rm_nr 1 1 invert
@@ -2465,8 +2474,8 @@ add_tests()
        if reset "add single subflow"; then
                pm_nl_set_limits $ns1 0 1
                pm_nl_set_limits $ns2 0 1
-               addr_nr_ns2=1 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns2=1 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 1 1 1
        fi
 
@@ -2474,8 +2483,8 @@ add_tests()
        if reset "add signal address"; then
                pm_nl_set_limits $ns1 0 1
                pm_nl_set_limits $ns2 1 1
-               addr_nr_ns1=1 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns1=1 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 1 1 1
                chk_add_nr 1 1
        fi
@@ -2484,8 +2493,8 @@ add_tests()
        if reset "add multiple subflows"; then
                pm_nl_set_limits $ns1 0 2
                pm_nl_set_limits $ns2 0 2
-               addr_nr_ns2=2 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns2=2 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 2 2 2
        fi
 
@@ -2493,8 +2502,8 @@ add_tests()
        if reset "add multiple subflows IPv6"; then
                pm_nl_set_limits $ns1 0 2
                pm_nl_set_limits $ns2 0 2
-               addr_nr_ns2=2 \
-                       run_tests $ns1 $ns2 dead:beef:1::1 slow
+               addr_nr_ns2=2 speed=slow \
+                       run_tests $ns1 $ns2 dead:beef:1::1
                chk_join_nr 2 2 2
        fi
 
@@ -2502,8 +2511,8 @@ add_tests()
        if reset "add multiple addresses IPv6"; then
                pm_nl_set_limits $ns1 0 2
                pm_nl_set_limits $ns2 2 2
-               addr_nr_ns1=2 \
-                       run_tests $ns1 $ns2 dead:beef:1::1 slow
+               addr_nr_ns1=2 speed=slow \
+                       run_tests $ns1 $ns2 dead:beef:1::1
                chk_join_nr 2 2 2
                chk_add_nr 2 2
        fi
@@ -2516,14 +2525,16 @@ ipv6_tests()
                pm_nl_set_limits $ns1 0 1
                pm_nl_set_limits $ns2 0 1
                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
        fi
 
        # add_address, unused IPv6
        if reset "unused signal address IPv6"; then
                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_add_nr 1 1
        fi
@@ -2533,7 +2544,8 @@ ipv6_tests()
                pm_nl_set_limits $ns1 0 1
                pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal
                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_add_nr 1 1
        fi
@@ -2543,8 +2555,8 @@ ipv6_tests()
                pm_nl_set_limits $ns1 0 1
                pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal
                pm_nl_set_limits $ns2 1 1
-               addr_nr_ns1=-1 \
-                       run_tests $ns1 $ns2 dead:beef:1::1 slow
+               addr_nr_ns1=-1 speed=slow \
+                       run_tests $ns1 $ns2 dead:beef:1::1
                chk_join_nr 1 1 1
                chk_add_nr 1 1
                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_set_limits $ns2 1 2
                pm_nl_add_endpoint $ns2 dead:beef:3::2 dev ns2eth3 flags subflow
-               addr_nr_ns1=-1 addr_nr_ns2=-1 \
-                       run_tests $ns1 $ns2 dead:beef:1::1 slow
+               addr_nr_ns1=-1 addr_nr_ns2=-1 speed=slow \
+                       run_tests $ns1 $ns2 dead:beef:1::1
                chk_join_nr 2 2 2
                chk_add_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 $ns2 1 1
                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
        fi
 
@@ -2668,7 +2681,8 @@ mixed_tests()
                pm_nl_set_limits $ns1 0 1
                pm_nl_set_limits $ns2 1 1
                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
        fi
 
@@ -2679,7 +2693,8 @@ mixed_tests()
                pm_nl_set_limits $ns2 1 4
                pm_nl_add_endpoint $ns2 dead:beef:2::2 flags subflow,fullmesh
                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
        fi
 
@@ -2691,8 +2706,8 @@ mixed_tests()
                pm_nl_set_limits $ns2 2 4
                pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
                pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal
-               fullmesh=1 \
-                       run_tests $ns1 $ns2 dead:beef:1::1 slow
+               fullmesh=1 speed=slow \
+                       run_tests $ns1 $ns2 dead:beef:1::1
                chk_join_nr 4 4 4
        fi
 }
@@ -2705,8 +2720,8 @@ backup_tests()
                pm_nl_set_limits $ns1 0 1
                pm_nl_set_limits $ns2 0 1
                pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow,backup
-               sflags=nobackup \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               sflags=nobackup speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 1 1 1
                chk_prio_nr 0 1
        fi
@@ -2717,8 +2732,8 @@ backup_tests()
                pm_nl_set_limits $ns1 0 1
                pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
                pm_nl_set_limits $ns2 1 1
-               sflags=backup \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               sflags=backup speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 1 1 1
                chk_add_nr 1 1
                chk_prio_nr 1 1
@@ -2730,8 +2745,8 @@ backup_tests()
                pm_nl_set_limits $ns1 0 1
                pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100
                pm_nl_set_limits $ns2 1 1
-               sflags=backup \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               sflags=backup speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 1 1 1
                chk_add_nr 1 1
                chk_prio_nr 1 1
@@ -2740,7 +2755,8 @@ backup_tests()
        if reset "mpc backup" &&
           continue_if mptcp_lib_kallsyms_doesnt_have "mptcp_subflow_send_ack$"; then
                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_prio_nr 0 1
        fi
@@ -2749,7 +2765,8 @@ backup_tests()
           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 $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_prio_nr 1 1
        fi
@@ -2757,8 +2774,8 @@ backup_tests()
        if reset "mpc switch to backup" &&
           continue_if mptcp_lib_kallsyms_doesnt_have "mptcp_subflow_send_ack$"; then
                pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow
-               sflags=backup \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               sflags=backup speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 0 0 0
                chk_prio_nr 0 1
        fi
@@ -2767,8 +2784,8 @@ backup_tests()
           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 $ns2 10.0.1.2 flags subflow
-               sflags=backup \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               sflags=backup speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 0 0 0
                chk_prio_nr 1 1
        fi
@@ -2857,8 +2874,8 @@ add_addr_ports_tests()
                pm_nl_set_limits $ns1 0 1
                pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100
                pm_nl_set_limits $ns2 1 1
-               addr_nr_ns1=-1 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns1=-1 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 1 1 1
                chk_add_nr 1 1 1
                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_set_limits $ns2 1 2
                pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
-               addr_nr_ns1=-1 addr_nr_ns2=-1 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns1=-1 addr_nr_ns2=-1 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 2 2 2
                chk_add_nr 1 1 1
                chk_rm_nr 1 1
@@ -2888,8 +2905,8 @@ add_addr_ports_tests()
                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.4.2 flags subflow
-               addr_nr_ns1=-8 addr_nr_ns2=-2 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns1=-8 addr_nr_ns2=-2 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 3 3 3
                chk_add_nr 1 1
                chk_rm_nr 1 3 invert simult
@@ -3091,8 +3108,8 @@ fullmesh_tests()
                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.3.2 flags subflow,fullmesh
-               addr_nr_ns1=1 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns1=1 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 4 4 4
                chk_add_nr 1 1
        fi
@@ -3104,8 +3121,8 @@ fullmesh_tests()
                pm_nl_set_limits $ns1 1 3
                pm_nl_set_limits $ns2 1 3
                pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
-               fullmesh=1 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               fullmesh=1 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 3 3 3
                chk_add_nr 1 1
        fi
@@ -3117,8 +3134,8 @@ fullmesh_tests()
                pm_nl_set_limits $ns1 2 5
                pm_nl_set_limits $ns2 1 5
                pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
-               fullmesh=2 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               fullmesh=2 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 5 5 5
                chk_add_nr 1 1
        fi
@@ -3131,8 +3148,8 @@ fullmesh_tests()
                pm_nl_set_limits $ns1 2 4
                pm_nl_set_limits $ns2 1 4
                pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
-               fullmesh=2 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               fullmesh=2 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 4 4 4
                chk_add_nr 1 1
        fi
@@ -3143,8 +3160,8 @@ fullmesh_tests()
                pm_nl_set_limits $ns1 4 4
                pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow
                pm_nl_set_limits $ns2 4 4
-               addr_nr_ns2=1 sflags=fullmesh \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns2=1 sflags=fullmesh speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 2 2 2
                chk_rm_nr 0 1
        fi
@@ -3155,8 +3172,8 @@ fullmesh_tests()
                pm_nl_set_limits $ns1 4 4
                pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow,fullmesh
                pm_nl_set_limits $ns2 4 4
-               fullmesh=1 sflags=nofullmesh \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               fullmesh=1 sflags=nofullmesh speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 2 2 2
                chk_rm_nr 0 1
        fi
@@ -3167,8 +3184,8 @@ fullmesh_tests()
                pm_nl_set_limits $ns1 4 4
                pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow
                pm_nl_set_limits $ns2 4 4
-               addr_nr_ns2=1 sflags=backup,fullmesh \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns2=1 sflags=backup,fullmesh speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 2 2 2
                chk_prio_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 $ns2 4 4
                pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow,backup,fullmesh
-               sflags=nobackup,nofullmesh \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               sflags=nobackup,nofullmesh speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 2 2 2
                chk_prio_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 $ns2 1 1
                pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
-               sflags=backup \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               sflags=backup speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 1 1 0
                chk_prio_nr 0 0
        fi
@@ -3370,8 +3387,8 @@ userspace_tests()
                pm_nl_set_limits $ns1 0 1
                pm_nl_set_limits $ns2 0 1
                pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
-               addr_nr_ns2=-1 \
-                       run_tests $ns1 $ns2 10.0.1.1 slow
+               addr_nr_ns2=-1 speed=slow \
+                       run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 0 0 0
                chk_rm_nr 0 0
        fi
@@ -3381,7 +3398,8 @@ userspace_tests()
           continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then
                set_userspace_pm $ns1
                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=$!
                wait_mpj $ns1
                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
                set_userspace_pm $ns2
                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=$!
                wait_mpj $ns2
                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 $ns2 2 2
                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
                pm_nl_check_endpoint 1 "creation" \
@@ -3447,8 +3467,8 @@ endpoint_tests()
                pm_nl_set_limits $ns1 1 1
                pm_nl_set_limits $ns2 1 1
                pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2 flags subflow
-               test_linkfail=4 \
-                       run_tests $ns1 $ns2 10.0.1.1 speed_20 2>/dev/null &
+               test_linkfail=4 speed=20 \
+                       run_tests $ns1 $ns2 10.0.1.1 2>/dev/null &
 
                wait_mpj $ns2
                chk_subflow_nr needtitle "before delete" 2