Dave Taht
2011-04-14 04:44:46 UTC
In my travels this month I have been testing ECN enablement at homes and
hotels everywhere I go.
Until today, I was able to have the following settings for ECN on my
laptop everywhere I've been.
net.ipv4.tcp_ecn=1
#net.ipv6.tcp_ecn=0
net.ipv4.tcp_sack=1
net.ipv4.tcp_dsack=1
However, I got to visit Brian Clapper [1] (friend/co-author of gnugol)
tonight, and discovered that his fairly recently purchased router, a:
Etherfast Cable/DSL router Model BEFSR41
Firmware version 2.0.0.4
flat out refused to pass ECN enabled connection attempts (returning an
ICMP unreachable message)
He'd not noticed the problem because ubuntu 10.4 (at least, he also runs
bsd) has tcp_ecn=2, which so far as I know "tries" a ECN enabled connect
then falls back to not using it.
I'm bummed that such a recent router doesn't pass ECN, and will look
into the problem further in the morning.
So I think we must use tcp_ecn = 1 to TEST to make sure ECN is being
passed, and tcp_ecn=2 as the default recommendation.
Perhaps we can synthesize TCP streams to more directly test ECN
capability in the future somehow as part of our testing tools. Are there
any tools that synthesize TCP/ip we could use as a starting point?
[1] http://brizzled.clapper.org/
hotels everywhere I go.
Until today, I was able to have the following settings for ECN on my
laptop everywhere I've been.
net.ipv4.tcp_ecn=1
#net.ipv6.tcp_ecn=0
net.ipv4.tcp_sack=1
net.ipv4.tcp_dsack=1
However, I got to visit Brian Clapper [1] (friend/co-author of gnugol)
tonight, and discovered that his fairly recently purchased router, a:
Etherfast Cable/DSL router Model BEFSR41
Firmware version 2.0.0.4
flat out refused to pass ECN enabled connection attempts (returning an
ICMP unreachable message)
He'd not noticed the problem because ubuntu 10.4 (at least, he also runs
bsd) has tcp_ecn=2, which so far as I know "tries" a ECN enabled connect
then falls back to not using it.
I'm bummed that such a recent router doesn't pass ECN, and will look
into the problem further in the morning.
So I think we must use tcp_ecn = 1 to TEST to make sure ECN is being
passed, and tcp_ecn=2 as the default recommendation.
Perhaps we can synthesize TCP streams to more directly test ECN
capability in the future somehow as part of our testing tools. Are there
any tools that synthesize TCP/ip we could use as a starting point?
[1] http://brizzled.clapper.org/