Re: ALTQ modifications proposal

Paul Goyette <[email protected]> Wed, 18 Jun 2025 12:22:43 -0700 (PDT)
Newsgroups gmane.os.netbsd.devel.kernel,gmane.os.netbsd.devel.network
Message-ID <[email protected]>
On Wed, 18 Jun 2025, Emmanuel Nyarko wrote:

> Hi all,
>
> I have already spoken to a few developers about this and now want to make everyone aware.
>
> The current state of ALTQ:
> ALTQ code is very large with so maany queueing disciplines.
>
> The state of the art per my research is Fair Queuing CoDel FQ-Codel.(i did the work in making CoDel work in netbsd).
>
> The previous disciplines are not well maintained and adding another discipline makes it worse(maintainability).
>
> i want to update it to FQ-CoDel and bring it in now so we use it as our primary and maybe only active queue managements.
>
> How do i want to bring it in ?
> 1. Remove all the existing disciplines (openBSD has taken this step already)
> 2. Use fq-codel which is easy to configure with fewer parameters and proves to be very effecitve in mitigating bufferbloat
> 3. modularize it (so we don’t have to recompile kernel anytime one wants to use it. as opposed to the current)
> 4. find a way to write tests for it
> 5. update the docs.
>
> Modularizing:
> this will also help for easy integration into NPF.
> all points of contacts to ALTQ will be changed to agree with the decision eg: in if_inittialise( when a new network device is connected) and also when detached for each network interface.
>
>
> Hence, we can have a modular, and smaller quality of service codebase to use and maintain.

Please note that we also need to modularize the ALTQ code itself, 
preferably prior to modularizing the queueing disciplines.  I looked
at it once a while ago, but did not proceed due to lack of knowledge
re ALTQ itself.

Good luck!


+---------------------+--------------------------+----------------------+
| Paul Goyette (.sig) | PGP Key fingerprint:     | E-mail addresses:    |
| (Retired)           | 1B11 1849 721C 56C8 F63A | [email protected]    |
| Software Developer  | 6E2E 05FD 15CE 9F2D 5102 | [email protected]  |
| & Network Engineer  |                          | [email protected] |
+---------------------+--------------------------+----------------------+