LibreQoS is a python application that allows you to apply fq_codel traffic shaping on hundreds of customers. <ahref="https://www.bufferbloat.net/projects/codel/wiki/">Fq_codel</a> is a Free and Open Source Active Queue Management algorithm that reduces bufferbloat, and can improve the quality of customer connections significantly. LibreQoS features the ability to import devices from LibreNMS and UNMS at runtime using API calls. It then apples hundreds of filter rules to direct customer traffic through individual fq_codel instances within an <ahref="https://linux.die.net/man/8/tc-htb">HTB</a> (HTB+fq_codel). By utilizing <ahref="https://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.adv-filter.hashing.html">hashing filters</a>, thousands of rules can be applied with minimal impact on traffic throughput or CPU use. This is alpha software, please do not deploy in production without thorough testing. If you need a stable paid commercial alternative, please check out <ahref="https://www.preseem.com/">Preseem</a>, which has great metrics tools and integration with many CRM and NMS platforms.
* Linux TC filters may be left in the memory cache after being removed/disassociated with qdiscs. However, that memory space tends to get overwritten as long as the IP scheme of your network isn't changing constantly somehow. If after a few months you need to clear memory cache, use
```
sudo sh -c 'echo 1 >/proc/sys/vm/drop_caches'
```
On <ahref="https://www.reddit.com/r/Proxmox/comments/asakcb/problem_with_ram_cache/">ProxMox VMs</a> you need to do some tweaks to allow that freed up memory to be reflected on the hypervisor.
Thank you to the hundreds of contributors to the fq_codel and cake projects. Thank you to Phil Sutter, Bert Hubert, Gregory Maxwell, Remco van Mook, Martijn van Oosterhout, Paul B Schroeder, and Jasper Spaans for contributing to the guides and documentation listed below.