public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 0/3] mptcp: fallback to TCP after 3 MPC drop + cache
@ 2024-09-09 20:09 Matthieu Baerts (NGI0)
  2024-09-09 20:09 ` [PATCH net-next 1/3] mptcp: export mptcp_subflow_early_fallback() Matthieu Baerts (NGI0)
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Matthieu Baerts (NGI0) @ 2024-09-09 20:09 UTC (permalink / raw)
  To: mptcp, Mat Martineau, Geliang Tang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, David Ahern, Jonathan Corbet
  Cc: netdev, linux-kernel, linux-doc, Matthieu Baerts (NGI0)

The SYN + MPTCP_CAPABLE packets could be explicitly dropped by firewalls
somewhere in the network, e.g. if they decide to drop packets based on
the TCP options, instead of stripping them off.

The idea of this series is to fallback to TCP after 3 SYN+MPC drop
(patch 2). If the connection succeeds after the fallback, it very likely
means a blackhole has been detected. In this case (patch 3), MPTCP can
be disabled for a certain period of time, 1h by default. If after this
period, MPTCP is still blocked, the period is doubled. This technique is
inspired by the one used by TCP FastOpen.

This should help applications which want to use MPTCP by default on the
client side if available.

Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
Matthieu Baerts (NGI0) (3):
      mptcp: export mptcp_subflow_early_fallback()
      mptcp: fallback to TCP after SYN+MPC drops
      mptcp: disable active MPTCP in case of blackhole

 Documentation/networking/mptcp-sysctl.rst |  11 +++
 include/net/mptcp.h                       |   4 +
 net/ipv4/tcp_timer.c                      |   1 +
 net/mptcp/ctrl.c                          | 133 ++++++++++++++++++++++++++++++
 net/mptcp/mib.c                           |   3 +
 net/mptcp/mib.h                           |   3 +
 net/mptcp/protocol.c                      |  18 ++--
 net/mptcp/protocol.h                      |  16 +++-
 net/mptcp/subflow.c                       |   4 +
 9 files changed, 182 insertions(+), 11 deletions(-)
---
base-commit: bfba7bc8b7c2c100b76edb3a646fdce256392129
change-id: 20240909-net-next-mptcp-fallback-x-mpc-07072f823f9b

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


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

end of thread, other threads:[~2024-09-11 23:20 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-09 20:09 [PATCH net-next 0/3] mptcp: fallback to TCP after 3 MPC drop + cache Matthieu Baerts (NGI0)
2024-09-09 20:09 ` [PATCH net-next 1/3] mptcp: export mptcp_subflow_early_fallback() Matthieu Baerts (NGI0)
2024-09-09 20:09 ` [PATCH net-next 2/3] mptcp: fallback to TCP after SYN+MPC drops Matthieu Baerts (NGI0)
2024-09-11  7:40   ` Eric Dumazet
2024-09-09 20:09 ` [PATCH net-next 3/3] mptcp: disable active MPTCP in case of blackhole Matthieu Baerts (NGI0)
2024-09-11 23:20 ` [PATCH net-next 0/3] mptcp: fallback to TCP after 3 MPC drop + cache 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