Linux Kernel Selftest development
 help / color / mirror / Atom feed
* [PATCH net-next 00/15] mptcp: pm: special case for c-flag + luminar endp
@ 2025-09-25 10:32 Matthieu Baerts (NGI0)
  2025-09-25 10:32 ` [PATCH net-next 01/15] mptcp: pm: in-kernel: usable client side with C-flag Matthieu Baerts (NGI0)
                   ` (15 more replies)
  0 siblings, 16 replies; 17+ messages in thread
From: Matthieu Baerts (NGI0) @ 2025-09-25 10:32 UTC (permalink / raw)
  To: Mat Martineau, Geliang Tang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Simon Horman, Shuah Khan,
	Martin KaFai Lau
  Cc: netdev, mptcp, linux-kernel, linux-kselftest,
	Matthieu Baerts (NGI0), stable

Here are some patches for the MPTCP PM, including some refactoring that
I thought it would be best to send at the end of a cycle to avoid
conflicts between net and net-next that could last a few weeks.

The most interesting changes are in the first and last patch, the rest
are patches refactoring the code & tests to validate the modifications.

- Patches 1 & 2: When servers set the C-flag in their MP_CAPABLE to tell
  clients not to create subflows to the initial address and port -- e.g.
  a deployment behind a L4 load balancer like a typical CDN deployment
  -- clients will not use their other endpoints when default settings
  are used. That's because the in-kernel path-manager uses the 'subflow'
  endpoints to create subflows only to the initial address and port. The
  first patch fixes that (for >=v5.14), and the second one validates it.

- Patches 3-14: various patches refactoring the code around the
  in-kernel PM (mainly): split too long functions, rename variables and
  functions to avoid confusions, reduce structure size, and compare IDs
  instead of IP addresses. Note that one patch modifies one internal
  variable used in one BPF selftest.

- Patch 15: ability to control endpoints that are used in reaction to a
  new address announced by the other peer. With that, endpoints can be
  used only once.

Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
Notes:
 - Patches 1 & 2 are sent to net-next on purpose: to delay a bit the
   backports, just in case. Plus we are at the end of a cycle, and not
   to delay the other refactoring patches.
 - Sorry, I wanted to send this series earlier on, but due to some
   unrelated issues (and holiday), it got delayed. Most patches are
   pure refactoring ones.

---
Matthieu Baerts (NGI0) (15):
      mptcp: pm: in-kernel: usable client side with C-flag
      selftests: mptcp: join: validate C-flag + def limit
      mptcp: pm: in-kernel: refactor fill_local_addresses_vec
      mptcp: pm: in-kernel: refactor fill_remote_addresses_vec
      mptcp: pm: rename 'subflows' to 'extra_subflows'
      mptcp: pm: in-kernel: rename 'subflows_max' to 'limit_extra_subflows'
      mptcp: pm: in-kernel: rename 'add_addr_signal_max' to 'endp_signal_max'
      mptcp: pm: in-kernel: rename 'add_addr_accept_max' to 'limit_add_addr_accepted'
      mptcp: pm: in-kernel: rename 'local_addr_max' to 'endp_subflow_max'
      mptcp: pm: in-kernel: rename 'local_addr_list' to 'endp_list'
      mptcp: pm: in-kernel: rename 'addrs' to 'endpoints'
      mptcp: pm: in-kernel: remove stale_loss_cnt
      mptcp: pm: in-kernel: reduce pernet struct size
      mptcp: pm: in-kernel: compare IDs instead of addresses
      mptcp: pm: in-kernel: add laminar endpoints

 include/uapi/linux/mptcp.h                        |  11 +-
 net/mptcp/pm.c                                    |  32 +-
 net/mptcp/pm_kernel.c                             | 569 ++++++++++++++--------
 net/mptcp/pm_userspace.c                          |   2 +-
 net/mptcp/protocol.h                              |  21 +-
 net/mptcp/sockopt.c                               |  22 +-
 tools/testing/selftests/bpf/progs/mptcp_subflow.c |   2 +-
 tools/testing/selftests/net/mptcp/mptcp_join.sh   |  11 +
 8 files changed, 441 insertions(+), 229 deletions(-)
---
base-commit: a1f1f2422e098485b09e55a492de05cf97f9954d
change-id: 20250925-net-next-mptcp-c-flag-laminar-f8442e4d4bd9

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


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

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

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-25 10:32 [PATCH net-next 00/15] mptcp: pm: special case for c-flag + luminar endp Matthieu Baerts (NGI0)
2025-09-25 10:32 ` [PATCH net-next 01/15] mptcp: pm: in-kernel: usable client side with C-flag Matthieu Baerts (NGI0)
2025-09-25 10:32 ` [PATCH net-next 02/15] selftests: mptcp: join: validate C-flag + def limit Matthieu Baerts (NGI0)
2025-09-25 10:32 ` [PATCH net-next 03/15] mptcp: pm: in-kernel: refactor fill_local_addresses_vec Matthieu Baerts (NGI0)
2025-09-25 10:32 ` [PATCH net-next 04/15] mptcp: pm: in-kernel: refactor fill_remote_addresses_vec Matthieu Baerts (NGI0)
2025-09-25 10:32 ` [PATCH net-next 05/15] mptcp: pm: rename 'subflows' to 'extra_subflows' Matthieu Baerts (NGI0)
2025-09-25 10:32 ` [PATCH net-next 06/15] mptcp: pm: in-kernel: rename 'subflows_max' to 'limit_extra_subflows' Matthieu Baerts (NGI0)
2025-09-25 10:32 ` [PATCH net-next 07/15] mptcp: pm: in-kernel: rename 'add_addr_signal_max' to 'endp_signal_max' Matthieu Baerts (NGI0)
2025-09-25 10:32 ` [PATCH net-next 08/15] mptcp: pm: in-kernel: rename 'add_addr_accept_max' to 'limit_add_addr_accepted' Matthieu Baerts (NGI0)
2025-09-25 10:32 ` [PATCH net-next 09/15] mptcp: pm: in-kernel: rename 'local_addr_max' to 'endp_subflow_max' Matthieu Baerts (NGI0)
2025-09-25 10:32 ` [PATCH net-next 10/15] mptcp: pm: in-kernel: rename 'local_addr_list' to 'endp_list' Matthieu Baerts (NGI0)
2025-09-25 10:32 ` [PATCH net-next 11/15] mptcp: pm: in-kernel: rename 'addrs' to 'endpoints' Matthieu Baerts (NGI0)
2025-09-25 10:32 ` [PATCH net-next 12/15] mptcp: pm: in-kernel: remove stale_loss_cnt Matthieu Baerts (NGI0)
2025-09-25 10:32 ` [PATCH net-next 13/15] mptcp: pm: in-kernel: reduce pernet struct size Matthieu Baerts (NGI0)
2025-09-25 10:32 ` [PATCH net-next 14/15] mptcp: pm: in-kernel: compare IDs instead of addresses Matthieu Baerts (NGI0)
2025-09-25 10:32 ` [PATCH net-next 15/15] mptcp: pm: in-kernel: add laminar endpoints Matthieu Baerts (NGI0)
2025-09-27  1:20 ` [PATCH net-next 00/15] mptcp: pm: special case for c-flag + luminar endp 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