Enable ECN on multiple operating systems

Solaris

OSX

Linux

FreeBSD

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.
heh
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.
no
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 …
what?

It’s a flow-control thing, isn’t it?
and have all the relative theoretical chocolaty goodness
yes
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.

yes.
Interesting. Out of the box, the plug’s Debian has: [07:49]
net.ipv4.tcp_sack = 1
net.ipv4.tcp_ecn =
2
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.
yep
ECN breakage was a real problem
Yes, but, IIRC, ecn=2 is essentially ecn=1, with a fallback to
oldness.
[07:50]
in fact, we’ve fixed ECN, TOS, and Diffserv problems all over the
Linux stack in the last month.
ummmm
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
[07:51]
yea
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.

heh
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?
hahha
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.
[07:55]
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.

http://www.vistax64.com/vista-general/53861-how-do-you-enable-ecn-explicit-congestion-notification.html
[09:15]
Gotta run. Back later.
ERC>

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

Recent Updates

Dec 2, 2024 Wiki page
What Can I Do About Bufferbloat?
Dec 1, 2024 Wiki page
Bufferbloat FAQs
Jul 21, 2024 Wiki page
cake-autorate
Jul 21, 2024 Wiki page
Tests for Bufferbloat
Jul 1, 2024 Wiki page
RRUL Chart Explanation

Find us elsewhere

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

Sponsors

Comcast Research Innovation Fund
Nlnet Foundation
Shuttleworth Foundation
GoFundMe

Bufferbloat Related Projects

OpenWrt Project
Congestion Control Blog
Flent Network Test Suite
Sqm-Scripts
The Cake shaper
AQMs in BSD
IETF AQM WG
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".