LOOPBACK_INTERFACE テーブル
概要
ルータ ID やサービス IP として使う仮想ループバック IF を定義する 。Loopback0 は通常 BGP の router-id / source として使われる。intfmgrd が Linux 上の dummy IF を生成し、orchagent IntfsOrch が SAI ルータ IF を作る。
データフロー (自動生成)
flowchart LR
CDB[("CONFIG_DB<br/>LOOPBACK_INTERFACE")]
DM["intfmgrd"]
CDB --> DM
APPDB[("APP_DB<br/>APP_DB")]
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 構造
LOOPBACK_INTERFACE|<name> # 属性ロウ
LOOPBACK_INTERFACE|<name>|<ip-prefix> # IP プレフィクス
<name> は interface_name typedef で Loopback<N> 形式。
属性ロウのフィールド
フィールド
型
必須
デフォルト
説明
name (key)
interface_name
✅
-
ループバック名(例: Loopback0)
vrf_name
leafref VRF.name
-
-
バインドする VRF
nat_zone
uint8 (0..3)
-
0
NAT zone
admin_status
admin_status
-
up
管理状態
IP プレフィクスロウ
フィールド
型
必須
説明
name (key)
leafref 自テーブル LOOPBACK_INTERFACE_LIST.name
✅
ループバック名
ip-prefix (key)
union (v4/v6 prefix)
✅
IP/プレフィクス
scope
enum global/local
-
アドレススコープ
family
ip-family
-
family。ip-prefix と整合する must
購読者
intfmgrd: Linux dummy IF / IP / VRF binding を生成
orchagent IntfsOrch: SAI ルータ IF
bgpcfgd: Loopback0 IPv4 を BGP bgp router-id の既定値として参照(DEVICE_METADATA.bgp_router_id 未設定時)
関連 CONFIG_DB / YANG / CLI
関連 CONFIG_DB : VRF、DEVICE_METADATA (bgp_adv_lo_prefix_as_128)
関連 CLI: config loopback add/del、config interface ip add Loopback0 ...
関連 YANG : sonic-loopback-interface
関連リファレンス
引用元
運用ヒント
典型値
key 形式: LOOPBACK_INTERFACE|Loopback0 (L3 enable 行) と LOOPBACK_INTERFACE|Loopback0|<ip/prefix>。
Loopback0 は BGP router-id / VTEP src として標準利用。
よくある誤設定
L3 enable 行を省略すると IP 行だけでは Loopback が作られない。
確認コマンド
sonic-db-cli CONFIG_DB keys 'LOOPBACK_INTERFACE|*'
show ip interfaces | grep Loopback
値依存挙動マトリクス
admin_status
値
挙動
up(デフォルト)
Linux dummy デバイスを UP 状態にする
down
Linux dummy デバイスを DOWN 状態にする
設定コマンド失敗時
SWSS_LOG_WARN("Lo interface ip link set admin status %s failure. Runtime error: %s") → warn のみで継続
scope(IP プレフィクスロウ)
値
挙動
global
グローバルスコープアドレス
local
ローカルスコープアドレス
vrf_name
値
挙動
設定あり
指定 VRF にバインド
未設定
デフォルト VRF に属する
L3 enable 行の有無(特殊条件)
状態
挙動
L3 enable 行なしで IP 行のみ投入
dummy デバイス未作成のため ip addr add が失敗
L3 enable 行あり
ip link add <name> mtu 65536 type dummy で作成後 IP を付与
例外条件・特殊挙動
条件
挙動
L3 enable 行なしで IP 行のみ投入
dummy デバイス未作成のため ip addr add が失敗。L3 enable 行(フィールドなし)が先に必要
MTU 未設定
ip link add <name> mtu 65536 type dummy で作成(intfmgr.cpp L28 LOOPBACK_DEFAULT_MTU_STR "65536")
ip link set admin_status 失敗
SWSS_LOG_WARN("Lo interface ip link set admin status %s failure. Runtime error: %s") → warn のみで継続
ip link del 失敗
SWSS_LOG_ERROR → dummy デバイスが OS に残存するが CONFIG_DB からはエントリが消える(不整合状態)
同名 Loopback への重複 SET
m_loopbackIntfList の find で既存確認後スキップ
削除済み Loopback への IP 追加
L3 enable 行を再設定しないと反映されない