-
M5 step: OpenBSD hfsc/fq_codel back ends compiled into pf.ko; ifq data path can enqueue and drain
released this
2026-11-12 01:52:30 -03:00 | 1 commits to main since this release- 157 scheduler symbols in pf.ko; pf_ioctl's queue manager reaches them
(pfq_alloc succeeds, the hfsc discipline is created). - ifq_start() now really drains the queue and transmits; the dequeue cookie
(ifq_deq_begin/commit) is preserved instead of being dropped. - pf_kifq_input() lets the pf data path hand a packet to an attached scheduler.
- Fixed a class-handle collision: the root class used bit 0x1, which equals
odd pf queue ids, so hfsc_pf_addqueue() saw a duplicate and returned EBUSY. - Compat surface added: struct mbuf_list + ml_* helpers, ifq_q_enter/leave,
nsecuptime, tick_nsec, splnet/splx, KERNEL_ASSERT_LOCKED, struct hfsc_sc /
hfsc_class_stats / fqcodel_stats, PKTCNTR_INC. - Linux-specific fixes: min() signedness (min_t) and the hfsc parameter named
'current' (a kernel macro).
Verified: 14/14 lab gates green (queues are not configured by any gate - the
purge-path lock assertion documented in caveats section 9 must be fixed before
queue rules are safe to enable; no bandwidth is enforced yet).Downloads
- 157 scheduler symbols in pf.ko; pf_ioctl's queue manager reaches them