Runbook: LLDP 隣接が頻繁に up/down する¶
HLD-only
本ページは LLDP 一般動作 + SONiC docker-lldp 構造に基づく運用ノート。
症状¶
show lldp tableで隣接が表示されたり消えたりを 30 秒〜数分単位で繰り返す/var/log/syslogにlldpd: removing neighborが連続出力- ZTP / minigraph の自動構成や topology 検証が断続的に失敗する
切り分けフロー¶
flowchart TD
A[LLDP flap] --> B{物理リンク自体が flap?}
B -- Yes --> C[link-flapping.md / FEC errors を参照]
B -- No --> D{lldp container が再起動していないか}
D -- Yes --> E[docker logs lldp / OOM / supervisord]
D -- No --> F{Tx hold timer < 対向 Tx interval?}
F -- Yes --> G[hold-multiplier / tx-interval を揃える]
F -- No --> H{対向側で frame drop?}
H -- Yes --> I[STP BPDU filter / 中継スイッチ確認]
確認コマンド¶
# 隣接状態と最終受信時刻
docker exec lldp lldpcli show neighbors detail
# Tx / Rx 統計
docker exec lldp lldpcli show statistics
# 設定値 (interval / hold)
docker exec lldp lldpcli show configuration
# 物理側 flap 確認
show interface counters errors
sudo dmesg -T | grep -iE "link|phy" | tail -50
# lldp container 自体の再起動有無
docker ps --format '{{.Names}} {{.Status}}' | grep lldp
sudo journalctl -u lldp --since "1 hour ago" | tail
よくある原因¶
- 物理リンクの瞬断 — FEC error / SFP 接触不良。
link-flapping.md参照 - 対向の LLDP tx-interval が長く、hold-time を超過 — 既定 30 秒、hold-multiplier 4 が標準
- lldp container の OOM / 再起動 —
container-memory-limit-exceeded.md参照 - 中継機の LLDP BPDU フィルタ — DAC 直結ではなく Hub / Tap 経由で frame が間引かれる
- port admin down/up の運用スクリプト — 監視スクリプトが LLDP-MED の都合で port toggle している
SONiC の LLDP は専用 docker-lldp コンテナ内で lldpd を実行し、lldp_syncd が隣接情報を APPL_DB に書き出す構成のため、container の再起動や supervisord の異常もコントロールプレーン側 flap の原因になる1。
関連 reference / topics¶
-
sonic-net/sonic-buildimagedockers/docker-lldp/配下のDockerfile・supervisord.conf・lldp_syncd.py。lldpd本体とlldp_syncdが別プロセスで動作し、いずれかが落ちるとshow lldp tableの隣接が消える。 ↩