OpenBSD PF Queues Break the 4 Gbps Barrier
Summary
OpenBSD's PF (Packet Filter) has long supported HFSC traffic shaping, but an internal 32-bit limitation in the HFSC service curve structure capped bandwidth at ~4.29 Gbps. A new patch widens this to 64-bit, removing the bottleneck entirely.
Technical Details
- Problem: struct hfsc_sc used 32-bit integers, silently capping bandwidth at 4.29 Gbps
- Impact: Configuring 10G on a queue would silently wrap around
- Solution: Patch widens bandwidth fields from 32-bit to 64-bit integers
- Also fixes: pftop display bug for values above 4 Gbps
Configuration Example
queue rootq on em0 bandwidth 10G queue defq parent rootq bandwidth 8G default
Values up to 999G are now supported - more than enough for modern high-speed interfaces.
Why This Matters
With 10G, 25G, and 100G network interfaces now commonplace, this limitation was increasingly problematic. The fix enables proper QoS configuration on modern high-speed networks using OpenBSD.