OpenBSD PF Queues Break the 4 Gbps Barrier

⭐⭐⭐⭐ (4星) | Systems/Networking | 2026-03-19

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.

OpenBSD Networking Kernel PF QoS

Read Original Article →