コンテンツにスキップ

LLDP / LLDP_PORT テーブル

概要

LLDP テーブルはシステム全体の LLDP 設定 (GLOBAL キー) を、LLDP_PORT テーブルはポート単位の LLDP 有効化 / モードを保持する1lldp-syncd および docker-lldp 内の lldpdCONFIG_DB を読み出して動作する。

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

flowchart LR
  CDB[("CONFIG_DB<br/>LLDP")]
  DM["lldpmgrd"]
  CDB --> DM

凡例

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

key 構造

LLDP|GLOBAL
LLDP_PORT|<ifname>

LLDP テーブルは GLOBAL 単一エントリ(YANG では container GLOBAL 直下のスカラー leaf 群)。LLDP_PORTPORT への leafref をキーに持つリスト。

キー 説明
GLOBAL 固定 システム全体設定
ifname leafref → PORT.name ポート単位設定

フィールド (LLDP|GLOBAL)

フィールド デフォルト 説明
hello_time uint8 (5..254) [秒] 30 周期 hello の間隔
multiplier uint8 (1..10) 4 hello_time × multiplier がネイバー保持時間
system_name string 管理者割当のシステム名
system_description string システム説明
supp_mgmt_address_tlv boolean false Management Address TLV 送信抑制
supp_system_capabilities_tlv boolean false System Capabilities TLV 送信抑制
enabled boolean (grouping lldp_mode_config) true LLDP 有効化
mode enum RECEIVE / TRANSMIT RX/TX モード

フィールド (LLDP_PORT|<ifname>)

grouping lldp_mode_configuses:

フィールド デフォルト 説明
enabled boolean true ポート単位の LLDP 有効化
mode enum RECEIVE / TRANSMIT ポート単位の RX/TX モード

制約

  • hello_time 5..254 秒、multiplier 1..10(hold time = hello × multiplier)
  • LLDP_PORT.ifnamePORT への leafref(VLAN / PortChannel 等は対象外)

購読者

  • lldp-syncd (docker-lldp) — lldpd 設定生成、STATE_DB への neighbor 反映
  • lldpd (open-lldp フォーク)

関連 CONFIG_DB / YANG / CLI

  • 関連 CONFIG_DB: PORTDEVICE_NEIGHBORDEVICE_NEIGHBOR_METADATA
  • 関連 YANG: sonic-lldpsonic-port
  • 関連 CLI: config lldpshow lldp

関連リファレンス

引用元

関連ページ

運用ヒント

典型値

  • key 形式: LLDP|GLOBAL
  • hello_timer: 10、mode: receive / transmit-and-receive

よくある誤設定

  • mode: receive のみだと対向 LLDP に自身が見えず、トポロジ把握が崩れる。

確認コマンド

sonic-db-cli CONFIG_DB hgetall 'LLDP|GLOBAL'
show lldp table

値依存挙動マトリクス

mode(LLDP|GLOBAL および LLDP_PORT)

挙動
RECEIVE RX のみ。自ノードの LLDP TLV を送出しない。対向スイッチのトポロジービューに当該ノードが映らない
TRANSMIT TX のみ。受信しないため対向の LLDP 情報を学習しない
未設定 lldpd デフォルト(双方向 tx_and_rx)。BOTH 等の値は存在しない
不正値 lldpcli がエラー → lldpd に反映されない

enabled

挙動
true(デフォルト) LLDP 有効
false LLDP 無効

hello_time(uint8 5..254)

挙動
5〜254 秒 hold time = hello_time × multiplier で計算
0 または負 lldpd がデフォルト 30 秒で動作。YANG バリデーション有効時は reject

TLV 抑制 boolean フィールド

フィールド false(デフォルト) true
supp_mgmt_address_tlv Management Address TLV を送信 Management Address TLV を抑制
supp_system_capabilities_tlv System Capabilities TLV を送信 System Capabilities TLV を抑制

例外条件・特殊挙動

条件 挙動
mode に不正値 lldpcli が不正コマンドエラー。CONFIG_DB には書けるが lldpd に反映されない
hello_timer が 0 または負 lldpd がデフォルト 30 秒で動作。YANG バリデーション有効時は mgmt-framework 経由で拒否
mode=rx_only / receive 設定 自ノードの LLDP TLV を送出しない。対向スイッチのトポロジービューに当該ノードが映らなくなる
LLDP\|GLOBAL エントリが存在しない lldpd がデフォルト設定(hello=30s, mode=tx_and_rx)で起動。エントリ削除後は再起動後にデフォルトへ戻る