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

selftests: mptcp: join: validate C-flag + def limit

The previous commit adds an exception for the C-flag case. The
'mptcp_join.sh' selftest is extended to validate this case.

In this subtest, there is a typical CDN deployment with a client where
MPTCP endpoints have been 'automatically' configured:

- the server set net.mptcp.allow_join_initial_addr_port=0

- the client has multiple 'subflow' endpoints, and the default limits:
not accepting ADD_ADDRs.

Without the parent patch, the client is not able to establish new
subflows using its 'subflow' endpoints. The parent commit fixes that.

The 'Fixes' tag here below is the same as the one from the previous
commit: this patch here is not fixing anything wrong in the selftests,
but it validates the previous fix for an issue introduced by this commit
ID.

Fixes: df377be38725 ("mptcp: add deny_join_id0 in mptcp_options_received")
Cc: stable@vger.kernel.org
Reviewed-by: Geliang Tang <geliang@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20250925-net-next-mptcp-c-flag-laminar-v1-2-ad126cc47c6b@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Matthieu Baerts (NGI0) and committed by
Jakub Kicinski
008385ef 4b1ff850

+11
+11
tools/testing/selftests/net/mptcp/mptcp_join.sh
··· 3306 3306 run_tests $ns1 $ns2 10.0.1.1 3307 3307 chk_join_nr 1 1 1 3308 3308 fi 3309 + 3310 + # default limits, server deny join id 0 + signal 3311 + if reset_with_allow_join_id0 "default limits, server deny join id 0" 0 1; then 3312 + pm_nl_set_limits $ns1 0 2 3313 + pm_nl_set_limits $ns2 0 2 3314 + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal 3315 + pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow 3316 + pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow 3317 + run_tests $ns1 $ns2 10.0.1.1 3318 + chk_join_nr 2 2 2 3319 + fi 3309 3320 } 3310 3321 3311 3322 fullmesh_tests()