# Open Network Linux (ONL) Open Network Linux (ONL) は、ベアメタルスイッチ上で動く Switch OS の最も一般的な基盤である。[[Open Compute Project]] のオープンソースプロジェクトであり、Debian ディストリビューションを出発点として、Small Form-factor Pluggable (SFP) インターフェースモジュールなど、スイッチに固有なハードウェアのサポートを追加する。(Source: [[@2021__SystemsApproach__Software-Defined Networks - A Systems Approach - Chapter 5 Switch OS]] ch.5) ## ONL Platform (ONLP) ONL は ONL Platform (ONLP) を通じて Platform API を公開する。この API はハードウェアカウンタ・モニタ・ステータス変数などへのアクセスを提供し、[[Stratum]] のような上位の Thin Switch OS 層から利用される。(Source: ch.5 §5.1) ## Stratum との関係 [[Stratum]] は ONL の上で動く Thin Switch OS の代表例であり、ONL 自体の低レベルなデバイスドライバの詳細を扱わず、その上に構築されるノースバウンドインターフェース(P4Runtime・gNMI・gNOI)に焦点を当てる。(Source: ch.5) ## ONIE との関係(『実践SONiC入門』第5章) 『実践SONiC入門』第5章は、[[ONIE (Open Network Install Environment)]] によるインストールを解説する中で、「SONiC 以外の ONIE 対応ネットワークOS の例」として ONL を挙げる。ONIE はブートローダーとネットワークOSの間に位置する共通のインストール実行環境であり、ONL はその ONIE を使ってインストールされる側のネットワークOS(SONiC と同じ立ち位置)である点に注意が要る——ONIE と ONL は役割が異なり、前者はインストール機構、後者はインストールされる NOS そのものである。(Source: [[@2025__Gihyo__実践SONiC入門 - Chapter 5 SONiCの入手とインストール]] §5.3.1) ## 横断的知見 - 現時点では ONIE との役割の違いについてのみ複数ソースの突き合わせが可能(*Software-Defined Networks: A Systems Approach* 第5章は ONL 自体の内部構造を、『実践SONiC入門』第5章は ONL を ONIE 経由でインストールされる対象として言及する)。他の観点での横断的知見は今後のソース追加を待つ。(Source: [[@2021__SystemsApproach__Software-Defined Networks - A Systems Approach - Chapter 5 Switch OS]], [[@2025__Gihyo__実践SONiC入門 - Chapter 5 SONiCの入手とインストール]]) ## 関連 - [[Open Compute Project]] — ONL の開発元 - [[Stratum]] — ONL 上で動く Thin Switch OS - [[ONIE (Open Network Install Environment)]] — ONL をインストールする実行環境 - [[@2021__SystemsApproach__Software-Defined Networks - A Systems Approach - Chapter 5 Switch OS]] - [[@2025__Gihyo__実践SONiC入門 - Chapter 5 SONiCの入手とインストール]] ## 出典 - Peterson, Cascone, O'Connor, Vachuska, and Davie, *Software-Defined Networks: A Systems Approach*, 2021, Chapter 5: Switch OS. https://sdn.systemsapproach.org/stratum.html - 海老澤健太郎, 『実践SONiC入門』, 技術評論社, 2025, 第 5 章.