Skip to content

Integrating ALTQ in NPF - #42

Open
Emmankoko wants to merge 10000 commits into
NetBSD:trunkfrom
Emmankoko:npf_altq
Open

Integrating ALTQ in NPF#42
Emmankoko wants to merge 10000 commits into
NetBSD:trunkfrom
Emmankoko:npf_altq

Conversation

@Emmankoko

@Emmankoko Emmankoko commented Jan 4, 2025

Copy link
Copy Markdown

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
MartinHusemann and others added 29 commits January 5, 2025 15:08
PR toolchain/58960: Missing support for _NETBSD_REVISIONID on various
ports
This was assigned before the function was called.
This also works for machines with FPU.
If the kernel defines FPU_EMULATE, even illegal FPU instructions in the real
6888x machines, the FPE will be executed by F line exception.  So the FPE
must raise SIGILL appropriately for these.
Use DIOCGMEDIASSIZE ioctl when no partition info is available
to generate st_size information. This helps dk(4) and dm(4) devices.
id string as well as _NETBSD_REVISIONID.
Do not rely on string concatenation in the inline assembler, use .ascii
and .asciz for individual string parts instead.
…et source

and destination buffer independently
There are many places where 'long' is narrowed to 'int', so if these had
serious problems, these would have probably been found earlier. Suppress
these warnings to make the remaining ones more visible, as these may
point to more interesting places in the code.
Previously, indent assumed that no 'else' would follow.
@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?
netbsd-srcmastr pushed a commit that referenced this pull request Oct 1, 2025
	external/gpl2/texinfo/dist/info/display.c: revision 1.2

info(1): fix ctype(3) usage to avoid coredump
netbsd-srcmastr pushed a commit that referenced this pull request Jul 26, 2026
	external/gpl2/texinfo/dist/info/display.c: revision 1.2

info(1): fix ctype(3) usage to avoid coredump
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.