PEER_SWITCH テーブル¶
概要¶
SONiC Dual-ToR (Active-Standby) 構成における peer ToR の識別情報を保持するテーブル1。TUNNEL_LIST.src_ip が PEER_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 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:
TUNNEL、MUX_CABLE - 関連 YANG:
sonic-peer-switch、sonic-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_LISTはmax-elements 1。2 件以上 SET を試みると YANG validate で reject。address_ipv4はinet: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 を発見できない。