Explicit Congestion Notification by Bruce Garlock
I was driving myself nuts over the weekend with another strange problem, but I figured it out. I picked up a Sun Sparc 20 off of ebay (so I can mess with Solaris), and when I went to PayPal to pay for it, PayPal kept saying "connection refused". All other sites seemed to work fine, and I used one of those free proxy servers to access it too. I also noticed that I couldn't get to Adaptec! Those were the only two sites. Everything else worked fine. Since I made the jump to kernel 2.4.1, I figured I try 2.2.18, and see if I could get there. No problem when I booted to 2.2.18! I finally went on IRC and had someone send me their .config file for the kernel options, and it showed me that I had CONFIG_INET_ECN enabled:
CONFIG_INET_ECN: Explicit Congestion Notification (ECN) allows routers to notify clients about network congestion, resulting in fewer dropped packets and increased network performance. This option adds ECN support to the Linux kernel, as well as a sysctl (/proc/sys/net/ipv4/tcp_ecn) which allows ECN support to be disabled at runtime. Note that, on the Internet, there are many broken firewalls which refuse connections from ECN-enabled machines, and it may be a while before these firewalls are fixed. Until then, to access a site behind such a firewall (some of which are major sites, at the time of this writing) you will have to disable this option, either by saying N now or by using the sysctl. If in doubt, say N.
After I echoed a "0" to /proc/sys/net/ipv4/tcp_ecn, I was able
to get to the sites again! More information at
(OLDER) <- More Stuff -> (NEWER) (NEWEST)
Printer Friendly Version
More Articles by Bruce Garlock © 2010-10-27 Bruce Garlock