]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
selftests: mptcp: join: validate C-flag + def limit
authorMatthieu Baerts (NGI0) <matttbe@kernel.org>
Fri, 17 Oct 2025 14:39:52 +0000 (16:39 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 19 Oct 2025 14:21:55 +0000 (16:21 +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>
[ Conflicts in mptcp_join.sh, because many different helpers have been
  modified in newer kernel versions, e.g. in commit 03668c65d153
  ("selftests: mptcp: join: rework detailed report"), or commit
  985de45923e2 ("selftests: mptcp: centralize stats dumping"), etc.
  Adaptations have been made to use the old way, similar to what is done
  just above. ]
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
tools/testing/selftests/net/mptcp/mptcp_join.sh

index 06634417e3c4633292250f7aa8b8531101f4e0f5..2cf9bb39b22b281319dc4598beb6e603d1199911 100755 (executable)
@@ -1826,6 +1826,16 @@ deny_join_id0_tests()
        ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow
        run_tests $ns1 $ns2 10.0.1.1
        chk_join_nr "subflow and address allow join id0 2" 1 1 1
+
+       # default limits, server deny join id 0 + signal
+       reset_with_allow_join_id0 0 1
+       ip netns exec $ns1 ./pm_nl_ctl limits 0 2
+       ip netns exec $ns2 ./pm_nl_ctl limits 0 2
+       ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal
+       ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow
+       ip netns exec $ns2 ./pm_nl_ctl add 10.0.4.2 flags subflow
+       run_tests $ns1 $ns2 10.0.1.1
+       chk_join_nr "default limits, server deny join id 0" 2 2 2
 }
 
 fullmesh_tests()