Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests: mptcp: join: fix local endp not being tracked

When running this mptcp_join.sh selftest on older kernel versions not
supporting local endpoints tracking, this test fails because 3 MP_JOIN
ACKs have been received, while only 2 were expected.

It is not clear why only 2 MP_JOIN ACKs were expected on old kernel
versions, while 3 MP_JOIN SYN and SYN+ACK were expected. When testing on
the v5.15.197 kernel, 3 MP_JOIN ACKs are seen, which is also what is
expected in the selftests included in this kernel version, see commit
f4480eaad489 ("selftests: mptcp: add missing join check").

Switch the expected MP_JOIN ACKs to 3. While at it, move this
chk_join_nr helper out of the special condition for older kernel
versions as it is now the same as with more recent ones. Also, invert
the condition to be more logical: what's expected on newer kernel
versions having such helper first.

Fixes: d4c81bbb8600 ("selftests: mptcp: join: support local endpoint being tracked or not")
Cc: stable@vger.kernel.org
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20260127-net-mptcp-dup-nl-events-v1-5-7f71e1bc4feb@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Matthieu Baerts (NGI0) and committed by
Jakub Kicinski
c5d5ecf2 2ef9e3a3

+4 -5
+4 -5
tools/testing/selftests/net/mptcp/mptcp_join.sh
··· 2329 2329 ip netns exec $ns1 sysctl -q net.mptcp.add_addr_timeout=1 2330 2330 speed=slow \ 2331 2331 run_tests $ns1 $ns2 10.0.1.1 2332 + chk_join_nr 3 3 3 2332 2333 2333 2334 # It is not directly linked to the commit introducing this 2334 2335 # symbol but for the parent one which is linked anyway. 2335 - if ! mptcp_lib_kallsyms_has "mptcp_pm_subflow_check_next$"; then 2336 - chk_join_nr 3 3 2 2337 - chk_add_nr 4 4 2338 - else 2339 - chk_join_nr 3 3 3 2336 + if mptcp_lib_kallsyms_has "mptcp_pm_subflow_check_next$"; then 2340 2337 # the server will not signal the address terminating 2341 2338 # the MPC subflow 2342 2339 chk_add_nr 3 3 2340 + else 2341 + chk_add_nr 4 4 2343 2342 fi 2344 2343 fi 2345 2344 }