Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrating ALTQ in NPF #42

Open
wants to merge 9 commits into
base: trunk
Choose a base branch
from
Open

Conversation

Emmankoko
Copy link

@Emmankoko Emmankoko commented Jan 4, 2025

altq communicate to pf through pf_altq queue structures. similar is done for npf and being used to replace pf's pf_altq. npf_altq fileds are compatible with struct pf_altq as they represent a complete queue structure.

a needs-flag is set on npf to produce a npf.h during config in the kernel directory which will set optional compilation for npf related code in altq. it is also handled at runtime in the npf module.

@zoulasc @MartinHusemann

@Emmankoko Emmankoko changed the title Initiate NPF in ALTQ Integrating ALTQ in NPF Jan 4, 2025
@Emmankoko Emmankoko force-pushed the npf_altq branch 7 times, most recently from c7d1744 to e06168a Compare February 4, 2025 13:26
altq communicate to pf through pf_altq queue structures. similar is done for npf and being used to replace pf's pf_altq.
npf_altq fileds are compatible with struct pf_altq as they represent a complete queue structure.

a needs-flag is set on npf to produce a npf.h during config in the kernel directory which will set optional compilation for npf related code in altq. it is also handled at runtime in the npf module.
includes the queue structure field and a trace of the number of queues being loaded into the kernel
and make npf_altq available in include directory for use in altq framework
it is implemented to compute all params of queues for any kind of scheduler
checks:
first checks if the queue obeys best practices(having a default queue etc)
checks if the referenced queue is defined in the queues
then sets the queue to queue nvpair in the rules nvlist.
@Emmankoko Emmankoko force-pushed the npf_altq branch 2 times, most recently from fc2accf to 470a691 Compare February 5, 2025 17:57
starting ALTQ is fully handed over to the kernel. when you start NPF, it checks if altq is loaded and not already running.

if ALTQ is already running, it ignores it.
altq is disabled when you stop npf. it is handled internally in kerneland checks if altq is running.

in npf, no filtering no queueing so why should queueing be active whiles filtering is disabled?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant