When using bnx2x driver version 2.712.70.v60.3, you experience these symptoms:
ESXi loses network connectivity
Virtual machines experience network problems
In the vmkernel.log file, you see entries similar to:
2017-03-15T17:17:14.788Z cpu1:32868)<3>[bnx2x_esx_init_rx_ring:1944(vmnic2)]was only able to allocate 0 rx sges 2017-03-15T17:17:14.788Z cpu1:32868)<3>[bnx2x_esx_init_rx_ring:1946(vmnic2)]disabling TPA for queue[1] 2017-03-15T17:17:14.810Z cpu1:32868)<3>[bnx2x_dynamic_alloc_rx_queue_single:789(vmnic2)]Could not start queue:1 2017-03-15T17:17:19.786Z cpu0:32868)<3>[bnx2x_alloc_rx_sge:734(vmnic2)]Can't alloc sge
Note: This log excerpt is an example. Date, time, and environmental variables may vary depending on your environment.
Environment
VMware vSphere ESXi 6.0
Cause
This issue occurs due to a memory leak.
The heap NetPacketPool is getting depleted and is the used by the bnx2x driver to allocate buffers for netqueues that have Large Receive Offload (LRO) enabled. It is determined that when netqueue is deleted while there is traffic flowing, buffers allocated by the bnx2x driver from NetPacketPool may not get released.
Resolution
To resolve this issue, upgrade bnx2x driver to version 2.713.10.v60.8 or later.