Re: ALTQ modifications proposal

Emmanuel Nyarko <[email protected]>
Newsgroups gmane.os.netbsd.devel.kernel,gmane.os.netbsd.devel.network
Message-ID <[email protected]>

> On 18 Jun 2025, at 7:22 PM, Paul Goyette <[email protected]> wrote:
> 
> 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.

Yess, also get it in rump too. Modularizing it as it is now is complex. we will even have to remove some #ifdef blocks in the network stack as well.

so i just want to have just codel. no #ifdef blocks, just either simple have it in base during boot, or modload it when you need it.
> 
> 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] |
> +---------------------+--------------------------+----------------------+


Emmanuel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.