由于虚拟机发送的 LLDP 数据包,Dell Networking FCoE 会话问题。

Summary: 由于虚拟机发送的链路层发现协议 (LLDP) 数据包导致 FCoE 会话问题。问题可能会导致接口摆动,或者直到任何导致 LLDP 重复触发问题的手动作才会出现任何问题。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

受影响的平台:运行数据中心桥接 (DCB) 功能的 MX 和 MXL 交换机,但不限于它们/VMware Esxi
 

受影响的固件:直到现在

影响:
  • 主机与 FCoE 环境的通信中断
  • 存储通信始终停止响应或摆动。
  • 在稳定的环境中,当采取导致 LLDP 枚举的手动作时,可能会发生所有 FCoE VLAN 的完全中断;例如,在 vDS 上添加 VLAN 或禁用 LLDP。 

Cause

本文旨在为 FCoE 环境提供额外的保护,在这些环境中,虚拟机意外地将 LLDP 数据包发送到 (FIP/FSB) 交换机,从而中断了与交换机的 FCoE 连接。在问题状态期间,您会在 交换机的系统日志中看到以下消息。

错误信息: "LLDP_MULTIPLE_PEER_DETECTED: DCBX operationally disabled due to more than one PEER being present on interface" 从作系统启用 LLDP 时)

警告消息:
-------------------------------------

LLDP_MULTIPLE_PEER_DETECTED: DCBX
-------------------------------------
您可以看到两个可能的问题:

  1. VMware vDS 正在发送和接收或仅发送 LLDP 数据包。
    1. 通常,当 VMware vDS 上的 LLDP 配置设置为“两者(侦听和通告)”或设置为“通告”时,会发生这种情况。
  2. 虚拟机通过 VMware vDS 发送 LLDP 数据包。
    1. 如果虚拟机的作系统发送 LLDP 数据包以通告其存在,则由于 FCoE作的性质,会中断 FCoE 连接。

另一个迹象表明交换机发现多个 LLDP 邻居并且处于问题状态:
 交换机发现多个 LLDP 邻居

网络可能表现为完全稳定,即使在 "show lldp neighbors" 表示交换机处于问题状态。但是,如果采取手动作(如添加 VLAN 或在 vDS 上禁用 LLDP),可能会在所有 FCoE 会话上触发完全中断。

为什么会这样?
FCoE 依赖于 DCBx,而 DCBx 是在 LLDP 上运行的协议。 

“DCBX使用链路层发现协议(LLDP)在两个链路对等体之间交换参数。LLDP 是单向协议。它将有关本地站的连接和管理信息通告到同一 IEEE 802 LAN 上的相邻站。- https://www.ieee802.org/1/files/public/docs2008/az-wadekar-dcbx-capability-exchange-discovery-protocol-1108-v1.01.pdf
“DCBX预计将在点对点链路上运行。如果检测到多个 LLDP 邻居,则 DCBX 的行为就像对等的 DCBX TLV 不存在,直到多个 LLDP 邻居条件不再存在。LLDP 邻居通过其逻辑 MAC 服务访问标识符 (MSAP) 进行标识。逻辑 MSAP 是在 LLDPDU 中传输的机箱 ID 和端口 ID 值的串联。- https://www.ieee802.org/1/files/public/docs2008/az-wadekar-dcbx-capability-exchange-discovery-protocol-1108-v1.01.pdf
任何导致 LLDP 重新枚举的更改都可能导致 FCoE 的 TLV 功能立即中断。

Resolution

选项 1) 根据 Broadcom KB 更改 vDS 上的 LLDP 模式。
选项 2)我们要做的是添加 VMware vDS 过滤策略来 阻止来自虚拟机的 LLDP 数据包,仅此配置就可以阻止来自该 vDS 端口组下任何虚拟机的任何 LLDP 数据包。*此问题也可能出现在 VMware 标准 vSwitch 上,但没有可用的解决轮次或筛选选项。客户必须确保其虚拟机没有 LLDP。
 

 

 流程

 参考:VMware 流量过滤 指南

 

  1. 在 vSphere Client 中找到分布式端口组或上行链路端口组。

 
vSphere Client 
 

  1. 选择一个分布式交换机,然后单击网络选项卡。
  2. 单击 分布式端口组 以查看分布式端口组的列表,或单击 上行链路端口组 以查看上行链路端口组的列表。

 
分布式端口组屏幕 
 
 

  1. 单击 分布式端口组上行链路端口组 ,然后选择配置选项卡。
  2. 在设置下,选择 流量过滤和标记
  3. 单击启用和重新排序按钮。

 
流量过滤和标记屏幕 
 

  1. 单击 启用所有流量规则
  2. 单击“OK”。

 
启用所有流量规则屏幕 
 

 

 

  1. 单击 ADD 按钮。

 
“添加按钮”屏幕 
 

VMware MAC 流量限定符 参考指南。

 

  1. 在“规则”窗口中,设置以下参数。
    1. 用“name”命令 来描述作。
    2. 在“Action”字段中,选择“Drop”。
    3. 在“流量方向”中,选择“入口”。
    4. 单击“MAC”选项卡。
      1. 选中“Enable qualifier”复选框。
      2. 在“EtherType”字段中:
        1. 选择“IS”。
        2. 选择“自定义”。
        3. 将“88CC”写为 LLDP ethertype。
    5. 单击 OK

 
“New Traffic Rule”屏幕 

  1. 最后,您应该具有以下配置。

 
Configuration 页面 
 
 

  1. 检查是否阻止了来自所选虚拟机的任何 LLDP 数据包。
    1. 单击 端口 选项卡。
      1. 选择虚拟机所在的 vDS 端口 ID
      2. 单击 统计信息 选项卡。
        1. 选中“Drop - Ingress Packets

   “端口”选项卡屏幕 

11 配置到此结束。

Affected Products

Force10 MXL Blade, Dell EMC Networking MX5108n, Dell EMC Networking MX9116n, VMware ESXi 6.x, VMware ESXi 7.x
Article Properties
Article Number: 000203012
Article Type: Solution
Last Modified: 03 Oct 2025
Version:  2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.