コンテンツにスキップ

DEVICE_NEIGHBOR_METADATA テーブル

概要

隣接機器(DEVICE_NEIGHBOR で参照されるホスト)のメタデータ(hwsku、loopback、管理 IP、deployment_id など)を保持するテーブル1。トポロジ情報を持つ minigraph パーサが DEVICE_NEIGHBOR と組で生成する。

データフロー (自動生成)

flowchart LR
  CDB[("CONFIG_DB<br/>DEVICE_NEIGHBOR_METADATA")]
  DM["lldpmgrd"]
  CDB --> DM

凡例

CONFIG_DB から SAI までの典型経路を docs/reference/config-db-orch-map.md から機械生成したミニ図。詳細・例外は本ページ本文と対応表を参照。

key 構造

DEVICE_NEIGHBOR_METADATA|<name>
  • <name>: 隣接機器ホスト名(length 1..255)

フィールド

フィールド 説明
name string (1..255) 隣接機器ホスト名(key)
cluster string 所属クラスタ名
hwsku stypes:hwsku 隣接機器のハードウェア SKU
lo_addr union(ipv4-prefix | ipv4-address) loopback IPv4
lo_addr_v6 union(ipv6-prefix | ipv6-address) loopback IPv6
mgmt_addr union(ipv4-prefix | ipv4-address) 管理 IPv4
mgmt_addr_v6 union(ipv6-prefix | ipv6-address) 管理 IPv6
type string ネットワーク要素タイプ(LeafRouterSpineRouterToRRouter 等)
deployment_id uint32 デプロイメント識別子
slice_type string デバイス用メタデータタグ
resource_type string リソース種別(例: StorageCompute

値依存挙動マトリクス

type (string: 制約なし)

値の例 挙動
ToRRouter / LeafRouter / SpineRouter BGP テンプレ生成(bgpcfgd)で role を参照し、eBGP セッション設定を分岐させることがある
Server 末端ホスト扱い(BGP テンプレでは直接利用されないことが多い)
任意の文字列 YANG 上 string 型で制約なし

IP 系フィールド (lo_addr / lo_addr_v6 / mgmt_addr / mgmt_addr_v6)

形式 挙動
ipv4-prefix / ipv6-prefix 形式 prefix 長付きで受理
ipv4-address / ipv6-address 形式 ホストアドレスとして受理
その他 YANG union 型違反で reject

明示的な enum 制約なし。フィールド値はすべて自由文字列または union 型。

制約

  • 同名の DEVICE_NEIGHBOR_LIST.name と運用上揃える前提(YANG では leafref 化されていない)
  • 各 IP 系 leaf は union でアドレス/プレフィクス両形式を許容

購読者

  • minigraph パーサ (sonic-cfggen): minigraph から生成
  • 一部監視・トポロジ可視化スクリプトが参照
  • BGP テンプレート生成 (bgpcfgd テンプレート) で hwsku/type を参照することがある

関連 CONFIG_DB / YANG / CLI

関連リファレンス

  • YANG: sonic-device_neighbor_metadata

引用元

運用ヒント

典型値

  • key 形式: DEVICE_NEIGHBOR_METADATA|<hostname>
  • type: LeafRouter / SpineRouter / ToRRouter / Server 等。mgmt_addrhwsku を併記。

よくある誤設定

  • DEVICE_NEIGHBOR と hostname がズレると minigraph 由来の自動 BGP セッションが立ち上がらない。

確認コマンド

sonic-db-cli CONFIG_DB keys 'DEVICE_NEIGHBOR_METADATA|*'
show lldp table

例外条件・特殊挙動

consumer 条件 挙動
bgpcfgd DEVICE_NEIGHBOR_METADATA が directory に未到達 log_info("DEVICE_NEIGHBOR_METADATA is not ready...") を出力して return False で延期。依存関係登録済みのため到着後に再処理(managers_bgp.py:220-222)
pfcwd neighbor name フィールド欠落 KeyError が発生し pfcwd の起動シーケンスが中断する(pfcwd/main.py:102)

Evidence: sonic-buildimage src/sonic-bgpcfgd/bgpcfgd/managers_bgp.py:140,220-224; sonic-utilities pfcwd/main.py:102