Error handling issue in bnxtnet may lead to bad LRO packets in Thor2 NICs
search cancel

Error handling issue in bnxtnet may lead to bad LRO packets in Thor2 NICs

book

Article ID: 435538

calendar_today

Updated On:

Products

VMware vSphere ESXi VMware Cloud Foundation

Issue/Introduction

When using BCM5760x (Thor2) NICs with hardware LRO enabled, sometimes receive errors may occur that result in invalid LRO packets leading to various issues, including corrupted network payloads and PSODs. Warning messages from the bnxtnet driver like the following may appear in the host's vmkernel log around the time of the issue:

2026-02-09T02:39:03.708Z cpu22:2098542)WARNING: bnxtnet: bnxtnet_rx_pkt:3017: [vmnic1 : 0x43130d950a00] rxq buff is NULL, for fp->id[46], rx_ring->prod = 0x0, rx_ring->agg = 0x0, cmpl ring cons = 0x0
Or,
2026-02-09T02:39:03.708Z cpu125:2098609)WARNING: bnxtnet: bnxtnet_tx_int:1926: [vmnic1 : 0x43130d950a00] pkt NULL, fid:113, prod = 0x0, cons = 0x0, ccons = 0x0

Followed by the notification message:

2026-02-09T02:39:03.709Z cpu106:2098487)bnxtnet: bnxtnet_uplink_quiesce_dev:2495: [vmnic1 : 0x43130d950a00] Quiesce dev 0x43130d950a00

Note that the bnxtnet_uplink_quiesce_dev notification message alone does not indicate the issue.

Environment

ESXi hosts with BCM5760x (Thor2) NICs and hardware LRO (Large Receive Offload) enabled.

Resolution

Upcoming versions of the bnxtnet driver will properly handle these receive errors and prevent the formation of bad LRO packets.

Disabling hardware LRO on the affected BCM5760x NICs can serve as a workaround. This workaround has minimal performance impact because the ESXi networking stack performs LRO in software in this case. Hardware LRO can be disabled using the disable_tpa module parameter for bnxtnet. For example, the following command would disable HW LRO on all 4 bnxtnet ports of a host. The module parameter setting takes effect after a reboot.

esxcli system module parameters set -m bnxtnet -p disable_tpa=1,1,1,1