public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] tcp: limit window scaling if window is clamped
@ 2006-08-18 17:29 Stephen Hemminger
  2006-08-19  0:00 ` David Miller
  2006-08-22  7:07 ` David Miller
  0 siblings, 2 replies; 4+ messages in thread
From: Stephen Hemminger @ 2006-08-18 17:29 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, linux-kernel

This small change allows for easy per-route workarounds for broken hosts or
middleboxes that are not compliant with TCP standards for window scaling.
Rather than having to turn off window scaling globally. This patch allows
reducing or disabling window scaling if window clamp is present.

Example: Mark Lord reported a problem with 2.6.17 kernel being unable to
access http://www.everymac.com

# ip route add 216.145.246.23/32 via 10.8.0.1 window 65535

I would argue this ought to go in stable kernel as well.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>

--- net-2.6.19.orig/net/ipv4/tcp_output.c
+++ net-2.6.19/net/ipv4/tcp_output.c
@@ -201,6 +201,7 @@ void tcp_select_initial_window(int __spa
 		 * See RFC1323 for an explanation of the limit to 14 
 		 */
 		space = max_t(u32, sysctl_tcp_rmem[2], sysctl_rmem_max);
+		space = min_t(u32, space, *window_clamp);
 		while (space > 65535 && (*rcv_wscale) < 14) {
 			space >>= 1;
 			(*rcv_wscale)++;

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

end of thread, other threads:[~2006-08-22  7:07 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-18 17:29 [PATCH] tcp: limit window scaling if window is clamped Stephen Hemminger
2006-08-19  0:00 ` David Miller
2006-08-19  3:03   ` Stephen Hemminger
2006-08-22  7:07 ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox