Re: [PATCH net-next v3] tcp: enable mid stream window clamp
From: Yuchung Cheng <hidden>
Date: 2021-08-26 19:11:53
On Wed, Aug 25, 2021 at 2:02 PM Neil Spring [off-list ref] wrote:
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.This patch looks like a bug-fix so it should be applied to net not net-next?
quoted hunk ↗ jump to hunk
Signed-off-by: Neil Spring <redacted> --- v2: - fix email formatting v3: - address comments by setting rcv_ssthresh based on prior window net/ipv4/tcp.c | 1 + 1 file changed, 1 insertion(+)diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index f931def6302e..e8b48df73c85 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c@@ -3338,6 +3338,7 @@ int tcp_set_window_clamp(struct sock *sk, int val) } else { tp->window_clamp = val < SOCK_MIN_RCVBUF / 2 ? SOCK_MIN_RCVBUF / 2 : val; + tp->rcv_ssthresh = min(tp->rcv_wnd, tp->window_clamp); } return 0; } --2.30.2