netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-next 0/1] tcp: support window clamp mid-stream
@ 2021-08-18 21:23 Neil Spring
  2021-08-18 21:23 ` [net 1/1] tcp: enable mid stream window clamp Neil Spring
  0 siblings, 1 reply; 2+ messages in thread
From: Neil Spring @ 2021-08-18 21:23 UTC (permalink / raw)
  To: davem, edumazet
  Cc: yoshfuji, dsahern, kuba, netdev, ncardwell, ycheng, Neil Spring

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.

Neil Spring (1):
  tcp: enable mid stream window clamp

 net/ipv4/tcp.c | 2 ++
 1 file changed, 2 insertions(+)

-- 
2.30.2


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [net 1/1] tcp: enable mid stream window clamp
  2021-08-18 21:23 [net-next 0/1] tcp: support window clamp mid-stream Neil Spring
@ 2021-08-18 21:23 ` Neil Spring
  0 siblings, 0 replies; 2+ messages in thread
From: Neil Spring @ 2021-08-18 21:23 UTC (permalink / raw)
  To: davem, edumazet
  Cc: yoshfuji, dsahern, kuba, netdev, ncardwell, ycheng, Neil Spring

Signed-off-by: Neil Spring <ntspring@fb.com>
---
 net/ipv4/tcp.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index f931def6302e..2dc6212d5888 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -3338,6 +3338,8 @@ 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_ssthresh,
+				       tp->window_clamp);
 	}
 	return 0;
 }
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-08-18 21:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-18 21:23 [net-next 0/1] tcp: support window clamp mid-stream Neil Spring
2021-08-18 21:23 ` [net 1/1] tcp: enable mid stream window clamp Neil Spring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).