]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
selftests: mptcp: join: validate C-flag + def limit
authorMatthieu Baerts (NGI0) <matttbe@kernel.org>
Thu, 25 Sep 2025 10:32:37 +0000 (12:32 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 19 Oct 2025 14:23:18 +0000 (16:23 +0200)
commit 008385efd05e04d8dff299382df2e8be0f91d8a0 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
tools/testing/selftests/net/mptcp/mptcp_join.sh

index ed7c0193ffc374c889e1bf3cb2557ca2be377873..f8589e7c9383ec1917e99b94c6412a428e02ac48 100755 (executable)
@@ -3024,6 +3024,17 @@ deny_join_id0_tests()
                run_tests $ns1 $ns2 10.0.1.1
                chk_join_nr 1 1 1
        fi
+
+       # default limits, server deny join id 0 + signal
+       if reset_with_allow_join_id0 "default limits, server deny join id 0" 0 1; then
+               pm_nl_set_limits $ns1 0 2
+               pm_nl_set_limits $ns2 0 2
+               pm_nl_add_endpoint $ns1 10.0.2.1 flags signal
+               pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow
+               pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow
+               run_tests $ns1 $ns2 10.0.1.1
+               chk_join_nr 2 2 2
+       fi
 }
 
 fullmesh_tests()