# 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 章.