From: John Heffner Date: Tue, 10 Apr 2007 20:36:40 +0000 (-0700) Subject: Fix TCP receiver side SWS handling. X-Git-Tag: v2.6.20.7~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=12da1b6a092a13c2cf4903fd0d39c139d511ef96;p=thirdparty%2Fkernel%2Fstable.git Fix TCP receiver side SWS handling. [TCP]: Do receiver-side SWS avoidance for rcvbuf < MSS. Signed-off-by: John Heffner Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 1951eaabee958..c99bbe2c5355e 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -1607,6 +1607,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;