From: John Heffner Date: Fri, 13 Apr 2007 19:31:34 +0000 (+0200) Subject: [TCP]: Do receiver-side SWS avoidance for rcvbuf < MSS. X-Git-Tag: v2.6.16.48~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=19a0662baeb7f783d345ebdfe3048b834582b294;p=thirdparty%2Fkernel%2Fstable.git [TCP]: Do receiver-side SWS avoidance for rcvbuf < MSS. Signed-off-by: John Heffner Signed-off-by: David S. Miller Signed-off-by: Adrian Bunk --- diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index d31fb639761fe..dde7664a1d990 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -1319,6 +1319,9 @@ u32 __tcp_select_window(struct sock *sk) */ if (window <= free_space - mss || window > free_space) window = (free_space/mss)*mss; + else if (mss == full_space && + free_space > window + full_space/2) + window = free_space; } return window;