Enable ECN on multiple operating systems





notes to sort out:

[Tue Jun 21 2011]
What was the name of the bufferbloat-related sysctl parameter on Linux?
ECN? I’m drawing a blank. [07:43]
Got your plug?
Up and running.
net.ipv4.tcp_ecn [07:44]
That’s it.
http://www.bufferbloat.net/projects/bloat/wiki/Dogfood_Principle I have it set to 2 which, as I recall, means “try ECN, but
fallback if it’s not there”

no, it’s worse than that
secondly this only applies to connections initiated from or to the
router [07:45]
dsack, and sack are good too
But it should help with NAT’ed connections, no?
I just got a guruplug version of openwrt built, but debian is WAY
easier to deal with.
proxied via something like polipo, yes [07:46]
Hmm. But the original problem you had here was that my crappy
Linksys didn’t grok ECN at all, and you had ECN = 1 on your Linux
box. Right?

right [07:47]
your router was not passing through the ECN bits - dying terribly.
Now you should be able to turn it on on the rest of your internal gear
So, if my plug router groks ECN, and I enable ECN on it, I gain …

It’s a flow-control thing, isn’t it?
and have all the relative theoretical chocolaty goodness
marking rather than dropping packets is a theoretical goodness [07:48]
Right. So, bottom line, I want to enable it on the plug, and
enable it (set to 2 or 1) on the various internal machines.

Interesting. Out of the box, the plug’s Debian has: [07:49]
net.ipv4.tcp_sack = 1
net.ipv4.tcp_ecn =
net.ipv4.tcp_dsack = 1

that are the best defaults for yesterday’s internet. The new hotness
is ecn
The internal Ubuntu servers are similarly configured.
ECN breakage was a real problem
Yes, but, IIRC, ecn=2 is essentially ecn=1, with a fallback to
in fact, we’ve fixed ECN, TOS, and Diffserv problems all over the
Linux stack in the last month.
Or did I misunderstand your original explanation?
Or I was drunk…
ecn = 0 entirely disabled
ecn = 1 enabled
Right. I got that.
What is ecn=2?
ecn = 2…
I think means accept it if presented but don’t initiate it… Wait one
Ah. So, ecn=2 on the router is fine, but I want ecn=1 on the
internal client machines.

so ecn=1 is good, and a fallback, like ecn=3 - if it existed, which
would have the desired fallback behavior would be good [07:52]
there’s a patch for that coming, I think
Sounds like I should leave the router at 2, in case there are
internal machines (e.g., windows breakage) that don’t do ECN.

I’m not aware of ecn=1 breaking on ANYTHING except your old
router. You were the first, the last, and the worst.
but whatever
I’m just trying to grok this stuff. [07:53]
I’ll try 1 on the router, see what happens.
it helps to have qos on the router that applies it to streams that are
killing your life, rather than drops it… But that’s not a huge issue
for you as you have bandwidth to burn.
Man, this dream plug is sweet. Tiny, small footprint (physical and
electrical), quiet as all fuck, and real *nix, to boot.

thx for tryin it. How does the ‘dreamplug’ feel? Is it a better piece
of gear?
answered my question in advance [07:54]
Way better. I resurrected the GuruPlug, via the JTAG. Trying to
decide whether I have a use for it.

Or whether I should give it to someone (e.g., Costine) and spread
the love.

yea, I loved the openrd, but the interviening releases of sheevaplug
and guruplug left me cold. I’m also not happy with the wireless chip,
but that’s relatively minor.
spread the love, man….
That’s what I’m thinking. … Okay, time for a conf call. By then,
my kid should be awake and ready for waffles.
BTW, the wireless is working just fine here.
I use rc.local to adjust the params via uapctl.
yea, well, start moving to the edge of the range and then watch your
ping times….
Not an issue here.

Gotta run. Back later.

To edit this page, submit a pull request to the Github repository.
RSS feed

Recent Updates

Oct 20, 2023 Wiki page
What Can I Do About Bufferbloat?
Dec 3, 2022 Wiki page
Codel Wiki
Jun 11, 2022 Wiki page
More about Bufferbloat
Jun 11, 2022 Wiki page
Tests for Bufferbloat
Dec 7, 2021 Wiki page
Getting SQM Running Right

Find us elsewhere

Bufferbloat Mailing Lists
#bufferbloat on Twitter
Google+ group
Archived Bufferbloat pages from the Wayback Machine


Comcast Research Innovation Fund
Nlnet Foundation
Shuttleworth Foundation

Bufferbloat Related Projects

OpenWrt Project
Congestion Control Blog
Flent Network Test Suite
The Cake shaper
CeroWrt (where it all started)

Network Performance Related Resources

Jim Gettys' Blog - The chairman of the Fjord
Toke's Blog - Karlstad University's work on bloat
Voip Users Conference - Weekly Videoconference mostly about voip
Candelatech - A wifi testing company that "gets it".