Update README.md

This commit is contained in:
Robert Chacón 2021-07-01 13:48:37 -06:00 committed by GitHub
parent e2f493d52f
commit 737c777f39
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -19,21 +19,6 @@ The impact of fq_codel on a 3000Mbps connection vs hard rate limiting — a 30x
* OSPF backup link
![Diagram](docs/diagram.png?raw=true "Diagram")
# v0.9 (Alpha)
## Features
* <a href="https://github.com/xdp-project/xdp-cpumap-tc">XDP-CPUMAP-TC</a> integration allow for thousands of IPv4 clients and much lower CPU use
* HTB+fq_codel or HTB+cake
* Shape Clients by Access Point / Node capacity
* APs equally distributed among CPUs / NIC queues to greatly increase throughput
* Simple client management via csv file
## Limitations
* Not dual stack, clients can only be shaped by IPv4 address for now in v0.9. Once IPv6 support is added to <a href="https://github.com/xdp-project/xdp-cpumap-tc">XDP-CPUMAP-TC</a> we can then shape IPv6 as well.
* Working on stats feature
## Requirements
* Requires XDP-CPUMAP-TC. <a href="https://github.com/rchac/LibreQoS/tree/main/v0.9-alpha">See here</a> for details.
* Requires kernel version 5.12 or above. <a href="https://ubuntuhandbook.org/index.php/2021/04/linux-kernel-5-12-released/">Tip</a> for installing kernel verion 5.12.
* Only works on dedicated linux machines at the moment, not on VMs. Will soon work on VMs once <a href="https://www.spinics.net/lists/bpf/msg42260.html">this patch</a> is part of the mainline linux kernel.
# v0.8
## Features
* Dual stack: client can be shaped by same qdisc for both IPv4 and IPv6
@ -49,6 +34,21 @@ The impact of fq_codel on a 3000Mbps connection vs hard rate limiting — a 30x
* Tested up to 4Gbps/500Mbps asymmetrical throughput with NVIDIA MCX4121A-XCAT. Tested using <a href="https://github.com/microsoft/ethr">Microsoft Ethr</a> with n=500 streams. Throughput is noticably superior with NVIDIA/Mellanox cards vs Intel X710 for some reason. Qdisc locking problem will require integrating <a href="https://github.com/netoptimizer/xdp-cpumap-tc">xdp-cpumap-tc</a> or <a href="https://lwn.net/Articles/840244/">HTB offload</a> feature in future verions to increase bandwidth capacity.
* Linux tc hash tables can only handle ~4000 rules each. This limits total possible clients to 1000 at this time. Eventually we will rework the code to allow for more clients by linking more hash tables.
# v0.9 (Alpha/testing)
## Features
* <a href="https://github.com/xdp-project/xdp-cpumap-tc">XDP-CPUMAP-TC</a> integration allow for thousands of IPv4 clients and much lower CPU use
* HTB+fq_codel or HTB+cake
* Shape Clients by Access Point / Node capacity
* APs equally distributed among CPUs / NIC queues to greatly increase throughput
* Simple client management via csv file
## Limitations
* Not dual stack, clients can only be shaped by IPv4 address for now in v0.9. Once IPv6 support is added to <a href="https://github.com/xdp-project/xdp-cpumap-tc">XDP-CPUMAP-TC</a> we can then shape IPv6 as well.
* Working on stats feature
## Requirements
* Requires XDP-CPUMAP-TC. <a href="https://github.com/rchac/LibreQoS/tree/main/v0.9-alpha">See here</a> for details.
* Requires kernel version 5.12 or above. <a href="https://ubuntuhandbook.org/index.php/2021/04/linux-kernel-5-12-released/">Tip</a> for installing kernel verion 5.12.
* Only works on dedicated linux machines at the moment, not on VMs. Will soon work on VMs once <a href="https://www.spinics.net/lists/bpf/msg42260.html">this patch</a> is part of the mainline linux kernel.
## General Requirements
* VM or physical server (versions up to v0.8)
* Physical server only (v0.9 and above)