コンテンツにスキップ

PEER_SWITCH テーブル

概要

SONiC Dual-ToR (Active-Standby) 構成における peer ToR の識別情報を保持するテーブル1TUNNEL_LIST.src_ipPEER_SWITCH_LIST.address_ipv4 への leafref として参照する。エントリは Dual-ToR 構成上、最大 1 つ (YANG max-elements 1)。

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

flowchart LR
  CDB[("CONFIG_DB<br/>PEER_SWITCH")]
  DM["MuxOrch"]
  CDB --> DM

凡例

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

key 構造

PEER_SWITCH|<peer_switch>
  • <peer_switch>: peer ToR のホスト名 (stypes:hostname 型)

フィールド

フィールド 説明
peer_switch hostname Dual-ToR peer のホスト名(key)
address_ipv4 inet:ipv4-address peer ToR の IPv4 アドレス(TUNNEL.src_ip から leafref で参照される)

制約

  • max-elements 1: テーブル全体で 1 エントリのみ(Dual-ToR は 2 ノード構成のため peer は 1)

購読者

  • tunnelmgrd / mux-cable 系デーモン: peer 情報を読み出して MUX_CABLE / TUNNEL の整合に利用
  • 単独で SAI へ反映するわけではない(メタデータ用テーブル)

関連 CONFIG_DB / YANG / CLI

  • 関連 CONFIG_DB: TUNNELMUX_CABLE
  • 関連 YANG: sonic-peer-switchsonic-tunnel
  • 関連 CLI: なし(config_db.json で投入)

値依存挙動マトリクス

PEER_SWITCH フィールド

フィールド 値 / 範囲 挙動
address_ipv4 有効な IPv4 アドレス linkmgrd が peer への到達確認 (ICMP) に使用
address_ipv4 未設定 linkmgrd は peer 到達確認不可、MUX 切り替え不可
エントリ数 0 件 Dual-ToR 機能が無効扱い (linkmgrd 初期化警告)
エントリ数 1 件 正常。Dual-ToR 構成として認識
エントリ数 2 件以上 YANG max-elements 1 により reject

enum なし — address_ipv4 は inet:ipv4-address 型、peer_switch (key) は hostname 型 (最大 63 文字)。

例外条件・特殊挙動

YANG スキーマ検証

  • PEER_SWITCH_LISTmax-elements 1。2 件以上 SET を試みると YANG validate で reject。
  • address_ipv4inet:ipv4-address 型。フォーマット不正は reject。
  • peer_switch (key) は stypes:hostname 型 (最大 63 文字、英数字とハイフン)。

consumer 例外動作

  • linkmgrd はこのテーブルを起動時に 1 回読み込む。実行中の動的変更は反映されない可能性があり、再起動が必要。
  • address_ipv4 未設定の場合、linkmgrd はピアへの到達確認ができず MUX 切り替え不可。
  • エントリ 0 件の場合、DualToR 機能が無効扱いになる (linkmgrd 初期化ログで警告)。

関連リファレンス

  • YANG: sonic-peer-switch

引用元

関連 Topics

運用ヒント

典型値

  • key 形式: PEER_SWITCH|<hostname>
  • address_ipv4: peer ToR の Loopback。tos_upstream などはデフォルトのまま運用する。

よくある誤設定

  • Dual-ToR で peer hostname の表記揺れがあると linkmgrd が peer を発見できない。

確認コマンド

sonic-db-cli CONFIG_DB keys 'PEER_SWITCH|*'
show mux status