6. 旧アーキテクチャとの比較
旧アーキテクチャ
• 各 Application は SAL (サービス抽象化レイヤ) の Java API を介し、 Protocol Plugin を制御する
• SAL の JAVA API はコンパイル時に決定する
現アーキテクチャ
• 全て(SAL、Application、Protocol Plugin)の機能を MD-SAL の1つのモジュールとして動かす
• SAL (サービス抽象化レイヤ) でさえも実行時に拡張可能
6
Controller
AD-SAL
Protocol
Plugin
Protocol
Plugin
...
Application ... Application
Northbound API
Southbound API
Controller
ProcessingProcessing
MD-SAL
Application
Protocol
Plugin
Model
API
Application
(Processing)
API
Model
Source: https://youtu.be/GWyjRKQJ840
7. 例: OpenFlow Processing Pipeline
7
Controller
MD-SAL
OF Inventory
(Operational)
Forwarding
Rules Manager
OpenFlow Java
OF Plugin
Data Change Notification
Data Store Write OF SwitchOF SwitchOF Switch
OF Topology
Topology
Manager
OF Inventory
(Configuration)
NETCONF
RESTCONF
OF SwitchOF SwitchAppsRPCs/Notifications
OpenFlow 1.0/1.3
Inventory
Data Store RPCs, Notifications
Source: https://youtu.be/GWyjRKQJ840
Yang Model OpenFlow スイッチの操作モデルと
データモデル