Addressing Bufferbloat with OpenWrt, FQ_codel and Cake by replacing outdated firmware

Hi there! I wanted to share this learning experience, and spread out the word on how you can address Bufferbloat with FQ_Codel and Cake queue disciplines, both available within OpenWrt via SQM (Smart Queue Managemet). On top of it, if you're managing a network, you may want to leverage


Wow! It is possible with modernized software on ancient hardware to have a great Internet experience, an totally usable videoconferencing, under load even on a 10Mbit/4Mbit link.
We’re now in the process of deploying the firmware to all the network, which will also give us flexibility to continue personalizing the firmware to better serve our customers.

Absolutely wholesome! :heart: FOSS!


BTW - it seems our own @dtaht is involved in this. See the "Who We Are" section.


Thanks for sharing your experience here!


I would love it if more folk recommended LibreQoS (ebpf + cake) & rfc7567 to their ISPs for the downlink, and we kept using CAKE for the uplink and fq_codel on the wifi. Doing inbound shaping as we do in sqm was always the wrong thing, and CPU intensive, until more ISPs gained the ability to shape the downward path correctly at their hardware.

It is also a fun tool to have in a lab, to look at the properties of real traffic, (we have open sourced a "pping" implementation) and we can push 25Gbit and 10k subscribers through a cheap xeon box today. We had hoped to port it to openwrt (runs on Ubuntu only today), but we are using rust heavily and that has been a barrier.

I am deliriously happy with all that openwrt can do today, especially, in this case, fixing up a router in mexico, remotely, to modern code (and wifi!), without having to have made a truck roll. If only we could upgrade all the old routers in the world this way! I know we have improved 10s of millions of lives already on this front.

In the year we've been working on libreqos, only about 300k so far.