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-commonの translib / 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 / ルーティング¶
- sonic-bgp-neighbor
- sonic-bgp-global
- sonic-bgp-peergroup
- sonic-route-common
- sonic-route-map
- sonic-vrf
- sonic-srv6
L2 / ポート¶
オーバーレイ¶
ACL / QoS / バッファ¶
注: SONiC YANG には現状 sonic-acl モジュールは存在しない(CONFIG_DB 側の ACL_TABLE / ACL_RULE はある)。代わりに COPP / mirror / PFC watchdog をここに置く。
- sonic-copp
- sonic-mirror-session
- sonic-pfcwd
- sonic-buffer-pg
- sonic-buffer-queue
- sonic-buffer-profile
- sonic-buffer-pool
- sonic-queue
- sonic-scheduler
- sonic-dscp-tc-map
- sonic-tc-queue-map
- sonic-tc-priority-group-map
- sonic-pfc-priority-queue-map
- sonic-pfc-priority-priority-group-map
システム¶
- sonic-feature
- sonic-device_metadata
- sonic-syslog
- sonic-system-aaa
- sonic-system-tacacs
- sonic-system-radius
- sonic-system-ldap
- sonic-ntp
- sonic-snmp
- sonic-sflow
- sonic-banner
- sonic-ssh-server
- sonic-passw-hardening
- sonic-fips
- sonic-kdump
- sonic-versions
ナビゲーション運用¶
- 並び順は awesome-pages プラグインに任せる(アルファベット順)。本ページからの目的別リンクで読み手を誘導する
- 上にリストしていないモジュールも
meta/index/yang.jsonから逐次ページ化していく予定
引用元¶
sonic-yang-models (sonic-net/sonic-buildimage) src/sonic-yang-models/yang-models/ @ 9ea932ec2e18f35e58268ec2e4456b1d4afd65cd。各モジュールページに具体的なファイルパスと commit SHA を記載する。