MGMT_INTERFACE テーブル¶
概要¶
帯域外管理 IF (eth0) に対する IP / gateway / forced routes を保持する1。hostcfgd がこのテーブルから /etc/network/interfaces の mgmt- セクションを再生成する。MGMT_VRF_CONFIG.mgmtVrfEnabled = true のとき forced routes は mgmt VRF テーブルに追加される。
データフロー (自動生成)¶
flowchart LR
CDB[("CONFIG_DB<br/>MGMT_INTERFACE")]
DM["mgmt-framework"]
CDB --> DM
凡例
CONFIG_DB から SAI までの典型経路を docs/reference/config-db-orch-map.md から機械生成したミニ図。詳細・例外は本ページ本文と対応表を参照。
key 構造¶
<name> は MGMT_PORT.name への leafref。<ip_prefix> は v4/v6 prefix。
フィールド一覧¶
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
name (key) |
leafref MGMT_PORT.name |
✅ | 管理ポート名 |
ip_prefix (key) |
sonic-ip-prefix |
✅ | IP/プレフィクス |
gwaddr |
ip-address | - | デフォルトゲートウェイ |
forced_mgmt_routes |
leaf-list (prefix or address) | - | mgmt VRF / default VRF に追加する経路 |
制約 (must)¶
ip_prefixとgwaddrは同じ IP family でなければならない(両方とも:を含むか、両方とも.を含む)
購読者¶
hostcfgd: Linux ネットワーク設定の更新interfaces.j2テンプレート:forced_mgmt_routes展開
関連 CONFIG_DB / YANG / CLI¶
- 関連 CONFIG_DB:
MGMT_PORT、MGMT_VRF_CONFIG - 関連 CLI:
config interface ip add eth0 ... - 関連 YANG:
sonic-mgmt_interface
関連リファレンス¶
引用元¶
運用ヒント¶
典型値¶
- key 形式:
MGMT_INTERFACE|eth0|<ip/prefix>。 gwaddr: management default gateway。forced_mgmt_routes: 強制 mgmt 経由ルート。
よくある誤設定¶
gwaddrを持たないと mgmt-vrf 内に default route が無く、リモート access 不能。- data-plane の default route と衝突しないよう
MGMT_VRF_CONFIGで隔離する。
確認コマンド¶
sonic-db-cli CONFIG_DB keys 'MGMT_INTERFACE|*'
show management_interface address
ip -4 route show vrf mgmt
例外条件・特殊挙動¶
- ip_prefix と gwaddr のアドレスファミリ不一致 → YANG must 制約違反: YANG
mustで両フィールドのアドレスファミリ一致を強制。IPv4 prefix に IPv6 ゲートウェイを指定する(またはその逆)と YANG バリデーションで拒否される。 - forced_mgmt_routes のルーティングテーブル分岐:
forced_mgmt_routesに追加ルートを列挙すると、Management VRF の有無に応じてデフォルト VRF または mgmt VRF のルーティングテーブルへ追加される。 - 複合キー (eth0, ip_prefix): 同一インターフェースに複数プレフィックスを設定可能。CLI (
config/main.py) は既存設定のgwaddrを参照し、矛盾がある場合に警告を出す。 - USB ネットワーク未稼働時の自動リセット:
reset_mgmt_interface_if_usb_not_running()が USB ネットワークが未稼働と判断した場合、CONFIG_DB から MGMT_INTERFACE エントリを削除し eth0 をリセットする (config/main.pyL1117)。
値依存挙動マトリクス¶
| フィールド | 値 | 挙動 |
|---|---|---|
gwaddr |
有効 IP (ip_prefix と同 family) | mgmtVrfEnabled に応じて mgmt VRF または default VRF にデフォルト GW を設定 |
gwaddr |
異なる IP family | YANG must 制約違反 → バリデーション拒否 |
gwaddr |
未設定 | GW なし。mgmt VRF 内に default route がなくリモート接続不能になる恐れ |
forced_mgmt_routes |
prefix/address 列挙 | mgmtVrfEnabled=true → mgmt VRF ルートテーブルへ追加。false → default VRF |
forced_mgmt_routes |
未設定 | 強制ルートなし。通常のルーティングに従う |
enum なし。