tcp: enable mid stream window clamp
authorNeil Spring <ntspring@fb.com>
Wed, 25 Aug 2021 21:01:17 +0000 (14:01 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 27 Aug 2021 01:00:40 +0000 (18:00 -0700)
commit3aa7857fe1d7ac7f600f5b7e1530396fb06822bf
tree2cc8e7ad1346e14878e66f4bdddadd2df910103f
parent97c78d0af55fff206947a5f2b85b690b5acf28ce
tcp: enable mid stream window clamp

The TCP_WINDOW_CLAMP socket option is defined in tcp(7) to "Bound the size
of the advertised window to this value."  Window clamping is distributed
across two variables, window_clamp ("Maximal window to advertise" in
tcp.h) and rcv_ssthresh ("Current window clamp").

This patch updates the function where the window clamp is set to also
reduce the current window clamp, rcv_sshthresh, if needed.  With this,
setting the TCP_WINDOW_CLAMP option has the documented effect of limiting
the window.

Signed-off-by: Neil Spring <ntspring@fb.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://lore.kernel.org/r/20210825210117.1668371-1-ntspring@fb.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv4/tcp.c