Linux Kernel Selftest development
 help / color / mirror / Atom feed
* [PATCH net 0/5] mptcp: pm: nl: announce deny-join-id0 flag
@ 2025-09-12 12:52 Matthieu Baerts (NGI0)
  2025-09-12 12:52 ` [PATCH net 1/5] mptcp: set remote_deny_join_id0 on SYN recv Matthieu Baerts (NGI0)
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Matthieu Baerts (NGI0) @ 2025-09-12 12:52 UTC (permalink / raw)
  To: Mat Martineau, Geliang Tang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Simon Horman, Donald Hunter,
	Florian Westphal, Kishen Maloor, Shuah Khan, Dmytro Shytyi
  Cc: netdev, mptcp, linux-kernel, linux-kselftest,
	Matthieu Baerts (NGI0), Marek Majkowski, Geliang Tang

During the connection establishment, a peer can tell the other one that
it cannot establish new subflows to the initial IP address and port by
setting the 'C' flag [1]. Doing so makes sense when the sender is behind
a strict NAT, operating behind a legacy Layer 4 load balancer, or using
anycast IP address for example.

When this 'C' flag is set, the path-managers must then not try to
establish new subflows to the other peer's initial IP address and port.
The in-kernel PM has access to this info, but the userspace PM didn't,
not letting the userspace daemon able to respect the RFC8684.

Here are a few fixes related to this 'C' flag (aka 'deny-join-id0'):

- Patch 1: add remote_deny_join_id0 info on passive connections. A fix
  for v5.14.

- Patch 2: let the userspace PM daemon know about the deny_join_id0
  attribute, so when set, it can avoid creating new subflows to the
  initial IP address and port. A fix for v5.19.

- Patch 3: a validation for the previous commit.

- Patch 4: record the deny_join_id0 info when TFO is used. A fix for
  v6.2.

- Patch 5: not related to deny-join-id0, but it fixes errors messages in
  the sockopt selftests, not to create confusions. A fix for v6.5.

Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
Geliang Tang (1):
      selftests: mptcp: sockopt: fix error messages

Matthieu Baerts (NGI0) (4):
      mptcp: set remote_deny_join_id0 on SYN recv
      mptcp: pm: nl: announce deny-join-id0 flag
      selftests: mptcp: userspace pm: validate deny-join-id0 flag
      mptcp: tfo: record 'deny join id0' info

 Documentation/netlink/specs/mptcp_pm.yaml         |  4 ++--
 include/uapi/linux/mptcp.h                        |  2 ++
 include/uapi/linux/mptcp_pm.h                     |  4 ++--
 net/mptcp/options.c                               |  6 +++---
 net/mptcp/pm_netlink.c                            |  7 +++++++
 net/mptcp/subflow.c                               |  4 ++++
 tools/testing/selftests/net/mptcp/mptcp_sockopt.c | 16 ++++++++++------
 tools/testing/selftests/net/mptcp/pm_nl_ctl.c     |  7 +++++++
 tools/testing/selftests/net/mptcp/userspace_pm.sh | 14 +++++++++++---
 9 files changed, 48 insertions(+), 16 deletions(-)
---
base-commit: 2690cb089502b80b905f2abdafd1bf2d54e1abef
change-id: 20250912-net-mptcp-pm-uspace-deny_join_id0-b6111e4e7e69

Best regards,
-- 
Matthieu Baerts (NGI0) <matttbe@kernel.org>


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-09-16  1:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-12 12:52 [PATCH net 0/5] mptcp: pm: nl: announce deny-join-id0 flag Matthieu Baerts (NGI0)
2025-09-12 12:52 ` [PATCH net 1/5] mptcp: set remote_deny_join_id0 on SYN recv Matthieu Baerts (NGI0)
2025-09-12 12:52 ` [PATCH net 2/5] mptcp: pm: nl: announce deny-join-id0 flag Matthieu Baerts (NGI0)
2025-09-12 12:52 ` [PATCH net 3/5] selftests: mptcp: userspace pm: validate " Matthieu Baerts (NGI0)
2025-09-12 12:52 ` [PATCH net 4/5] mptcp: tfo: record 'deny join id0' info Matthieu Baerts (NGI0)
2025-09-12 12:52 ` [PATCH net 5/5] selftests: mptcp: sockopt: fix error messages Matthieu Baerts (NGI0)
2025-09-16  1:30 ` [PATCH net 0/5] mptcp: pm: nl: announce deny-join-id0 flag patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox