[Codel] Do codel or fq-codel need to know the link bandwidth?

Jonathan Morton chromatix99 at gmail.com
Sat Dec 7 21:53:46 EST 2024


> On 7 Dec, 2024, at 11:27 pm, Evan Mesterhazy <evan.mesterhazy at gmail.com> wrote:
> 
> However, I have noticed that the commercial implementations for at least two firewalls that I have used (OPNsense and a Unifi gateway) both require the user to input the upload and download bandwidths of the link.

That's because they combine three algorithms into a coherent package.  All three algorithms do something different which is a crucial part of the whole.

FQ_Codel is a combination of two of these algorithms: the Codel AQM (which signals to traffic when it's passing through a congested link) and the DRR++ Fair Queuing algorithm, which essentially isolates different flows from interfering with each other.

The third algorithm is called a "shaper".  It moves the bottleneck out of the link hardware itself (which isn't smart enough to run FQ_Codel) and into the CPU (which is).  It is the shaper that needs to know what bandwidth to use, because it can't directly sense the link characteristics from where it is.

 - Jonathan Morton


More information about the Codel mailing list