[Battlemesh] plug: libreqos.io QoE

Dave Taht dave.taht at gmail.com
Tue Oct 25 20:07:24 CEST 2022


I've spent the last few months helping polish up libreqos.io, which is
a GPLv2 cake or fq_codel based customer shaper for ISPs and vpn
concentrators, currently known to scale past 11Gbit and 10k customers
on cheap 16 core xeon hardware. In the v1.2 release last month they
got ipv6 and trie's in general in ebpf working well. In v1.3 (mid
december?) dynamically being able to update rules based on real-time
events is planned, and also the first ever high speed xdp + ebpf
implementation of kathie nichols wonderful pping QoE utility, just
landed yesterday which I'm tickled pink about.

If y'all are interested, some links:

Libreqos is in python and c: https://github.com/rchac/LibreQoS
There's a rust fork here: https://github.com/thebracket/bqos-oss#readme
EBPF + XDP pping here: https://github.com/thebracket/cpumap-pping
Mailing list here: https://lists.bufferbloat.net/listinfo/libreqos

I'm involved for a couple reasons - cracking the 10Gbit barrier has
seemed to require kernel bypass, and the XDP path now in the kernel
seems to be the way to get there. The biggest reason for me tho, is to
finally be able to look at real-world QoE metrics for RTT etc, (with
permission from an ISP!)  across a wide range of technologies, and
find ways to improve sch_cake and fq_codel more. (I also needed a
break from itty bitty routers)

It has also been a real eye opener, compared to interacting with
battlemesh, as to how modern (USA and NZ) wisps operate, their
dependencies on ospf and mikrotik, and pppoe and so on. There seems to
be some awareness of BATMAN there, but the reigning protocols are BGP
and OSPF - and the mesh protocols other devices use in this space seem
very vendor specific and not interoperable. There's a lot of DPI, and
tcp offloads, and even more bailing wire and string.

After learning the chaotic state of the wireless market I keep
thinking there's room for porting openwrt to some of the more popular
wireless bands (10-12ghz, 60ghz), and rather easily took apart an
older 802.11ad from ubnt the other day to find that it was actually,
also based on openwrt, from 2012.

This string of posts went by today on the range and bandwidth
characteristics of many of the commercial products in wireless:
https://lists.bufferbloat.net/pipermail/libreqos/2022-October/000077.html
which I thought would be of interest here, also.



-- 
This song goes out to all the folk that thought Stadia would work:
https://www.linkedin.com/posts/dtaht_the-mushroom-song-activity-6981366665607352320-FXtz
Dave Täht CEO, TekLibre, LLC


More information about the Battlemesh mailing list