コンテンツにスキップ

VXLAN_EVPN_NVO テーブル

概要

VXLAN_EVPN_NVO テーブルは EVPN ベースの Network Virtualization Overlay (NVO) インスタンスを CONFIG_DB に定義する3EVPN コントロールプレーン (FRR + bgpd の l2vpn evpn) を有効化する際に、source VTEP として参照する VXLAN_TUNNEL を結びつける。1 エントリのみ許可される (max-elements 1)。

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

flowchart LR
  CDB[("CONFIG_DB<br/>VXLAN_EVPN_NVO")]
  DM["vxlanmgrd"]
  CDB --> DM
  APPDB[("APP_DB<br/>APP_VXLAN_EVPN_NVO_TABLE")]
  DM --> APPDB
  SYNCD["syncd"]
  APPDB --> SYNCD

凡例

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

key 構造

VXLAN_EVPN_NVO|<name>
キー 説明
name string EVPN NVO インスタンス名

max-elements: 1 — システム全体で 1 エントリのみ

フィールド

フィールド 必須 説明
source_vtep leafref → VXLAN_TUNNEL.name yes ソース VTEP として参照する VXLAN_TUNNEL

制約

  • source_vtepVXLAN_TUNNEL への leafref(先にトンネル作成が必要)
  • インスタンスはシステム全体で 1 件のみ

購読者

  • vxlanorch (sonic-swss)
  • bgpcfgd / bgpd — EVPN address-family の起動条件

関連 CONFIG_DB / YANG / CLI

  • 関連 CONFIG_DB: VXLAN_TUNNELVXLAN_TUNNEL_MAPVNETBGP_GLOBALS_AF (l2vpn evpn)
  • 関連 YANG: sonic-vxlan
  • 関連 CLI: config vxlan evpn_nvo

値依存挙動マトリクス

本テーブルは enum フィールドを持たない。フィールドは source_vtep(leafref)と name(string)のみ。

フィールド 実挙動
source_vtep 有効な VXLAN_TUNNEL NVO 作成成功。disableLearningForAllVxlanNetdevices() でシステム全体の VXLAN MAC learning が無効化される (vxlanmgr.cpp)
source_vtep 存在しない / 未 active な VXLAN_TUNNEL "NVO %s creation failed. VTEP not present" でリトライ待ち
エントリ数 1 件目 正常作成
エントリ数 2 件目以降 YANG max-elements 1 で reject。vxlanmgrd も "Only Single NVO object allowed" でキャッシュ側防護

例外条件・特殊挙動

  • 最大 1 エントリ (YANG): max-elements 1 — 2 エントリ目は YANG バリデーションで reject される2
  • vxlanmgrd 重複チェック: キャッシュに既存 NVO エントリがある場合 SWSS_LOG_ERROR("Only Single NVO object allowed") を記録して破棄(YANG 検証バイパス時の二重防護)1
  • VTEP 未 active: source_vtep が参照する VXLAN_TUNNEL が active でない場合 SWSS_LOG_ERROR("NVO %s creation failed. VTEP not present") を記録してリトライ待ち1
  • NVO 削除時エントリ不在: SWSS_LOG_ERROR("NVO deletion NVO: %s not found exception: %s") を記録1
  • MAC learning 無効化: NVO 作成成功時にすべての VXLAN netdev の MAC learning が disableLearningForAllVxlanNetdevices() で無効化される(EVPN 前提の動作)1

関連リファレンス

引用元

関連ページ

運用ヒント

典型値

  • key 形式: VXLAN_EVPN_NVO|<nvo-name> (例 nvo1)。
  • source_vtep: VXLAN_TUNNEL 名を指す。

よくある誤設定

  • source_vtep が複数 NVO で重複指定されると最初の 1 つしか有効にならない。

確認コマンド

sonic-db-cli CONFIG_DB hgetall 'VXLAN_EVPN_NVO|nvo1'
show vxlan tunnel