]> www.infradead.org Git - users/dwmw2/linux.git/commit
mptcp: sysctl: add syn_retrans_before_tcp_fallback
authorMatthieu Baerts (NGI0) <matttbe@kernel.org>
Fri, 17 Jan 2025 17:40:31 +0000 (18:40 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sun, 19 Jan 2025 01:32:01 +0000 (17:32 -0800)
commit5b4fd35343d72f4d4f964de2a9fe36143cc18f39
tree9018d1dc8c6949302d12da804d712f757a982db8
parent50309d38114c36b8e2c361da59a9b144fd2b1557
mptcp: sysctl: add syn_retrans_before_tcp_fallback

The number of SYN + MPC retransmissions before falling back to TCP was
fixed to 2. This is certainly a good default value, but having a fixed
number can be a problem in some environments.

The current behaviour means that if all packets are dropped, there will
be:

- The initial SYN + MPC

- 2 retransmissions with MPC

- The next ones will be without MPTCP.

So typically ~3 seconds before falling back to TCP. In some networks
where some temporally blackholes are unfortunately frequent, or when a
client tries to initiate connections while the network is not ready yet,
this can cause new connections not to have MPTCP connections.

In such environments, it is now possible to increase the number of SYN
retransmissions with MPTCP options to make sure MPTCP is used.

Interesting values are:

- 0: the first retransmission will be done without MPTCP options: quite
     aggressive, but also a higher risk of detecting false-positive
     MPTCP blackholes.

- >= 128: all SYN retransmissions will keep the MPTCP options: back to
          the < 6.12 behaviour.

The default behaviour is not changed here.

Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20250117-net-next-mptcp-syn_retrans_before_tcp_fallback-v1-1-ab4b187099b0@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Documentation/networking/mptcp-sysctl.rst
net/mptcp/ctrl.c