Skip to content

Commit 7092dbe

Browse files
Geliang Tangkuba-moo
authored andcommitted
selftests: mptcp: rm subflow with v4/v4mapped addr
Now both a v4 address and a v4-mapped address are supported when destroying a userspace pm subflow, this patch adds a second subflow to "userspace pm add & remove address" test, and two subflows could be removed two different ways, one with the v4mapped and one with v4. Closes: multipath-tcp/mptcp_net-next#387 Fixes: 48d73f6 ("selftests: mptcp: update userspace pm addr tests") Cc: [email protected] Signed-off-by: Geliang Tang <[email protected]> Reviewed-by: Mat Martineau <[email protected]> Reviewed-by: Matthieu Baerts (NGI0) <[email protected]> Signed-off-by: Matthieu Baerts (NGI0) <[email protected]> Link: https://lore.kernel.org/r/20240223-upstream-net-20240223-misc-fixes-v1-2-162e87e48497@kernel.org Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 535d620 commit 7092dbe

File tree

2 files changed

+18
-14
lines changed

2 files changed

+18
-14
lines changed

tools/testing/selftests/net/mptcp/mptcp_join.sh

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3333,16 +3333,17 @@ userspace_pm_rm_sf()
33333333
{
33343334
local evts=$evts_ns1
33353335
local t=${3:-1}
3336-
local ip=4
3336+
local ip
33373337
local tk da dp sp
33383338
local cnt
33393339

33403340
[ "$1" == "$ns2" ] && evts=$evts_ns2
3341-
if mptcp_lib_is_v6 $2; then ip=6; fi
3341+
[ -n "$(mptcp_lib_evts_get_info "saddr4" "$evts" $t)" ] && ip=4
3342+
[ -n "$(mptcp_lib_evts_get_info "saddr6" "$evts" $t)" ] && ip=6
33423343
tk=$(mptcp_lib_evts_get_info token "$evts")
3343-
da=$(mptcp_lib_evts_get_info "daddr$ip" "$evts" $t)
3344-
dp=$(mptcp_lib_evts_get_info dport "$evts" $t)
3345-
sp=$(mptcp_lib_evts_get_info sport "$evts" $t)
3344+
da=$(mptcp_lib_evts_get_info "daddr$ip" "$evts" $t $2)
3345+
dp=$(mptcp_lib_evts_get_info dport "$evts" $t $2)
3346+
sp=$(mptcp_lib_evts_get_info sport "$evts" $t $2)
33463347

33473348
cnt=$(rm_sf_count ${1})
33483349
ip netns exec $1 ./pm_nl_ctl dsf lip $2 lport $sp \
@@ -3429,20 +3430,23 @@ userspace_tests()
34293430
if reset_with_events "userspace pm add & remove address" &&
34303431
continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then
34313432
set_userspace_pm $ns1
3432-
pm_nl_set_limits $ns2 1 1
3433+
pm_nl_set_limits $ns2 2 2
34333434
speed=5 \
34343435
run_tests $ns1 $ns2 10.0.1.1 &
34353436
local tests_pid=$!
34363437
wait_mpj $ns1
34373438
userspace_pm_add_addr $ns1 10.0.2.1 10
3438-
chk_join_nr 1 1 1
3439-
chk_add_nr 1 1
3440-
chk_mptcp_info subflows 1 subflows 1
3441-
chk_subflows_total 2 2
3442-
chk_mptcp_info add_addr_signal 1 add_addr_accepted 1
3439+
userspace_pm_add_addr $ns1 10.0.3.1 20
3440+
chk_join_nr 2 2 2
3441+
chk_add_nr 2 2
3442+
chk_mptcp_info subflows 2 subflows 2
3443+
chk_subflows_total 3 3
3444+
chk_mptcp_info add_addr_signal 2 add_addr_accepted 2
34433445
userspace_pm_rm_addr $ns1 10
34443446
userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $SUB_ESTABLISHED
3445-
chk_rm_nr 1 1 invert
3447+
userspace_pm_rm_addr $ns1 20
3448+
userspace_pm_rm_sf $ns1 10.0.3.1 $SUB_ESTABLISHED
3449+
chk_rm_nr 2 2 invert
34463450
chk_mptcp_info subflows 0 subflows 0
34473451
chk_subflows_total 1 1
34483452
kill_events_pids

tools/testing/selftests/net/mptcp/mptcp_lib.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,9 +213,9 @@ mptcp_lib_get_info_value() {
213213
grep "${2}" | sed -n 's/.*\('"${1}"':\)\([0-9a-f:.]*\).*$/\2/p;q'
214214
}
215215

216-
# $1: info name ; $2: evts_ns ; $3: event type
216+
# $1: info name ; $2: evts_ns ; [$3: event type; [$4: addr]]
217217
mptcp_lib_evts_get_info() {
218-
mptcp_lib_get_info_value "${1}" "^type:${3:-1}," < "${2}"
218+
grep "${4:-}" "${2}" | mptcp_lib_get_info_value "${1}" "^type:${3:-1},"
219219
}
220220

221221
# $1: PID

0 commit comments

Comments
 (0)