mbox series

[net-next,0/3] mptcp: fallback to TCP after 3 MPC drop + cache

Message ID 20240909-net-next-mptcp-fallback-x-mpc-v1-0-da7ebb4cd2a3@kernel.org (mailing list archive)
Headers show
Series mptcp: fallback to TCP after 3 MPC drop + cache | expand

Message

Matthieu Baerts Sept. 9, 2024, 8:09 p.m. UTC
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,

Comments

patchwork-bot+netdevbpf@kernel.org Sept. 11, 2024, 11:20 p.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Mon, 09 Sep 2024 22:09:20 +0200 you wrote:
> 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.
> 
> [...]

Here is the summary with links:
  - [net-next,1/3] mptcp: export mptcp_subflow_early_fallback()
    https://git.kernel.org/netdev/net-next/c/65b02260a0e0
  - [net-next,2/3] mptcp: fallback to TCP after SYN+MPC drops
    https://git.kernel.org/netdev/net-next/c/6982826fe5e5
  - [net-next,3/3] mptcp: disable active MPTCP in case of blackhole
    https://git.kernel.org/netdev/net-next/c/27069e7cb3d1

You are awesome, thank you!