コンテンツにスキップ

YANG リファレンス

sonic-yang-models (sonic-buildimage repo の src/sonic-yang-models/yang-models/) に同梱される SONiC YANG モデルのリファレンス。

SONiC YANG の位置付け

SONiC の YANG モデルは CONFIG_DB スキーマの正本として機能する。具体的には:

  • CLI 経由 (config / sonic-cfggen / minigraph) で書き込まれた CONFIG_DB の値は、sonic-yang-mgmt (sonic-buildimage/src/sonic-yang-mgmt/) によって YANG モデルに対してバリデーションされる
  • gNMI / REST 経由の管理アクセスは sonic-mgmt-commontranslib / transformer レイヤを通る。translib は OpenConfig / IETF YANG をクライアント向けに公開し、transformer がそれを SONiC 内部の sonic-* YANG(= CONFIG_DB スキーマ)に変換する
  • 一部のテーブルは YANG が無いか中途半端な状態。新規テーブルは原則 YANG 必須だが、歴史的経緯で未追従のものもある

つまり「SONiC YANG = CONFIG_DB の型定義 + 整合性制約」と理解して良い。CONFIG_DB リファレンス(docs/reference/config-db/)と相互参照する。

ページ粒度

1 YANG モジュール = 1 ページ。ファイル名は <module-name>.md(YANG ファイル名から .yang を除いた basename そのまま、接頭辞 sonic- も保持)。

各ページが含む内容:

  • モジュールの role / namespace / revision / import
  • top-level container / list の構造(pyang tree 出力)
  • leaf 一覧(パス・型・必須・default・enum / 範囲 / leafref 先・description)
  • leafref で参照している他モジュール
  • augment / deviation
  • 関連する CONFIG_DB テーブルと CLI コマンドへのリンク

全モジュール一覧

sonic-yang-models の現行 master には 136 のモジュールが含まれる。詳細インデックスは meta/index/yang.json を参照。

主要モジュール(個別ページが存在するものから順次リンク):

BGP / ルーティング

L2 / ポート

オーバーレイ

ACL / QoS / バッファ

注: SONiC YANG には現状 sonic-acl モジュールは存在しない(CONFIG_DB 側の ACL_TABLE / ACL_RULE はある)。代わりに COPP / mirror / PFC watchdog をここに置く。

システム

ナビゲーション運用

  • 並び順は awesome-pages プラグインに任せる(アルファベット順)。本ページからの目的別リンクで読み手を誘導する
  • 上にリストしていないモジュールも meta/index/yang.json から逐次ページ化していく予定

引用元

sonic-yang-models (sonic-net/sonic-buildimage) src/sonic-yang-models/yang-models/ @ 9ea932ec2e18f35e58268ec2e4456b1d4afd65cd。各モジュールページに具体的なファイルパスと commit SHA を記載する。

関連 Topics