21st - whitebox switchとASICドライバ

MS Windows のために標準化された PC ハードウェアつまり「ホワイトボックス」が広く普及した世界を足がかりにして、Linux など Open なソフトウェアがそのシェアと市場を構築した。Open Network Linux (ONL) は同様に急速にコモディティ化しつつある ODM ベンダーが出してくるスイッチをホワイトボックスと見なして 、その上に Open なソフトウェアのエコシステム(生態系)を構築しようとするものだ。
ただ、一点、PC ホワイトボックスとは幾らか状況が異なるところがある。それは ASIC のドライバの最下層がオープンで無い、ということだ。
2014年12月の OKINAWA Open Days 2014 で BigSwitch の Rob Sherwood は "Open Network Linux: A Path to a Fully Open Networking Stack" と題して ONL の紹介を行っており、スライド 10 page に全体構成図がある。そこでは ASIC ドライバ(BRCM つまり Broadcom SDK)に「Closed Source」と但し書きがあり、ご丁寧に「(sigh)」(やれやれ)と添えられている。
もちろん API が公開されればソースそのものが出てこなくても良いじゃ無いかという話もある。まさに 2014年の3月、ONS2014 のセッションで Broadcom がそれを行った。OF-DPA (OpenFlow - Data Plane Abstraction Networking Software) として、OpenFlow 向けにスイッチ ASIC をプログラミングできる SDK を発表した。残念ながら(Rob の指摘通り)バイナリ提供でソースが無いが、それでもとにかく出てきた。
2014年10月の SDN Japan の "What’s Next with Ryu"NTT によるセッションでもそのことへの言及があった。つまり ONL は「一番重要なASICの制御コンポーネントを含まない」「何故ASICの制御コンポーネントが含まれないのか?」と。しかし NDA の制約からそれを含めて出すことが困難であることにもまた触れられている。 そして最後に OF-DPA のことをとりあげて、「ONLと OF-DPA を組み合わせれば、ホワイトボックス スイッチOSをOSSで開発できる? → 鋭意開発中!」とあり、この点では希望が持てる。
ところで ONL や ONIE、そして OF-DPA のことを考えると、総論としてはやはり PC 世界と同様にスイッチ世界も徐々にオープンになりつつある、と言えるだろう。すると最終的にこれらの ASIC ドライバもそのうちに完全にオープンになると考えるのが良い。さてその時、Cumulus など商用製品としてドライバを開発・提供あるいは自社製品に組み込んで出している人たちは今後どこへ進むのだろう。
つまり BigSwitch, Cumulus, Pica8 などはその製品に OpenFlow 対応の ASIC ドライバを組み込んでいるが、それらの企業にとって ASIC ドライバがオープンなものとして出てくる事は一つの脅威だ。もちろん PC 業界で OSS 化の波をそのような「直接的な脅威」ととらえたのは初期的な反応で、スイッチ業界にしても時間を経て今のような OSS を前提としたビジネスモデルに変化していくことは間違い無い。ただ、しばらくの間はそのあたりの直接的な利益モデルと最終的なゴールの間を行ったり来たりすることになるだろう。
直近の動きとしては Pica8 が PicOS を ONIE 対応にした。つまり彼らはスイッチベンダーからスイッチ OS ベンダーになるのだ。James は次なる一手をどこに打つだろうか。
なお、こうした NDA 絡みも含めて情報公開されないハードウェアのドライバ問題は PC ホワイトボックスにもあった。ACPI (電源制御)や、グラフィクスドライバだ。どちらもベンダーが積極的に情報公開しないので、オープンなドライバがどうしても出づらかった。製品の発売からかなり経ってサポートされるようになることが多かったので、ラップトップに Linux を入れるには「少し前のモデル」に入れるのが良いと考えられていた覚えがある。(といってもかなり古い話)
今は OpenFlow に適したまともな ASIC が出ていないし、今後も従来的 L2/L3 スイッチ ASIC を OpenFlow 用に流用することがしばらく続くだろう。すると上に書いた話がそのままスイッチ上でも起きそうに思える。そして ACPI やグラフィクスドライバと違ってスイッチにおける ASIC ドライバは避けて通れないため、短絡的には OpenFlow 対応スイッチが出てくるのが遅れると思われる。つまり OpenFlow スイッチは常に遅れて市場にやってくることになる。
SDN に期待している身としては、それだけは何とかして避けたい。
ちょっととりとめの無い話になってしまったが、ひとまず今の記録として書いておく。

References