The initial intension was to increase the limits, but some fixes were
needed, then when looking at the code around, other fixes had to be
added too. So now I ended up with 11 fixes (including one early exit
while at it), followed by 4 patches increasing limits, 3 to validate the
modifications, one small improvement in the selftests, and some
renaming.
The patches with a Fixes tag are for -net, the rest for net-next.
The last patch contains multiple renaming: please tell me what you
think before I start splitting in smaller commits.
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
Changes in v4:
- patch 5: reset timer_done when the timer is reset.
- patch 10: new: selftests: correctly catch error in 'check output'.
- patch 16: add example with init_shapers to silence AI reviews
- Patch 18: clearer way to check errors (without buggy '&&')
- Link to v3: https://patch.msgid.link/20260413-mptcp-inc-limits-v3-0-dd36c9360432@kernel.org
Changes in v3:
- patch 1: new: retransmit ADD_ADDR for ID 0 with right ID.
- patch 5: moved below + support calling sk_free().
- patch 13: new: allow flushing more than 8 endpoints.
- patch 12: clarify single batch of 8 subflows as known limit.
- patch 16: fix typo in comment.
- Link to v2: https://patch.msgid.link/20260410-mptcp-inc-limits-v2-0-5402209f05d3@kernel.org
Changes in v2:
- patch 2: new: fix potential data-race.
- re-order patches 1 to 5 and use shorter prefix (ADD_ADDR rtx).
- patch 6: restore accidentally deleted icsk->icsk_rto > max check.
- patch 16: fix already present checkpatch warning.
- Link to v1: https://patch.msgid.link/20260409-mptcp-inc-limits-v1-0-0e45fa30d914@kernel.org
---
Matthieu Baerts (NGI0) (20):
mptcp: pm: kernel: correctly retransmit ADD_ADDR ID 0
mptcp: pm: ADD_ADDR rtx: fix potential data-race
mptcp: pm: ADD_ADDR rtx: allow ID 0
mptcp: pm: ADD_ADDR rtx: always decrease sk refcount
mptcp: pm: ADD_ADDR rtx: free sk if last
mptcp: pm: ADD_ADDR rtx: resched blocked ADD_ADDR quicker
mptcp: pm: ADD_ADDR rtx: skip inactive subflows
mptcp: pm: retrans ADD_ADDR: return early if no retrans
mptcp: pm: prio: skip closed subflows
selftests: mptcp: check output: catch cmd errors
selftests: mptcp: pm: restrict 'unknown' check to pm_nl_ctl
mptcp: pm: in-kernel: explicitly limit batches to array size
mptcp: pm: in-kernel: increase all limits to 64
mptcp: pm: kernel: allow flushing more than 8 endpoints
mptcp: pm: in-kernel: increase endpoints limit
selftests: mptcp: join: allow changing ifaces nr per test
selftests: mptcp: join: validate 8x8 subflows
selftests: mptcp: pm: validate new limits
selftests: mptcp: pm: use simpler send/recv forms
mptcp: pm: clearer ADD_ADDR related helpers names
net/mptcp/options.c | 2 +-
net/mptcp/pm.c | 184 +++++++++++++-----------
net/mptcp/pm_kernel.c | 106 +++++++++-----
net/mptcp/pm_userspace.c | 6 +-
net/mptcp/protocol.h | 19 +--
net/mptcp/subflow.c | 4 +-
tools/testing/selftests/net/mptcp/mptcp_join.sh | 33 ++++-
tools/testing/selftests/net/mptcp/mptcp_lib.sh | 8 +-
tools/testing/selftests/net/mptcp/pm_netlink.sh | 74 ++++++----
tools/testing/selftests/net/mptcp/pm_nl_ctl.c | 8 +-
10 files changed, 272 insertions(+), 172 deletions(-)
---
base-commit: b5a5b4d1643659280a5566b761679182ef7a8b25
change-id: 20260403-mptcp-inc-limits-ce9811024066
Best regards,
--
Matthieu Baerts (NGI0) <matttbe@kernel.org>