netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net 00/15] mptcp: more fixes for the in-kernel PM
@ 2024-08-26 15:58 Matthieu Baerts (NGI0)
  2024-08-26 15:59 ` [PATCH net 01/15] mptcp: pm: reuse ID 0 after delete and re-add Matthieu Baerts (NGI0)
                   ` (15 more replies)
  0 siblings, 16 replies; 18+ messages in thread
From: Matthieu Baerts (NGI0) @ 2024-08-26 15:58 UTC (permalink / raw)
  To: mptcp, Mat Martineau, Geliang Tang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Shuah Khan, Florian Westphal
  Cc: netdev, linux-kernel, linux-kselftest, Matthieu Baerts (NGI0),
	stable, Arınç ÜNAL, syzbot+455d38ecd5f655fc45cf

Here is a new batch of fixes for the MPTCP in-kernel path-manager:

Patch 1 ensures the address ID is set to 0 when the path-manager sends
an ADD_ADDR for the address of the initial subflow. The same fix is
applied when a new subflow is created re-using this special address. A
fix for v6.0.

Patch 2 is similar, but for the case where an endpoint is removed: if
this endpoint was used for the initial address, it is important to send
a RM_ADDR with this ID set to 0, and look for existing subflows with the
ID set to 0. A fix for v6.0 as well.

Patch 3 validates the two previous patches.

Patch 4 makes the PM selecting an "active" path to send an address
notification in an ACK, instead of taking the first path in the list. A
fix for v5.11.

Patch 5 fixes skipping the establishment of a new subflow if a previous
subflow using the same pair of addresses is being closed. A fix for
v5.13.

Patch 6 resets the ID linked to the initial subflow when the linked
endpoint is re-added, possibly with a different ID. A fix for v6.0.

Patch 7 validates the three previous patches.

Patch 8 is a small fix for the MPTCP Join selftest, when being used with
older subflows not supporting all MIB counters. A fix for a commit
introduced in v6.4, but backported up to v5.10.

Patch 9 avoids the PM to try to close the initial subflow multiple
times, and increment counters while nothing happened. A fix for v5.10.

Patch 10 stops incrementing local_addr_used and add_addr_accepted
counters when dealing with the address ID 0, because these counters are
not taking into account the initial subflow, and are then not
decremented when the linked addresses are removed. A fix for v6.0.

Patch 11 validates the previous patch.

Patch 12 avoids the PM to send multiple SUB_CLOSED events for the
initial subflow. A fix for v5.12.

Patch 13 validates the previous patch.

Patch 14 stops treating the ADD_ADDR 0 as a new address, and accepts it
in order to re-create the initial subflow if it has been closed, even if
the limit for *new* addresses -- not taking into account the address of
the initial subflow -- has been reached. A fix for v5.10.

Patch 15 validates the previous patch.

Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
Matthieu Baerts (NGI0) (15):
      mptcp: pm: reuse ID 0 after delete and re-add
      mptcp: pm: fix RM_ADDR ID for the initial subflow
      selftests: mptcp: join: check removing ID 0 endpoint
      mptcp: pm: send ACK on an active subflow
      mptcp: pm: skip connecting to already established sf
      mptcp: pm: reset MPC endp ID when re-added
      selftests: mptcp: join: check re-adding init endp with != id
      selftests: mptcp: join: no extra msg if no counter
      mptcp: pm: do not remove already closed subflows
      mptcp: pm: fix ID 0 endp usage after multiple re-creations
      selftests: mptcp: join: check re-re-adding ID 0 endp
      mptcp: avoid duplicated SUB_CLOSED events
      selftests: mptcp: join: validate event numbers
      mptcp: pm: ADD_ADDR 0 is not a new address
      selftests: mptcp: join: check re-re-adding ID 0 signal

 net/mptcp/pm.c                                  |   4 +-
 net/mptcp/pm_netlink.c                          |  87 ++++++++++----
 net/mptcp/protocol.c                            |   6 +
 net/mptcp/protocol.h                            |   5 +-
 tools/testing/selftests/net/mptcp/mptcp_join.sh | 149 ++++++++++++++++++++----
 tools/testing/selftests/net/mptcp/mptcp_lib.sh  |   4 +
 6 files changed, 207 insertions(+), 48 deletions(-)
---
base-commit: 8af174ea863c72f25ce31cee3baad8a301c0cf0f
change-id: 20240826-net-mptcp-more-pm-fix-ffa61a36f817

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


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

end of thread, other threads:[~2024-08-27  8:22 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-26 15:58 [PATCH net 00/15] mptcp: more fixes for the in-kernel PM Matthieu Baerts (NGI0)
2024-08-26 15:59 ` [PATCH net 01/15] mptcp: pm: reuse ID 0 after delete and re-add Matthieu Baerts (NGI0)
2024-08-26 15:59 ` [PATCH net 02/15] mptcp: pm: fix RM_ADDR ID for the initial subflow Matthieu Baerts (NGI0)
2024-08-26 15:59 ` [PATCH net 03/15] selftests: mptcp: join: check removing ID 0 endpoint Matthieu Baerts (NGI0)
2024-08-26 15:59 ` [PATCH net 04/15] mptcp: pm: send ACK on an active subflow Matthieu Baerts (NGI0)
2024-08-26 15:59 ` [PATCH net 05/15] mptcp: pm: skip connecting to already established sf Matthieu Baerts (NGI0)
2024-08-26 15:59 ` [PATCH net 06/15] mptcp: pm: reset MPC endp ID when re-added Matthieu Baerts (NGI0)
2024-08-26 15:59 ` [PATCH net 07/15] selftests: mptcp: join: check re-adding init endp with != id Matthieu Baerts (NGI0)
2024-08-26 15:59 ` [PATCH net 08/15] selftests: mptcp: join: no extra msg if no counter Matthieu Baerts (NGI0)
2024-08-26 15:59 ` [PATCH net 09/15] mptcp: pm: do not remove already closed subflows Matthieu Baerts (NGI0)
2024-08-26 15:59 ` [PATCH net 10/15] mptcp: pm: fix ID 0 endp usage after multiple re-creations Matthieu Baerts (NGI0)
2024-08-26 15:59 ` [PATCH net 11/15] selftests: mptcp: join: check re-re-adding ID 0 endp Matthieu Baerts (NGI0)
2024-08-26 15:59 ` [PATCH net 12/15] mptcp: avoid duplicated SUB_CLOSED events Matthieu Baerts (NGI0)
2024-08-26 15:59 ` [PATCH net 13/15] selftests: mptcp: join: validate event numbers Matthieu Baerts (NGI0)
2024-08-26 15:59 ` [PATCH net 14/15] mptcp: pm: ADD_ADDR 0 is not a new address Matthieu Baerts (NGI0)
2024-08-26 15:59 ` [PATCH net 15/15] selftests: mptcp: join: check re-re-adding ID 0 signal Matthieu Baerts (NGI0)
2024-08-27  2:29 ` [PATCH net 00/15] mptcp: more fixes for the in-kernel PM Jakub Kicinski
2024-08-27  8:22   ` Matthieu Baerts

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).