Contributed by Peter N.M. Hanstein
From the queue for the Terabitia department.
openbsd
pf
Packet Filter has been supported for a long time HFSC traffic shaping with queue
rules in
pf.conf(5). However, it has an internal 32-bit limitation HFSC
Service curve structure (struct hfsc_sc) means that the bandwidth value was silently capped at around 4.29 gbps,
“Maximum value of A u_int “.
with 10Yes25Yesand 100YesThe network interface is now common, OpenBSD God Huge progress is being made in unlocking the kernel smpAnd adding drivers for cards that supported some of these speeds started to get in the way of this limitation. configuration of bandwidth 10G A queue will silently move around, causing incorrect and unpredictable scheduling behavior.
A new patch widens the bandwidth field in the kernel HFSC The scheduler, for 32-bit to 64-bit integers, removes this bottleneck completely. The diff also fixes pre-existing display bugs
pftop(1)where bandwidth value is above 4 gbps Will be shown incorrectly.
For end users, the practical impact is: pf Queue bandwidth configuration now works correctly for modern high-speed interfaces. The familiar syntax does exactly what you’d expect:
queue rootq on em0 bandwidth 10G queue defq parent rootq bandwidth 8G default
value up to 999Yes are supported, more than enough for today and future interfaces. Existing configuration using the values below 4Yes Keep working – no changes needed.
As always, test -current snapshot and
Donation OpenBSD Foundation is encouraged.
Editors note that the thread is titled
>PF queue bandwidth now 64bit for 4Gbps queuesBut tech@ It contains patches and a brief discussion, concluding that the code is ready to be committed by Friday, March 20, 2026.
<a href