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 |
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!
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,