.../testing/selftests/net/mptcp/mptcp_join.sh | 42 ++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-)
This patch adds userspace pm tests support for mptcp_join.sh script. Add a
userpace pm add_addr test case in userspace_tests().
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/net/mptcp/mptcp_join.sh | 42 ++++++++++++++++++-
1 file changed, 41 insertions(+), 1 deletion(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index a4406b7a8064..21fa79384c9c 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -654,6 +654,9 @@ do_transfer()
local port=$((10000 + TEST_COUNT - 1))
local cappid
+ local userspace_pm=0
+ local evts_ns1
+ local evts_ns1_pid
:> "$cout"
:> "$sout"
@@ -690,12 +693,24 @@ 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
+
if [[ "${addr_nr_ns2}" = "fastclose_"* ]]; then
# disconnect
extra_args="$extra_args -I ${addr_nr_ns2:10}"
addr_nr_ns2=0
fi
+ if [ $userspace_pm -eq 1 ]; then
+ evts_ns1=$(mktemp)
+ :> "$evts_ns1"
+ ip netns exec ${listener_ns} ./pm_nl_ctl events >> "$evts_ns1" 2>&1 &
+ evts_ns1_pid=$!
+ fi
+
local local_addr
if is_v6 "${connect_addr}"; then
local_addr="::"
@@ -748,6 +763,8 @@ do_transfer()
if [ $addr_nr_ns1 -gt 0 ]; then
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
@@ -755,9 +772,16 @@ do_transfer()
else
addr="10.0.$counter.1"
fi
- pm_nl_add_endpoint $ns1 $addr flags signal
+ if [ $userspace_pm -eq 0 ]; then
+ pm_nl_add_endpoint $ns1 $addr flags signal
+ else
+ tk=$(sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns1")
+ ip netns exec ${listener_ns} ./pm_nl_ctl ann $addr token $tk id $id
+ fi
+
counter=$((counter + 1))
add_nr_ns1=$((add_nr_ns1 - 1))
+ id=$((id + 1))
done
elif [ $addr_nr_ns1 -lt 0 ]; then
local rm_nr_ns1=$((-addr_nr_ns1))
@@ -890,6 +914,12 @@ do_transfer()
kill $cappid
fi
+ if [ $userspace_pm -eq 1 ]; then
+ kill $evts_ns1_pid
+ wait $evts_ns1_pid 2>/dev/null
+ rm -rf $evts_ns1
+ fi
+
NSTAT_HISTORY=/tmp/${listener_ns}.nstat ip netns exec ${listener_ns} \
nstat | grep Tcp > /tmp/${listener_ns}.out
NSTAT_HISTORY=/tmp/${connector_ns}.nstat ip netns exec ${connector_ns} \
@@ -2810,6 +2840,16 @@ userspace_tests()
chk_join_nr 0 0 0
chk_rm_nr 0 0
fi
+
+ # userspace pm add_addr
+ if reset "userspace pm add_addr"; then
+ set_userspace_pm $ns1
+ pm_nl_set_limits $ns1 2 2
+ pm_nl_set_limits $ns2 2 2
+ run_tests $ns1 $ns2 10.0.1.1 0 userspace_1 0 slow
+ chk_join_nr 1 1 1
+ chk_add_nr 1 1
+ fi
}
endpoint_tests()
--
2.35.3
On Fri, 10 Jun 2022, Geliang Tang wrote: > This patch adds userspace pm tests support for mptcp_join.sh script. Add a > userpace pm add_addr test case in userspace_tests(). > > Signed-off-by: Geliang Tang <geliang.tang@suse.com> Thanks for adding this test case. Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com> > --- > .../testing/selftests/net/mptcp/mptcp_join.sh | 42 ++++++++++++++++++- > 1 file changed, 41 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh > index a4406b7a8064..21fa79384c9c 100755 > --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh > +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh > @@ -654,6 +654,9 @@ do_transfer() > > local port=$((10000 + TEST_COUNT - 1)) > local cappid > + local userspace_pm=0 > + local evts_ns1 > + local evts_ns1_pid > > :> "$cout" > :> "$sout" > @@ -690,12 +693,24 @@ 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 > + > if [[ "${addr_nr_ns2}" = "fastclose_"* ]]; then > # disconnect > extra_args="$extra_args -I ${addr_nr_ns2:10}" > addr_nr_ns2=0 > fi > > + if [ $userspace_pm -eq 1 ]; then > + evts_ns1=$(mktemp) > + :> "$evts_ns1" > + ip netns exec ${listener_ns} ./pm_nl_ctl events >> "$evts_ns1" 2>&1 & > + evts_ns1_pid=$! > + fi > + > local local_addr > if is_v6 "${connect_addr}"; then > local_addr="::" > @@ -748,6 +763,8 @@ do_transfer() > if [ $addr_nr_ns1 -gt 0 ]; then > 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 > @@ -755,9 +772,16 @@ do_transfer() > else > addr="10.0.$counter.1" > fi > - pm_nl_add_endpoint $ns1 $addr flags signal > + if [ $userspace_pm -eq 0 ]; then > + pm_nl_add_endpoint $ns1 $addr flags signal > + else > + tk=$(sed -n 's/.*\(token:\)\([[:digit:]]*\).*$/\2/p;q' "$evts_ns1") > + ip netns exec ${listener_ns} ./pm_nl_ctl ann $addr token $tk id $id > + fi > + > counter=$((counter + 1)) > add_nr_ns1=$((add_nr_ns1 - 1)) > + id=$((id + 1)) > done > elif [ $addr_nr_ns1 -lt 0 ]; then > local rm_nr_ns1=$((-addr_nr_ns1)) > @@ -890,6 +914,12 @@ do_transfer() > kill $cappid > fi > > + if [ $userspace_pm -eq 1 ]; then > + kill $evts_ns1_pid > + wait $evts_ns1_pid 2>/dev/null > + rm -rf $evts_ns1 > + fi > + > NSTAT_HISTORY=/tmp/${listener_ns}.nstat ip netns exec ${listener_ns} \ > nstat | grep Tcp > /tmp/${listener_ns}.out > NSTAT_HISTORY=/tmp/${connector_ns}.nstat ip netns exec ${connector_ns} \ > @@ -2810,6 +2840,16 @@ userspace_tests() > chk_join_nr 0 0 0 > chk_rm_nr 0 0 > fi > + > + # userspace pm add_addr > + if reset "userspace pm add_addr"; then > + set_userspace_pm $ns1 > + pm_nl_set_limits $ns1 2 2 > + pm_nl_set_limits $ns2 2 2 > + run_tests $ns1 $ns2 10.0.1.1 0 userspace_1 0 slow > + chk_join_nr 1 1 1 > + chk_add_nr 1 1 > + fi > } > > endpoint_tests() > -- > 2.35.3 > > > -- Mat Martineau Intel
© 2016 - 2025 Red Hat, Inc.