From: Geliang Tang <tanggeliang@kylinos.cn>
Now both a v4 address and a v4-mapped address are supported when
destroying a userspace pm subflow, this patch adds random tests for both
addresses.
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/387
Fixes: 48d73f609dcc ("selftests: mptcp: update userspace pm addr tests")
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
tools/testing/selftests/net/mptcp/mptcp_join.sh | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index c07386e21e0a..a3bdbc896c6f 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -3333,12 +3333,13 @@ userspace_pm_rm_sf()
{
local evts=$evts_ns1
local t=${3:-1}
- local ip=4
+ local ip
local tk da dp sp
local cnt
[ "$1" == "$ns2" ] && evts=$evts_ns2
- if mptcp_lib_is_v6 $2; then ip=6; fi
+ [ -n "$(mptcp_lib_evts_get_info "saddr4" "$evts" $t)" ] && ip=4
+ [ -n "$(mptcp_lib_evts_get_info "saddr6" "$evts" $t)" ] && ip=6
tk=$(mptcp_lib_evts_get_info token "$evts")
da=$(mptcp_lib_evts_get_info "daddr$ip" "$evts" $t)
dp=$(mptcp_lib_evts_get_info dport "$evts" $t)
@@ -3441,7 +3442,11 @@ userspace_tests()
chk_subflows_total 2 2
chk_mptcp_info add_addr_signal 1 add_addr_accepted 1
userspace_pm_rm_addr $ns1 10
- userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $SUB_ESTABLISHED
+ if [ $((RANDOM%2)) -eq 0 ]; then
+ userspace_pm_rm_sf $ns1 ::ffff:10.0.2.1 $SUB_ESTABLISHED
+ else
+ userspace_pm_rm_sf $ns1 10.0.2.1 $SUB_ESTABLISHED
+ fi
chk_rm_nr 1 1 invert
chk_mptcp_info subflows 0 subflows 0
chk_subflows_total 1 1
--
2.40.1
On Thu, 1 Feb 2024, Geliang Tang wrote: > From: Geliang Tang <tanggeliang@kylinos.cn> > > Now both a v4 address and a v4-mapped address are supported when > destroying a userspace pm subflow, this patch adds random tests for both > addresses. > > Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/387 > Fixes: 48d73f609dcc ("selftests: mptcp: update userspace pm addr tests") > Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn> > --- > tools/testing/selftests/net/mptcp/mptcp_join.sh | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh > index c07386e21e0a..a3bdbc896c6f 100755 > --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh > +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh > @@ -3333,12 +3333,13 @@ userspace_pm_rm_sf() > { > local evts=$evts_ns1 > local t=${3:-1} > - local ip=4 > + local ip > local tk da dp sp > local cnt > > [ "$1" == "$ns2" ] && evts=$evts_ns2 > - if mptcp_lib_is_v6 $2; then ip=6; fi > + [ -n "$(mptcp_lib_evts_get_info "saddr4" "$evts" $t)" ] && ip=4 > + [ -n "$(mptcp_lib_evts_get_info "saddr6" "$evts" $t)" ] && ip=6 > tk=$(mptcp_lib_evts_get_info token "$evts") > da=$(mptcp_lib_evts_get_info "daddr$ip" "$evts" $t) > dp=$(mptcp_lib_evts_get_info dport "$evts" $t) > @@ -3441,7 +3442,11 @@ userspace_tests() > chk_subflows_total 2 2 > chk_mptcp_info add_addr_signal 1 add_addr_accepted 1 > userspace_pm_rm_addr $ns1 10 > - userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $SUB_ESTABLISHED > + if [ $((RANDOM%2)) -eq 0 ]; then > + userspace_pm_rm_sf $ns1 ::ffff:10.0.2.1 $SUB_ESTABLISHED > + else > + userspace_pm_rm_sf $ns1 10.0.2.1 $SUB_ESTABLISHED > + fi Instead of randomizing this test, does it work to add a second subflow to this test case? Then the two subflows could be removed two different ways (one with the v4mapped and one with v4)? That should avoid adding too much test time. - Mat > chk_rm_nr 1 1 invert > chk_mptcp_info subflows 0 subflows 0 > chk_subflows_total 1 1 > -- > 2.40.1 > > >
Hi Mat, On Mon, Feb 05, 2024 at 05:40:00PM -0800, Mat Martineau wrote: > On Thu, 1 Feb 2024, Geliang Tang wrote: > > > From: Geliang Tang <tanggeliang@kylinos.cn> > > > > Now both a v4 address and a v4-mapped address are supported when > > destroying a userspace pm subflow, this patch adds random tests for both > > addresses. > > > > Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/387 > > Fixes: 48d73f609dcc ("selftests: mptcp: update userspace pm addr tests") > > Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn> > > --- > > tools/testing/selftests/net/mptcp/mptcp_join.sh | 11 ++++++++--- > > 1 file changed, 8 insertions(+), 3 deletions(-) > > > > diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh > > index c07386e21e0a..a3bdbc896c6f 100755 > > --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh > > +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh > > @@ -3333,12 +3333,13 @@ userspace_pm_rm_sf() > > { > > local evts=$evts_ns1 > > local t=${3:-1} > > - local ip=4 > > + local ip > > local tk da dp sp > > local cnt > > > > [ "$1" == "$ns2" ] && evts=$evts_ns2 > > - if mptcp_lib_is_v6 $2; then ip=6; fi > > + [ -n "$(mptcp_lib_evts_get_info "saddr4" "$evts" $t)" ] && ip=4 > > + [ -n "$(mptcp_lib_evts_get_info "saddr6" "$evts" $t)" ] && ip=6 > > tk=$(mptcp_lib_evts_get_info token "$evts") > > da=$(mptcp_lib_evts_get_info "daddr$ip" "$evts" $t) > > dp=$(mptcp_lib_evts_get_info dport "$evts" $t) > > @@ -3441,7 +3442,11 @@ userspace_tests() > > chk_subflows_total 2 2 > > chk_mptcp_info add_addr_signal 1 add_addr_accepted 1 > > userspace_pm_rm_addr $ns1 10 > > - userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $SUB_ESTABLISHED > > + if [ $((RANDOM%2)) -eq 0 ]; then > > + userspace_pm_rm_sf $ns1 ::ffff:10.0.2.1 $SUB_ESTABLISHED > > + else > > + userspace_pm_rm_sf $ns1 10.0.2.1 $SUB_ESTABLISHED > > + fi > > Instead of randomizing this test, does it work to add a second subflow to > this test case? Yes, it works. > > Then the two subflows could be removed two different ways (one with the > v4mapped and one with v4)? That should avoid adding too much test time. I just sent a v2 for this with only patch 3 and patch 4 in it. Thanks, -Geliang > > - Mat > > > > chk_rm_nr 1 1 invert > > chk_mptcp_info subflows 0 subflows 0 > > chk_subflows_total 1 1 > > -- > > 2.40.1 > > > > > >
© 2016 - 2024 Red Hat, Inc.