Jim Gettys writes about the needs for transparency and an action team for handling Internet emergencies as they arise, or preferably, before, in The Next nightmare is coming
A test release of CeroWrt is now available that has support for Kathie Nichols' and Van Jacobson's new AQM, Codel , and Eric Dumazet's new fair queuing implementation on top of that, fq_codel.
fq_codel is enabled on all interfaces by default. It is vastly simpler than what we were using before (sfqred) and draws upon and improves on the same body of ideas (head drop, fq, timestamping) but now tied to Kathie and Van's blinding insights as to a good drop strategy, and Eric's successor ideas as towards head of queue behavior and cache line optimizations.
There is a simple_qos.sh script that can be set to your uplink and downlink speeds, but no uci interface for it as yet, nor gui. (help on finishing aqm-scripts and the luci interface gladly accepted)
To see all the chocolately goodness of what fq_codel can do to wired and wireless latency, it would be good for more to play with it.
Benchmarks have been very good thus far, and more benchmarks and analysis are highly desired.
This release suffers from an unrelated bug ( #379 ) and should NOT be installed as your main router. I would love to beat this bug because it's the only prio 1 remaining but thus far, no luck. Under lighter loads CeroWrt appears to work just fine, but that's for me. YMMV.
Get it here: http://huchra.bufferbloat.net/~cero1/3.3/3.3.6-2/
found a bug or two... fixing... might be tuesday or wednesday at the moment...
The code for Cerowrt 3.3 has been frozen now for about a week. There's some reasons for that, which is why the freeze is "tasty".
(more news on monday)
Multiple routers have stayed up under various workloads for the week. My own criterion before I'm happy is two weeks of uptime under heavy load...
http://huchra.bufferbloat.net/~cero1/3.3/3.3.3-2/ has proven pretty stable, but ipv6 was kind of slow.
http://huchra.bufferbloat.net/~cero1/3.3/dev/3.3.4-3/ is also pretty stable under all but the highest workloads, and has over double the ipv6 performance as all prior versions. However, we continue to battle with bug #379 which is going to take some more (tedious) work to fix.
in the meanwhile I've taken a little time of to work on... well... you'll find out monday.
While builds continue for the linux 3.3.0 series, enough bugs have shown up in it for me to encourage new users to stick with the last known stable(ish) release, which was 3.3rc7-5.
I froze cerowrt on march 14th, got a little distracted by a demo of static deterministic nat and the port control protocol (PCP) as part of the on-going ietf meeting, and fell behind on keeping up on patches to openwrt.
When I got caught up today, patches had landed which touched every major subsystem in cerowrt - the ethernet driver, the wireless driver, the kernel, scripting and the gui. Enough broke in the last two weeks of me not paying attention to the continuous integration process to make going forwards or backwards very difficult. Right now, most noticeable, wifi doesn't come up by default.
I am pleased to say that dnsmasq has made great progress in AAAA dns integration, that iptables and iproute 3.3 have landed, and that I think I've made a dent in bug #113 (dnssec), but there's enough broken thus far to force me to pull all the 3.3.0 related releases until some of the stuff flying in loose formation congeals into one piece. That may not be until 3.3.1 is released.
Also making a bit of progress on dhcp-dp, I think.
Hopefully early next week I'll have the pieces pulled together again to where new builds of cerowrt are useable, rather than merely debuggable. And the sources are as available as possible, on github,if you want to chip in. There's plenty of bugs left to fix...
I look forward to having a more serious code freeze sometime towards the middle of April.
In this CeroWrt-devel message, Dave Täht announced that build 3.3-rc7-5 is available. This build contains the following features/capabilities:
- Linux 3.3 kernel. Many of the fixes for bufferbloat are being implemented in this 3.3 kernel, so we are tracking these developments carefully. http://kernel.org
- Active Queue Management fixes for bufferbloat including: Byte Queue Limits (BQL - already incorporated into the 3.3 kernel), Stochastic Fair Queueing-Random Early Drop (SFQRED), working ECN, and other queue disciplines http://bufferbloat.net
- IPv6 support. Another major goal of CeroWrt is to make IPv6 networking in the home as simple as IPv4.
- Babel mesh routing protocol (1.3.1-2 release).
- DNSSEC and DNSSEC proxying - Secure extensions to the DNS system. Proxying is currently in testing.
- OpenWrt features. Because we track the OpenWrt code base carefully, we incorporate most of the capabilities of that distribution. We actively push our changes/enhancements back toward the OpenWrt trunk. http://openwrt.org
- An attractive web GUI for configuration - LuCI
Read the [[CeroWrt_33_Release_Notes|CeroWrt 3.3 Release Notes]]
Download CeroWrt 3.3 builds: http://huchra.bufferbloat.net/~cero1/3.3/
Dave Täht writes the following in the CeroWrt-Devel mailing list:
I put in some time testing the rc6-2 version of cerowrt back in the bloatlab, which, among other nice things, has a dedicated, real /60 ipv6 allocation. I had a chance to fiddle with encrypted wireless (works), the existing mesh network (works), radvd (fiddly), and also setup the new quagga as a 'leaf' babel node, which worked pretty well. Download Read more...
Dave Täht writes the following in the CeroWrt-Devel mailing list:
This was the first time I've had a chance to try to actually deploy
cero as the main router in a production environment (esr's) in quite
some time. Enough problems cropped up for me to recommend against
using it as a primary router at this point, although I am writing
this email through it.
I did get some good data on how FIOS works (short summary: it's hard
to stress out FIOS)
You can download from http://huchra.bufferbloat.net/~cero1/3.3/3.3-rc5-1/
As noted in the Wiki and Activity pages, there has been a lot of recent work on CeroWrt. This has led to a usable firmware build that significantly improves performance with various new AQMs on a home router.
The bql-40 release incorporates Linux kernel 3.3-rc3, bind 9.9rc2, defaults to installing the snmpd, fprobe, and avahi packages and has a somewhat improved AQM. This build is for the bold - use it on your secondary router. If Linux 3.3 works out we will start a new, more serious development cycle around it.
Read the [[BQL_series_release_notes|Release Notes]] for details.
The recent bql-31 build is available for the bold. This build incorporates work from the Linux 3.3 kernel as well as a number of known queue disciplines (qdisc) that dramatically relieve bufferbloat. We believe the DNS/bind and IPv6 code are also working well. The build may have bugs and may not perform perfectly, but it is certainly better than the stock firmware or other builds. We'd like to get it in the hands of people who're willing to report problems (or successes!)
The [[Wiki]] page has information about downloading, installing, and configuring the build.
Also available in: Atom