Packets (pkts) receive error observed on vmxnet3.
search cancel

Packets (pkts) receive error observed on vmxnet3.

book

Article ID: 312011

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:

pkts receive error observed on vmxnet3.

Follow the below steps to get the vmxnet3 stats:

  1. Run the below command in an SSH session to the ESXi host managing the VM which has the issue:

  2. From the output of above command, get the PortNum and SwitchName values that correlate with your VM, and substitute their values in the below command:

Example:
 
 


Environment

VMware vSphere ESXI 7.0.3

VMware vSphere ESXi 8.0.1

Cause

When multiple netpoll worlds can deliver packets to same vnic as the wait time increases which causes latency. In 7.0, we queue the packets first and re-try in next attempt. This may lead to contention at vnic or queue level, and rest of the incoming packets will be dropped. Hence, we see the increment in pkts receive error counter.

Resolution

Currently there is no resolution.


Workaround:

The below two workarounds may help to resolve the issue and can be tried out, but these are just workarounds, the issue could be because of other reasons as well.

Vmxnet3RxQueueLimit:

To resolve this issue, we have a config option to increase the queueLimit.
This resolution holds the usages of the config option.

Vmxnet3RxQueueLimit - max # pkts to queue in the backend if unable to hold the lock.
Default is 1024 and max is 4096.

To get the value:

esxcfg-advcfg -g /Net/Vmxnet3RxQueueLimit

To set the value:

esxcfg-advcfg -s 2048 /Net/Vmxnet3RxQueueLimit

Note: Nic disable/enable or vm reboot will be required to get this in effect.

EthernetX.pnicFeatures = "4":

When multiple vmnic are trying to deliver packets to same vnic, this will lead to contention and hence drop of packets. ethernetX.pnicFeatures = "4" this setting will avoid the contention at vnic level.

To add this key-value pair, we need to edit the concerned VM vmx file. Make sure VM is powered off before adding this setting.

Add ethernetX.pNicFeatures = "4" ("X" here is the number of virtual network card to which the feature should be added)

Find the below steps to add entry in VMX file:

Select the VM -> Edit Setting ->VM Options -> Advanced -> Edit Configuration -> Add parameters -> (Add the Kay and Value) -> Save (edited)