From: Geliang Tang <geliang.tang@suse.com>
The second input parameter of 'wait_rm_addr/sf $1 1' is misused. If it's
1, wait_rm_addr/sf will never break, and will loop ten times, then
'wait_rm_addr/sf' equals to 'sleep 1'. This delay time is too long,
which can sometimes make the tests failures.
A better way to use wait_rm_addr/sf is to use rm_addr/sf_count to obtain
the current value, and then pass into wait_rm_addr/sf.
Fixes: 4369c198e599 ("selftests: mptcp: test userspace pm out of transfer")
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/net/mptcp/mptcp_join.sh | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 2269dc986d78..186f5933a096 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -3324,12 +3324,14 @@ userspace_pm_rm_addr()
{
local evts=$evts_ns1
local tk
+ local cnt
[ "$1" == "$ns2" ] && evts=$evts_ns2
tk=$(mptcp_lib_evts_get_info token "$evts")
+ cnt=$(rm_addr_count ${1})
ip netns exec $1 ./pm_nl_ctl rem token $tk id $2
- wait_rm_addr $1 1
+ wait_rm_addr $1 "${cnt}"
}
# $1: ns ; $2: addr ; $3: id
@@ -3355,6 +3357,7 @@ userspace_pm_rm_sf()
local t=${3:-1}
local ip=4
local tk da dp sp
+ local cnt
[ "$1" == "$ns2" ] && evts=$evts_ns2
if is_v6 $2; then ip=6; fi
@@ -3363,9 +3366,10 @@ userspace_pm_rm_sf()
dp=$(mptcp_lib_evts_get_info dport "$evts" $t)
sp=$(mptcp_lib_evts_get_info sport "$evts" $t)
+ cnt=$(rm_sf_count ${1})
ip netns exec $1 ./pm_nl_ctl dsf lip $2 lport $sp \
rip $da rport $dp token $tk
- wait_rm_sf $1 1
+ wait_rm_sf $1 "${cnt}"
}
userspace_tests()
--
2.35.3