* [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2
@ 2023-06-16 7:30 Geliang Tang
2023-06-16 7:30 ` [PATCH mptcp-next v20 01/10] mptcp: pass addr to mptcp_pm_alloc_anno_list Geliang Tang
` (11 more replies)
0 siblings, 12 replies; 19+ messages in thread
From: Geliang Tang @ 2023-06-16 7:30 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
v20:
- #1-#8, only update the commit logs with warnings reported by checkpatch.
- #10 don't update the tests which needs to be slower than before.
v19:
- rename to userspace_pm_rm_sf_addr_ns1/2, and call wait_rm_addr and
wait_rm_sf in them.
- update chk_mptcp_info.
- set FAILING_LINKS in run_tests
- update commit logs.
v18:
- address Matt's comments in v17
- switch to key/value instead of positional parameters
v17:
- rebased on export/20230607T094151
v16:
- address Matt's comments in v15.
- the last two patches in v15 is deponed on "selftests: mptcp: skip
tests when features are not supported", split them into a new series.
- this series have no conflect with "selftests: mptcp: skip tests when
features are not supported" now.
v15:
- fix the failures reported by CI in v14.
v14:
- rebased to "selftests: mptcp: skip tests when features are not supported".
- patch 1 "selftests: mptcp: skip tests when features are not
supported, v2, patches 8-37"
v13:
- fix all the failures the CI is complaining about with the debug kconfig.
- rename endpoint_manipulation to pm_nl_set_endpoint.
Geliang Tang (10):
mptcp: pass addr to mptcp_pm_alloc_anno_list
selftests: mptcp: test userspace pm out of transfer
selftests: mptcp: check subflow and addr infos
selftests: mptcp: set FAILING_LINKS in run_tests
selftests: mptcp: drop test_linkfail parameter
selftests: mptcp: drop addr_nr_ns1/2 parameters
selftests: mptcp: drop sflags parameter
selftests: mptcp: add pm_nl_set_endpoint helper
selftests: mptcp: pass fastclose to sflags
selftests: mptcp: set endpoint out of transfer
net/mptcp/pm_netlink.c | 8 +-
net/mptcp/pm_userspace.c | 2 +-
net/mptcp/protocol.h | 2 +-
.../testing/selftests/net/mptcp/mptcp_join.sh | 645 +++++++++++-------
4 files changed, 394 insertions(+), 263 deletions(-)
--
2.35.3
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH mptcp-next v20 01/10] mptcp: pass addr to mptcp_pm_alloc_anno_list
2023-06-16 7:30 [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2 Geliang Tang
@ 2023-06-16 7:30 ` Geliang Tang
2023-06-16 7:30 ` [PATCH mptcp-next v20 02/10] selftests: mptcp: test userspace pm out of transfer Geliang Tang
` (10 subsequent siblings)
11 siblings, 0 replies; 19+ messages in thread
From: Geliang Tang @ 2023-06-16 7:30 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 | 2 +-
net/mptcp/protocol.h | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
index ba1406e601e4..724b652876cf 100644
--- a/net/mptcp/pm_netlink.c
+++ b/net/mptcp/pm_netlink.c
@@ -341,7 +341,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;
@@ -349,7 +349,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))
@@ -366,7 +366,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;
@@ -573,7 +573,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 47a883a16c11..b5a8aa4c1ebd 100644
--- a/net/mptcp/pm_userspace.c
+++ b/net/mptcp/pm_userspace.c
@@ -193,7 +193,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);
diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h
index d2e59cf33f57..3ba62f1154d3 100644
--- a/net/mptcp/protocol.h
+++ b/net/mptcp/protocol.h
@@ -833,7 +833,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] 19+ messages in thread
* [PATCH mptcp-next v20 02/10] selftests: mptcp: test userspace pm out of transfer
2023-06-16 7:30 [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2 Geliang Tang
2023-06-16 7:30 ` [PATCH mptcp-next v20 01/10] mptcp: pass addr to mptcp_pm_alloc_anno_list Geliang Tang
@ 2023-06-16 7:30 ` Geliang Tang
2023-06-16 7:30 ` [PATCH mptcp-next v20 03/10] selftests: mptcp: check subflow and addr infos Geliang Tang
` (9 subsequent siblings)
11 siblings, 0 replies; 19+ messages in thread
From: Geliang Tang @ 2023-06-16 7:30 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
This patch moves userspace pm tests out of do_transfer(). Move add addrese
test into a new function userspace_pm_add_addr(), and remove address test
into userspace_pm_rm_sf_addr_ns1(). Move add subflow test into
userspace_pm_add_sf() and remove subflow into
userspace_pm_rm_sf_addr_ns2().
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 145 ++++++++++++------
1 file changed, 99 insertions(+), 46 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index a7973d6a40a0..3baa6ac3b03e 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -589,6 +589,26 @@ wait_rm_addr()
done
}
+rm_sf_count()
+{
+ get_counter "${1}" "MPTcpExtRmSubflow"
+}
+
+# $1: ns, $2: old rm_sf counter in $ns
+wait_rm_sf()
+{
+ local ns="${1}"
+ local old_cnt="${2}"
+ local cnt
+
+ local i
+ for i in $(seq 10); do
+ cnt=$(rm_sf_count ${ns})
+ [ "$cnt" = "${old_cnt}" ] || break
+ sleep 0.1
+ done
+}
+
wait_mpj()
{
local ns="${1}"
@@ -813,7 +833,6 @@ do_transfer()
local port=$((10000 + TEST_COUNT - 1))
local cappid
- local userspace_pm=0
:> "$cout"
:> "$sout"
@@ -850,11 +869,6 @@ do_transfer()
extra_args="-r ${speed:6}"
fi
- if [[ "${addr_nr_ns1}" = "userspace_"* ]]; then
- userspace_pm=1
- addr_nr_ns1=${addr_nr_ns1:10}
- fi
-
local flags="subflow"
local extra_cl_args=""
local extra_srv_args=""
@@ -882,9 +896,6 @@ do_transfer()
return 1
fi
addr_nr_ns2=0
- elif [[ "${addr_nr_ns2}" = "userspace_"* ]]; then
- userspace_pm=1
- addr_nr_ns2=${addr_nr_ns2:10}
elif [[ "${addr_nr_ns2}" = "fullmesh_"* ]]; then
flags="${flags},fullmesh"
addr_nr_ns2=${addr_nr_ns2:9}
@@ -938,7 +949,6 @@ do_transfer()
local counter=2
local add_nr_ns1=${addr_nr_ns1}
local id=10
- local tk
while [ $add_nr_ns1 -gt 0 ]; do
local addr
if is_v6 "${connect_addr}"; then
@@ -946,24 +956,7 @@ do_transfer()
else
addr="10.0.$counter.1"
fi
- if [ $userspace_pm -eq 0 ]; then
- pm_nl_add_endpoint $ns1 $addr flags signal
- else
- tk=$(grep "type:1," "$evts_ns1" |
- sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q')
- ip netns exec ${listener_ns} ./pm_nl_ctl ann $addr token $tk id $id
- sleep 1
- sp=$(grep "type:10" "$evts_ns1" |
- sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q')
- da=$(grep "type:10" "$evts_ns1" |
- sed -n 's/.*\(daddr6:\)\([0-9a-f:.]*\).*$/\2/p;q')
- dp=$(grep "type:10" "$evts_ns1" |
- sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q')
- ip netns exec ${listener_ns} ./pm_nl_ctl rem token $tk id $id
- ip netns exec ${listener_ns} ./pm_nl_ctl dsf lip "::ffff:$addr" \
- lport $sp rip $da rport $dp token $tk
- fi
-
+ pm_nl_add_endpoint $ns1 $addr flags signal
counter=$((counter + 1))
add_nr_ns1=$((add_nr_ns1 - 1))
id=$((id + 1))
@@ -1008,7 +1001,6 @@ do_transfer()
local add_nr_ns2=${addr_nr_ns2}
local counter=3
local id=20
- local tk da dp sp
while [ $add_nr_ns2 -gt 0 ]; do
local addr
if is_v6 "${connect_addr}"; then
@@ -1016,21 +1008,7 @@ do_transfer()
else
addr="10.0.$counter.2"
fi
- if [ $userspace_pm -eq 0 ]; then
- pm_nl_add_endpoint $ns2 $addr flags $flags
- else
- tk=$(sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2")
- da=$(sed -n 's/.*\(daddr4:\)\([0-9.]*\).*$/\2/p;q' "$evts_ns2")
- dp=$(sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2")
- ip netns exec ${connector_ns} ./pm_nl_ctl csf lip $addr lid $id \
- rip $da rport $dp token $tk
- sleep 1
- sp=$(grep "type:10" "$evts_ns2" |
- sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q')
- ip netns exec ${connector_ns} ./pm_nl_ctl rem token $tk id $id
- ip netns exec ${connector_ns} ./pm_nl_ctl dsf lip $addr lport $sp \
- rip $da rport $dp token $tk
- fi
+ pm_nl_add_endpoint $ns2 $addr flags $flags
counter=$((counter + 1))
add_nr_ns2=$((add_nr_ns2 - 1))
id=$((id + 1))
@@ -3205,6 +3183,71 @@ fail_tests()
fi
}
+userspace_pm_add_addr()
+{
+ local addr=$1
+ local id=$2
+ local tk
+
+ tk=$(grep "type:1," "$evts_ns1" |
+ sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q')
+ ip netns exec $ns1 ./pm_nl_ctl ann $addr token $tk id $id
+ sleep 1
+}
+
+userspace_pm_rm_sf_addr_ns1()
+{
+ local addr=$1
+ local id=$2
+ local tk sp da dp
+
+ tk=$(grep "type:1," "$evts_ns1" |
+ sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q')
+ sp=$(grep "type:10" "$evts_ns1" |
+ sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q')
+ da=$(grep "type:10" "$evts_ns1" |
+ sed -n 's/.*\(daddr6:\)\([0-9a-f:.]*\).*$/\2/p;q')
+ dp=$(grep "type:10" "$evts_ns1" |
+ sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q')
+ ip netns exec $ns1 ./pm_nl_ctl rem token $tk id $id
+ ip netns exec $ns1 ./pm_nl_ctl dsf lip "::ffff:$addr" \
+ lport $sp rip $da rport $dp token $tk
+ wait_rm_addr $ns1 1
+ wait_rm_sf $ns1 1
+}
+
+userspace_pm_add_sf()
+{
+ local addr=$1
+ local id=$2
+ local tk da dp
+
+ tk=$(sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2")
+ da=$(sed -n 's/.*\(daddr4:\)\([0-9.]*\).*$/\2/p;q' "$evts_ns2")
+ dp=$(sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2")
+ ip netns exec $ns2 ./pm_nl_ctl csf lip $addr lid $id \
+ rip $da rport $dp token $tk
+ sleep 1
+}
+
+userspace_pm_rm_sf_addr_ns2()
+{
+ local addr=$1
+ local id=$2
+ local tk da dp sp
+
+ tk=$(sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2")
+ da=$(sed -n 's/.*\(daddr4:\)\([0-9.]*\).*$/\2/p;q' "$evts_ns2")
+ dp=$(sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns2")
+ sp=$(grep "type:10" "$evts_ns2" |
+ sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q')
+ ip netns exec $ns2 ./pm_nl_ctl rem token $tk id $id
+ ip netns exec $ns2 ./pm_nl_ctl dsf lip $addr lport $sp \
+ rip $da rport $dp token $tk
+ wait_rm_addr $ns2 1
+ wait_rm_sf $ns2 1
+}
+
userspace_tests()
{
# userspace pm type prevents add_addr
@@ -3283,11 +3326,16 @@ 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 0 userspace_1 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 0 0 speed_10 &
+ local tests_pid=$!
+ wait_mpj $ns1
+ userspace_pm_add_addr 10.0.2.1 10
chk_join_nr 1 1 1
chk_add_nr 1 1
+ userspace_pm_rm_sf_addr_ns1 10.0.2.1 10
chk_rm_nr 1 1 invert
kill_events_pids
+ wait $tests_pid
fi
# userspace pm create destroy subflow
@@ -3295,10 +3343,15 @@ 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 0 0 userspace_1 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 0 0 speed_10 &
+ local tests_pid=$!
+ wait_mpj $ns2
+ userspace_pm_add_sf 10.0.3.2 20
chk_join_nr 1 1 1
+ userspace_pm_rm_sf_addr_ns2 10.0.3.2 20
chk_rm_nr 1 1
kill_events_pids
+ wait $tests_pid
fi
}
--
2.35.3
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH mptcp-next v20 03/10] selftests: mptcp: check subflow and addr infos
2023-06-16 7:30 [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2 Geliang Tang
2023-06-16 7:30 ` [PATCH mptcp-next v20 01/10] mptcp: pass addr to mptcp_pm_alloc_anno_list Geliang Tang
2023-06-16 7:30 ` [PATCH mptcp-next v20 02/10] selftests: mptcp: test userspace pm out of transfer Geliang Tang
@ 2023-06-16 7:30 ` Geliang Tang
2023-06-19 15:01 ` Matthieu Baerts
2023-06-16 7:30 ` [PATCH mptcp-next v20 04/10] selftests: mptcp: set FAILING_LINKS in run_tests Geliang Tang
` (8 subsequent siblings)
11 siblings, 1 reply; 19+ messages in thread
From: Geliang Tang @ 2023-06-16 7:30 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
This patch adds more arguments for chk_mptcp_info() to check subflows,
add_addr_signal and add_addr_accepted infos of different namespaces. And
invokes chk_mptcp_info() to check subflows infos of userspace PM tests
and endpoint tests.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 48 +++++++++++--------
1 file changed, 28 insertions(+), 20 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 3baa6ac3b03e..3811a6c3dc5d 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -1832,31 +1832,32 @@ chk_subflow_nr()
chk_mptcp_info()
{
- local nr_info=$1
- local info
+ local info1=$1
+ local nr1=$2
+ local info2=$3
+ local nr2=$4
local cnt1
local cnt2
local dump_stats
- if [[ $nr_info = "subflows_"* ]]; then
- info="subflows"
- nr_info=${nr_info:9}
- else
- echo "[fail] unsupported argument: $nr_info"
- fail_test
- return 1
- fi
+ printf "%-${nr_blank}s %-30s" " " "mptcp_info $info1:$info2=$nr1:$nr2"
- printf "%-${nr_blank}s %-30s" " " "mptcp_info $info=$nr_info"
+ cnt1="$(ss -N $ns1 -inmHM)"
+ cnt2="$(ss -N $ns2 -inmHM)"
+ if [ -z "${cnt1}" ] || [ -z "${cnt2}" ]; then
+ mptcp_lib_fail_if_expected_feature "$info1:$info2 SS counter"
+ echo "[skip]"
+ return
+ fi
- cnt1=$(ss -N $ns1 -inmHM | grep "$info:" |
- sed -n 's/.*\('"$info"':\)\([[:digit:]]*\).*$/\2/p;q')
+ cnt1=$(echo "$cnt1" | grep "$info1:" |
+ sed -n 's/.*\('"$info1"':\)\([[:digit:]]*\).*$/\2/p;q')
[ -z "$cnt1" ] && cnt1=0
- cnt2=$(ss -N $ns2 -inmHM | grep "$info:" |
- sed -n 's/.*\('"$info"':\)\([[:digit:]]*\).*$/\2/p;q')
+ cnt2=$(echo "$cnt2" | grep "$info2:" |
+ sed -n 's/.*\('"$info2"':\)\([[:digit:]]*\).*$/\2/p;q')
[ -z "$cnt2" ] && cnt2=0
- if [ "$cnt1" != "$nr_info" ] || [ "$cnt2" != "$nr_info" ]; then
- echo "[fail] got $cnt1:$cnt2 $info expected $nr_info"
+ if [ "$cnt1" != "$nr1" ] || [ "$cnt2" != "$nr2" ]; then
+ echo "[fail] got $cnt1:$cnt2 $info1:$info2 expected $nr1:$nr2"
fail_test
dump_stats=1
else
@@ -3332,8 +3333,11 @@ userspace_tests()
userspace_pm_add_addr 10.0.2.1 10
chk_join_nr 1 1 1
chk_add_nr 1 1
+ chk_mptcp_info subflows 1 subflows 1
+ chk_mptcp_info add_addr_signal 1 add_addr_accepted 1
userspace_pm_rm_sf_addr_ns1 10.0.2.1 10
chk_rm_nr 1 1 invert
+ chk_mptcp_info subflows 0 subflows 0
kill_events_pids
wait $tests_pid
fi
@@ -3348,8 +3352,10 @@ userspace_tests()
wait_mpj $ns2
userspace_pm_add_sf 10.0.3.2 20
chk_join_nr 1 1 1
+ chk_mptcp_info subflows 1 subflows 1
userspace_pm_rm_sf_addr_ns2 10.0.3.2 20
chk_rm_nr 1 1
+ chk_mptcp_info subflows 0 subflows 0
kill_events_pids
wait $tests_pid
fi
@@ -3369,6 +3375,8 @@ endpoint_tests()
wait_mpj $ns1
pm_nl_check_endpoint 1 "creation" \
$ns2 10.0.2.2 id 1 flags implicit
+ chk_mptcp_info subflows 1 subflows 1
+ chk_mptcp_info add_addr_signal 1 add_addr_accepted 1
pm_nl_add_endpoint $ns2 10.0.2.2 id 33
pm_nl_check_endpoint 0 "ID change is prevented" \
@@ -3389,17 +3397,17 @@ endpoint_tests()
wait_mpj $ns2
chk_subflow_nr needtitle "before delete" 2
- chk_mptcp_info subflows_1
+ chk_mptcp_info subflows 1 subflows 1
pm_nl_del_endpoint $ns2 2 10.0.2.2
sleep 0.5
chk_subflow_nr "" "after delete" 1
- chk_mptcp_info subflows_0
+ chk_mptcp_info subflows 0 subflows 0
pm_nl_add_endpoint $ns2 10.0.2.2 dev ns2eth2 flags subflow
wait_mpj $ns2
chk_subflow_nr "" "after re-add" 2
- chk_mptcp_info subflows_1
+ chk_mptcp_info subflows 1 subflows 1
kill_tests_wait
fi
}
--
2.35.3
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH mptcp-next v20 04/10] selftests: mptcp: set FAILING_LINKS in run_tests
2023-06-16 7:30 [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2 Geliang Tang
` (2 preceding siblings ...)
2023-06-16 7:30 ` [PATCH mptcp-next v20 03/10] selftests: mptcp: check subflow and addr infos Geliang Tang
@ 2023-06-16 7:30 ` Geliang Tang
2023-06-16 7:30 ` [PATCH mptcp-next v20 05/10] selftests: mptcp: drop test_linkfail parameter Geliang Tang
` (7 subsequent siblings)
11 siblings, 0 replies; 19+ messages in thread
From: Geliang Tang @ 2023-06-16 7:30 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Set FAILING_LINKS as an env var with a limited scope only when calling
run_tests().
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/net/mptcp/mptcp_join.sh | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 3811a6c3dc5d..5146c5268c44 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -2183,9 +2183,9 @@ link_failure_tests()
pm_nl_set_limits $ns1 0 2
pm_nl_add_endpoint $ns1 10.0.2.1 dev ns1eth2 flags signal
pm_nl_set_limits $ns2 1 2
- FAILING_LINKS="1"
pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow,backup
- run_tests $ns1 $ns2 10.0.1.1 1
+ FAILING_LINKS="1" \
+ run_tests $ns1 $ns2 10.0.1.1 1
chk_join_nr 2 2 2
chk_add_nr 1 1
chk_link_usage $ns2 ns2eth3 $cinsent 0
@@ -2199,8 +2199,8 @@ link_failure_tests()
pm_nl_add_endpoint $ns1 10.0.2.1 dev ns1eth2 flags signal
pm_nl_set_limits $ns2 1 2
pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow,backup
- FAILING_LINKS="1 2"
- run_tests $ns1 $ns2 10.0.1.1 1
+ FAILING_LINKS="1 2" \
+ run_tests $ns1 $ns2 10.0.1.1 1
chk_join_nr 2 2 2
chk_add_nr 1 1
chk_stale_nr $ns2 2 4 2
@@ -2215,8 +2215,8 @@ link_failure_tests()
pm_nl_add_endpoint $ns1 10.0.2.1 dev ns1eth2 flags signal
pm_nl_set_limits $ns2 1 3
pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow,backup
- FAILING_LINKS="1 2"
- run_tests $ns1 $ns2 10.0.1.1 2
+ FAILING_LINKS="1 2" \
+ run_tests $ns1 $ns2 10.0.1.1 2
chk_join_nr 2 2 2
chk_add_nr 1 1
chk_stale_nr $ns2 1 -1 2
--
2.35.3
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH mptcp-next v20 05/10] selftests: mptcp: drop test_linkfail parameter
2023-06-16 7:30 [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2 Geliang Tang
` (3 preceding siblings ...)
2023-06-16 7:30 ` [PATCH mptcp-next v20 04/10] selftests: mptcp: set FAILING_LINKS in run_tests Geliang Tang
@ 2023-06-16 7:30 ` Geliang Tang
2023-06-16 7:30 ` [PATCH mptcp-next v20 06/10] selftests: mptcp: drop addr_nr_ns1/2 parameters Geliang Tang
` (6 subsequent siblings)
11 siblings, 0 replies; 19+ messages in thread
From: Geliang Tang @ 2023-06-16 7:30 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
run_tests() accepts too many optional parameters. Before this modification,
it was required to set all of then when only the last one had to be
changed. That's not clear to see all these 0 and it makes the maintenance
harder:
run_tests $ns1 $ns2 10.0.1.1 1 2 3 slow
Instead, the parameter can be set as an env var with a limited scope:
foo=1 bar=2 next=3 \
run_tests $ns1 $ns2 10.0.1.1 slow
This patch switches to key/value "test_linkfail=*" instead of positional
parameter test_linkfail of do_transfer() and run_tests().
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 192 +++++++++---------
1 file changed, 99 insertions(+), 93 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 5146c5268c44..90cfd134bf7e 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -50,6 +50,7 @@ TEST_NAME=""
nr_blank=40
export FAILING_LINKS=""
+export test_linkfail=0
# generated using "nfbpf_compile '(ip && (ip[54] & 0xf0) == 0x30) ||
# (ip6 && (ip6[74] & 0xf0) == 0x30)'"
@@ -825,11 +826,10 @@ do_transfer()
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 addr_nr_ns1="$6"
+ local addr_nr_ns2="$7"
+ local speed="$8"
+ local sflags="${9}"
local port=$((10000 + TEST_COUNT - 1))
local cappid
@@ -874,21 +874,21 @@ do_transfer()
local extra_srv_args=""
local trunc_size=""
if [[ "${addr_nr_ns2}" = "fastclose_"* ]]; then
- if [ ${test_link_fail} -le 1 ]; then
- echo "fastclose tests need test_link_fail argument"
+ if [ ${test_linkfail} -le 1 ]; then
+ echo "fastclose tests need test_linkfail argument"
fail_test
return 1
fi
# disconnect
- trunc_size=${test_link_fail}
+ trunc_size=${test_linkfail}
local side=${addr_nr_ns2:10}
if [ ${side} = "client" ]; then
- extra_cl_args="-f ${test_link_fail}"
+ extra_cl_args="-f ${test_linkfail}"
extra_srv_args="-f -1"
elif [ ${side} = "server" ]; then
- extra_srv_args="-f ${test_link_fail}"
+ extra_srv_args="-f ${test_linkfail}"
extra_cl_args="-f -1"
else
echo "wrong/unknown fastclose spec ${side}"
@@ -902,7 +902,7 @@ do_transfer()
fi
extra_srv_args="$extra_args $extra_srv_args"
- if [ "$test_link_fail" -gt 1 ];then
+ if [ "$test_linkfail" -gt 1 ];then
timeout ${timeout_test} \
ip netns exec ${listener_ns} \
./mptcp_connect -t ${timeout_poll} -l -p $port -s ${srv_proto} \
@@ -918,12 +918,12 @@ do_transfer()
wait_local_port_listen "${listener_ns}" "${port}"
extra_cl_args="$extra_args $extra_cl_args"
- if [ "$test_link_fail" -eq 0 ];then
+ if [ "$test_linkfail" -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
+ elif [ "$test_linkfail" -eq 1 ] || [ "$test_linkfail" -eq 2 ];then
( cat "$cinfail" ; sleep 2; link_failure $listener_ns ; cat "$cinfail" ) | \
tee "$cinsent" | \
timeout ${timeout_test} \
@@ -1107,13 +1107,13 @@ do_transfer()
return 1
fi
- if [ "$test_link_fail" -gt 1 ];then
+ if [ "$test_linkfail" -gt 1 ];then
check_transfer $sinfail $cout "file received by client" $trunc_size
else
check_transfer $sin $cout "file received by client" $trunc_size
fi
retc=$?
- if [ "$test_link_fail" -eq 0 ];then
+ if [ "$test_linkfail" -eq 0 ];then
check_transfer $cin $sout "file received by server" $trunc_size
else
check_transfer $cinsent $sout "file received by server" $trunc_size
@@ -1146,11 +1146,10 @@ run_tests()
local listener_ns="$1"
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 addr_nr_ns1="${4:-0}"
+ local addr_nr_ns2="${5:-0}"
+ local speed="${6:-fast}"
+ local sflags="${7:-""}"
local size
@@ -1195,7 +1194,7 @@ run_tests()
fi
do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} \
- ${test_linkfail} ${addr_nr_ns1} ${addr_nr_ns2} ${speed} ${sflags}
+ ${addr_nr_ns1} ${addr_nr_ns2} ${speed} ${sflags}
}
dump_stats()
@@ -1990,7 +1989,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 0 slow
chk_join_nr 0 0 0
fi
@@ -2001,7 +2000,7 @@ 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 0 0 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 0 slow
chk_join_nr 1 1 1
fi
@@ -2012,7 +2011,7 @@ 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 0 0 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 0 slow
chk_join_nr 1 1 1
fi
@@ -2024,7 +2023,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.3.2 flags subflow
- run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow &
+ run_tests $ns1 $ns2 10.0.1.1 0 0 slow &
# mpj subflow will be in TW after the reset
wait_attempt_fail $ns2
@@ -2123,7 +2122,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 0 slow
# It is not directly linked to the commit introducing this
# symbol but for the parent one which is linked anyway.
@@ -2155,7 +2154,8 @@ link_failure_tests()
pm_nl_set_limits $ns2 1 3
pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow
pm_nl_add_endpoint $ns2 10.0.4.2 dev ns2eth4 flags subflow
- run_tests $ns1 $ns2 10.0.1.1 1
+ test_linkfail=1 \
+ run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 3 3 3
chk_add_nr 1 1
chk_stale_nr $ns2 1 5 1
@@ -2170,7 +2170,8 @@ link_failure_tests()
pm_nl_set_limits $ns2 1 3
pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow
pm_nl_add_endpoint $ns2 10.0.4.2 dev ns2eth4 flags subflow
- run_tests $ns1 $ns2 10.0.1.1 2
+ test_linkfail=2 \
+ run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 3 3 3
chk_add_nr 1 1
chk_stale_nr $ns2 1 -1 1
@@ -2184,8 +2185,8 @@ link_failure_tests()
pm_nl_add_endpoint $ns1 10.0.2.1 dev ns1eth2 flags signal
pm_nl_set_limits $ns2 1 2
pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow,backup
- FAILING_LINKS="1" \
- run_tests $ns1 $ns2 10.0.1.1 1
+ FAILING_LINKS="1" test_linkfail=1 \
+ run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 2 2 2
chk_add_nr 1 1
chk_link_usage $ns2 ns2eth3 $cinsent 0
@@ -2199,8 +2200,8 @@ link_failure_tests()
pm_nl_add_endpoint $ns1 10.0.2.1 dev ns1eth2 flags signal
pm_nl_set_limits $ns2 1 2
pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow,backup
- FAILING_LINKS="1 2" \
- run_tests $ns1 $ns2 10.0.1.1 1
+ FAILING_LINKS="1 2" test_linkfail=1 \
+ run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 2 2 2
chk_add_nr 1 1
chk_stale_nr $ns2 2 4 2
@@ -2215,8 +2216,8 @@ link_failure_tests()
pm_nl_add_endpoint $ns1 10.0.2.1 dev ns1eth2 flags signal
pm_nl_set_limits $ns2 1 3
pm_nl_add_endpoint $ns2 10.0.3.2 dev ns2eth3 flags subflow,backup
- FAILING_LINKS="1 2" \
- run_tests $ns1 $ns2 10.0.1.1 2
+ FAILING_LINKS="1 2" test_linkfail=2 \
+ run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 2 2 2
chk_add_nr 1 1
chk_stale_nr $ns2 1 -1 2
@@ -2231,7 +2232,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 0 slow
chk_join_nr 1 1 1
chk_add_tx_nr 4 4
chk_add_nr 4 0
@@ -2242,7 +2243,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 0 slow
chk_join_nr 1 1 1
chk_add_nr 4 0
fi
@@ -2253,7 +2254,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 0 speed_10
chk_join_nr 2 2 2
chk_add_nr 8 0
fi
@@ -2264,7 +2265,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 0 speed_10
chk_join_nr 1 1 1
chk_add_nr 8 0
fi
@@ -2277,7 +2278,7 @@ 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 -1 slow
chk_join_nr 1 1 1
chk_rm_tx_nr 1
chk_rm_nr 1 1
@@ -2289,7 +2290,7 @@ 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 -2 slow
chk_join_nr 2 2 2
chk_rm_nr 2 2
fi
@@ -2299,7 +2300,7 @@ 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 -1 0 slow
chk_join_nr 1 1 1
chk_add_nr 1 1
chk_rm_nr 1 1 invert
@@ -2311,7 +2312,7 @@ 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 -1 -1 slow
chk_join_nr 2 2 2
chk_add_nr 1 1
chk_rm_nr 1 1
@@ -2324,7 +2325,7 @@ 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 -1 -2 speed_10
chk_join_nr 3 3 3
chk_add_nr 1 1
chk_rm_nr 2 2
@@ -2337,7 +2338,7 @@ 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 -3 0 speed_10
chk_join_nr 3 3 3
chk_add_nr 3 3
chk_rm_nr 3 3 invert
@@ -2350,7 +2351,7 @@ 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 -3 0 speed_10
chk_join_nr 1 1 1
chk_add_nr 3 3
chk_rm_nr 3 1 invert
@@ -2363,7 +2364,7 @@ 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 -8 -8 slow
chk_join_nr 3 3 3
chk_add_nr 1 1
chk_rm_nr 1 3 invert simult
@@ -2376,7 +2377,7 @@ 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 -8 -8 slow
chk_join_nr 3 3 3
if mptcp_lib_kversion_ge 5.18; then
@@ -2394,7 +2395,7 @@ 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 -8 -8 slow
chk_join_nr 3 3 3
chk_add_nr 3 3
chk_rm_nr 3 3 invert simult
@@ -2407,7 +2408,7 @@ 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 -8 0 slow
chk_join_nr 1 1 1
chk_add_nr 3 3
chk_rm_nr 3 1 invert
@@ -2418,7 +2419,7 @@ 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 -9 slow
chk_join_nr 1 1 1
chk_rm_nr 1 1
fi
@@ -2428,7 +2429,7 @@ 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 -9 0 slow
chk_join_nr 1 1 1
chk_add_nr 1 1
chk_rm_nr 1 1 invert
@@ -2441,7 +2442,7 @@ 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 1 slow
chk_join_nr 1 1 1
fi
@@ -2449,7 +2450,7 @@ add_tests()
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 1 0 slow
chk_join_nr 1 1 1
chk_add_nr 1 1
fi
@@ -2458,7 +2459,7 @@ add_tests()
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 2 slow
chk_join_nr 2 2 2
fi
@@ -2466,7 +2467,7 @@ add_tests()
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 2 slow
chk_join_nr 2 2 2
fi
@@ -2474,7 +2475,7 @@ add_tests()
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 2 0 slow
chk_join_nr 2 2 2
chk_add_nr 2 2
fi
@@ -2487,14 +2488,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 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 0 slow
chk_join_nr 0 0 0
chk_add_nr 1 1
fi
@@ -2504,7 +2505,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 0 slow
chk_join_nr 1 1 1
chk_add_nr 1 1
fi
@@ -2514,7 +2515,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 -1 0 slow
+ run_tests $ns1 $ns2 dead:beef:1::1 -1 0 slow
chk_join_nr 1 1 1
chk_add_nr 1 1
chk_rm_nr 1 1 invert
@@ -2526,7 +2527,7 @@ 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 -1 -1 slow
chk_join_nr 2 2 2
chk_add_nr 1 1
chk_rm_nr 1 1
@@ -2627,7 +2628,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 0 slow
chk_join_nr 0 0 0
fi
@@ -2637,7 +2638,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 0 slow
chk_join_nr 1 1 1
fi
@@ -2648,7 +2649,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 0 slow
chk_join_nr 1 1 1
fi
@@ -2660,7 +2661,7 @@ 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 fullmesh_1 slow
chk_join_nr 4 4 4
fi
}
@@ -2673,7 +2674,7 @@ 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 0 slow nobackup
chk_join_nr 1 1 1
chk_prio_nr 0 1
fi
@@ -2684,7 +2685,7 @@ 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 0 slow backup
chk_join_nr 1 1 1
chk_add_nr 1 1
chk_prio_nr 1 1
@@ -2696,7 +2697,7 @@ 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 0 slow backup
chk_join_nr 1 1 1
chk_add_nr 1 1
chk_prio_nr 1 1
@@ -2705,7 +2706,7 @@ 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 0 0 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 0 slow
chk_join_nr 0 0 0
chk_prio_nr 0 1
fi
@@ -2714,7 +2715,7 @@ 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 0 0 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 0 0 slow
chk_join_nr 0 0 0
chk_prio_nr 1 1
fi
@@ -2722,7 +2723,7 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup
+ run_tests $ns1 $ns2 10.0.1.1 0 0 slow backup
chk_join_nr 0 0 0
chk_prio_nr 0 1
fi
@@ -2731,7 +2732,7 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup
+ run_tests $ns1 $ns2 10.0.1.1 0 0 slow backup
chk_join_nr 0 0 0
chk_prio_nr 1 1
fi
@@ -2820,7 +2821,7 @@ 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 -1 0 slow
chk_join_nr 1 1 1
chk_add_nr 1 1 1
chk_rm_nr 1 1 invert
@@ -2836,7 +2837,7 @@ 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 -1 -1 slow
chk_join_nr 2 2 2
chk_add_nr 1 1 1
chk_rm_nr 1 1
@@ -2849,7 +2850,7 @@ 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 -8 -2 slow
chk_join_nr 3 3 3
chk_add_nr 1 1
chk_rm_nr 1 3 invert simult
@@ -3051,7 +3052,7 @@ 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 1 0 slow
chk_join_nr 4 4 4
chk_add_nr 1 1
fi
@@ -3063,7 +3064,7 @@ 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 fullmesh_1 slow
chk_join_nr 3 3 3
chk_add_nr 1 1
fi
@@ -3075,7 +3076,7 @@ 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 fullmesh_2 slow
chk_join_nr 5 5 5
chk_add_nr 1 1
fi
@@ -3088,7 +3089,7 @@ 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 fullmesh_2 slow
chk_join_nr 4 4 4
chk_add_nr 1 1
fi
@@ -3099,7 +3100,7 @@ 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 1 slow fullmesh
chk_join_nr 2 2 2
chk_rm_nr 0 1
fi
@@ -3110,7 +3111,7 @@ 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 fullmesh_1 slow nofullmesh
chk_join_nr 2 2 2
chk_rm_nr 0 1
fi
@@ -3121,7 +3122,7 @@ 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 1 slow backup,fullmesh
chk_join_nr 2 2 2
chk_prio_nr 0 1
chk_rm_nr 0 1
@@ -3133,7 +3134,7 @@ 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 0 slow nobackup,nofullmesh
chk_join_nr 2 2 2
chk_prio_nr 0 1
chk_rm_nr 0 1
@@ -3143,14 +3144,16 @@ fullmesh_tests()
fastclose_tests()
{
if reset_check_counter "fastclose test" "MPTcpExtMPFastcloseTx"; then
- run_tests $ns1 $ns2 10.0.1.1 1024 0 fastclose_client
+ test_linkfail=1024 \
+ run_tests $ns1 $ns2 10.0.1.1 0 fastclose_client
chk_join_nr 0 0 0
chk_fclose_nr 1 1
chk_rst_nr 1 1 invert
fi
if reset_check_counter "fastclose server test" "MPTcpExtMPFastcloseRx"; then
- run_tests $ns1 $ns2 10.0.1.1 1024 0 fastclose_server
+ test_linkfail=1024 \
+ run_tests $ns1 $ns2 10.0.1.1 0 fastclose_server
chk_join_nr 0 0 0
chk_fclose_nr 1 1 invert
chk_rst_nr 1 1
@@ -3168,7 +3171,8 @@ fail_tests()
{
# single subflow
if reset_with_fail "Infinite map" 1; then
- run_tests $ns1 $ns2 10.0.1.1 128
+ test_linkfail=128 \
+ run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 0 0 0 +1 +0 1 0 1 "$(pedit_action_pkts)"
chk_fail_nr 1 -1 invert
fi
@@ -3179,7 +3183,8 @@ fail_tests()
pm_nl_set_limits $ns1 0 1
pm_nl_set_limits $ns2 0 1
pm_nl_add_endpoint $ns2 10.0.2.2 dev ns2eth2 flags subflow
- run_tests $ns1 $ns2 10.0.1.1 1024
+ test_linkfail=1024 \
+ run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 1 1 1 1 0 1 1 0 "$(pedit_action_pkts)"
fi
}
@@ -3304,7 +3309,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 0 slow backup
chk_join_nr 1 1 0
chk_prio_nr 0 0
fi
@@ -3317,7 +3322,7 @@ 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 -1 slow
chk_join_nr 0 0 0
chk_rm_nr 0 0
fi
@@ -3327,7 +3332,7 @@ 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 0 0 0 speed_10 &
+ run_tests $ns1 $ns2 10.0.1.1 0 0 speed_10 &
local tests_pid=$!
wait_mpj $ns1
userspace_pm_add_addr 10.0.2.1 10
@@ -3347,7 +3352,7 @@ 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 0 0 0 speed_10 &
+ run_tests $ns1 $ns2 10.0.1.1 0 0 speed_10 &
local tests_pid=$!
wait_mpj $ns2
userspace_pm_add_sf 10.0.3.2 20
@@ -3370,7 +3375,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 0 slow 2>/dev/null &
wait_mpj $ns1
pm_nl_check_endpoint 1 "creation" \
@@ -3393,7 +3398,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
- run_tests $ns1 $ns2 10.0.1.1 4 0 0 speed_20 2>/dev/null &
+ test_linkfail=4 \
+ run_tests $ns1 $ns2 10.0.1.1 0 0 speed_20 2>/dev/null &
wait_mpj $ns2
chk_subflow_nr needtitle "before delete" 2
--
2.35.3
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH mptcp-next v20 06/10] selftests: mptcp: drop addr_nr_ns1/2 parameters
2023-06-16 7:30 [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2 Geliang Tang
` (4 preceding siblings ...)
2023-06-16 7:30 ` [PATCH mptcp-next v20 05/10] selftests: mptcp: drop test_linkfail parameter Geliang Tang
@ 2023-06-16 7:30 ` Geliang Tang
2023-06-16 7:30 ` [PATCH mptcp-next v20 07/10] selftests: mptcp: drop sflags parameter Geliang Tang
` (5 subsequent siblings)
11 siblings, 0 replies; 19+ messages in thread
From: Geliang Tang @ 2023-06-16 7:30 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
run_tests() accepts too many optional parameters. Before this modification,
it was required to set all of then when only the last one had to be
changed. That's not clear to see all these 0 and it makes the maintenance
harder:
run_tests $ns1 $ns2 10.0.1.1 1 2 3 slow
Instead, the parameter can be set as an env var with a limited scope:
foo=1 bar=2 next=3 \
run_tests $ns1 $ns2 10.0.1.1 slow
This patch switches to key/value "addr_nr_ns1=*, addr_nr_ns2=*" instead
of positional parameters addr_nr_ns1 and addr_nr_ns2 of do_transfer()
and run_tests().
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 176 ++++++++++--------
1 file changed, 103 insertions(+), 73 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 90cfd134bf7e..f9bf4733ca41 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -51,6 +51,8 @@ nr_blank=40
export FAILING_LINKS=""
export test_linkfail=0
+export addr_nr_ns1=0
+export addr_nr_ns2=0
# generated using "nfbpf_compile '(ip && (ip[54] & 0xf0) == 0x30) ||
# (ip6 && (ip6[74] & 0xf0) == 0x30)'"
@@ -826,10 +828,8 @@ do_transfer()
local cl_proto="$3"
local srv_proto="$4"
local connect_addr="$5"
- local addr_nr_ns1="$6"
- local addr_nr_ns2="$7"
- local speed="$8"
- local sflags="${9}"
+ local speed="$6"
+ local sflags="${7}"
local port=$((10000 + TEST_COUNT - 1))
local cappid
@@ -1146,10 +1146,8 @@ run_tests()
local listener_ns="$1"
local connector_ns="$2"
local connect_addr="$3"
- local addr_nr_ns1="${4:-0}"
- local addr_nr_ns2="${5:-0}"
- local speed="${6:-fast}"
- local sflags="${7:-""}"
+ local speed="${4:-fast}"
+ local sflags="${5:-""}"
local size
@@ -1194,7 +1192,7 @@ run_tests()
fi
do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} \
- ${addr_nr_ns1} ${addr_nr_ns2} ${speed} ${sflags}
+ ${speed} ${sflags}
}
dump_stats()
@@ -1989,7 +1987,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 slow
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 0 0 0
fi
@@ -2000,7 +1998,7 @@ 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 0 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
fi
@@ -2011,7 +2009,7 @@ 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 0 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
fi
@@ -2023,7 +2021,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.3.2 flags subflow
- run_tests $ns1 $ns2 10.0.1.1 0 0 slow &
+ run_tests $ns1 $ns2 10.0.1.1 slow &
# mpj subflow will be in TW after the reset
wait_attempt_fail $ns2
@@ -2122,7 +2120,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 slow
+ run_tests $ns1 $ns2 10.0.1.1 slow
# It is not directly linked to the commit introducing this
# symbol but for the parent one which is linked anyway.
@@ -2232,7 +2230,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 slow
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
chk_add_tx_nr 4 4
chk_add_nr 4 0
@@ -2243,7 +2241,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 slow
+ run_tests $ns1 $ns2 dead:beef:1::1 slow
chk_join_nr 1 1 1
chk_add_nr 4 0
fi
@@ -2254,7 +2252,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 speed_10
+ run_tests $ns1 $ns2 10.0.1.1 speed_10
chk_join_nr 2 2 2
chk_add_nr 8 0
fi
@@ -2265,7 +2263,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 speed_10
+ run_tests $ns1 $ns2 10.0.1.1 speed_10
chk_join_nr 1 1 1
chk_add_nr 8 0
fi
@@ -2278,7 +2276,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
- run_tests $ns1 $ns2 10.0.1.1 0 -1 slow
+ addr_nr_ns2=-1 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
chk_rm_tx_nr 1
chk_rm_nr 1 1
@@ -2290,7 +2289,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
- run_tests $ns1 $ns2 10.0.1.1 0 -2 slow
+ addr_nr_ns2=-2 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 2 2 2
chk_rm_nr 2 2
fi
@@ -2300,7 +2300,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
- run_tests $ns1 $ns2 10.0.1.1 -1 0 slow
+ addr_nr_ns1=-1 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
chk_add_nr 1 1
chk_rm_nr 1 1 invert
@@ -2312,7 +2313,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
- run_tests $ns1 $ns2 10.0.1.1 -1 -1 slow
+ addr_nr_ns1=-1 addr_nr_ns2=-1 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 2 2 2
chk_add_nr 1 1
chk_rm_nr 1 1
@@ -2325,7 +2327,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
- run_tests $ns1 $ns2 10.0.1.1 -1 -2 speed_10
+ addr_nr_ns1=-1 addr_nr_ns2=-2 \
+ run_tests $ns1 $ns2 10.0.1.1 speed_10
chk_join_nr 3 3 3
chk_add_nr 1 1
chk_rm_nr 2 2
@@ -2338,7 +2341,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
- run_tests $ns1 $ns2 10.0.1.1 -3 0 speed_10
+ addr_nr_ns1=-3 \
+ run_tests $ns1 $ns2 10.0.1.1 speed_10
chk_join_nr 3 3 3
chk_add_nr 3 3
chk_rm_nr 3 3 invert
@@ -2351,7 +2355,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
- run_tests $ns1 $ns2 10.0.1.1 -3 0 speed_10
+ addr_nr_ns1=-3 \
+ run_tests $ns1 $ns2 10.0.1.1 speed_10
chk_join_nr 1 1 1
chk_add_nr 3 3
chk_rm_nr 3 1 invert
@@ -2364,7 +2369,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
- run_tests $ns1 $ns2 10.0.1.1 -8 -8 slow
+ addr_nr_ns1=-8 addr_nr_ns2=-8 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 3 3 3
chk_add_nr 1 1
chk_rm_nr 1 3 invert simult
@@ -2377,7 +2383,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
- run_tests $ns1 $ns2 10.0.1.1 -8 -8 slow
+ addr_nr_ns1=-8 addr_nr_ns2=-8 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 3 3 3
if mptcp_lib_kversion_ge 5.18; then
@@ -2395,7 +2402,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
- run_tests $ns1 $ns2 10.0.1.1 -8 -8 slow
+ addr_nr_ns1=-8 addr_nr_ns2=-8 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 3 3 3
chk_add_nr 3 3
chk_rm_nr 3 3 invert simult
@@ -2408,7 +2416,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
- run_tests $ns1 $ns2 10.0.1.1 -8 0 slow
+ addr_nr_ns1=-8 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
chk_add_nr 3 3
chk_rm_nr 3 1 invert
@@ -2419,7 +2428,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
- run_tests $ns1 $ns2 10.0.1.1 0 -9 slow
+ addr_nr_ns2=-9 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
chk_rm_nr 1 1
fi
@@ -2429,7 +2439,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
- run_tests $ns1 $ns2 10.0.1.1 -9 0 slow
+ addr_nr_ns1=-9 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
chk_add_nr 1 1
chk_rm_nr 1 1 invert
@@ -2442,7 +2453,8 @@ 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 1 slow
+ addr_nr_ns2=1 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
fi
@@ -2450,7 +2462,8 @@ add_tests()
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 1 0 slow
+ addr_nr_ns1=1 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
chk_add_nr 1 1
fi
@@ -2459,7 +2472,8 @@ add_tests()
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 2 slow
+ addr_nr_ns2=2 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 2 2 2
fi
@@ -2467,7 +2481,8 @@ add_tests()
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 2 slow
+ addr_nr_ns2=2 \
+ run_tests $ns1 $ns2 dead:beef:1::1 slow
chk_join_nr 2 2 2
fi
@@ -2475,7 +2490,8 @@ add_tests()
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 2 0 slow
+ addr_nr_ns1=2 \
+ run_tests $ns1 $ns2 dead:beef:1::1 slow
chk_join_nr 2 2 2
chk_add_nr 2 2
fi
@@ -2488,14 +2504,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 slow
+ run_tests $ns1 $ns2 dead:beef:1::1 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 slow
+ run_tests $ns1 $ns2 dead:beef:1::1 slow
chk_join_nr 0 0 0
chk_add_nr 1 1
fi
@@ -2505,7 +2521,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 slow
+ run_tests $ns1 $ns2 dead:beef:1::1 slow
chk_join_nr 1 1 1
chk_add_nr 1 1
fi
@@ -2515,7 +2531,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 -1 0 slow
+ addr_nr_ns1=-1 \
+ run_tests $ns1 $ns2 dead:beef:1::1 slow
chk_join_nr 1 1 1
chk_add_nr 1 1
chk_rm_nr 1 1 invert
@@ -2527,7 +2544,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
- run_tests $ns1 $ns2 dead:beef:1::1 -1 -1 slow
+ addr_nr_ns1=-1 addr_nr_ns2=-1 \
+ run_tests $ns1 $ns2 dead:beef:1::1 slow
chk_join_nr 2 2 2
chk_add_nr 1 1
chk_rm_nr 1 1
@@ -2628,7 +2646,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 slow
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 0 0 0
fi
@@ -2638,7 +2656,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 slow
+ run_tests $ns1 $ns2 dead:beef:2::1 slow
chk_join_nr 1 1 1
fi
@@ -2649,7 +2667,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 slow
+ run_tests $ns1 $ns2 dead:beef:2::1 slow
chk_join_nr 1 1 1
fi
@@ -2661,7 +2679,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
- run_tests $ns1 $ns2 dead:beef:1::1 0 fullmesh_1 slow
+ addr_nr_ns2=fullmesh_1 \
+ run_tests $ns1 $ns2 dead:beef:1::1 slow
chk_join_nr 4 4 4
fi
}
@@ -2674,7 +2693,7 @@ 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 slow nobackup
+ run_tests $ns1 $ns2 10.0.1.1 slow nobackup
chk_join_nr 1 1 1
chk_prio_nr 0 1
fi
@@ -2685,7 +2704,7 @@ 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 slow backup
+ run_tests $ns1 $ns2 10.0.1.1 slow backup
chk_join_nr 1 1 1
chk_add_nr 1 1
chk_prio_nr 1 1
@@ -2697,7 +2716,7 @@ 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 slow backup
+ run_tests $ns1 $ns2 10.0.1.1 slow backup
chk_join_nr 1 1 1
chk_add_nr 1 1
chk_prio_nr 1 1
@@ -2706,7 +2725,7 @@ 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 0 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 0 0 0
chk_prio_nr 0 1
fi
@@ -2715,7 +2734,7 @@ 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 0 0 slow
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 0 0 0
chk_prio_nr 1 1
fi
@@ -2723,7 +2742,7 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 slow backup
+ run_tests $ns1 $ns2 10.0.1.1 slow backup
chk_join_nr 0 0 0
chk_prio_nr 0 1
fi
@@ -2732,7 +2751,7 @@ 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
- run_tests $ns1 $ns2 10.0.1.1 0 0 slow backup
+ run_tests $ns1 $ns2 10.0.1.1 slow backup
chk_join_nr 0 0 0
chk_prio_nr 1 1
fi
@@ -2821,7 +2840,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
- run_tests $ns1 $ns2 10.0.1.1 -1 0 slow
+ addr_nr_ns1=-1 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
chk_add_nr 1 1 1
chk_rm_nr 1 1 invert
@@ -2837,7 +2857,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
- run_tests $ns1 $ns2 10.0.1.1 -1 -1 slow
+ addr_nr_ns1=-1 addr_nr_ns2=-1 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 2 2 2
chk_add_nr 1 1 1
chk_rm_nr 1 1
@@ -2850,7 +2871,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
- run_tests $ns1 $ns2 10.0.1.1 -8 -2 slow
+ addr_nr_ns1=-8 addr_nr_ns2=-2 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 3 3 3
chk_add_nr 1 1
chk_rm_nr 1 3 invert simult
@@ -3052,7 +3074,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
- run_tests $ns1 $ns2 10.0.1.1 1 0 slow
+ addr_nr_ns1=1 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 4 4 4
chk_add_nr 1 1
fi
@@ -3064,7 +3087,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
- run_tests $ns1 $ns2 10.0.1.1 0 fullmesh_1 slow
+ addr_nr_ns2=fullmesh_1 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 3 3 3
chk_add_nr 1 1
fi
@@ -3076,7 +3100,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
- run_tests $ns1 $ns2 10.0.1.1 0 fullmesh_2 slow
+ addr_nr_ns2=fullmesh_2 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 5 5 5
chk_add_nr 1 1
fi
@@ -3089,7 +3114,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
- run_tests $ns1 $ns2 10.0.1.1 0 fullmesh_2 slow
+ addr_nr_ns2=fullmesh_2 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 4 4 4
chk_add_nr 1 1
fi
@@ -3100,7 +3126,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
- run_tests $ns1 $ns2 10.0.1.1 0 1 slow fullmesh
+ addr_nr_ns2=1 \
+ run_tests $ns1 $ns2 10.0.1.1 slow fullmesh
chk_join_nr 2 2 2
chk_rm_nr 0 1
fi
@@ -3111,7 +3138,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
- run_tests $ns1 $ns2 10.0.1.1 0 fullmesh_1 slow nofullmesh
+ addr_nr_ns2=fullmesh_1 \
+ run_tests $ns1 $ns2 10.0.1.1 slow nofullmesh
chk_join_nr 2 2 2
chk_rm_nr 0 1
fi
@@ -3122,7 +3150,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
- run_tests $ns1 $ns2 10.0.1.1 0 1 slow backup,fullmesh
+ addr_nr_ns2=1 run_tests \
+ $ns1 $ns2 10.0.1.1 slow backup,fullmesh
chk_join_nr 2 2 2
chk_prio_nr 0 1
chk_rm_nr 0 1
@@ -3134,7 +3163,7 @@ 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 slow nobackup,nofullmesh
+ run_tests $ns1 $ns2 10.0.1.1 slow nobackup,nofullmesh
chk_join_nr 2 2 2
chk_prio_nr 0 1
chk_rm_nr 0 1
@@ -3144,16 +3173,16 @@ fullmesh_tests()
fastclose_tests()
{
if reset_check_counter "fastclose test" "MPTcpExtMPFastcloseTx"; then
- test_linkfail=1024 \
- run_tests $ns1 $ns2 10.0.1.1 0 fastclose_client
+ test_linkfail=1024 addr_nr_ns2=fastclose_client \
+ run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 0 0 0
chk_fclose_nr 1 1
chk_rst_nr 1 1 invert
fi
if reset_check_counter "fastclose server test" "MPTcpExtMPFastcloseRx"; then
- test_linkfail=1024 \
- run_tests $ns1 $ns2 10.0.1.1 0 fastclose_server
+ test_linkfail=1024 addr_nr_ns2=fastclose_server \
+ run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 0 0 0
chk_fclose_nr 1 1 invert
chk_rst_nr 1 1
@@ -3309,7 +3338,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 slow backup
+ run_tests $ns1 $ns2 10.0.1.1 slow backup
chk_join_nr 1 1 0
chk_prio_nr 0 0
fi
@@ -3322,7 +3351,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
- run_tests $ns1 $ns2 10.0.1.1 0 -1 slow
+ addr_nr_ns2=-1 \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 0 0 0
chk_rm_nr 0 0
fi
@@ -3332,7 +3362,7 @@ 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 0 0 speed_10 &
+ run_tests $ns1 $ns2 10.0.1.1 speed_10 &
local tests_pid=$!
wait_mpj $ns1
userspace_pm_add_addr 10.0.2.1 10
@@ -3352,7 +3382,7 @@ 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 0 0 speed_10 &
+ run_tests $ns1 $ns2 10.0.1.1 speed_10 &
local tests_pid=$!
wait_mpj $ns2
userspace_pm_add_sf 10.0.3.2 20
@@ -3375,7 +3405,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 slow 2>/dev/null &
+ run_tests $ns1 $ns2 10.0.1.1 slow 2>/dev/null &
wait_mpj $ns1
pm_nl_check_endpoint 1 "creation" \
@@ -3399,7 +3429,7 @@ endpoint_tests()
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 0 0 speed_20 2>/dev/null &
+ run_tests $ns1 $ns2 10.0.1.1 speed_20 2>/dev/null &
wait_mpj $ns2
chk_subflow_nr needtitle "before delete" 2
--
2.35.3
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH mptcp-next v20 07/10] selftests: mptcp: drop sflags parameter
2023-06-16 7:30 [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2 Geliang Tang
` (5 preceding siblings ...)
2023-06-16 7:30 ` [PATCH mptcp-next v20 06/10] selftests: mptcp: drop addr_nr_ns1/2 parameters Geliang Tang
@ 2023-06-16 7:30 ` Geliang Tang
2023-06-16 7:31 ` [PATCH mptcp-next v20 08/10] selftests: mptcp: add pm_nl_set_endpoint helper Geliang Tang
` (4 subsequent siblings)
11 siblings, 0 replies; 19+ messages in thread
From: Geliang Tang @ 2023-06-16 7:30 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
run_tests() accepts too many optional parameters. Before this modification,
it was required to set all of then when only the last one had to be
changed. That's not clear to see all these 0 and it makes the maintenance
harder:
run_tests $ns1 $ns2 10.0.1.1 1 2 3 slow
Instead, the parameter can be set as an env var with a limited scope:
foo=1 bar=2 next=3 \
run_tests $ns1 $ns2 10.0.1.1 slow
This patch switches to key/value "sflags=*" instead of positional parameter
sflags of do_transfer() and run_tests().
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 39 +++++++++++--------
1 file changed, 22 insertions(+), 17 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index f9bf4733ca41..49d0fa5496a2 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -53,6 +53,7 @@ export FAILING_LINKS=""
export test_linkfail=0
export addr_nr_ns1=0
export addr_nr_ns2=0
+export sflags=""
# generated using "nfbpf_compile '(ip && (ip[54] & 0xf0) == 0x30) ||
# (ip6 && (ip6[74] & 0xf0) == 0x30)'"
@@ -829,7 +830,6 @@ do_transfer()
local srv_proto="$4"
local connect_addr="$5"
local speed="$6"
- local sflags="${7}"
local port=$((10000 + TEST_COUNT - 1))
local cappid
@@ -1147,7 +1147,6 @@ run_tests()
local connector_ns="$2"
local connect_addr="$3"
local speed="${4:-fast}"
- local sflags="${5:-""}"
local size
@@ -1191,8 +1190,7 @@ run_tests()
make_file "$sinfail" "server" $size
fi
- do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} \
- ${speed} ${sflags}
+ do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} ${speed}
}
dump_stats()
@@ -2693,7 +2691,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
- run_tests $ns1 $ns2 10.0.1.1 slow nobackup
+ sflags=nobackup \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
chk_prio_nr 0 1
fi
@@ -2704,7 +2703,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
- run_tests $ns1 $ns2 10.0.1.1 slow backup
+ sflags=backup \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
chk_add_nr 1 1
chk_prio_nr 1 1
@@ -2716,7 +2716,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
- run_tests $ns1 $ns2 10.0.1.1 slow backup
+ sflags=backup \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
chk_add_nr 1 1
chk_prio_nr 1 1
@@ -2742,7 +2743,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
- run_tests $ns1 $ns2 10.0.1.1 slow backup
+ sflags=backup \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 0 0 0
chk_prio_nr 0 1
fi
@@ -2751,7 +2753,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
- run_tests $ns1 $ns2 10.0.1.1 slow backup
+ sflags=backup \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 0 0 0
chk_prio_nr 1 1
fi
@@ -3126,8 +3129,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 \
- run_tests $ns1 $ns2 10.0.1.1 slow fullmesh
+ addr_nr_ns2=1 sflags=fullmesh \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 2 2 2
chk_rm_nr 0 1
fi
@@ -3138,8 +3141,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
- addr_nr_ns2=fullmesh_1 \
- run_tests $ns1 $ns2 10.0.1.1 slow nofullmesh
+ addr_nr_ns2=fullmesh_1 sflags=nofullmesh \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 2 2 2
chk_rm_nr 0 1
fi
@@ -3150,8 +3153,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 run_tests \
- $ns1 $ns2 10.0.1.1 slow backup,fullmesh
+ addr_nr_ns2=1 sflags=backup,fullmesh \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 2 2 2
chk_prio_nr 0 1
chk_rm_nr 0 1
@@ -3163,7 +3166,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
- run_tests $ns1 $ns2 10.0.1.1 slow nobackup,nofullmesh
+ sflags=nobackup,nofullmesh \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 2 2 2
chk_prio_nr 0 1
chk_rm_nr 0 1
@@ -3338,7 +3342,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
- run_tests $ns1 $ns2 10.0.1.1 slow backup
+ sflags=backup \
+ run_tests $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 0
chk_prio_nr 0 0
fi
--
2.35.3
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH mptcp-next v20 08/10] selftests: mptcp: add pm_nl_set_endpoint helper
2023-06-16 7:30 [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2 Geliang Tang
` (6 preceding siblings ...)
2023-06-16 7:30 ` [PATCH mptcp-next v20 07/10] selftests: mptcp: drop sflags parameter Geliang Tang
@ 2023-06-16 7:31 ` Geliang Tang
2023-06-16 7:31 ` [PATCH mptcp-next v20 09/10] selftests: mptcp: pass fastclose to sflags Geliang Tang
` (3 subsequent siblings)
11 siblings, 0 replies; 19+ messages in thread
From: Geliang Tang @ 2023-06-16 7:31 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
This patch moves endpoint settings out of do_transfer() into a new
helper pm_nl_set_endpoint(). And invoke this helper in do_transfer().
This makes the code much more clearer.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 235 +++++++++---------
1 file changed, 122 insertions(+), 113 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 49d0fa5496a2..c3c8471f9ad1 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -822,122 +822,11 @@ pm_nl_check_endpoint()
fi
}
-do_transfer()
+pm_nl_set_endpoint()
{
local listener_ns="$1"
local connector_ns="$2"
- local cl_proto="$3"
- local srv_proto="$4"
- local connect_addr="$5"
- local speed="$6"
-
- 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 flags="subflow"
- local extra_cl_args=""
- local extra_srv_args=""
- local trunc_size=""
- if [[ "${addr_nr_ns2}" = "fastclose_"* ]]; then
- if [ ${test_linkfail} -le 1 ]; then
- echo "fastclose tests need test_linkfail argument"
- fail_test
- return 1
- fi
-
- # disconnect
- trunc_size=${test_linkfail}
- local side=${addr_nr_ns2:10}
-
- if [ ${side} = "client" ]; then
- extra_cl_args="-f ${test_linkfail}"
- extra_srv_args="-f -1"
- elif [ ${side} = "server" ]; then
- extra_srv_args="-f ${test_linkfail}"
- extra_cl_args="-f -1"
- else
- echo "wrong/unknown fastclose spec ${side}"
- fail_test
- return 1
- fi
- addr_nr_ns2=0
- elif [[ "${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_linkfail" -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_linkfail" -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_linkfail" -eq 1 ] || [ "$test_linkfail" -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=$!
+ local connect_addr="$3"
# let the mptcp subflow be established in background before
# do endpoint manipulation
@@ -1077,6 +966,126 @@ do_transfer()
done
done
fi
+}
+
+do_transfer()
+{
+ local listener_ns="$1"
+ local connector_ns="$2"
+ local cl_proto="$3"
+ local srv_proto="$4"
+ local connect_addr="$5"
+ local speed="$6"
+
+ 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 flags="subflow"
+ local extra_cl_args=""
+ local extra_srv_args=""
+ local trunc_size=""
+ if [[ "${addr_nr_ns2}" = "fastclose_"* ]]; then
+ if [ ${test_linkfail} -le 1 ]; then
+ echo "fastclose tests need test_linkfail argument"
+ fail_test
+ return 1
+ fi
+
+ # disconnect
+ trunc_size=${test_linkfail}
+ local side=${addr_nr_ns2:10}
+
+ if [ ${side} = "client" ]; then
+ extra_cl_args="-f ${test_linkfail}"
+ extra_srv_args="-f -1"
+ elif [ ${side} = "server" ]; then
+ extra_srv_args="-f ${test_linkfail}"
+ extra_cl_args="-f -1"
+ else
+ echo "wrong/unknown fastclose spec ${side}"
+ fail_test
+ return 1
+ fi
+ addr_nr_ns2=0
+ elif [[ "${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_linkfail" -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_linkfail" -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_linkfail" -eq 1 ] || [ "$test_linkfail" -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=$!
+
+ pm_nl_set_endpoint $listener_ns $connector_ns $connect_addr
wait $cpid
local retc=$?
--
2.35.3
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH mptcp-next v20 09/10] selftests: mptcp: pass fastclose to sflags
2023-06-16 7:30 [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2 Geliang Tang
` (7 preceding siblings ...)
2023-06-16 7:31 ` [PATCH mptcp-next v20 08/10] selftests: mptcp: add pm_nl_set_endpoint helper Geliang Tang
@ 2023-06-16 7:31 ` Geliang Tang
2023-06-19 15:04 ` Matthieu Baerts
2023-06-16 7:31 ` [PATCH mptcp-next v20 10/10] selftests: mptcp: set endpoint out of transfer Geliang Tang
` (2 subsequent siblings)
11 siblings, 1 reply; 19+ messages in thread
From: Geliang Tang @ 2023-06-16 7:31 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Pass fastclose flag to the sflags argument instead of addr_nr_ns2.
Then the fullmesh flag setting can be moved into pm_nl_set_endpoint()
from do_transfer().
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index c3c8471f9ad1..89379815b619 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -828,6 +828,12 @@ pm_nl_set_endpoint()
local connector_ns="$2"
local connect_addr="$3"
+ local flags="subflow"
+ if [[ "${addr_nr_ns2}" = "fullmesh_"* ]]; then
+ flags="${flags},fullmesh"
+ addr_nr_ns2=${addr_nr_ns2:9}
+ fi
+
# let the mptcp subflow be established in background before
# do endpoint manipulation
if [ $addr_nr_ns1 != "0" ] || [ $addr_nr_ns2 != "0" ]; then
@@ -1015,11 +1021,10 @@ do_transfer()
extra_args="-r ${speed:6}"
fi
- local flags="subflow"
local extra_cl_args=""
local extra_srv_args=""
local trunc_size=""
- if [[ "${addr_nr_ns2}" = "fastclose_"* ]]; then
+ if [[ "${sflags}" = "fastclose_"* ]]; then
if [ ${test_linkfail} -le 1 ]; then
echo "fastclose tests need test_linkfail argument"
fail_test
@@ -1028,7 +1033,7 @@ do_transfer()
# disconnect
trunc_size=${test_linkfail}
- local side=${addr_nr_ns2:10}
+ local side=${sflags:10}
if [ ${side} = "client" ]; then
extra_cl_args="-f ${test_linkfail}"
@@ -1041,10 +1046,6 @@ do_transfer()
fail_test
return 1
fi
- addr_nr_ns2=0
- elif [[ "${addr_nr_ns2}" = "fullmesh_"* ]]; then
- flags="${flags},fullmesh"
- addr_nr_ns2=${addr_nr_ns2:9}
fi
extra_srv_args="$extra_args $extra_srv_args"
@@ -3186,7 +3187,7 @@ fullmesh_tests()
fastclose_tests()
{
if reset_check_counter "fastclose test" "MPTcpExtMPFastcloseTx"; then
- test_linkfail=1024 addr_nr_ns2=fastclose_client \
+ test_linkfail=1024 sflags=fastclose_client \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 0 0 0
chk_fclose_nr 1 1
@@ -3194,7 +3195,7 @@ fastclose_tests()
fi
if reset_check_counter "fastclose server test" "MPTcpExtMPFastcloseRx"; then
- test_linkfail=1024 addr_nr_ns2=fastclose_server \
+ test_linkfail=1024 sflags=fastclose_server \
run_tests $ns1 $ns2 10.0.1.1
chk_join_nr 0 0 0
chk_fclose_nr 1 1 invert
--
2.35.3
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH mptcp-next v20 10/10] selftests: mptcp: set endpoint out of transfer
2023-06-16 7:30 [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2 Geliang Tang
` (8 preceding siblings ...)
2023-06-16 7:31 ` [PATCH mptcp-next v20 09/10] selftests: mptcp: pass fastclose to sflags Geliang Tang
@ 2023-06-16 7:31 ` Geliang Tang
2023-06-16 8:37 ` selftests: mptcp: set endpoint out of transfer: Tests Results MPTCP CI
` (2 more replies)
2023-06-19 14:56 ` [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2 Matthieu Baerts
2023-06-20 11:50 ` Matthieu Baerts
11 siblings, 3 replies; 19+ messages in thread
From: Geliang Tang @ 2023-06-16 7:31 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
This patch adds a new flag set_endpoint_outside to control whether
endpoints are set in do_transfer().
Add a new function run_tests_bg(), in it run tests in the background
and set endpoint outside do_transfer().
Many tests can use this run_tests_bg() instead of run_tests().
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 65 ++++++++++++-------
1 file changed, 42 insertions(+), 23 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 89379815b619..f5a79a88131e 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -54,6 +54,7 @@ export test_linkfail=0
export addr_nr_ns1=0
export addr_nr_ns2=0
export sflags=""
+export set_endpoint_outside=0
# generated using "nfbpf_compile '(ip && (ip[54] & 0xf0) == 0x30) ||
# (ip6 && (ip6[74] & 0xf0) == 0x30)'"
@@ -1086,7 +1087,9 @@ do_transfer()
fi
local cpid=$!
- pm_nl_set_endpoint $listener_ns $connector_ns $connect_addr
+ if [ $set_endpoint_outside -eq 0 ]; then
+ pm_nl_set_endpoint $listener_ns $connector_ns $connect_addr
+ fi
wait $cpid
local retc=$?
@@ -1203,6 +1206,22 @@ run_tests()
do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} ${speed}
}
+run_tests_bg()
+{
+ local listener_ns="$1"
+ local connector_ns="$2"
+ local connect_addr="$3"
+ local speed="${4:-fast}"
+ local wait_join="${5:-0}"
+
+ set_endpoint_outside=1 \
+ run_tests $listener_ns $connector_ns $connect_addr $speed &
+ local tests_pid=$!
+ [ $wait_join -eq 1 ] && wait_mpj $connector_ns
+ pm_nl_set_endpoint $listener_ns $connector_ns $connect_addr
+ wait $tests_pid
+}
+
dump_stats()
{
echo Server ns stats
@@ -2285,7 +2304,7 @@ remove_tests()
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
+ run_tests_bg $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
chk_rm_tx_nr 1
chk_rm_nr 1 1
@@ -2309,7 +2328,7 @@ remove_tests()
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
+ run_tests_bg $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
chk_add_nr 1 1
chk_rm_nr 1 1 invert
@@ -2322,7 +2341,7 @@ remove_tests()
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
+ run_tests_bg $ns1 $ns2 10.0.1.1 slow
chk_join_nr 2 2 2
chk_add_nr 1 1
chk_rm_nr 1 1
@@ -2336,7 +2355,7 @@ remove_tests()
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
+ run_tests_bg $ns1 $ns2 10.0.1.1 speed_10 1
chk_join_nr 3 3 3
chk_add_nr 1 1
chk_rm_nr 2 2
@@ -2350,7 +2369,7 @@ remove_tests()
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
+ run_tests_bg $ns1 $ns2 10.0.1.1 speed_10 1
chk_join_nr 3 3 3
chk_add_nr 3 3
chk_rm_nr 3 3 invert
@@ -2364,7 +2383,7 @@ remove_tests()
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
+ run_tests_bg $ns1 $ns2 10.0.1.1 speed_10 1
chk_join_nr 1 1 1
chk_add_nr 3 3
chk_rm_nr 3 1 invert
@@ -2462,7 +2481,7 @@ add_tests()
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
+ run_tests_bg $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
fi
@@ -2471,7 +2490,7 @@ add_tests()
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
+ run_tests_bg $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
chk_add_nr 1 1
fi
@@ -2481,7 +2500,7 @@ add_tests()
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
+ run_tests_bg $ns1 $ns2 10.0.1.1 slow
chk_join_nr 2 2 2
fi
@@ -2490,7 +2509,7 @@ add_tests()
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
+ run_tests_bg $ns1 $ns2 dead:beef:1::1 slow
chk_join_nr 2 2 2
fi
@@ -2499,7 +2518,7 @@ add_tests()
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
+ run_tests_bg $ns1 $ns2 dead:beef:1::1 slow
chk_join_nr 2 2 2
chk_add_nr 2 2
fi
@@ -2754,7 +2773,7 @@ backup_tests()
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
+ run_tests_bg $ns1 $ns2 10.0.1.1 slow
chk_join_nr 0 0 0
chk_prio_nr 0 1
fi
@@ -2764,7 +2783,7 @@ backup_tests()
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
+ run_tests_bg $ns1 $ns2 10.0.1.1 slow
chk_join_nr 0 0 0
chk_prio_nr 1 1
fi
@@ -2854,7 +2873,7 @@ add_addr_ports_tests()
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
+ run_tests_bg $ns1 $ns2 10.0.1.1 slow
chk_join_nr 1 1 1
chk_add_nr 1 1 1
chk_rm_nr 1 1 invert
@@ -3088,7 +3107,7 @@ fullmesh_tests()
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
+ run_tests_bg $ns1 $ns2 10.0.1.1 slow
chk_join_nr 4 4 4
chk_add_nr 1 1
fi
@@ -3101,7 +3120,7 @@ fullmesh_tests()
pm_nl_set_limits $ns2 1 3
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
addr_nr_ns2=fullmesh_1 \
- run_tests $ns1 $ns2 10.0.1.1 slow
+ run_tests_bg $ns1 $ns2 10.0.1.1 slow
chk_join_nr 3 3 3
chk_add_nr 1 1
fi
@@ -3114,7 +3133,7 @@ fullmesh_tests()
pm_nl_set_limits $ns2 1 5
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
addr_nr_ns2=fullmesh_2 \
- run_tests $ns1 $ns2 10.0.1.1 slow
+ run_tests_bg $ns1 $ns2 10.0.1.1 slow
chk_join_nr 5 5 5
chk_add_nr 1 1
fi
@@ -3128,7 +3147,7 @@ fullmesh_tests()
pm_nl_set_limits $ns2 1 4
pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
addr_nr_ns2=fullmesh_2 \
- run_tests $ns1 $ns2 10.0.1.1 slow
+ run_tests_bg $ns1 $ns2 10.0.1.1 slow
chk_join_nr 4 4 4
chk_add_nr 1 1
fi
@@ -3140,7 +3159,7 @@ fullmesh_tests()
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
+ run_tests_bg $ns1 $ns2 10.0.1.1 slow
chk_join_nr 2 2 2
chk_rm_nr 0 1
fi
@@ -3152,7 +3171,7 @@ fullmesh_tests()
pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow,fullmesh
pm_nl_set_limits $ns2 4 4
addr_nr_ns2=fullmesh_1 sflags=nofullmesh \
- run_tests $ns1 $ns2 10.0.1.1 slow
+ run_tests_bg $ns1 $ns2 10.0.1.1 slow
chk_join_nr 2 2 2
chk_rm_nr 0 1
fi
@@ -3164,7 +3183,7 @@ fullmesh_tests()
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
+ run_tests_bg $ns1 $ns2 10.0.1.1 slow
chk_join_nr 2 2 2
chk_prio_nr 0 1
chk_rm_nr 0 1
@@ -3367,7 +3386,7 @@ userspace_tests()
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
+ run_tests_bg $ns1 $ns2 10.0.1.1 slow
chk_join_nr 0 0 0
chk_rm_nr 0 0
fi
--
2.35.3
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: selftests: mptcp: set endpoint out of transfer: Tests Results
2023-06-16 7:31 ` [PATCH mptcp-next v20 10/10] selftests: mptcp: set endpoint out of transfer Geliang Tang
@ 2023-06-16 8:37 ` MPTCP CI
2023-06-19 15:05 ` [PATCH mptcp-next v20 10/10] selftests: mptcp: set endpoint out of transfer Matthieu Baerts
2023-06-19 15:57 ` selftests: mptcp: set endpoint out of transfer: Tests Results MPTCP CI
2 siblings, 0 replies; 19+ messages in thread
From: MPTCP CI @ 2023-06-16 8:37 UTC (permalink / raw)
To: Geliang Tang; +Cc: mptcp
Hi Geliang,
Thank you for your modifications, that's great!
Our CI did some validations and here is its report:
- KVM Validation: normal (except selftest_mptcp_join):
- Success! ✅:
- Task: https://cirrus-ci.com/task/4695769727369216
- Summary: https://api.cirrus-ci.com/v1/artifact/task/4695769727369216/summary/summary.txt
- KVM Validation: debug (only selftest_mptcp_join):
- Success! ✅:
- Task: https://cirrus-ci.com/task/6384619587633152
- Summary: https://api.cirrus-ci.com/v1/artifact/task/6384619587633152/summary/summary.txt
- KVM Validation: debug (except selftest_mptcp_join):
- Success! ✅:
- Task: https://cirrus-ci.com/task/5258719680790528
- Summary: https://api.cirrus-ci.com/v1/artifact/task/5258719680790528/summary/summary.txt
- KVM Validation: normal (only selftest_mptcp_join):
- Success! ✅:
- Task: https://cirrus-ci.com/task/5821669634211840
- Summary: https://api.cirrus-ci.com/v1/artifact/task/5821669634211840/summary/summary.txt
Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/0030d6af0c69
If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:
$ cd [kernel source code]
$ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
--pull always mptcp/mptcp-upstream-virtme-docker:latest \
auto-debug
For more details:
https://github.com/multipath-tcp/mptcp-upstream-virtme-docker
Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)
Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (Tessares)
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2
2023-06-16 7:30 [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2 Geliang Tang
` (9 preceding siblings ...)
2023-06-16 7:31 ` [PATCH mptcp-next v20 10/10] selftests: mptcp: set endpoint out of transfer Geliang Tang
@ 2023-06-19 14:56 ` Matthieu Baerts
2023-06-20 11:50 ` Matthieu Baerts
11 siblings, 0 replies; 19+ messages in thread
From: Matthieu Baerts @ 2023-06-19 14:56 UTC (permalink / raw)
To: Geliang Tang, mptcp
Hi Geliang,
On 16/06/2023 09:30, Geliang Tang wrote:
> v20:
> - #1-#8, only update the commit logs with warnings reported by checkpatch.
> - #10 don't update the tests which needs to be slower than before.
>
> v19:
> - rename to userspace_pm_rm_sf_addr_ns1/2, and call wait_rm_addr and
> wait_rm_sf in them.
> - update chk_mptcp_info.
> - set FAILING_LINKS in run_tests
> - update commit logs.
Thank you for the new versions! (and sorry for the delay)
The first 8 patches look good to me, just a small request for patch 3/10
but I can also apply a squash-to patch or do the modifications myself
when applying them if that's OK for you.
Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
For patches 9 and 10/10, I have a few questions, especially for 10/10
where I don't understand why it is needed. Do you mind explaining that
before sending a new version (if needed)?.
Cheers,
Matt
--
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH mptcp-next v20 03/10] selftests: mptcp: check subflow and addr infos
2023-06-16 7:30 ` [PATCH mptcp-next v20 03/10] selftests: mptcp: check subflow and addr infos Geliang Tang
@ 2023-06-19 15:01 ` Matthieu Baerts
2023-06-20 5:15 ` Geliang Tang
0 siblings, 1 reply; 19+ messages in thread
From: Matthieu Baerts @ 2023-06-19 15:01 UTC (permalink / raw)
To: Geliang Tang, mptcp
Hi Geliang,
On 16/06/2023 09:30, Geliang Tang wrote:
> This patch adds more arguments for chk_mptcp_info() to check subflows,
> add_addr_signal and add_addr_accepted infos of different namespaces. And
> invokes chk_mptcp_info() to check subflows infos of userspace PM tests
> and endpoint tests.
>
> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
> ---
> .../testing/selftests/net/mptcp/mptcp_join.sh | 48 +++++++++++--------
> 1 file changed, 28 insertions(+), 20 deletions(-)
>
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> index 3baa6ac3b03e..3811a6c3dc5d 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> @@ -1832,31 +1832,32 @@ chk_subflow_nr()
>
> chk_mptcp_info()
> {
> - local nr_info=$1
> - local info
> + local info1=$1
> + local nr1=$2
> + local info2=$3
> + local nr2=$4
> local cnt1
> local cnt2
> local dump_stats
>
> - if [[ $nr_info = "subflows_"* ]]; then
> - info="subflows"
> - nr_info=${nr_info:9}
> - else
> - echo "[fail] unsupported argument: $nr_info"
> - fail_test
> - return 1
> - fi
> + printf "%-${nr_blank}s %-30s" " " "mptcp_info $info1:$info2=$nr1:$nr2"
>
> - printf "%-${nr_blank}s %-30s" " " "mptcp_info $info=$nr_info"
> + cnt1="$(ss -N $ns1 -inmHM)"
> + cnt2="$(ss -N $ns2 -inmHM)"
(I don't think we need "-m" but it was already there before)
> + if [ -z "${cnt1}" ] || [ -z "${cnt2}" ]; then
> + mptcp_lib_fail_if_expected_feature "$info1:$info2 SS counter"
> + echo "[skip]"
> + return
If I'm not mistaken, here, we are going to skip the check if:
- "ss -M" is not supported
- there is no (more) active MPTCP connection
I think that's not correct to skip the checks here because some features
are missing for these reasons:
- For "ss -M" support, it is probably best to do that in check_tools()
function, similar to what is done in diag.sh:
if ! ss -h | grep -q MPTCP; then (...)
- if there is no more active MPTCP connection, we should then assume the
counter is 0 and not skip the check because maybe we have an issue if we
expect to have active connections.
In both cases, it is not linked to the info we are trying to grab and
the printed message that expected features are missing is confusing (and
wrong).
=> So I think it would be better to:
- add a new patch checking if 'ss' supports MPTCP (can be done in
another series)
- here: just assume the counter is 0 if 'ss' output is empty
Also, I just remembered 'ss' will only display the counters that are
different from 0... That's a nice thing to do to reduce the number of
info displayed by ss but it means we cannot use 'ss' to know if the
counter is supported by old kernels... On the other hand, all the
counters you are getting for the moment (subflow, add_addr_signal +
accepted) are present since kernel v5.9 so before the first LTS version
with MPTCP support so we are good. If one day we want to get new
counters, we will first need to check if the running kernel supports
such counters. We can do that later. So no need to skip the tests here
if it looks like features are missing.
=> In other words, sorry for the confusion but I think it would be
better to go back to what you were doing before: without the 'if' and by
retrieving info in one step:
cnt1=$(ss -N $ns1 -inmHM | grep "$info1:" |
sed -n 's/.*\('"$info1"':\)\([[:digit:]]*\).*$/\2/p;q')
# 'ss' only display active connections and counters that are not 0.
[ -z "$cnt1" ] && cnt1=0
If there is no other modifications in this v20, I can do the
modification myself if that's OK for you. Or I can apply a Squash-to
patch if you prefer.
Cheers,
Matt
--
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH mptcp-next v20 09/10] selftests: mptcp: pass fastclose to sflags
2023-06-16 7:31 ` [PATCH mptcp-next v20 09/10] selftests: mptcp: pass fastclose to sflags Geliang Tang
@ 2023-06-19 15:04 ` Matthieu Baerts
0 siblings, 0 replies; 19+ messages in thread
From: Matthieu Baerts @ 2023-06-19 15:04 UTC (permalink / raw)
To: Geliang Tang, mptcp
Hi Geliang,
On 16/06/2023 09:31, Geliang Tang wrote:
> Pass fastclose flag to the sflags argument instead of addr_nr_ns2.
Please *always* explain the reason(s) the commit message.
Here I guess you do that because it is clearer, right?
> Then the fullmesh flag setting can be moved into pm_nl_set_endpoint()
> from do_transfer().
Just to know, do you plan to simplify this part as well? e.g. to be able
to do something like:
fullmesh=2 (...) \
run_tests (...)
if [ -n "${fullmesh}" ]; then
flags="${flags},fullmesh"
addr_nr_ns2=${fullmesh}
fi
or:
sflags=fullmesh addr_nr_ns2=2 (...) \
run_tests (...)
and stop doing stuffs like:
if [[ "${foo}" = "bar_"* ]]; then
extracted_var=${foo:42}
> extra_args="-r ${speed:6}"
> fi
>
> - local flags="subflow"
> local extra_cl_args=""
> local extra_srv_args=""
> local trunc_size=""
> - if [[ "${addr_nr_ns2}" = "fastclose_"* ]]; then
> + if [[ "${sflags}" = "fastclose_"* ]]; then
> if [ ${test_linkfail} -le 1 ]; then
> echo "fastclose tests need test_linkfail argument"
> fail_test
Why not using a new "key"? e.g.
fastclose=client \
run_tests (...)
You would have here something clearer:
if [ -n "${fastclose}" ]; then
local side=${fastclose}
(not directly related but it is the same for speed_XX (e.g. speed_10),
we could pass speed=10 and even speed=slow but that's for a different
commit if you are interested to change that too ;) )
Cheers,
Matt
--
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH mptcp-next v20 10/10] selftests: mptcp: set endpoint out of transfer
2023-06-16 7:31 ` [PATCH mptcp-next v20 10/10] selftests: mptcp: set endpoint out of transfer Geliang Tang
2023-06-16 8:37 ` selftests: mptcp: set endpoint out of transfer: Tests Results MPTCP CI
@ 2023-06-19 15:05 ` Matthieu Baerts
2023-06-19 15:57 ` selftests: mptcp: set endpoint out of transfer: Tests Results MPTCP CI
2 siblings, 0 replies; 19+ messages in thread
From: Matthieu Baerts @ 2023-06-19 15:05 UTC (permalink / raw)
To: Geliang Tang, mptcp
Hi Geliang,
On 16/06/2023 09:31, Geliang Tang wrote:
> This patch adds a new flag set_endpoint_outside to control whether
> endpoints are set in do_transfer().
>
> Add a new function run_tests_bg(), in it run tests in the background
> and set endpoint outside do_transfer().
>
> Many tests can use this run_tests_bg() instead of run_tests().
Thank you for the patch but I'm not sure to see the benefits of it. Do
you mind explaining why it is interesting to do that? Is it to
accelerate/stabilise some tests?
> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
> ---
> .../testing/selftests/net/mptcp/mptcp_join.sh | 65 ++++++++++++-------
> 1 file changed, 42 insertions(+), 23 deletions(-)
>
> diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> index 89379815b619..f5a79a88131e 100755
> --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> @@ -54,6 +54,7 @@ export test_linkfail=0
> export addr_nr_ns1=0
> export addr_nr_ns2=0
> export sflags=""
> +export set_endpoint_outside=0
Note that all these new variables above could be set where we need them,
just with
local set_endpoint_outside=${set_endpoint_outside:-0}
> # generated using "nfbpf_compile '(ip && (ip[54] & 0xf0) == 0x30) ||
> # (ip6 && (ip6[74] & 0xf0) == 0x30)'"
> @@ -1086,7 +1087,9 @@ do_transfer()
> fi
> local cpid=$!
>
> - pm_nl_set_endpoint $listener_ns $connector_ns $connect_addr
> + if [ $set_endpoint_outside -eq 0 ]; then
> + pm_nl_set_endpoint $listener_ns $connector_ns $connect_addr
> + fi
>
> wait $cpid
> local retc=$?
> @@ -1203,6 +1206,22 @@ run_tests()
> do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP ${connect_addr} ${speed}
> }
>
> +run_tests_bg()
> +{
> + local listener_ns="$1"
> + local connector_ns="$2"
> + local connect_addr="$3"
> + local speed="${4:-fast}"
> + local wait_join="${5:-0}"
You could also call the function with an env var:
wait_join=1 \
run_tests_bg (...)
In this case, run_tests_bg() will take the same arguments as run_tests()
and you could do:
set_endpoint_outside=1 \
run_tests "${@}" &
(maybe you don't even need an extra function and do such modifications
in run_tests() directly, no? maybe it is just that I didn't understand
why you want to do such modifications :) )
Cheers,
Matt
--
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: selftests: mptcp: set endpoint out of transfer: Tests Results
2023-06-16 7:31 ` [PATCH mptcp-next v20 10/10] selftests: mptcp: set endpoint out of transfer Geliang Tang
2023-06-16 8:37 ` selftests: mptcp: set endpoint out of transfer: Tests Results MPTCP CI
2023-06-19 15:05 ` [PATCH mptcp-next v20 10/10] selftests: mptcp: set endpoint out of transfer Matthieu Baerts
@ 2023-06-19 15:57 ` MPTCP CI
2 siblings, 0 replies; 19+ messages in thread
From: MPTCP CI @ 2023-06-19 15:57 UTC (permalink / raw)
To: Geliang Tang; +Cc: mptcp
Hi Geliang,
Thank you for your modifications, that's great!
Our CI did some validations and here is its report:
- KVM Validation: normal (except selftest_mptcp_join):
- Success! ✅:
- Task: https://cirrus-ci.com/task/4730991546204160
- Summary: https://api.cirrus-ci.com/v1/artifact/task/4730991546204160/summary/summary.txt
- KVM Validation: debug (except selftest_mptcp_join):
- Success! ✅:
- Task: https://cirrus-ci.com/task/5293941499625472
- Summary: https://api.cirrus-ci.com/v1/artifact/task/5293941499625472/summary/summary.txt
- KVM Validation: debug (only selftest_mptcp_join):
- Success! ✅:
- Task: https://cirrus-ci.com/task/6419841406468096
- Summary: https://api.cirrus-ci.com/v1/artifact/task/6419841406468096/summary/summary.txt
- KVM Validation: normal (only selftest_mptcp_join):
- Success! ✅:
- Task: https://cirrus-ci.com/task/5856891453046784
- Summary: https://api.cirrus-ci.com/v1/artifact/task/5856891453046784/summary/summary.txt
Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/c463ab649871
If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:
$ cd [kernel source code]
$ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
--pull always mptcp/mptcp-upstream-virtme-docker:latest \
auto-debug
For more details:
https://github.com/multipath-tcp/mptcp-upstream-virtme-docker
Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)
Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (Tessares)
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH mptcp-next v20 03/10] selftests: mptcp: check subflow and addr infos
2023-06-19 15:01 ` Matthieu Baerts
@ 2023-06-20 5:15 ` Geliang Tang
0 siblings, 0 replies; 19+ messages in thread
From: Geliang Tang @ 2023-06-20 5:15 UTC (permalink / raw)
To: Matthieu Baerts; +Cc: mptcp
On Mon, Jun 19, 2023 at 05:01:46PM +0200, Matthieu Baerts wrote:
> Hi Geliang,
>
> On 16/06/2023 09:30, Geliang Tang wrote:
> > This patch adds more arguments for chk_mptcp_info() to check subflows,
> > add_addr_signal and add_addr_accepted infos of different namespaces. And
> > invokes chk_mptcp_info() to check subflows infos of userspace PM tests
> > and endpoint tests.
> >
> > Signed-off-by: Geliang Tang <geliang.tang@suse.com>
> > ---
> > .../testing/selftests/net/mptcp/mptcp_join.sh | 48 +++++++++++--------
> > 1 file changed, 28 insertions(+), 20 deletions(-)
> >
> > diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> > index 3baa6ac3b03e..3811a6c3dc5d 100755
> > --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
> > +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
> > @@ -1832,31 +1832,32 @@ chk_subflow_nr()
> >
> > chk_mptcp_info()
> > {
> > - local nr_info=$1
> > - local info
> > + local info1=$1
> > + local nr1=$2
> > + local info2=$3
> > + local nr2=$4
> > local cnt1
> > local cnt2
> > local dump_stats
> >
> > - if [[ $nr_info = "subflows_"* ]]; then
> > - info="subflows"
> > - nr_info=${nr_info:9}
> > - else
> > - echo "[fail] unsupported argument: $nr_info"
> > - fail_test
> > - return 1
> > - fi
> > + printf "%-${nr_blank}s %-30s" " " "mptcp_info $info1:$info2=$nr1:$nr2"
> >
> > - printf "%-${nr_blank}s %-30s" " " "mptcp_info $info=$nr_info"
> > + cnt1="$(ss -N $ns1 -inmHM)"
> > + cnt2="$(ss -N $ns2 -inmHM)"
>
> (I don't think we need "-m" but it was already there before)
>
> > + if [ -z "${cnt1}" ] || [ -z "${cnt2}" ]; then
> > + mptcp_lib_fail_if_expected_feature "$info1:$info2 SS counter"
> > + echo "[skip]"
> > + return
>
> If I'm not mistaken, here, we are going to skip the check if:
> - "ss -M" is not supported
> - there is no (more) active MPTCP connection
>
> I think that's not correct to skip the checks here because some features
> are missing for these reasons:
>
> - For "ss -M" support, it is probably best to do that in check_tools()
> function, similar to what is done in diag.sh:
>
> if ! ss -h | grep -q MPTCP; then (...)
>
> - if there is no more active MPTCP connection, we should then assume the
> counter is 0 and not skip the check because maybe we have an issue if we
> expect to have active connections.
>
> In both cases, it is not linked to the info we are trying to grab and
> the printed message that expected features are missing is confusing (and
> wrong).
>
> => So I think it would be better to:
> - add a new patch checking if 'ss' supports MPTCP (can be done in
> another series)
> - here: just assume the counter is 0 if 'ss' output is empty
>
> Also, I just remembered 'ss' will only display the counters that are
> different from 0... That's a nice thing to do to reduce the number of
> info displayed by ss but it means we cannot use 'ss' to know if the
> counter is supported by old kernels... On the other hand, all the
> counters you are getting for the moment (subflow, add_addr_signal +
> accepted) are present since kernel v5.9 so before the first LTS version
> with MPTCP support so we are good. If one day we want to get new
> counters, we will first need to check if the running kernel supports
> such counters. We can do that later. So no need to skip the tests here
> if it looks like features are missing.
>
> => In other words, sorry for the confusion but I think it would be
> better to go back to what you were doing before: without the 'if' and by
> retrieving info in one step:
>
> cnt1=$(ss -N $ns1 -inmHM | grep "$info1:" |
> sed -n 's/.*\('"$info1"':\)\([[:digit:]]*\).*$/\2/p;q')
> # 'ss' only display active connections and counters that are not 0.
> [ -z "$cnt1" ] && cnt1=0
>
> If there is no other modifications in this v20, I can do the
> modification myself if that's OK for you. Or I can apply a Squash-to
> patch if you prefer.
Thanks Matt, please update this for me when merging it.
-Geliang
>
> Cheers,
> Matt
> --
> Tessares | Belgium | Hybrid Access Solutions
> www.tessares.net
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2
2023-06-16 7:30 [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2 Geliang Tang
` (10 preceding siblings ...)
2023-06-19 14:56 ` [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2 Matthieu Baerts
@ 2023-06-20 11:50 ` Matthieu Baerts
11 siblings, 0 replies; 19+ messages in thread
From: Matthieu Baerts @ 2023-06-20 11:50 UTC (permalink / raw)
To: Geliang Tang, mptcp
Hi Geliang,
On 16/06/2023 09:30, Geliang Tang wrote:
> v20:
> - #1-#8, only update the commit logs with warnings reported by checkpatch.
> - #10 don't update the tests which needs to be slower than before.
Thank you for the patches!
The first 8 patches have now been applied in our tree (feat. for
net-next) with my RvB tags and the suggested modifications for patch 3/8.
New patches for t/upstream:
- 311a895fb08b: mptcp: pass addr to mptcp_pm_alloc_anno_list
- 892a2add5178: selftests: mptcp: test userspace pm out of transfer
- 34da8c8c875b: selftests: mptcp: check subflow and addr infos
- 0aadb9475af5: selftests: mptcp: set FAILING_LINKS in run_tests
- b3ec9662b408: selftests: mptcp: drop test_linkfail parameter
- 5380de466d42: selftests: mptcp: drop addr_nr_ns1/2 parameters
- fc162dadad12: selftests: mptcp: drop sflags parameter
- 75bfcf686b7e: selftests: mptcp: add pm_nl_set_endpoint helper
- Results: d937892749f1..bd3628a02b79 (export)
Tests are now in progress:
https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20230620T114901
Cheers,
Matt
--
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2023-06-20 11:50 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-16 7:30 [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2 Geliang Tang
2023-06-16 7:30 ` [PATCH mptcp-next v20 01/10] mptcp: pass addr to mptcp_pm_alloc_anno_list Geliang Tang
2023-06-16 7:30 ` [PATCH mptcp-next v20 02/10] selftests: mptcp: test userspace pm out of transfer Geliang Tang
2023-06-16 7:30 ` [PATCH mptcp-next v20 03/10] selftests: mptcp: check subflow and addr infos Geliang Tang
2023-06-19 15:01 ` Matthieu Baerts
2023-06-20 5:15 ` Geliang Tang
2023-06-16 7:30 ` [PATCH mptcp-next v20 04/10] selftests: mptcp: set FAILING_LINKS in run_tests Geliang Tang
2023-06-16 7:30 ` [PATCH mptcp-next v20 05/10] selftests: mptcp: drop test_linkfail parameter Geliang Tang
2023-06-16 7:30 ` [PATCH mptcp-next v20 06/10] selftests: mptcp: drop addr_nr_ns1/2 parameters Geliang Tang
2023-06-16 7:30 ` [PATCH mptcp-next v20 07/10] selftests: mptcp: drop sflags parameter Geliang Tang
2023-06-16 7:31 ` [PATCH mptcp-next v20 08/10] selftests: mptcp: add pm_nl_set_endpoint helper Geliang Tang
2023-06-16 7:31 ` [PATCH mptcp-next v20 09/10] selftests: mptcp: pass fastclose to sflags Geliang Tang
2023-06-19 15:04 ` Matthieu Baerts
2023-06-16 7:31 ` [PATCH mptcp-next v20 10/10] selftests: mptcp: set endpoint out of transfer Geliang Tang
2023-06-16 8:37 ` selftests: mptcp: set endpoint out of transfer: Tests Results MPTCP CI
2023-06-19 15:05 ` [PATCH mptcp-next v20 10/10] selftests: mptcp: set endpoint out of transfer Matthieu Baerts
2023-06-19 15:57 ` selftests: mptcp: set endpoint out of transfer: Tests Results MPTCP CI
2023-06-19 14:56 ` [PATCH mptcp-next v20 00/10] update userspace pm mptcp_info fields part 2 Matthieu Baerts
2023-06-20 11:50 ` Matthieu Baerts
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.