CONFIG_DB リファレンス¶
概要¶
CONFIG_DB は SONiC における 中央設定 DB。Redis instance の DB 4 上に置かれ、CLI (config ...) や gNMI / REST API、config_db.json のロードによって書き込まれる。各 Orch / daemon (orchagent, bgpcfgd, intfmgrd, vlanmgrd, portmgrd, teammgrd, ...) が CONFIG_DB の対象テーブルを subscribe し、APPL_DB やシステム設定(FRR・kernel・docker)に反映する。
ユーザの設定は YANG モデル (sonic-buildimage/src/sonic-yang-models/yang-models/sonic-*.yang) で記述された制約に従う必要がある。CLI / REST 経由の入力は sonic-mgmt-common の translib / transformer を通って YANG 検証されるが、config_db.json の直接ロード経路では DEVICE_METADATA.localhost.yang_config_validation = enable のときだけ検証が走る。
ページ粒度¶
このリファレンスは 1 テーブル = 1 ページ で構成する。ファイル名は <TABLE_NAME> を kebab-case 化したもの。
| 例 | ファイル名 |
|---|---|
BGP_NEIGHBOR |
bgp-neighbor.md |
DEVICE_METADATA |
device-metadata.md |
PORTCHANNEL_MEMBER |
portchannel-member.md |
VXLAN_TUNNEL_MAP |
vxlan-tunnel-map.md |
各ページは以下を含む。
- テーブルの役割: 何の設定を表すか / どこから書かれ、誰が読むか
- key 構造: Redis 上のキー形式(
<TABLE>|<key1>[|<key2>...]) - フィールド一覧: フィールド名 / 型 / 必須かどうか / デフォルト / enum 値 / 説明
- 購読する Orch / daemon: 値の変化をトリガに動くプロセス
- 関連 CONFIG_DB / YANG / CLI: 相互参照(FK 的な依存、外部キー leafref、関連 CLI コマンド)
- 引用元: YANG モジュール /
init_cfg.json.j2/db_migrator.py/ orch ソース
verification の扱い¶
- YANG にテーブル定義があるもの →
verification: code-verified - YANG に未定義 (
init_cfg.json.j2や orch のコードからのみ確認できる) →code-verifiedのまま、本文で「YANG 未定義」と注記 - HLD のみ参照したものはこのリファレンスには載せない(リファレンス系は実装一致が前提)
主要テーブル一覧(順次拡充中)¶
CONFIG_DB のテーブル数は YANG モジュール 100 超に対し 200 以上ある。本リファレンスは利用頻度の高いテーブルから順次ページ化していく。
DEVICE_METADATA... 装置全体のメタ情報(hostname / ASN / role / hwsku 等)PORT... 物理ポート設定(admin/oper、speed、MTU、FEC、autoneg 等)INTERFACE/LOOPBACK_INTERFACE/MGMT_INTERFACE/VLAN_INTERFACE/PORTCHANNEL_INTERFACE... L3 インタフェース上の IP アサインVLAN/VLAN_MEMBER... VLAN 定義とポートメンバPORTCHANNEL/PORTCHANNEL_MEMBER... LAG 定義とメンバBGP_NEIGHBOR/BGP_GLOBALS/BGP_DEVICE_GLOBAL... BGP セッション・ルータ全体・スイッチ全体スコープの BGP 状態ACL_TABLE/ACL_RULE... ACL コンテナとルールVXLAN_TUNNEL/VXLAN_TUNNEL_MAP... EVPN VXLAN トンネルと VNI マップMGMT_PORT... 管理ポート L1/L2 設定VRF... VRF (Virtual Routing and Forwarding) インスタンスBUFFER_PROFILE/BUFFER_PG/BUFFER_QUEUE... QoS バッファ階層QUEUE/SCHEDULER... キュー設定とスケジューラDSCP_TO_TC_MAP/TC_TO_QUEUE_MAP... QoS マッピングDHCP_SERVER_IPV4/DHCP_RELAY... DHCP サーバ / リレーFLEX_COUNTER_TABLE... カウンタポーリングのオン/オフ・周期FEATURE... 機能 docker のオン/オフ・autorestartSYSLOG_SERVER/NTP_SERVER... ログ送信先 / NTP 参照先
引用元¶
CONFIG_DB の正本は YANG モデル群 (sonic-buildimage/src/sonic-yang-models/yang-models/sonic-*.yang) と、初期値テンプレート (sonic-buildimage/dockers/*/init_cfg.json.j2)、CLI 配下の入力検証 (sonic-utilities/config/)、Orch 側のテーブル名定数 (sonic-swss-common/common/schema.h) で構成される。各ページの frontmatter sources に commit SHA で固定して記載する。