diff options
author | Paolo Abeni <pabeni@redhat.com> | 2023-07-20 21:47:50 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-07-25 02:36:05 +0300 |
commit | b8dc6d6ce93142ccd4c976003bb6c25d63aac2ce (patch) | |
tree | 647b7513486333643f7ce38ba7b4561a9ac952ef /drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c | |
parent | 004a04b97bbcbb630421e44aadfe675fe6b4c460 (diff) | |
download | linux-b8dc6d6ce93142ccd4c976003bb6c25d63aac2ce.tar.xz |
mptcp: fix rcv buffer auto-tuning
The MPTCP code uses the assumption that the tcp_win_from_space() helper
does not use any TCP-specific field, and thus works correctly operating
on an MPTCP socket.
The commit dfa2f0483360 ("tcp: get rid of sysctl_tcp_adv_win_scale")
broke such assumption, and as a consequence most MPTCP connections stall
on zero-window event due to auto-tuning changing the rcv buffer size
quite randomly.
Address the issue syncing again the MPTCP auto-tuning code with the TCP
one. To achieve that, factor out the windows size logic in socket
independent helpers, and reuse them in mptcp_rcv_space_adjust(). The
MPTCP level scaling_ratio is selected as the minimum one from the all
the subflows, as a worst-case estimate.
Fixes: dfa2f0483360 ("tcp: get rid of sysctl_tcp_adv_win_scale")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Co-developed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
Link: https://lore.kernel.org/r/20230720-upstream-net-next-20230720-mptcp-fix-rcv-buffer-auto-tuning-v1-1-175ef12b8380@tessares.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c')
0 files changed, 0 insertions, 0 deletions