FreeBSD Daily Topics

2010年8月27日ハイスピードネットワーク向けパケットキャプチャ実装ringmap

heads-up

2010Q2 FreeBSD Status Reportが公開されました。報告されている中から興味深い話題を簡単に紹介します。

Packet-Capturing Stack - ringmap

ハイスピードネットワーク向けに特化したFreeBSDパケットキャプチャ実装ringmap(Packet-Capturing Stack)の開発進捗が報告されています。ringmapはzero-copy BPFと同じアイディアのもと、共有メモリを活用することでパケットコピーの必要性を極力削減することを目的としたものです。zero-copy BPFとの違いは、ringmapではキャプチャ中のすべてのパケットコピーを排除する点にあります。その間、ネットワークアダプタのDMAバッファはダイレクトりにユーザスペースへマッピングされることになります。

ringmapの機能はlibpcap経由で利用可能です。ユーザスペースのアプリケーションは、なんら新しい追加を実施することなく、この新機能の恩恵にあずかることができます。SoC 2010の成果物として、次の作業が完了したと報告されています。

  • 9-CURRENTへのマージ完了
  • ほかのネットワークドライバへも適用しやすいように移植性に考慮した設計と実装
  • マルチスレッドで動作するように拡張

今後の開発内容としては10GbEへのringmapの移植、8-STABLEへのマージ、評価試験、ドキュメントの用意などが挙げられています。10GbEへの移植としてはすでにixgbeドライバへの統合が進められているとのことです。

おすすめ記事

記事・ニュース一覧