コンテンツにスキップ

PORTCHANNEL_INTERFACE テーブル

概要

PORTCHANNEL を L3 IF として扱うときの設定(VRF binding、IP アサイン、MAC、loopback action 等)を保持する1。同一 PORTCHANNEL 名で PORTCHANNEL_INTERFACE_LIST (属性ロウ) と PORTCHANNEL_INTERFACE_IPPREFIX_LIST (IP プレフィクス) の二系統に分かれる。

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

flowchart LR
  CDB[("CONFIG_DB<br/>PORTCHANNEL_INTERFACE")]
  DM["intfmgrd"]
  CDB --> DM
  APPDB[("APP_DB<br/>APP_INTF_TABLE")]
  DM --> APPDB
  SYNCD["syncd"]
  APPDB --> SYNCD
  SAI["SAI<br/>sai_router_intf_api"]
  SYNCD --> SAI

凡例

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

key 構造

PORTCHANNEL_INTERFACE|<name>                      # 属性ロウ
PORTCHANNEL_INTERFACE|<name>|<ip_prefix>          # IP プレフィクス

<name>PORTCHANNEL.name への leafref。

属性ロウのフィールド一覧

フィールド 必須 デフォルト 説明
name (key) leafref PORTCHANNEL.name - LAG
vrf_name leafref VRF.name - - バインドする VRF
loopback_action loopback_action (drop/forward) - - 同一 IF へ ingress→routed のパケット動作
nat_zone uint8 (0..3) - 0 NAT zone
mpls enum enable/disable - - MPLS routing
ipv6_use_link_local_only mode-status - disable IPv6 link-local のみ
mac_addr mac-address - - 管理者指定 MAC

IP プレフィクスロウ

フィールド 必須 説明
name (key) leafref PORTCHANNEL.name LAG
ip_prefix (key) sonic-ip-prefix (v4/v6 union) IP/プレフィクス

購読者

  • intfmgrd: vrf_name / mac_addr / mpls / ipv6_use_link_local_only を Linux カーネルに反映
  • orchagent IntfsOrch: SAI ルータインタフェースを生成
  • nat_zone: natmgrd が利用

関連 CONFIG_DB / YANG / CLI

  • 関連 CONFIG_DB: PORTCHANNELVRFPORTCHANNEL_MEMBER
  • 関連 CLI: config interface ip add/removePortChannel に対しても適用)
  • 関連 YANG: sonic-portchannel

値依存挙動マトリクス

PORTCHANNEL_INTERFACE.loopback_action

挙動
drop 同一 IF に ingress-routed されたパケットを破棄
forward 同一 IF に ingress-routed されたパケットを通過

PORTCHANNEL_INTERFACE.mpls

intfmgrd 挙動
enable Linux netdev に MPLS routing を有効化
disable MPLS routing を無効化
未設定 MPLS 設定を変更しない
挙動
enable IPv6 グローバルアドレスなしで link-local アドレスのみ設定
disable (デフォルト) 通常の IPv6 動作

PORTCHANNEL_INTERFACE.nat_zone

natmgrd 挙動
0 (デフォルト) NAT ゾーン 0 (未設定相当)
1..3 対応 NAT ゾーンに所属
範囲外 (> 3) YANG range 違反: Invalid nat zone for the portchannel interface.

vrf_name は VRF.name への leafref — 存在しない VRF は YANG validate で reject。

例外条件・特殊挙動

YANG スキーマ検証

  • PORTCHANNEL_INTERFACEnat_zone は range 0..3: error-message "Invalid nat zone for the portchannel interface."

consumer 例外動作

  • PORTCHANNEL が存在しない場合の IP アドレス追加: orchagent は PORTCHANNEL 存在確認後に IP 付与。存在しなければタスクを保留 (依存関係による遅延処理)。
  • VLAN に所属している LAG への操作: Failed to remove LAG %s, it is still in VLAN → SWSS_LOG_ERROR。
  • TPID 設定失敗: Failed to set LAG %s TPID 0x%x → SWSS_LOG_ERROR。

関連リファレンス

引用元

関連 Topics

運用ヒント

典型値

  • key 形式: PORTCHANNEL_INTERFACE|PortChannel0001PORTCHANNEL_INTERFACE|PortChannel0001|<ip/prefix>
  • vrf_name: Vrfdefault 等。

よくある誤設定

  • メンバが 1 本も up していない LAG に IP を載せても route がアクティブにならない。

確認コマンド

sonic-db-cli CONFIG_DB keys 'PORTCHANNEL_INTERFACE|*'
show ip interfaces