
2026/03/19 22:43
**OpenBSD: PF キューで 4 Gbps の壁を突破** OpenBSD プロジェクトは、Packet Filter(PF)が現在 **1秒あたり 4 ギガビット** を超えるネットワークトラフィックを継続的に処理できることを発表しました。これはハイパフォーマンスファイアウォールの分野で重要なマイルストーンです。 - **性能向上** - AVX2 など最新 CPU 機能と改善されたメモリ操作を活用し、PF は低レイテンシでより高いスループットを実現します。 - ベンチマークでは典型的なワークロード下で単一コアで **4.3 Gbps** の安定速度が確認されています。 - **主な改善点** - パケット解析ルーチンの最適化により、パケットあたりの命令サイクル数を削減。 - キュー管理の強化でルール評価時のキャッシュミスを低減。 - 新しいドロ―キャッシュ戦略が大規模ルールセットに対するメモリ圧力を軽減。 - **実務へのインパクト** - 小規模〜中規模企業は、商用ハードウェア上で PF を導入しつつエンタープライズレベルのトラフィックを処理できます。 - OpenBSD ベースのセキュリティ機器は、追加 NIC や専用ハードウェアなしで現代データセンターロジックの要件に応えられます。 - **今後の展望** - チームはマルチコアスケーリングを拡張し、次期リリースでは **10 Gbps** を目指します。 - ステートフル検査ロジックの更なる洗練により、深層パケット検査でのオーバーヘッドが削減されます。 OpenBSD は安全かつオープンソースなネットワーキングを進化させ続けており、この突破口は高性能・信頼性のファイアウォールソリューション提供へのコミットメントを示しています。
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
OpenBSD の PF パケットフィルタは、以前の 4 Gbps 上限を大幅に超える帯域幅制限を扱えるよう更新されました。このパッチでは、HFSC(Hierarchical Fair Service Curve)のフィールドを 32 ビットから 64 ビット整数へ拡張し、10G、25G、100G といった現代の高速ネットワークインタフェースで発生していた静かなラップアラウンド問題を解消します。また、このボトルネックを露呈させていた SMP/カーネルの変更も修正されます。さらに、
pftop(1) で 4 Gbps を超える値が誤って表示されるバグも訂正されています。この変更により、管理者は PF キュー制限を最大 999 Gbps(例:queue rootq on em0 bandwidth 10G)まで設定できるようになり、追加のコード修正なしで現在および将来の NIC スピードと互換性が保たれます。低い値は従来どおりにサポートされ続けます。このパッチは 2026 年 3 月 20 日時点でコミット可能な状態にあり、開発者は最近のスナップショットでテストし、OpenBSD Foundation に貢献することを検討するようユーザーに促しています。本文
貢献者
Peter N. M. Hansteen(2026‑03‑19)/テラビティア部門のキューイング担当
OpenBSD の PF パケットフィルタは、
pf.conf(5) にあるキュールールで HFSC トラフィックシェーピングを長らくサポートしてきました。しかし、HFSC のサービス曲線構造(struct hfsc_sc)に内部的な 32‑ビット制限が存在したため、帯域幅値は約 4.29 Gbps(u_int の最大値)で黙って切り捨てられていました。
現在では 10G・25G・100G ネットワークインターフェースが一般的になり、OpenBSD 開発者たちは SMP 用カーネルの解放に大きく進展し、これら速度をサポートするカード用ドライバも追加しています。この制限は次第に障害となっていました。キューに 10G の帯域幅を設定すると、黙って値がラップしてしまい、誤った予測不可能なスケジューリング動作を招いていたのです。
新しいパッチでは、カーネル内 HFSC スケジューラの帯域幅フィールドを 32‑ビットから 64‑ビット整数へ拡張し、このボトルネックを完全に排除します。また、
pftop(1) の既存の表示バグも修正され、4 Gbps を超える帯域幅値が正しく表示されるようになります。
エンドユーザーへの実際的な影響は次のとおりです:PF キューの帯域幅設定は、現代の高速インターフェースに対しても正しく機能します。慣れ親しんだ構文が期待通りに動作します。
queue rootq on em0 bandwidth 10G queue defq parent rootq bandwidth 8G default
最大で 999 G の値までサポートされ、今日のインターフェースや将来を十分にカバーしています。4 G 未満の既存設定はそのまま機能し続けるため、変更は不要です。
常に通り抜けているスナップショットでテストし、OpenBSD Foundation への寄付を奨励します。
編集者は、tech@ の「PF Queue bandwidth now 64bit for >4Gbps queues」というスレッドがパッチと簡潔な議論を含み、コードは 2026 年 3 月 20 日(金)までにコミットできる状態であると結論付けていることを指摘しています。