OpenBSD: PFキューが4 Gbpsの壁を突破
46日前原文(undeadly.org)
概要
OpenBSDのPFパケットフィルタでHFSCトラフィックシェーピングの帯域幅上限が32ビット制限から64ビットに拡張
10G以上の高速ネットワークインターフェースに対応
pftop(1)の表示バグも修正
既存設定はそのまま利用可能
パッチは2026年3月20日までにコミット予定
OpenBSD PFのHFSC帯域幅制限の64ビット化
- OpenBSDのPFパケットフィルタは、HFSCトラフィックシェーピングをサポート
- これまでstruct hfsc_scの内部32ビット制限により、帯域幅指定が約4.29Gbpsで上限
- 10G、25G、100Gなどの高速NIC普及により、この制限が問題化
- 10G以上を設定すると、値がサイレントにラップアラウンドし、予測不能なスケジューリング挙動に
- 新パッチにより、カーネルのHFSCスケジューラ内部の帯域幅フィールドが64ビット整数に拡張
- この変更で現行・将来の高速インターフェースに十分対応可能
pftop(1)の表示バグ修正
- 旧仕様では4Gbps超の帯域幅が**pftop(1)**で正しく表示されないバグ
- 今回のパッチで正しい帯域幅表示が可能に
実際のユーザー影響
- PFキューの帯域幅設定が、10Gや100Gなどの現代的なインターフェースで正しく機能
- 設定例:
- queue rootq on em0 bandwidth 10G
- queue defq parent rootq bandwidth 8G default
- 最大999Gまでサポート、将来的な拡張性も確保
- 4G未満の既存設定はそのまま利用可能、変更不要
今後の展望とコミット予定
- -currentスナップショットのテストやOpenBSD Foundationへの寄付が推奨
- 技術メーリングリスト「PF Queue bandwidth now 64bit for >4Gbps queues」スレッドで議論
- パッチは2026年3月20日(金)までにコミット予定