* [PATCH mptcp-next v13 5/7] mptcp: pass addr to mptcp_pm_alloc_anno_list
2023-05-15 2:10 [PATCH mptcp-next v13 0/7] update userspace pm mptcp_info fields pt 2 Geliang Tang
` (3 preceding siblings ...)
2023-05-15 2:10 ` [PATCH mptcp-next v13 4/7] selftests: mptcp: check add_addr infos Geliang Tang
@ 2023-05-15 2:10 ` Geliang Tang
2023-05-15 2:10 ` [PATCH mptcp-next v13 6/7] selftests: mptcp: pass fastclose to sflags Geliang Tang
2023-05-15 2:10 ` [PATCH mptcp-next v13 7/7] selftests: mptcp: set endpoint out of transfer Geliang Tang
6 siblings, 0 replies; 10+ messages in thread
From: Geliang Tang @ 2023-05-15 2:10 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Pass addr parameter to mptcp_pm_alloc_anno_list() instead of entry. We
can reduce the scope, e.g. in mptcp_pm_alloc_anno_list(), we only access
"entry->addr", we can then restrict to the pointer to "addr" then.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
net/mptcp/pm_netlink.c | 8 ++++----
net/mptcp/pm_userspace.c | 4 ++--
net/mptcp/protocol.h | 2 +-
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
index 0b34b57fc8bc..ac68c8a5b8ae 100644
--- a/net/mptcp/pm_netlink.c
+++ b/net/mptcp/pm_netlink.c
@@ -342,7 +342,7 @@ mptcp_pm_del_add_timer(struct mptcp_sock *msk,
}
bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk,
- const struct mptcp_pm_addr_entry *entry)
+ const struct mptcp_addr_info *addr)
{
struct mptcp_pm_add_entry *add_entry = NULL;
struct sock *sk = (struct sock *)msk;
@@ -350,7 +350,7 @@ bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk,
lockdep_assert_held(&msk->pm.lock);
- add_entry = mptcp_lookup_anno_list_by_saddr(msk, &entry->addr);
+ add_entry = mptcp_lookup_anno_list_by_saddr(msk, addr);
if (add_entry) {
if (mptcp_pm_is_kernel(msk))
@@ -367,7 +367,7 @@ bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk,
list_add(&add_entry->list, &msk->pm.anno_list);
- add_entry->addr = entry->addr;
+ add_entry->addr = *addr;
add_entry->sock = msk;
add_entry->retrans_times = 0;
@@ -574,7 +574,7 @@ static void mptcp_pm_create_subflow_or_signal_addr(struct mptcp_sock *msk)
return;
if (local) {
- if (mptcp_pm_alloc_anno_list(msk, local)) {
+ if (mptcp_pm_alloc_anno_list(msk, &local->addr)) {
__clear_bit(local->addr.id, msk->pm.id_avail_bitmap);
msk->pm.add_addr_signaled++;
mptcp_pm_announce_addr(msk, &local->addr, false);
diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c
index febf3cf0e935..f0799cfb45c6 100644
--- a/net/mptcp/pm_userspace.c
+++ b/net/mptcp/pm_userspace.c
@@ -191,7 +191,7 @@ int mptcp_nl_cmd_announce(struct sk_buff *skb, struct genl_info *info)
lock_sock((struct sock *)msk);
spin_lock_bh(&msk->pm.lock);
- if (mptcp_pm_alloc_anno_list(msk, &addr_val)) {
+ if (mptcp_pm_alloc_anno_list(msk, &addr_val.addr)) {
msk->pm.add_addr_signaled++;
mptcp_pm_announce_addr(msk, &addr_val.addr, false);
mptcp_pm_nl_addr_send_ack(msk);
@@ -338,7 +338,7 @@ int mptcp_nl_cmd_sf_create(struct sk_buff *skb, struct genl_info *info)
}
spin_lock_bh(&msk->pm.lock);
- if (!mptcp_pm_alloc_anno_list(msk, &local)) {
+ if (!mptcp_pm_alloc_anno_list(msk, &local.addr)) {
GENL_SET_ERR_MSG(info, "cannot alloc address list");
err = -EINVAL;
goto anno_list_err;
diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h
index bfa7d93a1c1a..c08d05f48372 100644
--- a/net/mptcp/protocol.h
+++ b/net/mptcp/protocol.h
@@ -822,7 +822,7 @@ int mptcp_pm_nl_mp_prio_send_ack(struct mptcp_sock *msk,
struct mptcp_addr_info *rem,
u8 bkup);
bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk,
- const struct mptcp_pm_addr_entry *entry);
+ const struct mptcp_addr_info *addr);
void mptcp_pm_free_anno_list(struct mptcp_sock *msk);
bool mptcp_pm_sport_in_anno_list(struct mptcp_sock *msk, const struct sock *sk);
struct mptcp_pm_add_entry *
--
2.35.3
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH mptcp-next v13 7/7] selftests: mptcp: set endpoint out of transfer
2023-05-15 2:10 [PATCH mptcp-next v13 0/7] update userspace pm mptcp_info fields pt 2 Geliang Tang
` (5 preceding siblings ...)
2023-05-15 2:10 ` [PATCH mptcp-next v13 6/7] selftests: mptcp: pass fastclose to sflags Geliang Tang
@ 2023-05-15 2:10 ` Geliang Tang
2023-05-17 16:41 ` Matthieu Baerts
6 siblings, 1 reply; 10+ messages in thread
From: Geliang Tang @ 2023-05-15 2:10 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
This patch moves endpoint settings out of do_transfer() into a new
function pm_nl_set_endpoint(), then addr_nr_ns1 and addr_nr_ns2
arguments can be removed for do_transfer() and run_tests().
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 549 +++++++++++-------
1 file changed, 347 insertions(+), 202 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index d749ab8627ca..3a4eca0714a0 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -699,137 +699,19 @@ pm_nl_check_endpoint()
fi
}
-filter_tcp_from()
+pm_nl_set_endpoint()
{
- local ns="${1}"
- local src="${2}"
- local target="${3}"
-
- ip netns exec "${ns}" iptables -A INPUT -s "${src}" -p tcp -j "${target}"
-}
-
-do_transfer()
-{
- local listener_ns="$1"
- local connector_ns="$2"
- local cl_proto="$3"
- local srv_proto="$4"
- local connect_addr="$5"
- local test_link_fail="$6"
- local addr_nr_ns1="$7"
- local addr_nr_ns2="$8"
- local speed="$9"
- local sflags="${10}"
-
- local port=$((10000 + TEST_COUNT - 1))
- local cappid
-
- :> "$cout"
- :> "$sout"
- :> "$capout"
-
- if [ $capture -eq 1 ]; then
- local capuser
- if [ -z $SUDO_USER ] ; then
- capuser=""
- else
- capuser="-Z $SUDO_USER"
- fi
-
- capfile=$(printf "mp_join-%02u-%s.pcap" "$TEST_COUNT" "${listener_ns}")
-
- echo "Capturing traffic for test $TEST_COUNT into $capfile"
- ip netns exec ${listener_ns} tcpdump -i any -s 65535 -B 32768 $capuser -w $capfile > "$capout" 2>&1 &
- cappid=$!
-
- sleep 1
- fi
-
- NSTAT_HISTORY=/tmp/${listener_ns}.nstat ip netns exec ${listener_ns} \
- nstat -n
- NSTAT_HISTORY=/tmp/${connector_ns}.nstat ip netns exec ${connector_ns} \
- nstat -n
-
- local extra_args
- if [ $speed = "fast" ]; then
- extra_args="-j"
- elif [ $speed = "slow" ]; then
- extra_args="-r 50"
- elif [[ $speed = "speed_"* ]]; then
- extra_args="-r ${speed:6}"
- fi
+ local connect_addr="$1"
+ local addr_nr_ns1="$2"
+ local addr_nr_ns2="${3:-0}"
+ local sflags="${4:-""}"
local flags="subflow"
- local extra_cl_args=""
- local extra_srv_args=""
- local trunc_size=""
- if [[ "${sflags}" = "fastclose_"* ]]; then
- if [ ${test_link_fail} -le 1 ]; then
- echo "fastclose tests need test_link_fail argument"
- fail_test
- return 1
- fi
-
- # disconnect
- trunc_size=${test_link_fail}
- local side=${sflags:10}
-
- if [ ${side} = "client" ]; then
- extra_cl_args="-f ${test_link_fail}"
- extra_srv_args="-f -1"
- elif [ ${side} = "server" ]; then
- extra_srv_args="-f ${test_link_fail}"
- extra_cl_args="-f -1"
- else
- echo "wrong/unknown fastclose spec ${side}"
- fail_test
- return 1
- fi
- sflags=0
- fi
if [[ "${addr_nr_ns2}" = "fullmesh_"* ]]; then
flags="${flags},fullmesh"
addr_nr_ns2=${addr_nr_ns2:9}
fi
- extra_srv_args="$extra_args $extra_srv_args"
- if [ "$test_link_fail" -gt 1 ];then
- timeout ${timeout_test} \
- ip netns exec ${listener_ns} \
- ./mptcp_connect -t ${timeout_poll} -l -p $port -s ${srv_proto} \
- $extra_srv_args "::" < "$sinfail" > "$sout" &
- else
- timeout ${timeout_test} \
- ip netns exec ${listener_ns} \
- ./mptcp_connect -t ${timeout_poll} -l -p $port -s ${srv_proto} \
- $extra_srv_args "::" < "$sin" > "$sout" &
- fi
- local spid=$!
-
- wait_local_port_listen "${listener_ns}" "${port}"
-
- extra_cl_args="$extra_args $extra_cl_args"
- if [ "$test_link_fail" -eq 0 ];then
- timeout ${timeout_test} \
- ip netns exec ${connector_ns} \
- ./mptcp_connect -t ${timeout_poll} -p $port -s ${cl_proto} \
- $extra_cl_args $connect_addr < "$cin" > "$cout" &
- elif [ "$test_link_fail" -eq 1 ] || [ "$test_link_fail" -eq 2 ];then
- ( cat "$cinfail" ; sleep 2; link_failure $listener_ns ; cat "$cinfail" ) | \
- tee "$cinsent" | \
- timeout ${timeout_test} \
- ip netns exec ${connector_ns} \
- ./mptcp_connect -t ${timeout_poll} -p $port -s ${cl_proto} \
- $extra_cl_args $connect_addr > "$cout" &
- else
- tee "$cinsent" < "$cinfail" | \
- timeout ${timeout_test} \
- ip netns exec ${connector_ns} \
- ./mptcp_connect -t ${timeout_poll} -p $port -s ${cl_proto} \
- $extra_cl_args $connect_addr > "$cout" &
- fi
- local cpid=$!
-
# let the mptcp subflow be established in background before
# do endpoint manipulation
if [ $addr_nr_ns1 != "0" ] || [ $addr_nr_ns2 != "0" ]; then
@@ -857,7 +739,7 @@ do_transfer()
if [ $rm_nr_ns1 -lt 8 ]; then
local counter=0
local line
- pm_nl_show_endpoints ${listener_ns} | while read -r line; do
+ pm_nl_show_endpoints $ns1 | while read -r line; do
# shellcheck disable=SC2206 # we do want to split per word
local arr=($line)
local nr=0
@@ -869,18 +751,18 @@ do_transfer()
break
fi
id=${arr[$nr+1]}
- rm_addr=$(rm_addr_count ${connector_ns})
- pm_nl_del_endpoint ${listener_ns} $id
- wait_rm_addr ${connector_ns} ${rm_addr}
+ rm_addr=$(rm_addr_count $ns2)
+ pm_nl_del_endpoint $ns1 $id
+ wait_rm_addr $ns2 ${rm_addr}
counter=$((counter + 1))
fi
nr=$((nr + 1))
done
done
elif [ $rm_nr_ns1 -eq 8 ]; then
- pm_nl_flush_endpoint ${listener_ns}
+ pm_nl_flush_endpoint $ns1
elif [ $rm_nr_ns1 -eq 9 ]; then
- pm_nl_del_endpoint ${listener_ns} 0 ${connect_addr}
+ pm_nl_del_endpoint $ns1 0 ${connect_addr}
fi
fi
@@ -909,7 +791,7 @@ do_transfer()
if [ $rm_nr_ns2 -lt 8 ]; then
local counter=0
local line
- pm_nl_show_endpoints ${connector_ns} | while read -r line; do
+ pm_nl_show_endpoints $ns2 | while read -r line; do
# shellcheck disable=SC2206 # we do want to split per word
local arr=($line)
local nr=0
@@ -924,16 +806,16 @@ do_transfer()
# rm_addr are serialized, allow the previous one to
# complete
id=${arr[$nr+1]}
- rm_addr=$(rm_addr_count ${listener_ns})
- pm_nl_del_endpoint ${connector_ns} $id
- wait_rm_addr ${listener_ns} ${rm_addr}
+ rm_addr=$(rm_addr_count $ns1)
+ pm_nl_del_endpoint $ns2 $id
+ wait_rm_addr $ns1 ${rm_addr}
counter=$((counter + 1))
fi
nr=$((nr + 1))
done
done
elif [ $rm_nr_ns2 -eq 8 ]; then
- pm_nl_flush_endpoint ${connector_ns}
+ pm_nl_flush_endpoint $ns2
elif [ $rm_nr_ns2 -eq 9 ]; then
local addr
if is_v6 "${connect_addr}"; then
@@ -941,7 +823,7 @@ do_transfer()
else
addr="10.0.1.2"
fi
- pm_nl_del_endpoint ${connector_ns} 0 $addr
+ pm_nl_del_endpoint $ns2 0 $addr
fi
fi
@@ -968,6 +850,130 @@ do_transfer()
done
done
fi
+}
+
+filter_tcp_from()
+{
+ local ns="${1}"
+ local src="${2}"
+ local target="${3}"
+
+ ip netns exec "${ns}" iptables -A INPUT -s "${src}" -p tcp -j "${target}"
+}
+
+do_transfer()
+{
+ local listener_ns="$1"
+ local connector_ns="$2"
+ local cl_proto="$3"
+ local srv_proto="$4"
+ local connect_addr="$5"
+ local test_link_fail="$6"
+ local speed="$7"
+ local sflags="${8}"
+
+ local port=$((10000 + TEST_COUNT - 1))
+ local cappid
+
+ :> "$cout"
+ :> "$sout"
+ :> "$capout"
+
+ if [ $capture -eq 1 ]; then
+ local capuser
+ if [ -z $SUDO_USER ] ; then
+ capuser=""
+ else
+ capuser="-Z $SUDO_USER"
+ fi
+
+ capfile=$(printf "mp_join-%02u-%s.pcap" "$TEST_COUNT" "${listener_ns}")
+
+ echo "Capturing traffic for test $TEST_COUNT into $capfile"
+ ip netns exec ${listener_ns} tcpdump -i any -s 65535 -B 32768 $capuser -w $capfile > "$capout" 2>&1 &
+ cappid=$!
+
+ sleep 1
+ fi
+
+ NSTAT_HISTORY=/tmp/${listener_ns}.nstat ip netns exec ${listener_ns} \
+ nstat -n
+ NSTAT_HISTORY=/tmp/${connector_ns}.nstat ip netns exec ${connector_ns} \
+ nstat -n
+
+ local extra_args
+ if [ $speed = "fast" ]; then
+ extra_args="-j"
+ elif [ $speed = "slow" ]; then
+ extra_args="-r 50"
+ elif [[ $speed = "speed_"* ]]; then
+ extra_args="-r ${speed:6}"
+ fi
+
+ local extra_cl_args=""
+ local extra_srv_args=""
+ local trunc_size=""
+ if [[ "${sflags}" = "fastclose_"* ]]; then
+ if [ ${test_link_fail} -le 1 ]; then
+ echo "fastclose tests need test_link_fail argument"
+ fail_test
+ return 1
+ fi
+
+ # disconnect
+ trunc_size=${test_link_fail}
+ local side=${sflags:10}
+
+ if [ ${side} = "client" ]; then
+ extra_cl_args="-f ${test_link_fail}"
+ extra_srv_args="-f -1"
+ elif [ ${side} = "server" ]; then
+ extra_srv_args="-f ${test_link_fail}"
+ extra_cl_args="-f -1"
+ else
+ echo "wrong/unknown fastclose spec ${side}"
+ fail_test
+ return 1
+ fi
+ fi
+
+ extra_srv_args="$extra_args $extra_srv_args"
+ if [ "$test_link_fail" -gt 1 ];then
+ timeout ${timeout_test} \
+ ip netns exec ${listener_ns} \
+ ./mptcp_connect -t ${timeout_poll} -l -p $port -s ${srv_proto} \
+ $extra_srv_args "::" < "$sinfail" > "$sout" &
+ else
+ timeout ${timeout_test} \
+ ip netns exec ${listener_ns} \
+ ./mptcp_connect -t ${timeout_poll} -l -p $port -s ${srv_proto} \
+ $extra_srv_args "::" < "$sin" > "$sout" &
+ fi
+ local spid=$!
+
+ wait_local_port_listen "${listener_ns}" "${port}"
+
+ extra_cl_args="$extra_args $extra_cl_args"
+ if [ "$test_link_fail" -eq 0 ];then
+ timeout ${timeout_test} \
+ ip netns exec ${connector_ns} \
+ ./mptcp_connect -t ${timeout_poll} -p $port -s ${cl_proto} \
+ $extra_cl_args $connect_addr < "$cin" > "$cout" &
+ elif [ "$test_link_fail" -eq 1 ] || [ "$test_link_fail" -eq 2 ];then
+ ( cat "$cinfail" ; sleep 2; link_failure $listener_ns ; cat "$cinfail" ) | \
+ tee "$cinsent" | \
+ timeout ${timeout_test} \
+ ip netns exec ${connector_ns} \
+ ./mptcp_connect -t ${timeout_poll} -p $port -s ${cl_proto} \
+ $extra_cl_args $connect_addr > "$cout" &
+ else
+ tee "$cinsent" < "$cinfail" | \
+ timeout ${timeout_test} \
+ ip netns exec ${connector_ns} \
+ ./mptcp_connect -t ${timeout_poll} -p $port -s ${cl_proto} \
+ $extra_cl_args $connect_addr > "$cout" &
+ fi
+ local cpid=$!
wait $cpid
local retc=$?
@@ -1038,10 +1044,8 @@ run_tests()
local connector_ns="$2"
local connect_addr="$3"
local test_linkfail="${4:-0}"
- local addr_nr_ns1="${5:-0}"
- local addr_nr_ns2="${6:-0}"
- local speed="${7:-fast}"
- local sflags="${8:-""}"
+ local speed="${5:-fast}"
+ local sflags="${6:-""}"
local size
@@ -1086,7 +1090,7 @@ run_tests()
fi
do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} \
- ${test_linkfail} ${addr_nr_ns1} ${addr_nr_ns2} ${speed} ${sflags}
+ ${test_linkfail} ${speed} ${sflags}
}
dump_stats()
@@ -1868,7 +1872,7 @@ 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 0 0 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow
chk_join_nr 0 0 0
fi
@@ -1879,7 +1883,7 @@ subflows_error_tests()
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow
filter_tcp_from $ns1 10.0.3.2 REJECT
- run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow
chk_join_nr 1 1 1
fi
@@ -1890,7 +1894,7 @@ subflows_error_tests()
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow
filter_tcp_from $ns1 10.0.3.2 DROP
- run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow
chk_join_nr 1 1 1
fi
@@ -1902,7 +1906,7 @@ subflows_error_tests()
pm_nl_set_limits $ns2 0 1
pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
filter_tcp_from $ns1 10.0.3.2 REJECT
- run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow &
+ run_tests $ns1 $ns2 10.0.1.1 0 slow &
# mpj subflow will be in TW after the reset
wait_attempt_fail $ns2
@@ -2001,7 +2005,7 @@ 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 0 0 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow
chk_join_nr 3 3 3
# the server will not signal the address terminating
@@ -2102,7 +2106,7 @@ 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 0 0 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow
chk_join_nr 1 1 1
chk_add_tx_nr 4 4
chk_add_nr 4 0
@@ -2113,7 +2117,7 @@ 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 0 0 0 slow
+ run_tests $ns1 $ns2 dead:beef:1::1 0 slow
chk_join_nr 1 1 1
chk_add_nr 4 0
fi
@@ -2124,7 +2128,7 @@ 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 0 0 0 speed_10
+ run_tests $ns1 $ns2 10.0.1.1 0 speed_10
chk_join_nr 2 2 2
chk_add_nr 8 0
fi
@@ -2135,7 +2139,7 @@ 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 0 0 0 speed_10
+ run_tests $ns1 $ns2 10.0.1.1 0 speed_10
chk_join_nr 1 1 1
chk_add_nr 8 0
fi
@@ -2148,10 +2152,14 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 -1 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 0 -1
+ wait_mpj $ns2
chk_join_nr 1 1 1
chk_rm_tx_nr 1
chk_rm_nr 1 1
+ wait $tests_pid
fi
# multiple subflows, remove
@@ -2160,9 +2168,12 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 -2 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 0 -2
chk_join_nr 2 2 2
chk_rm_nr 2 2
+ wait $tests_pid
fi
# single address, remove
@@ -2170,10 +2181,13 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 -1 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 -1
chk_join_nr 1 1 1
chk_add_nr 1 1
chk_rm_nr 1 1 invert
+ wait $tests_pid
fi
# subflow and signal, remove
@@ -2182,10 +2196,13 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 -1 -1 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 -1 -1
chk_join_nr 2 2 2
chk_add_nr 1 1
chk_rm_nr 1 1
+ wait $tests_pid
fi
# subflows and signal, remove
@@ -2195,10 +2212,13 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 -1 -2 speed_10
+ run_tests $ns1 $ns2 10.0.1.1 0 speed_30 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 -1 -2
chk_join_nr 3 3 3
chk_add_nr 1 1
chk_rm_nr 2 2
+ wait $tests_pid
fi
# addresses remove
@@ -2208,10 +2228,13 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 -3 0 speed_10
+ run_tests $ns1 $ns2 10.0.1.1 0 speed_30 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 -3
chk_join_nr 3 3 3
chk_add_nr 3 3
chk_rm_nr 3 3 invert
+ wait $tests_pid
fi
# invalid addresses remove
@@ -2221,10 +2244,13 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 -3 0 speed_10
+ run_tests $ns1 $ns2 10.0.1.1 0 speed_30 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 -3
chk_join_nr 1 1 1
chk_add_nr 3 3
chk_rm_nr 3 1 invert
+ wait $tests_pid
fi
# subflows and signal, flush
@@ -2234,10 +2260,15 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 -8 -8 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 speed_30 2>/dev/null &
+ local tests_pid=$!
+ wait_mpj $ns2
+ pm_nl_set_endpoint 10.0.1.1 -8 -8
chk_join_nr 3 3 3
chk_add_nr 1 1
+ wait_rm_addr ${ns2} 1
chk_rm_nr 1 3 invert simult
+ wait $tests_pid
fi
# subflows flush
@@ -2247,10 +2278,15 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 -8 -8 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 speed_30 2>/dev/null &
+ local tests_pid=$!
+ wait_mpj $ns2
+ pm_nl_set_endpoint 10.0.1.1 -8 -8
chk_join_nr 3 3 3
chk_rm_tx_nr 0
+ wait_rm_addr ${ns2} 1
chk_rm_nr 0 3 simult
+ wait $tests_pid
fi
# addresses flush
@@ -2260,10 +2296,15 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 -8 -8 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 speed_30 2>/dev/null &
+ local tests_pid=$!
+ wait_mpj $ns2
+ pm_nl_set_endpoint 10.0.1.1 -8 -8
chk_join_nr 3 3 3
chk_add_nr 3 3
+ wait_rm_addr ${ns2} 1
chk_rm_nr 3 3 invert simult
+ wait $tests_pid
fi
# invalid addresses flush
@@ -2273,10 +2314,15 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 -8 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 speed_30 2>/dev/null &
+ local tests_pid=$!
+ wait_mpj $ns2
+ pm_nl_set_endpoint 10.0.1.1 -8
chk_join_nr 1 1 1
chk_add_nr 3 3
+ wait_rm_addr ${ns2} 1
chk_rm_nr 3 1 invert
+ wait $tests_pid
fi
# remove id 0 subflow
@@ -2284,9 +2330,14 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 -9 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 speed_30 2>/dev/null &
+ local tests_pid=$!
+ wait_mpj $ns2
+ pm_nl_set_endpoint 10.0.1.1 0 -9
chk_join_nr 1 1 1
+ wait_rm_addr ${ns2} 1
chk_rm_nr 1 1
+ wait $tests_pid
fi
# remove id 0 address
@@ -2294,10 +2345,15 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 -9 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 speed_30 2>/dev/null &
+ local tests_pid=$!
+ wait_mpj $ns2
+ pm_nl_set_endpoint 10.0.1.1 -9
chk_join_nr 1 1 1
chk_add_nr 1 1
+ wait_rm_addr ${ns2} 1
chk_rm_nr 1 1 invert
+ wait $tests_pid
fi
}
@@ -2307,42 +2363,61 @@ add_tests()
if reset "add single subflow"; then
pm_nl_set_limits $ns1 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 speed_30 2>/dev/null &
+ local tests_pid=$!
+ wait_mpj $ns2
+ pm_nl_set_endpoint 10.0.1.1 0 1
chk_join_nr 1 1 1
+ wait $tests_pid
fi
# add signal address
if reset "add signal address"; then
pm_nl_set_limits $ns1 0 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 0 speed_30 2>/dev/null &
+ local tests_pid=$!
+ wait_mpj $ns2
+ pm_nl_set_endpoint 10.0.1.1 1
chk_join_nr 1 1 1
chk_add_nr 1 1
+ wait $tests_pid
fi
# add multiple subflows
if reset "add multiple subflows"; then
pm_nl_set_limits $ns1 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 speed_30 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 0 2
chk_join_nr 2 2 2
+ wait $tests_pid
fi
# add multiple subflows IPv6
if reset "add multiple subflows IPv6"; then
pm_nl_set_limits $ns1 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 speed_30 2>/dev/null &
+ local tests_pid=$!
+ wait_mpj $ns2
+ pm_nl_set_endpoint dead:beef:1::1 0 2
chk_join_nr 2 2 2
+ wait $tests_pid
fi
# add multiple addresses IPv6
if reset "add multiple addresses IPv6"; then
pm_nl_set_limits $ns1 0 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 0 speed_30 2>/dev/null &
+ local tests_pid=$!
+ wait_mpj $ns2
+ pm_nl_set_endpoint dead:beef:1::1 2
chk_join_nr 2 2 2
chk_add_nr 2 2
+ wait $tests_pid
fi
}
@@ -2353,14 +2428,14 @@ 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 0 0 0 slow
+ run_tests $ns1 $ns2 dead:beef:1::1 0 slow
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 0 0 0 slow
+ run_tests $ns1 $ns2 dead:beef:1::1 0 slow
chk_join_nr 0 0 0
chk_add_nr 1 1
fi
@@ -2370,7 +2445,7 @@ 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 0 0 0 slow
+ run_tests $ns1 $ns2 dead:beef:1::1 0 slow
chk_join_nr 1 1 1
chk_add_nr 1 1
fi
@@ -2380,10 +2455,13 @@ 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 0 -1 0 slow
+ run_tests $ns1 $ns2 dead:beef:1::1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint dead:beef:1::1 -1
chk_join_nr 1 1 1
chk_add_nr 1 1
chk_rm_nr 1 1 invert
+ wait $tests_pid
fi
# subflow and signal IPv6, remove
@@ -2392,10 +2470,15 @@ 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
- run_tests $ns1 $ns2 dead:beef:1::1 0 -1 -1 slow
+ run_tests $ns1 $ns2 dead:beef:1::1 0 speed_20 2>/dev/null &
+ local tests_pid=$!
+ wait_mpj $ns2
+ pm_nl_set_endpoint dead:beef:1::1 -1 -1
chk_join_nr 2 2 2
chk_add_nr 1 1
+ wait_rm_addr ${ns2} 1
chk_rm_nr 1 1
+ wait $tests_pid
fi
}
@@ -2492,7 +2575,7 @@ 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 0 0 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow
chk_join_nr 0 0 0
fi
@@ -2501,7 +2584,7 @@ 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 0 0 0 slow
+ run_tests $ns1 $ns2 dead:beef:2::1 0 slow
chk_join_nr 1 1 1
fi
@@ -2511,7 +2594,7 @@ 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 0 0 0 slow
+ run_tests $ns1 $ns2 dead:beef:2::1 0 slow
chk_join_nr 1 1 1
fi
@@ -2522,8 +2605,13 @@ 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
- run_tests $ns1 $ns2 dead:beef:1::1 0 0 fullmesh_1 slow
+ run_tests $ns1 $ns2 dead:beef:1::1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ wait_mpj $ns1
+ pm_nl_set_endpoint dead:beef:1::1 0 fullmesh_1
+ wait_mpj $ns1
chk_join_nr 4 4 4
+ wait $tests_pid
fi
}
@@ -2534,9 +2622,12 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow nobackup
+ run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 0 0 nobackup
chk_join_nr 1 1 1
chk_prio_nr 0 1
+ wait $tests_pid
fi
# single address, backup
@@ -2544,10 +2635,14 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup
+ run_tests $ns1 $ns2 10.0.1.1 0 speed_20 2>/dev/null &
+ local tests_pid=$!
+ wait_mpj $ns2
+ pm_nl_set_endpoint 10.0.1.1 0 0 backup
chk_join_nr 1 1 1
chk_add_nr 1 1
chk_prio_nr 1 1
+ wait $tests_pid
fi
# single address with port, backup
@@ -2555,15 +2650,19 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup
+ run_tests $ns1 $ns2 10.0.1.1 0 speed_20 2>/dev/null &
+ local tests_pid=$!
+ wait_mpj $ns2
+ pm_nl_set_endpoint 10.0.1.1 0 0 backup
chk_join_nr 1 1 1
chk_add_nr 1 1
chk_prio_nr 1 1
+ wait $tests_pid
fi
if reset "mpc backup"; then
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 slow
chk_join_nr 0 0 0
chk_prio_nr 0 1
fi
@@ -2571,24 +2670,30 @@ backup_tests()
if reset "mpc backup both sides"; 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 0 0 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow
chk_join_nr 0 0 0
chk_prio_nr 1 1
fi
if reset "mpc switch to backup"; then
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 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 0 0 backup
chk_join_nr 0 0 0
chk_prio_nr 0 1
+ wait $tests_pid
fi
if reset "mpc switch to backup both sides"; then
pm_nl_add_endpoint $ns1 10.0.1.1 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 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 0 0 backup
chk_join_nr 0 0 0
chk_prio_nr 1 1
+ wait $tests_pid
fi
}
@@ -2672,7 +2777,9 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 -1 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 -1
chk_join_nr 1 1 1
chk_add_nr 1 1 1
chk_rm_nr 1 1 invert
@@ -2680,6 +2787,7 @@ add_addr_ports_tests()
verify_listener_events $evts_ns1 $LISTENER_CREATED $AF_INET 10.0.2.1 10100
verify_listener_events $evts_ns1 $LISTENER_CLOSED $AF_INET 10.0.2.1 10100
kill_events_pids
+ wait $tests_pid
fi
# subflow and signal with port, remove
@@ -2688,10 +2796,13 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 -1 -1 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 -1 -1
chk_join_nr 2 2 2
chk_add_nr 1 1 1
chk_rm_nr 1 1
+ wait $tests_pid
fi
# subflows and signal with port, flush
@@ -2701,10 +2812,15 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 -8 -2 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 speed_20 2>/dev/null &
+ local tests_pid=$!
+ wait_mpj $ns2
+ pm_nl_set_endpoint 10.0.1.1 -8 -2
chk_join_nr 3 3 3
chk_add_nr 1 1
+ wait_rm_addr $ns2 1
chk_rm_nr 1 3 invert simult
+ wait $tests_pid
fi
# multiple addresses with port
@@ -2903,9 +3019,13 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 1 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 1
+ wait_mpj $ns2
chk_join_nr 4 4 4
chk_add_nr 1 1
+ wait $tests_pid
fi
# fullmesh 2
@@ -2915,9 +3035,13 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_1 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 0 fullmesh_1
+ wait_mpj $ns2
chk_join_nr 3 3 3
chk_add_nr 1 1
+ wait $tests_pid
fi
# fullmesh 3
@@ -2927,9 +3051,12 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_2 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 0 fullmesh_2
chk_join_nr 5 5 5
chk_add_nr 1 1
+ wait $tests_pid
fi
# fullmesh 4
@@ -2940,9 +3067,12 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_2 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 0 fullmesh_2
chk_join_nr 4 4 4
chk_add_nr 1 1
+ wait $tests_pid
fi
# set fullmesh flag
@@ -2950,9 +3080,12 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow fullmesh
+ run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 0 1 fullmesh
chk_join_nr 2 2 2
chk_rm_nr 0 1
+ wait $tests_pid
fi
# set nofullmesh flag
@@ -2960,9 +3093,12 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 fullmesh_1 slow nofullmesh
+ run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 0 fullmesh_1 nofullmesh
chk_join_nr 2 2 2
chk_rm_nr 0 1
+ wait $tests_pid
fi
# set backup,fullmesh flags
@@ -2970,10 +3106,13 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 1 slow backup,fullmesh
+ run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 0 1 backup,fullmesh
chk_join_nr 2 2 2
chk_prio_nr 0 1
chk_rm_nr 0 1
+ wait $tests_pid
fi
# set nobackup,nofullmesh flags
@@ -2981,24 +3120,27 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow nobackup,nofullmesh
+ run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 0 0 nobackup,nofullmesh
chk_join_nr 2 2 2
chk_prio_nr 0 1
chk_rm_nr 0 1
+ wait $tests_pid
fi
}
fastclose_tests()
{
if reset "fastclose test"; then
- run_tests $ns1 $ns2 10.0.1.1 1024 0 0 fast fastclose_client
+ run_tests $ns1 $ns2 10.0.1.1 1024 fast fastclose_client
chk_join_nr 0 0 0
chk_fclose_nr 1 1
chk_rst_nr 1 1 invert
fi
if reset "fastclose server test"; then
- run_tests $ns1 $ns2 10.0.1.1 1024 0 0 fast fastclose_server
+ run_tests $ns1 $ns2 10.0.1.1 1024 fast fastclose_server
chk_join_nr 0 0 0
chk_fclose_nr 1 1 invert
chk_rst_nr 1 1
@@ -3141,7 +3283,7 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup
+ run_tests $ns1 $ns2 10.0.1.1 0 slow backup
chk_join_nr 1 1 0
chk_prio_nr 0 0
fi
@@ -3153,16 +3295,19 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 -1 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null &
+ local tests_pid=$!
+ pm_nl_set_endpoint 10.0.1.1 0 -1
chk_join_nr 0 0 0
chk_rm_nr 0 0
+ wait $tests_pid
fi
# userspace pm add & remove address
if reset_with_events "userspace pm add & remove address"; then
set_userspace_pm $ns1
pm_nl_set_limits $ns2 1 1
- run_tests $ns1 $ns2 10.0.1.1 0 0 0 speed_10 2>/dev/null &
+ run_tests $ns1 $ns2 10.0.1.1 0 speed_10 2>/dev/null &
local tests_pid=$!
wait_mpj $ns1
userspace_pm_add_addr 10.0.2.1 10
@@ -3183,7 +3328,7 @@ userspace_tests()
if reset_with_events "userspace pm create destroy subflow"; then
set_userspace_pm $ns2
pm_nl_set_limits $ns1 0 1
- run_tests $ns1 $ns2 10.0.1.1 0 0 0 speed_10 2>/dev/null &
+ run_tests $ns1 $ns2 10.0.1.1 0 speed_10 2>/dev/null &
local tests_pid=$!
wait_mpj $ns2
userspace_pm_add_sf 10.0.3.2 20
@@ -3205,7 +3350,7 @@ 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 0 0 0 slow 2>/dev/null &
+ run_tests $ns1 $ns2 10.0.1.1 0 slow 2>/dev/null &
wait_mpj $ns1
pm_nl_check_endpoint 1 "creation" \
@@ -3229,7 +3374,7 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 4 0 0 speed_20 2>/dev/null &
+ run_tests $ns1 $ns2 10.0.1.1 4 speed_20 2>/dev/null &
wait_mpj $ns2
chk_subflow_nr needtitle "before delete" 2
--
2.35.3
^ permalink raw reply related [flat|nested] 10+ messages in thread