Contributed by Peter N. M. Hansteen on 2026-03-19 from the queueing for Terabitia dept.
HFSC
HFSC
struct hfsc_sc
Gbps
u_int
OpenBSD 's PF packet filter has long supportedtraffic shaping with therules in pf.conf(5) . However, an internal 32-bit limitation in theservice curve structure () meant that bandwidth values were silently capped at approximately 4.29
With 10 G , 25 G , and 100 G network interfaces now commonplace, OpenBSD devs making huge progress unlocking the kernel for SMP , and adding drivers for cards supporting some of these speeds, this limitation started to get in the way. Configuring bandwidth 10G on a queue would silently wrap around, producing incorrect and unpredictable scheduling behaviour.
A new patch widens the bandwidth fields in the kernel's HFSC scheduler from 32-bit to 64-bit integers, removing this bottleneck entirely. The diff also fixes a pre-existing display bug in pftop(1) where bandwidth values above 4 Gbps would 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 just does what you'd expect:
... continue reading