larstr
Champion
Champion

LLDP+Broadcom 10/25g

VMware ESXi, 6.7.0, 15160138.

Earlier many of us had issues with Intel X710 nics having a hardware LLDP agent that made LLDP unavailable from the VMware side of things. There is a similar issue with broadcom nics, but LLDP works fine from the VMware side. From the switch side it does however get announments both from VMware and from the nic itself. While VMware's LLDP agent transmits both the server hostname and vmnic, the hardware nic agent only transmits the physical mac address.

It looks like different switch vendors handle this scenario differently. Cisco seems to only store the last value it received while Arista stores both values.

pastedImage_0.png

As we can see here, also from the Arista management UI we see that the MAC address is listed first and in many views only the first line is used.

As far as I can tell there is no parameter available in the ESXi 6.7 bnxtnet driver to disable LLDP in the same way we could on Intel x710:

] esxcli system module parameters list -m bnxtnet

Name                          Type          Value  Description

----------------------------  ------------  -----  --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

DRSS                          array of int         Number of RSS Queues to create on the Default Queue RSS pool. [Default: 4, Max: 16]

RSS                           array of int         Number of RSS queues to create in netqueue RSS pool. [Default: 4, Max: 16]

async_cmd_cmpl_timeout        uint                 For debug purposes, currently set to 10000 msec's, user can increase it. [Default: 10000, Min: 10000]

debug                         uint                 Debug msglevel: Default is 0 for Release builds

disable_dcb                   bool                 Disable the DCB support. 0: enable DCB support, 1: disable DCB support. [Default: 1]

disable_fwdmp                 bool                 For debug purposes, disable firmware dump feature when set to value of 1. [Default: 0]

disable_geneve_filter         bool                 For debug purposes, disable Geneve filter support feature when set to value of 1. [Default: 0]

disable_geneve_oam_support    bool                 For debug purposes, disable Geneve OAM frame support feature when set to value of 1. [Default: 1]

disable_q_feat_pair           bool                 For debug purposes, disable queue pairing feature when set to value of 1. [Default: 0]

disable_q_feat_preempt        bool                 For debug purposes, disable FEAT_PREEMPTIBLE when set to value of 1. [Default: 0]

disable_roce                  bool                 Disable the RoCE support. 0: Enable RoCE support, 1: Disable RoCE support. [Default: 1]

disable_shared_rings          bool                 Disable sharing of Tx and Rx rings support. 0: Enable sharing, 1: Disable sharing. [Default: 0]

disable_tpa                   bool                 Disable the TPA(LRO) feature. 0: enable TPA, 1: disable TPA. [Default: 0]

disable_vxlan_filter          bool                 For debug purposes, disable VXLAN filter support feature when set to value of 1. [Default: 0]

enable_default_queue_filters  int                  Allow filters on the default queue. -1: auto, 0: disallow, 1: allow. [Default: -1, which enables the feature when NPAR mode and/or VFs are enabled, and disables if otherwise]

enable_dr_asserts             bool                 For debug purposes, set to 1 to enable driver assert on failure paths, set to 0 to disable driver asserts. [Default: 0]

enable_geneve_ofld            bool                 Enable Geneve TSO/CSO offload support. 0: disable Geneve offload, 1: enable Geneve offload. [Default: 1]

enable_host_dcbd              bool                 Enable host DCBX agent. 0: disable host DCBX agent, 1: enable host DCBX agent. [Default: 0]

enable_r_writes               bool                 For debug purposes, set to 1 to enable r writes, set to 0 to disable r writes. [Default: 0]

enable_vxlan_ofld             bool                 Enable VXLAN TSO/CSO offload support. 0: disable, 1: enable. [Default: 1]

force_hwq                     array of int         Max number of hardware queues: -1: auto-configured, 1: single queue, 2..N: enable this many hardware queues. [Default: -1]

int_mode                      uint                 Force interrupt mode. 0: MSIX; 1: INT#x. [Default: 0]

max_vfs                       array of int         Number of Virtual Functions: 0: disable, N: enable this many VFs. [Default: 0]

multi_rx_filters              int                  Define the number of RX filters per NetQueue: -1: use the default number of RX filters, 0,1: disable use of multiple RX filters, so single filter per queue, 2..N: force the number of RX filters to use for a NetQueue. [Default: -1]

psod_on_tx_tmo                bool                 For debug purposes, set to 1 to force PSOD on tx timeout, set to 0 to disable PSOD on tx timeout. [Default: 0]

Nic firmware and driver is:

] esxcli network nic get -n vmnic4

   Advertised Auto Negotiation: true

   Advertised Link Modes: 1000BaseCR1/Full, 25000BaseCR1/Full, Auto

   Auto Negotiation: true

   Cable Type: DA

   Current Message Level: 0

   Driver Info:

         Bus Info: 0000:a1:00:0

         Driver: bnxtnet

         Firmware Version: 214.0.253.1

         Version: 214.0.230.0

Anyone seen this issue before?

Lars

0 Kudos
1 Reply
dmgeurts
Contributor
Contributor

Just encountered this on a VxRail installation. Did you find a solution?

0 Kudos