All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH mptcp-net mptcp-next v4 00/15] mptcp: pm: drop TCP TS with ADD_ADDRv6 + port
@ 2026-05-29  3:21 Matthieu Baerts (NGI0)
  2026-05-29  3:21 ` [PATCH mptcp-net mptcp-next v4 01/15] mptcp: pm: avoid sleeping while holding rcu_read_lock Matthieu Baerts (NGI0)
                   ` (16 more replies)
  0 siblings, 17 replies; 19+ messages in thread
From: Matthieu Baerts (NGI0) @ 2026-05-29  3:21 UTC (permalink / raw)
  To: MPTCP Linux; +Cc: Matthieu Baerts (NGI0)

Currently, it is possible to add a "signal" MPTCP endpoint with a v6
address and a port, or to directly request to send an ADD_ADDR with a v6
address and a port, but such signalling option cannot be sent when TCP
timestamps is used due to a lack of option space. Instead of simply
dropping such ADD_ADDR, the TCP timestamps can be dropped only for this
packet.

- Patch 1: fix for PREEMPT_RT kernels, for -net.

- Patches 2-4: small cleanups to avoid computing ADD/RM_ADDR twice.

- Patches 5-8: the new feature, controlled by a new sysctl knob.

- Patch 9: extra checks in the selftests.

- Patches 10-15: refactoring/cleanups: some of them were part of a
  previous patch: "mptcp: pm: clearer ADD_ADDR related helpers names"
  [1].

Note that the mptcp/add_addr/add_addr6_port_ts_server.pkt packetdrill
test is supposed to fail with this series, until this PR is applied:

  https://github.com/multipath-tcp/packetdrill/pull/198

Link: https://lore.kernel.org/20260415-mptcp-inc-limits-v5-20-e54c3bf80e4e@kernel.org [1]
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
Changes in v4:
- Patches 2-4: uniform "size" type: signed for all suboptions. (Mat)
- Dropped previous patch 16.
- Link to v3: https://patch.msgid.link/20260520-mptcp-add-addr6-port-ts-v3-0-bffa658a7678@kernel.org

Changes in v3:
- Patch 1: sk_stop_timer() should still be called under rcu.
- Patches 6-7: split + s/has_ts/add_addr_drop_ts/.
- Link to v2: https://patch.msgid.link/20260519-mptcp-add-addr6-port-ts-v2-0-3b36a51e6a86@kernel.org

Changes in v2:
- Patch 1: new.
- Patch 3: reset size in mptcp_pm_add_addr_signal for dropped options.
- Patches 4-5: split from previous patch 3. (Paolo)
- Patch 4: fix typo.
- Patch 5: fix reverse Xmas tree order + change label. (Paolo)
- Patch 6: back to v6 connection.
- Patch 10: fix comment.
- Patch 14: fix typo.
- Link to v1: https://patch.msgid.link/20260518-mptcp-add-addr6-port-ts-v1-0-f1ca26977fcd@kernel.org

---
Matthieu Baerts (NGI0) (15):
      [mptcp-net] mptcp: pm: avoid sleeping while holding rcu_read_lock
      mptcp: options: suboptions sizes can be negative
      mptcp: pm: avoid computing rm_addr size twice
      mptcp: pm: avoid computing add_addr size twice
      mptcp: introduce add_addr_v6_port_drop_ts sysctl knob
      tcp: allow mptcp to drop TS for some packets
      mptcp: pm: drop TCP TS with ADD_ADDRv6 + port
      selftests: mptcp: validate ADD_ADDRv6 + TS + port
      selftests: mptcp: always check sent/dropped ADD_ADDRs
      mptcp: pm: use for_each_subflow helper
      mptcp: pm: rename add_entry structure to add_addr
      mptcp: pm: uniform announced addresses helpers
      mptcp: pm: remove add_ prefix from timer
      mptcp: pm: make mptcp_pm_add_addr_send_ack static
      mptcp: pm: avoid using del_timer directly

 Documentation/networking/mptcp-sysctl.rst       |  13 ++
 include/net/mptcp.h                             |   3 +-
 net/ipv4/tcp_output.c                           |   6 +-
 net/mptcp/ctrl.c                                |  18 ++-
 net/mptcp/options.c                             |  65 +++-----
 net/mptcp/pm.c                                  | 189 ++++++++++++++----------
 net/mptcp/pm_kernel.c                           |  22 +--
 net/mptcp/pm_userspace.c                        |   6 +-
 net/mptcp/protocol.h                            |  46 ++----
 net/mptcp/subflow.c                             |   4 +-
 tools/testing/selftests/net/mptcp/mptcp_join.sh |  83 +++++------
 11 files changed, 240 insertions(+), 215 deletions(-)
---
base-commit: 4d6bda29d05f8789f40c095d5d08396ffd6b470f
change-id: 20260508-mptcp-add-addr6-port-ts-371653e0f843

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


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

end of thread, other threads:[~2026-05-30  9:04 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-29  3:21 [PATCH mptcp-net mptcp-next v4 00/15] mptcp: pm: drop TCP TS with ADD_ADDRv6 + port Matthieu Baerts (NGI0)
2026-05-29  3:21 ` [PATCH mptcp-net mptcp-next v4 01/15] mptcp: pm: avoid sleeping while holding rcu_read_lock Matthieu Baerts (NGI0)
2026-05-29  3:21 ` [PATCH mptcp-next v4 02/15] mptcp: options: suboptions sizes can be negative Matthieu Baerts (NGI0)
2026-05-29  3:21 ` [PATCH mptcp-next v4 03/15] mptcp: pm: avoid computing rm_addr size twice Matthieu Baerts (NGI0)
2026-05-29  3:21 ` [PATCH mptcp-next v4 04/15] mptcp: pm: avoid computing add_addr " Matthieu Baerts (NGI0)
2026-05-29  3:21 ` [PATCH mptcp-next v4 05/15] mptcp: introduce add_addr_v6_port_drop_ts sysctl knob Matthieu Baerts (NGI0)
2026-05-29  3:21 ` [PATCH mptcp-next v4 06/15] tcp: allow mptcp to drop TS for some packets Matthieu Baerts (NGI0)
2026-05-29  3:21 ` [PATCH mptcp-next v4 07/15] mptcp: pm: drop TCP TS with ADD_ADDRv6 + port Matthieu Baerts (NGI0)
2026-05-29  3:21 ` [PATCH mptcp-next v4 08/15] selftests: mptcp: validate ADD_ADDRv6 + TS " Matthieu Baerts (NGI0)
2026-05-29  3:21 ` [PATCH mptcp-next v4 09/15] selftests: mptcp: always check sent/dropped ADD_ADDRs Matthieu Baerts (NGI0)
2026-05-29  3:21 ` [PATCH mptcp-next v4 10/15] mptcp: pm: use for_each_subflow helper Matthieu Baerts (NGI0)
2026-05-29  3:21 ` [PATCH mptcp-next v4 11/15] mptcp: pm: rename add_entry structure to add_addr Matthieu Baerts (NGI0)
2026-05-29  3:21 ` [PATCH mptcp-next v4 12/15] mptcp: pm: uniform announced addresses helpers Matthieu Baerts (NGI0)
2026-05-29  3:21 ` [PATCH mptcp-next v4 13/15] mptcp: pm: remove add_ prefix from timer Matthieu Baerts (NGI0)
2026-05-29  3:21 ` [PATCH mptcp-next v4 14/15] mptcp: pm: make mptcp_pm_add_addr_send_ack static Matthieu Baerts (NGI0)
2026-05-29  3:21 ` [PATCH mptcp-next v4 15/15] mptcp: pm: avoid using del_timer directly Matthieu Baerts (NGI0)
2026-05-29  4:30 ` [PATCH mptcp-net mptcp-next v4 00/15] mptcp: pm: drop TCP TS with ADD_ADDRv6 + port MPTCP CI
2026-05-29 18:12 ` Mat Martineau
2026-05-30  9:04   ` Matthieu Baerts

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.