链路层发现协议
LLDP 显示有关连接设备的信息。lldpd
守护程序实现 IEEE802.1AB LLDP 标准,并在系统启动时启动。
Cumulus Linux 中的 LLDP 支持 CDP(Cisco 发现协议 v1 和 v2),默认记录到 /var/log/daemon.log
,带有 lldpd
前缀。
启用或禁用 LLDP
Cumulus Linux 默认启用 lldp
服务。
您可以全局或在接口上禁用 LLDP。
- 当您全局禁用 LLDP 时,
lldp
服务以及所有 LLDP 和 CDP 数据包传输都将停止。 - 当您在接口上禁用 LLDP 时,LLDP 和 CDP 数据包传输将在该接口上停止。
要全局禁用 LLDP
cumulus@leaf01:~$ nv set service lldp state disabled
cumulus@leaf01:~$ nv config apply
要全局重新启用 LLDP,请运行 nv set service lldp state enabled
命令。
停止 lldpd
服务
cumulus@leaf01:~$ sudo systemctl stop lldpd
cumulus@leaf01:~$ sudo systemctl disable lldpd
要全局重新启用 LLDP,请启用并重启 lldp
服务
cumulus@leaf01:~$ sudo systemctl enable lldpd
cumulus@leaf01:~$ sudo systemctl restart lldpd
要在接口上禁用 LLDP
cumulus@leaf01:~$ nv set interface swp1 lldp state disabled
cumulus@leaf01:~$ nv config apply
要在接口上重新启用 LLDP,请运行 nv set interface swp1 lldp state enabled
命令。
创建 /etc/lldp.d/lldp-interfaces.conf
文件并添加 configure system interface pattern-blacklist
选项。以下示例禁用 swp1 和 swp2 上的 LLDP
cumulus@leaf01:~$ sudo nano /etc/lldpd.d/lldp-interfaces.conf
configure system interface pattern-blacklist swp1,swp2
另一种方法是使用 system interface pattern
关键字在除 swp1 和 swp2 之外的所有接口上发送 LLDP
cumulus@leaf01:~$ sudo nano /etc/lldpd.d/lldp-interfaces.conf
configure system interface pattern eth*,swp*,!swp1,!swp2
重启 lldpd
服务以使更改生效
cumulus@leaf01:~$ sudo systemctl restart lldpd
运行时配置在您重启交换机时不会持久保留;您将丢失所有更改。
要配置活动接口
cumulus@leaf01:~$ sudo lldpcli configure system interface pattern "swp*"
要配置非活动接口
cumulus@leaf01:~$ sudo lldpcli configure system interface pattern *,!eth0,swp*
活动接口列表始终覆盖非活动接口列表。
要将任何接口列表重置为无
cumulus@leaf01:~$ sudo lldpcli configure system interface pattern ""
要显示 LLDP 是全局启用还是在接口上启用,请运行 nv show service lldp
命令。
cumulus@leaf01:~$ nv show service lldp
operational applied
---------------------- ----------- -------
tx-interval 30 30
tx-hold-multiplier 4 4
dot1-tlv off off
lldp-med-inventory-tlv off off
mode default default
state enabled disabled
以下示例显示 swp1 到 swp4 处于启动状态,并在 leaf01 和 leaf02 之间通告 LLDP
cumulus@leaf01:~$ sudo lldpctl | egrep 'Inter|Port|SysName'
Interface: eth0, via: LLDP, RID: 1, Time: 1 day, 03:07:48
SysName: oob-mgmt-switch
Port:
PortID: ifname swp2
PortDescr: swp2
Interface: swp3, via: LLDP, RID: 2, Time: 0 day, 06:52:48
SysName: leaf02
Port:
PortID: ifname swp3
PortDescr: swp3
Interface: swp4, via: LLDP, RID: 2, Time: 0 day, 00:07:38
SysName: leaf02
Port:
PortID: ifname swp4
PortDescr: swp4
以下示例显示在禁用 swp1 和 swp2 上的 LLDP 后,只有 swp3 和 swp4 在 leaf01 上生成和接收 LLDP。leaf02 仅从 leaf01 在 swp3 和 swp4 上接收 LLDP
cumulus@leaf02:~$ sudo lldpctl | egrep 'Inter|Port|SysName'
Interface: eth0, via: LLDP, RID: 2, Time: 0 day, 00:09:16
SysName: oob-mgmt-switch
Port:
PortID: ifname swp3
PortDescr: swp3
Interface: swp3, via: LLDP, RID: 1, Time: 0 day, 00:08:47
SysName: leaf01
Port:
PortID: ifname swp3
PortDescr: swp3
Interface: swp4, via: LLDP, RID: 1, Time: 0 day, 00:09:16
SysName: leaf01
Port:
PortID: ifname swp4
PortDescr: swp4
配置 LLDP 计时器
您可以配置 LLDP 更新的频率(介于 5 到 32768 秒之间)和在丢弃信息之前保持信息的时间量(介于 1 到 8192 秒之间)。保持时间间隔是 tx-interval
的倍数。
nv show
命令仅在保持时间间隔之后才反映操作值中的某些配置更改。
以下示例命令将 LLDP 更新的频率配置为 100,并将保持时间配置为 3。
cumulus@switch:~$ nv set service lldp tx-interval 100
cumulus@switch:~$ nv set service lldp tx-hold-multiplier 3
cumulus@switch:~$ nv config apply
创建 /etc/lldpd.conf
文件或在 /etc/lldpd.d/
目录中创建带有 .conf
后缀的文件,并添加计时器
cumulus@switch:~$ sudo nano /etc/lldpd.conf
configure lldp tx-interval 100
configure lldp tx-hold 3
...
重启 lldpd
服务以使更改生效
cumulus@switch:~$ sudo systemctl restart lldpd
SNMP 子代理
SNMP 子代理允许 SNMP 查询从 lldpd
服务检索 LLDP 信息。
如果您使用 NVUE 命令启用 SNMP,NVUE 会自动启用 SNMP 子代理。要禁用 SNMP 子代理,请使用 NVUE nv set system snmp-server state disable
命令禁用 SNMP。
如果您使用 Linux 命令配置交换机,则 Cumulus Linux 默认情况下不会启用 SNMP 子代理。要启用 SNMP 子代理,请编辑 /etc/default/lldpd
文件并添加 -x
选项
cumulus@switch:~$ sudo nano /etc/default/lldpd
# Add "-x" to DAEMON_ARGS to start SNMP subagent
# Enable CDP by default
DAEMON_ARGS="-c -x -M 4"
重启 lldpd
服务以使更改生效
cumulus@switch:~$ sudo systemctl restart lldpd
-c
选项启用与 CDP 的向后兼容性。请参阅下面的 更改 CDP 设置。-M 4
选项在发现数据包中发送一个字段,以指示交换机是网络设备。
更改 CDP 设置
Cumulus Linux 提供对 CDP 的支持,以便交换机可以使用不支持 LLDP 的 Cisco 路由器通告有关自身的信息。默认情况下,仅当对等方发送 CDP 数据包时,Cumulus Linux 交换机才发送 CDP 数据包。您可以通过将 /etc/default/lldpd
文件中的 -c
替换为以下选项之一来更改此设置
选项 | 描述 |
---|---|
-cc | 即使没有检测到 CDP 对等方,Cumulus Linux 交换机也发送 CDPv1 数据包。 |
-ccc | 即使没有检测到 CDP 对等方,Cumulus Linux 交换机也发送 CDPv2 数据包。 |
-cccc | Cumulus Linux 交换机禁用 CDPv1 并启用 CDPv2。 |
-ccccc | Cumulus Linux 交换机禁用 CDPv1 并强制 CDPv2。 |
以下示例将 CDP 设置更改为 -ccc
,以便即使没有检测到 CDP 对等方,交换机也发送 CDPv2 数据包
cumulus@switch:~$ sudo nano /etc/default/lldpd
...
# Enable CDP by default
DAEMON_ARGS="-ccc -x -M 4"
您必须重启 lldpd
服务才能使更改生效。
cumulus@switch:~$ sudo systemctl restart lldpd
设置 LLDP 模式
默认情况下,lldpd
服务发送 LLDP 帧,除非它检测到 CDP 对等方,然后它发送 CDP 帧。您可以更改此行为,并将 lldpd
服务配置为仅发送 CDP 帧或仅发送 LLDP 帧。
- 您配置
lldpd
服务以全局为所有接口仅发送 CDP 或仅发送 LLDP 帧;您无法为特定接口配置这些设置。 - 如果您将
lldpd
服务配置为仅发送 CDP 帧(CDPv1 或 CDPv2),则不支持 用于 QOS ROCE 的 LLDP DCBX TLV 传输。
仅发送 CDPv1 帧
cumulus@switch:~$ nv set service lldp mode force-send-cdpv1
cumulus@switch:~$ nv config apply
仅发送 CDPv2 帧
cumulus@switch:~$ nv set service lldp mode force-send-cdpv2
cumulus@switch:~$ nv config apply
仅发送 LLDP 帧
cumulus@switch:~$ nv set service lldp mode force-send-lldp
cumulus@switch:~$ nv config apply
重置为默认设置(同时发送 CDP 和 LLDP 帧)
cumulus@switch:~$ nv set service lldp mode default
cumulus@switch:~$ nv config apply
编辑 /etc/default/lldpd
文件,并将以下选项之一添加到 DAEMON_ARGS
部分
仅发送 CDPv1 帧
cumulus@switch:~$ sudo nano /etc/default/lldpd
...
DAEMON_ARGS="-cc -ll -M 4"
仅发送 CDPv2 帧
cumulus@switch:~$ sudo nano /etc/default/lldpd
...
DAEMON_ARGS="-cccc -ll -M 4"
仅发送 LLDP 帧
cumulus@switch:~$ sudo nano /etc/default/lldpd
...
DAEMON_ARGS="-l -M 4"
重置为默认设置(同时发送 CDP 和 LLDP 帧)
cumulus@switch:~$ sudo nano /etc/default/lldpd
...
DAEMON_ARGS="-c -M 4"
您必须重启 lldpd
服务才能使更改生效。
cumulus@switch:~$ sudo systemctl restart lldpd
要显示当前的 LLDP 模式,请运行 nv show service lldp
命令。以下示例显示 lldpd
服务仅发送 CDPv2 帧。
cumulus@leaf02:mgmt:~$ nv show service lldp
operational applied
------------------ ---------------- ----------------
dot1-tlv off off
mode force-send-cdpv2 force-send-cdpv2
tx-hold-multiplier 4 4
tx-interval 30 30
CDP PortID 行为
默认情况下,LLDP 在检测到 CDP 邻居的接口上模拟 CDP。CDP 仅在协议中支持 PortID
值 (TLV);但是,LLDP 具有单独的 PortID
和 PortDescription
字段。
默认情况下,当交换机发送 CDP 数据包时,如果接口上存在别名(描述),则 LLDP 在 CDP PortID
字段中发送别名。当 LLDP 邻居收到 CDP 数据包时,接收交换机在 PortID
和 PortDescription
字段中都显示 CDP 端口 ID。
如果您希望 LLDP 将 portID
(ifname
) 值而不是接口别名发送到 CDP 邻居,您可以配置以下选项
- 要在同一
PortID
字段中同时传输PortID
和PortDescription
,请将接口名称插入接口alias
字段。 - 要通过 CDP 发送
ifname
而不是接口别名,请在/etc/lldpd.d/lldp_global.conf
文件中配置configure lldp portidsubtype macaddress
选项。默认配置为portidsubtype ifname
。
下表显示了为每种配置发送的 TLV。
LLDP 配置 | 发送的 LLDP PortID 值 | 发送的 LLDP 端口描述值 | 发送的 CDP PortID 值 |
---|---|---|---|
configure lldp portidsubtype ifname (默认) | 接口 ifname | 接口 alias | 接口 alias |
configure lldp portidsubtype macaddress MAC 地址 | 接口 mac address | 接口 ifname | 接口 ifname |
仅使用 CDP 或仅使用 LLDP 以获得跨所有邻居的 PortID
、Description
或 MacAddress
(仅 LLDP)的所需行为。有关更多信息,请参阅 LLDP 模式。
LLDP DCBX TLV
DCBX 是 LLDP 的扩展,它支持 TLV 以在 LLDP 数据包中向对等方提供其他信息。
Cumulus Linux 支持以下 LLDP DCBX TLV
- IEEE 802.1
- IEEE 802.3
- QoS
- LLDP-MED 库存
- 应用程序优先级
- 您可以在一个 LLDP 帧中为每个交换机端口最多发送 250 个 VLAN。
- Cumulus Linux 不支持 CEE DCBX TLV。
- Cumulus Linux 将 DCBX 支持限制为启用 DCBX TLV(通过 ROCE 全局配置或每个接口),如 IEEE 802.1Q 标准中所述。
IEEE 802.1 TLV
在交换 LLDP 消息时,您可以传输以下 IEEE 802.1 TLV。默认情况下,IEEE 802.1 TLV 传输为 off
,并且交换机发送所有不带 IEEE 802.1 TLV 的 LLDP 帧。
名称 | 子类型 | 描述 |
---|---|---|
端口 VLAN ID | 1 | 端口 VLAN 标识符。 |
VLAN 名称 | 3 | 端口所属的任何 VLAN 的名称。 |
链路聚合 | 7 | 指示端口是否支持链路聚合以及是否已启用。 |
要启用 IEEE 802.1 TLV 传输,请运行 nv set service lldp dot1-tlv on
命令
cumulus@switch:~$ nv set service lldp dot1-tlv on
cumulus@switch:~$ nv config apply
要禁用 IEEE 802.1 TLV 传输,请运行 nv unset service lldp dot1-tlv
命令。
要显示 IEEE 802.1 TLV 传输是否为 on
,请运行 NVUE nv show service lldp
命令
cumulus@leaf01:mgmt:~$ nv show service lldp
operational applied
---------------------- ----------- -------
tx-interval 30 30
tx-hold-multiplier 4 4
dot1-tlv off off
...
IEEE 802.3 TLV
默认情况下,Cumulus Linux 传输以下 IEEE 802.3 TLV。您无需启用它们。
名称 | 子类型 | 描述 |
---|---|---|
链路聚合 | 3 | 指示端口是否支持链路聚合以及是否已启用。 |
最大帧大小 | 4 | 端口上的 MTU 配置。端口上的 MTU 是 MFS。 |
QoS TLV
将 QoS 配置添加为 DCBX TLV 的一部分,允许在连接到交换机的主机和交换机上进行自动配置。
您可以传输以下 QoS TLV。默认情况下,所有接口上的所有 QoS TLV 传输都为 off
。
名称 | 子类型 | 描述 |
---|---|---|
ETS 配置 | 9 | 交换机上的 ETS 配置设置。 |
ETS 建议 | A | 交换机希望连接的对等接口使用的推荐 ETS 设置。 |
PFC 配置 | B | 交换机上的 PFC 配置设置。 |
在接口上向 LLDP 数据包添加 QoS TLV 依赖于来自 switchd
的 PFC 和 ETS 配置。有关配置 PFC 和 ETS 的信息,请参阅 服务质量。
当您在交换机上启用 ROCE 时
- QoS TLV 传输(PFC 配置、ETS 配置和 ETS 建议)在所有端口上全局启用,这将覆盖交换机端口接口上的任何 QoS TLV 传输设置。
- 所有交换机端口接口的 LLDP 帧都携带 PFC 配置、ETS 配置、ETS 建议和 APP 优先级 TLV。所有接口的 ETS 配置和 PFC 配置 TLV 负载都相同。
启用 QoS TLV 传输
要启用 PFC 配置 TLV 传输,请运行 nv set interface <interface> lldp dcbx-pfc-tlv on
命令
cumulus@switch:~$ nv set interface swp1 lldp dcbx-pfc-tlv on
cumulus@switch:~$ nv config apply
要启用 ETS 配置 TLV 传输,请运行 nv set interface <interface> lldp dcbx-ets-config-tlv on
命令
cumulus@switch:~$ nv set interface swp1 lldp dcbx-ets-config-tlv on
cumulus@switch:~$ nv config apply
要启用 ETS 建议 TLV 传输,请运行 nv set interface <interface> lldp dcbx-ets-recomm-tlv on
命令
cumulus@switch:~$ nv set interface swp1 lldp dcbx-ets-recomm-tlv on
cumulus@switch:~$ nv config apply
接口必须是物理接口;您不能在 bond 上启用 TLV。
禁用 QoS TLV 传输
要禁用 PFC 配置 TLV 传输,请运行 nv unset interface <interface> lldp dcbx-pfc-tlv
命令
cumulus@switch:~$ nv unset interface swp1 lldp dcbx-pfc-tlv
cumulus@switch:~$ nv config apply
要禁用 ETS 配置 TLV 传输,请运行 nv unset interface <interface> lldp dcbx-ets-config-tlv
命令
cumulus@switch:~$ nv unset interface swp1 lldp dcbx-ets-config-tlv
cumulus@switch:~$ nv config apply
要禁用 ETS 建议 TLV 传输,请运行 nv unset interface <interface> lldp dcbx-ets-recomm-tlv
命令
cumulus@switch:~$ nv unset interface swp1 lldp dcbx-ets-recomm-tlv
cumulus@switch:~$ nv config apply
显示 QoS TLV 传输设置
要显示接口的 Qos TLV 传输是否为 on
,请运行 NVUE nv show interface <interface>
命令
cumulus@leaf01:mgmt:~$ nv show interface swp1
operational applied description
------------------------ ----------------- ----------- ---------------------------------------------------
...
lldp
dcbx-ets-config-tlv on DCBX ETS config TLV flag
dcbx-ets-recomm-tlv off DCBX ETS recommendation TLV flag
dcbx-pfc-tlv on DCBX PFC TLV flag
...
LLDP-MED 库存 TLV
LLDP-MED 是 LLDP 的扩展,它在端点设备(如 IP 电话和交换机)之间运行。库存管理 TLV 使端点能够向交换机传输有关自身的详细库存信息,例如制造商、型号、固件和序列号。
要启用 LLDP-MED 库存 TLV 传输,请运行 nv set service lldp lldp-med-inventory-tlv on
命令
cumulus@switch:~$ nv set service lldp lldp-med-inventory-tlv on
cumulus@switch:~$ nv config apply
要禁用 LLDP-MED 库存 TLV 传输,请运行 nv unset service lldp lldp-med-inventory-tlv
命令。
要显示 LLDP-MED 库存 TLV 传输是否已启用,请运行 NVUE nv show service lldp
命令
cumulus@leaf01:mgmt:~$ nv show service lldp
operational applied
---------------------- ----------- -------
tx-interval 30 30
tx-hold-multiplier 4 4
dot1-tlv off off
lldp-med-inventory-tlv on on
...
应用程序优先级 TLV
DCBX 应用程序优先级 TLV 允许主机在 LLDP 数据包中接收每个应用程序的优先级值。
Cumulus Linux 支持以下应用程序优先级 TLV
启用应用程序优先级 TLV 传输
要启用应用程序优先级 TLV 传输,请运行 NVUE 命令以设置
- 应用程序、TCP 端口或 UDP 端口以及关联的应用程序优先级。如果您未设置应用程序优先级,则 Cumulus Linux 使用默认优先级 0。
- 要在其上启用应用程序优先级 TLV 传输的接口。在您在指定的接口上应用配置后,LLDP 开始发送带有应用程序优先级 TLV 的 PDU。
- 您不能在 bond 上启用应用程序优先级 TLV 传输。
- 您最多可以在交换机上配置 10 个应用程序 TLV 优先级。
- Cumulus Linux 最多可以在一个 LLDP PDU 中发送 10 个应用程序优先级 TLV。
以下示例将 iSCSI 流量的应用程序优先级设置为 3,在 swp1 上的 LLDP PDU 中发送的应用程序优先级 TLV 中。
cumulus@switch:~$ nv set service lldp application-tlv app iSCSI priority 3
cumulus@switch:~$ nv set interface swp1 lldp application-tlv app iSCSI
cumulus@switch:~$ nv config apply
以下示例将使用 TCP 端口 4420 的 NVMe 流量的应用程序优先级设置为 5,在 swp1 上的 LLDP PDU 中发送的应用程序优先级 TLV 中。
cumulus@switch:~$ nv set service lldp application-tlv app NVME_4420 priority 5
cumulus@switch:~$ nv set interface swp1 lldp application-tlv app NVME_4420
cumulus@switch:~$ nv config apply
以下示例将使用 TCP 端口 8009 的 NVMe 流量的应用程序优先级设置为 7,在 swp1 上的 LLDP PDU 中发送的应用程序优先级 TLV 中。
cumulus@switch:~$ nv set service lldp application-tlv app NVME_8009 priority 7
cumulus@switch:~$ nv set interface swp1 lldp application-tlv app NVME_8009
cumulus@switch:~$ nv config apply
以下示例将使用端口 4217 的 TCP 流量的应用程序优先级设置为 6,在 swp1 上的 LLDP PDU 中发送的应用程序优先级 TLV 中。
cumulus@switch:~$ nv set service lldp application-tlv tcp-port 4217 priority 6
cumulus@switch:~$ nv set interface swp1 lldp application-tlv tcp-port 4217
cumulus@switch:~$ nv config apply
以下示例将使用端口 4317 的 UDP 流量的应用程序优先级设置为 4,在 swp1 上的 LLDP PDU 中发送的应用程序优先级 TLV 中。
cumulus@switch:~$ nv set service lldp application-tlv udp-port 4317 priority 4
cumulus@switch:~$ nv set interface swp1 lldp application-tlv udp-port 4317
cumulus@switch:~$ nv config apply
以下示例将使用端口 3260 的 iSCSI 流量的应用程序优先级设置为 0(默认优先级),在 swp1 上的 LLDP PDU 中发送的应用程序优先级 TLV 中。
cumulus@switch:~$ nv set interface swp1 lldp application-tlv app iSCSI
cumulus@switch:~$ nv config apply
禁用应用程序优先级 TLV 传输
要停止 LLDP 在接口上发送带有应用程序优先级 TLV 的 PDU,请取消设置接口配置;例如
cumulus@switch:~$ nv unset interface swp1 lldp application-tlv
cumulus@switch:~$ nv config apply
以下示例取消设置 iSCSI 的应用程序优先级 3,然后禁用 swp1 上应用程序优先级 TLV 的传输。
cumulus@switch:~$ nv unset service lldp application-tlv app iSCSI priority 3
cumulus@switch:~$ nv unset interface swp1 lldp application-tlv app iSCSI
cumulus@switch:~$ nv config apply
以下示例取消设置使用 TCP 端口 4420 的 NVMe 的应用程序优先级 5,然后禁用 swp1 上应用程序优先级 TLV 的传输。
cumulus@switch:~$ nv unset service lldp application-tlv app NVME_4420 priority 5
cumulus@switch:~$ nv unset interface swp1 lldp application-tlv app NVME_4420
cumulus@switch:~$ nv config apply
以下示例取消设置使用 TCP 端口 8009 的 NVMe 的应用程序优先级 7,然后禁用 swp1 上应用程序优先级 TLV 的传输。
cumulus@switch:~$ nv unset service lldp application-tlv app NVME_8009 priority 7
cumulus@switch:~$ nv unset interface swp1 lldp application-tlv app NVME_8009
cumulus@switch:~$ nv config apply
以下示例取消设置使用 TCP 端口 4217 的应用程序的应用程序优先级 6,然后禁用 swp1 上应用程序优先级 TLV 的传输
cumulus@switch:~$ nv unset service lldp application-tlv tcp-port 4217 priority 6
cumulus@switch:~$ nv unset interface swp1 lldp application-tlv tcp-port 4217
cumulus@switch:~$ nv config apply
以下示例取消设置使用 UDP 端口 4317 的应用程序的应用程序优先级 4,然后禁用 swp1 上应用程序优先级 TLV 的传输
cumulus@switch:~$ nv unset service lldp application-tlv udp-port 4317 priority 4
cumulus@switch:~$ nv unset interface swp1 lldp application-tlv udp-port 4317
cumulus@switch:~$ nv config apply
以下示例取消设置使用 TCP 端口 3260 的 iSCSI 的应用程序优先级 0(默认优先级),并禁用 swp1 上应用程序 TLV 的传输。
cumulus@switch:~$ nv unset interface swp1 lldp application-tlv app iSCSI
cumulus@switch:~$ nv config apply
显示应用程序优先级 TLV 设置
要显示交换机上的所有应用程序优先级 TLV 配置
cumulus@switch:~$ nv show service lldp application-tlv
udp-port
===========
Port priority
---- --------
4317 4
tcp-port
===========
Port priority
---- --------
4217 6
app
======
AppName priority
--------- --------
NVME_4420 5
NVME_8009 7
iSCSI 3
要显示在接口上配置的所有应用程序 TLV
cumulus@switch:~$ nv show interface swp1 lldp application-tlv
operational applied
---------- ----------- ---------
[udp-port] 4317 4317
[tcp-port] 4217 4217
[app] NVME_4420 NVME_4420
[app] NVME_8009 NVME_8009
[app] iSCSI iSCSI
要显示 UDP 端口优先级映射
cumulus@switch:~$ nv show service lldp application-tlv udp-port
Port priority
---- --------
4317 4
要显示应用程序优先级映射
cumulus@switch:~$ nv show service lldp application-tlv app
AppName priority
--------- --------
NVME_4420 5
NVME_8009 7
iSCSI 3
要显示 TCP 端口优先级映射
cumulus@switch:~$ nv show service lldp application-tlv tcp-port
Port priority
---- --------
4217 6
要显示 swp1 的 UDP 端口优先级映射
cumulus@switch:~$ nv show interface swp1 lldp application-tlv udp-port
Ports
-----
4317
要显示为 swp1 启用应用程序优先级 TLV 的应用程序名称
cumulus@switch:~$ nv show interface swp1 lldp application-tlv app
AppName
---------
NVME_4420
NVME_8009
iSCSI
故障排除
您可以使用 lldpcli
工具查询 lldpd
守护程序以获取邻居、统计信息和其他正在运行的配置信息。有关详细信息,请参阅 man lldpcli(8)
。
要显示所有端口和接口上的所有邻居
cumulus@switch:~$ sudo lldpcli show neighbors
-------------------------------------------------------------------------------
LLDP neighbors:
-------------------------------------------------------------------------------
Interface: eth0, via: LLDP, RID: 1, Time: 0 day, 17:38:08
Chassis:
ChassisID: mac 08:9e:01:e9:66:5a
SysName: PIONEERMS22
SysDescr: Cumulus Linux version 4.1.0 running on quanta lb9
MgmtIP: 192.168.0.22
Capability: Bridge, on
Capability: Router, on
Port:
PortID: ifname swp47
PortDescr: swp47
-------------------------------------------------------------------------------
Interface: swp1, via: LLDP, RID: 10, Time: 0 day, 17:08:27
Chassis:
ChassisID: mac 00:01:00:00:09:00
SysName: MSP-1
SysDescr: Cumulus Linux version 4.1.0 running on QEMU Standard PC (i440FX + PIIX, 1996)
MgmtIP: 192.0.2.9
MgmtIP: fe80::201:ff:fe00:900
Capability: Bridge, off
Capability: Router, on
Port:
PortID: ifname swp1
PortDescr: swp1
-------------------------------------------------------------------------------
Interface: swp2, via: LLDP, RID: 10, Time: 0 day, 17:08:27
Chassis:
ChassisID: mac 00:01:00:00:09:00
SysName: MSP-1
SysDescr: Cumulus Linux version 4.1.0 running on QEMU Standard PC (i440FX + PIIX, 1996)
MgmtIP: 192.0.2.9
MgmtIP: fe80::201:ff:fe00:900
Capability: Bridge, off
Capability: Router, on
Port:
PortID: ifname swp2
PortDescr: swp2
-------------------------------------------------------------------------------
Interface: swp3, via: LLDP, RID: 11, Time: 0 day, 17:08:27
Chassis:
ChassisID: mac 00:01:00:00:0a:00
SysName: MSP-2
SysDescr: Cumulus Linux version 4.1.0 running on QEMU Standard PC (i440FX + PIIX, 1996)
MgmtIP: 192.0.2.10
MgmtIP: fe80::201:ff:fe00:a00
Capability: Bridge, off
Capability: Router, on
Port:
PortID: ifname swp1
PortDescr: swp1
...
要显示所有端口的 lldpd
统计信息
cumulus@switch:~$ sudo lldpcli show statistics
----------------------------------------------------------------------
LLDP statistics:
----------------------------------------------------------------------
Interface: eth0
Transmitted: 9423
Received: 17634
Discarded: 0
Unrecognized: 0
Ageout: 10
Inserted: 20
Deleted: 10
--------------------------------------------------------------------
Interface: swp1
Transmitted: 9423
Received: 6264
Discarded: 0
Unrecognized: 0
Ageout: 0
Inserted: 2
Deleted: 0
---------------------------------------------------------------------
Interface: swp2
Transmitted: 9423
Received: 6264
Discarded: 0
Unrecognized: 0
Ageout: 0
Inserted: 2
Deleted: 0
---------------------------------------------------------------------
Interface: swp3
Transmitted: 9423
Received: 6265
Discarded: 0
Unrecognized: 0
Ageout: 0
Inserted: 2
Deleted: 0
----------------------------------------------------------------------
...
要显示所有端口的 lldpd
统计信息摘要
cumulus@switch:~$ sudo lldpcli show statistics summary
---------------------------------------------------------------------
LLDP Global statistics:
---------------------------------------------------------------------
Summary of stats:
Transmitted: 648186
Received: 437557
Discarded: 0
Unrecognized: 0
Ageout: 10
Inserted: 38
Deleted: 10
要显示正在运行的 LLDP 配置
cumulus@switch:~$ sudo lldpcli show running-configuration
--------------------------------------------------------------------
Global configuration:
--------------------------------------------------------------------
Configuration:
Transmit delay: 30
Transmit hold: 4
Receive mode: no
Pattern for management addresses: (none)
Interface pattern: (none)
Interface pattern blacklist: (none)
Interface pattern for chassis ID: (none)
Override description with: (none)
Override platform with: Linux
Override system name with: (none)
Advertise version: yes
Update interface descriptions: no
Promiscuous mode on managed interfaces: no
Disable LLDP-MED inventory: yes
LLDP-MED fast start mechanism: yes
LLDP-MED fast start interval: 1
Source MAC for LLDP frames on bond slaves: local
Portid TLV Subtype for lldp frames: ifname
--------------------------------------------------------------------
注意事项
- Cumulus Linux 不支持 LLDP 附录 E(和附录 D)。
- 如果您在交换机上同时配置 eth0 IP 地址和环回 IP 地址,则 LLDP 会通告环回 IP 地址作为管理 IP 地址。在这种情况下,Cumulus Linux 交换机的行为更像典型的 Linux 主机,而不是网络设备。