The FreeBSD Projectは11日(協定世界時)、2007年第2四半期(4月~6月)状況報告を公開した。ここでは同報告から特にネットワークに関する項目などを中心にいくつかトピックを紹介する。

ネットワークスタック仮想化

FreeBSD Projectでは、ネットワークスタックの仮想化開発が進められている。同仮想化ではINET/INET6カーネル構造体およびサブシステムが仮想化されるほか、IPFW/PFファイアウォールなども仮想化される。jail(8)ごとにまったく別のネットワークを保持できるようになり、複数のデフォルトルータをシステムが保持できるようになる。来月中にはIPSEC(FAST_IPSEC)に対する仮想化も実現される見通しだ。同機能が7.0-RELEASEまでにマージされるかどうかはまだわからないが、今後のFreeBSDにおける特徴的な機能としてマージが期待されるところだ。

802.11ワイヤレスネットワーク

802.11ワイヤレスサポートに関する大幅な改善が7-CURRENTにマージされている。同改善によって802.11nデバイスのサポートの追加、バックグラウンドスキャニングやローミングを実現するためのアドバンスドステーションモード機能の追加、Atheros SuperGプロトコルエクステンションサポートの追加などが実現されている。またインフラストラクチャに対して改善が加えられたことで、Virtual APのサポートがより容易になったとされている。

KAME IPsecからFAST_IPSECへ変更

IPsecの実装が従来のKAME IPsecからFAST_IPSECへと置き換わった。これと同時にカーネルオプションの名称もFAST_IPSECからIPSECへと変更された。以後IPsecを使う場合はカーネルオプションでIPSECを指定すれば、実装としてFAST_IPSECが動作することになる。7.0-RELEASEからはカーネルオプションで指定する名称がIPSECとなるので注意しておきたい。

Wake On Lan対応、PXEサポート

Wake On Lanは、BIOSレベルで対応できるものではなく、適切に動作させるにはOSのサポートが必要になる。FreeBSDにおいてWake On Lanをサポートするための開発が進められており、今のところNatSemi DP83815 sis(4)、Via Rhine rl(4)、Nvidia nForce nve(4)、3Com Etherlink XL/Fast Etherlink XL xl(4)がサポートされている。

またWebサーバから直接FreeBSDカーネルをダウンロードしてシステムを起動するPXE対応の実装はすでに行われているものの、さらに多くの試験が必要だとされている。興味があるデベロッパやアドバンスドユーザはTry&Reportを実施されたい。

10Gビットネットワークドライバ開発と性能改善

新しいドライバとしてChelsio T3 10ギガビットイーサネットアダプタドライバcxgb(4)、Neterion Xframe 10GbEサーバ/ストレージアダプタドライバnxge(4)が新しく追加されたほか、Myricom Myri10GE 10ギガビットイーサネットアダプタドライバmxge(4)が大幅に改善されている。また、ネットワーク関連の性能分析とチューニングが実施されたうえ、CPUアフィニティが改善されて、さらにネットワークリソース管理のオーバーヘッドが軽減されている。

Intel(R) PRO/10GbEイーサネットドライバixgb(4)はすでにあるが、最新のIntel 10gハードウェアデバイスをサポートするデバイスドライバとしてixgbe(4)が現在開発段階にある。また、TSOと類似したLRO(Large Receive Offlaod)インフラストラクチャの策定が進行している。

Magic Tunnel Daemon、Multi-link PPP daemon、multicast DNS daemon

状況に応じて実行時に適切なカプセル化を実施するトンネリングデーモンmtund(8)の開発が進められているほか、FreeBSDのマルチリンクPPPデーモンであるmpd(8)が4.2へバージョンアップされている。またマルチキャストDNSデーモンの開発も進められている。

TrustedBSD Audit、TrustedBSD MAC Framework、TrustedBSD suser(9)/priv(9)

IPv6エンディアン問題などが修正されているOpenBSM 1.0a14がインポートされたほか、7.0-RELEASEへ向けてTrustedBSD Audit機能のクリーンナップが実施されている。ロックフリーへと実装を改善、非同期に動作するように変更、MACチェック機能の追加などもある。またすでにAUDITオプションは7-CURRENTのデフォルトカーネル設定として追加されており、このまま7.0-RELEASEでもデフォルトになる見通し。同機能を有効にするには/etc/rc.confにおける設定追加が必要。

TrustedBSD MAC Framework関連のコードもクリーンナップが実施されているほか、7.0-RELEASEにおいてsuser(9) KPIを削減するために削減できる部分のsuser(9)処理を削除する作業が進められている。