LWN: Comments on "TCP window scaling and broken routers" https://lwn.net/Articles/92727/ This is a special feed containing comments posted to the individual LWN article titled "TCP window scaling and broken routers". en-us Wed, 08 Oct 2025 11:20:31 +0000 Wed, 08 Oct 2025 11:20:31 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net TCP window scaling and broken routers https://lwn.net/Articles/373942/ https://lwn.net/Articles/373942/ PolyPeter <div class="FormattedComment"> After an automatic Windows Vista update at the local pc the uploads works! And can just conclude that Windows Vista is really crappy!<br> </div> Thu, 11 Feb 2010 10:23:00 +0000 TCP window scaling and broken routers https://lwn.net/Articles/370182/ https://lwn.net/Articles/370182/ PolyPeter <br/> What I did was of course:<br/> <b>echo 0 > /proc/sys/net/ipv4/tcp_window_scaling</b><br/> (turning OFF tcp window scaling) Mon, 18 Jan 2010 11:01:35 +0000 TCP window scaling and broken routers https://lwn.net/Articles/370178/ https://lwn.net/Articles/370178/ PolyPeter <u>My setup</u><br/> <ul> <li>I have developed web application, now with more than 1000 members.</li> <li>The web application runs on my own server with Linux Redhat.</li> <li>The members can upload images (jpeg) to a gallery.</li> </ul> <u>My problem</u><br/> <ul> <li>3 members complain that they cannot upload images. On other web pages they can upload images just fine. They all have a Windows Vista machine.</li> <li>The upload works just fine from the members network if they use Windows XP.</li> <li>When uploading we have tested with af flash component where its possible to follow the uploaded bytes. The upload stops running at app. 64KB every time (64KB is described in the article!). </li> <li>Other members with a Windows Vista machine does <b><u>not</u></b> have a similar problem</li> </ul> <u>My conclusion</u><br/> <ul> <li>The upload problem only exist if the member have a broken router and at the same time have OS where TCP Window Scaling is enabled by default (for example Vista)</li> </ul> <u>A partial solution</u><br/><br/> After I found this article i tryed did this:<br/> <b>echo 1 > /proc/sys/net/ipv4/tcp_window_scaling</b><br/><br/> After I did that, it solved the problem for <b><u>one</u></b> of the members! But only one. The two other members still have the problem...<br/> Now I wonder what else I should do? Mon, 18 Jan 2010 10:49:13 +0000 Hotel access systems https://lwn.net/Articles/277236/ https://lwn.net/Articles/277236/ zlynx <div class="FormattedComment"><pre> Microsoft went to quite a lot of trouble to auto-detect network routes which fail to work with window scaling, IPv6 and whatever else, and work around the problems. Linux relies on the user to set things. I believe there are some iptables rules you can apply to selectively disable scaling and ECN. However, I don't know of any distros with scripts that detect problems and apply those rules automatically. </pre></div> Wed, 09 Apr 2008 17:02:07 +0000 Hotel access systems https://lwn.net/Articles/277147/ https://lwn.net/Articles/277147/ shemminger <div class="FormattedComment"><pre> A common vendor of hotel access control systems (ibahn) seems to be particularly problematic. I have already experienced that in 3 separate cases the wireless or wired access does not work with window scaling. Probably doesn't work with Vista either, unless Microsoft has turned off window scaling in Vista SP1. </pre></div> Wed, 09 Apr 2008 04:27:12 +0000 TCP window scaling and broken routers https://lwn.net/Articles/268242/ https://lwn.net/Articles/268242/ shemminger <div class="FormattedComment"><pre> The problem is firewall's that want to enforce window sizes but are too stupid and try to do this without tracking the state of window scaling of the connection. I will pick out OpenBSD as particularly broken in that regard, and they haven't fixed it. </pre></div> Thu, 07 Feb 2008 21:12:51 +0000 TCP window scaling and broken routers https://lwn.net/Articles/255008/ https://lwn.net/Articles/255008/ jsl123 <pre class="FormattedComment"> Just for the records... Vista has the same problem too! (Found this with broken ssh connections) A possible solution is described here: <a rel="nofollow" href="http://www.tech-recipes.com/rx/1744/vista_tcp_cannot_communicate_primary_dns_server">http://www.tech-recipes.com/rx/1744/vista_tcp_cannot_comm...</a> (beware of line breaks in the above URL) HTH. Salut, Joerg </pre> Thu, 18 Oct 2007 15:35:55 +0000 TCP window scaling and broken routers https://lwn.net/Articles/246224/ https://lwn.net/Articles/246224/ dcam Putting net.ipv4.tcp_window_scaling=0 into /etc/sysctl.conf and rebooting worked for me<br> <p> Tue, 21 Aug 2007 07:17:02 +0000 TCP window scaling and broken routers https://lwn.net/Articles/241814/ https://lwn.net/Articles/241814/ ssabchew I made an work around as I decrease the TCP outgoing buffer:<br> from<br> net.ipv4.tcp_rmem = 4096 87380 4194304<br> <p> to this<br> net.ipv4.tcp_rmem = 4096 87380 207520<br> <p> <p> <p> <p> Mon, 16 Jul 2007 08:01:42 +0000 TCP window scaling and broken routers https://lwn.net/Articles/213987/ https://lwn.net/Articles/213987/ pcharlan With kernel 2.6.17.13 or higher, you can also do:<br> <p> THEIR_IP=1.2.3.4<br> MY_GATEWAY=5.6.7.8<br> <p> ip route add $THEIR_IP/32 via $MY_GATEWAY window 65535<br> <p> which only limits window scaling for that destination without interfering with your other connections.<br> <p> [It has been a while since the original article, but this still shows up first in Google when searching for "linux tcp window scaling broken router", so perhaps this will help someone.]<br> Thu, 14 Dec 2006 00:15:48 +0000 TCP window scaling and broken routers https://lwn.net/Articles/162414/ https://lwn.net/Articles/162414/ walken That sounds like a good idea, but - is there any way to get iptables to do what you describe ? From my own little netfilter experience, I know how to pass, drop or reject packets, but not how to filter bits (well, I think there is an option to do that with ECN, but what about OTHER must-be-zero bits) or how to drop arbitrary unknown tcp options.<br> <p> Sounds a bit hypocritical for linux developers to complain about firewalls in the field if their own firewalling functionality does not allow this either.<br> <p> But then again I'm not a netfilter expert so I could be mistaken.<br> Thu, 01 Dec 2005 23:06:23 +0000 TCP window scaling and broken routers https://lwn.net/Articles/115112/ https://lwn.net/Articles/115112/ gene_wood <p> I just wanted to thank the author for detailing this phenomenon. I've been banging my head against this for about 2 months. I implemented the workaround you described and everything works perfectly. </p><p> The symptoms that I was experiencing are detailed <a href="http://cs.cementhorizon.com/archives/2004_12_09_problem_http_smtp_traffic_truncating_at_5k_solution_read_on.html"><b>here</b></a>. </p> Fri, 10 Dec 2004 00:02:38 +0000 TCP window scaling and broken routers https://lwn.net/Articles/94532/ https://lwn.net/Articles/94532/ schabi &quot;this case the nasty firewalls zero out the bits in the unknown option and people are complaining&quot;<p>It's different. With ECN, the router had two different, valid options: Leave the bits in the flag word as they are, or clear them and thus deleting the option. ECN was designed carefully enough that both ways worked. Blocking or dropping the packed is no option.<p>The Window scaling is not bits in the flag word, but an separately added option field. There, the firewall has two valid options: let the packet pass as it is, or remove the window scaling option field entirely. Communication continues to work with both options. Fiddling around inside the header field and wildly mangling the values is no option. Wed, 21 Jul 2004 18:31:05 +0000 TCP window scaling and broken routers https://lwn.net/Articles/93309/ https://lwn.net/Articles/93309/ ron.flory@adtran.com careful: hacker != cracker<p> hacker (hobbyist) is not necessarily bad.<br> cracker is always bad.<p> Please see: http://info.astrian.net/jargon/terms/h/hacker.html Mon, 12 Jul 2004 20:42:22 +0000 No https://lwn.net/Articles/93103/ https://lwn.net/Articles/93103/ Ross You misunderstand the standard: &quot;must be zero&quot; means that they must be<br>set to zero for software adhering to this version of the standard. They<br>absolutely must be ignored by software adhering to that version of the<br>standard. If they are dropped when not zero then the implementation is<br>broken because it is not upwards-compatible with other implementations.<br>TCP/IP is specifically designed to be upwards compatible. If you don't<br>understand options you are supposed to ignore them, otherwise there is<br>no point in having an extendable protocol.<p>But in any case, even for those who can't read RFCs properly, there was a<br>draft RFC at the time and it's now official. So there are absolutely,<br>positively no excuses anymore but there are still lots of broken vendors<br>and even more unpatched routers and firewalls (one only wonders what<br>security problems these systems must have). Sat, 10 Jul 2004 02:53:10 +0000 Does Linux have that much clout? https://lwn.net/Articles/93100/ https://lwn.net/Articles/93100/ giraffedata <i>It has been a few years, now, that Linux has a strong enough presence in the networking world that it can get away with taking this sort of position </i> <p> Even if Linux in general has a strong enough presence, does kernel.org Linux have it? The rejection in question is only for kernel.org Linux, which almost nobody runs. The Linuxes that matter -- Red Hat, Suse, etc. probably will not follow suit, since their customers want their computers to talk the the existing Internet more than they want to take a stand against bad router owners. Sat, 10 Jul 2004 00:45:34 +0000 TCP window scaling and broken routers https://lwn.net/Articles/93095/ https://lwn.net/Articles/93095/ dlang let's see with ECN people were up in arms about those nasty firewalls that blocked backets that did unknown things with the undefined bits in the header (even before ECN was an approved spec) and said that they should have zerod out the bits instead of blocking the packet.<p>in this case the nasty firewalls zero out the bits in the unknown option and people are complaining<p>putting these two togeather it sounds like what people really want is for the firewalls/routers to just let everything through and not try to enforce anything.<p>why am I not surprised that this doesn't &quot;just happen&quot; Sat, 10 Jul 2004 00:19:20 +0000 This sounds a lot like the IE / Mozilla / Opera / etc dilema to me https://lwn.net/Articles/93076/ https://lwn.net/Articles/93076/ HeathPetersen For a few years now, I've expected web sites to support non-IE web browsers. If that hasn't happened, why should this?<p>Don't get me wrong, I am outgraged at the commercial entities forcing these things down out throats. I just don't expect quick resolutions to their errors. Fri, 09 Jul 2004 19:37:11 +0000 Broken routers and firewalls https://lwn.net/Articles/92933/ https://lwn.net/Articles/92933/ Ross &quot;If ... the situation is left as it is, pressure on the router<br> manufacturers should get the problem fixed relatively quickly.<br> ... Linux has a strong enough presence in the networking world<br> that it can get away with taking this sort of position.&quot;<p>Really? Is that why all of the broken firewalls stopped blocking packets<br>with ECN bits? Well, all of them except for a few tiny obscure places like<br>Sun, Sprint, CitiBank, Cornell, SAE, ISOC, Iomega, US DoJ, Wells Fargo, and<br>Checker Auto Parts :)<p>But seriously, while I hope this does force vendors to fix their broken<br>code I just don't have a lot of faith that it will work.<p>I _still_ find websites behind broken firewalls which stop all ICMP<br>packets, including &quot;must fragment&quot; errors. This doesn't just affect Linux<br>users. Well I can't reliably visit some of those sites (iptables PMTU<br>clamping helps considerably). The same thing with ECN. I once went to the<br>trouble of actually calling a network admin at Southwest Airlines to help<br>them fix the problem. It worked, in less than one week they had patched<br>their router, but now it is broken again.<p>The basic problem is that it doesn't affect them, and they have little<br>incentive to fix it. There's no clear communications channel to get the<br>information to the people who need it.<p>If you want to report ECN problems here's a good resource:<br> http://urchin.earth.li/ecn/<br>(follow the link to the &quot;ECN Hall of Shame&quot;)<p> Thu, 08 Jul 2004 20:15:57 +0000 TCP window scaling and broken routers https://lwn.net/Articles/92821/ https://lwn.net/Articles/92821/ ekj 64KB, the max with zero scaling ain't going to be enough for good performance in many situations.<p> For example, if your ping-time to the destination is 250ms, which is fairly typical for me for accessing US sites from Germany over DSL, then a 64KB window is going to be full if my available bandwith is 2Mbit/s or more. That's not a particularily rare condition.<p> When downloading from my Uni (which has triple redundant 622MB/s atm-links) the limiting factor is typically the 100Mbit ethernet, at that speed a 64KB window would be full for any transfer where the ping-time is more than 5ms, which is essentially everywhere.<p> I'm with the kernel-hackers on this one. A router that doesn't handle larger window-sizes properly is broken and needs to be fixed or replaced as soon as possible, anything else will just be band-aids. Thu, 08 Jul 2004 07:49:57 +0000 TCP window scaling and broken routers https://lwn.net/Articles/92813/ https://lwn.net/Articles/92813/ Baylink &gt; It has been a few years, now, that Linux has a strong enough presence in the networking <br>world that it can get away with taking this sort of position. <br> <br>I wonder if the same thing is true of the hackers who maintain the large clusters of said <br>machines: can we 'down tools and tell em go to Hell' if they persist in misnaming criminals as <br>hackers? :-) Thu, 08 Jul 2004 04:24:17 +0000