Certain versions of VMXNET 3 driver fail to initialize the device when the number of vCPUs is not a power of two
search cancel

Certain versions of VMXNET 3 driver fail to initialize the device when the number of vCPUs is not a power of two

book

Article ID: 342404

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

If the version of VMXNET 3 inbox driver on your Linux distribution is 1.0.25.0-k to 1.1.17.0-k, the driver might fail if the number of vCPUs that you assign to a virtual machine is not a power of two. You might see an error message similar to the following while running the dmesg command:

Failed to activate dev eth0:error 1

An error message similar to the following might be written to vmware.log:

VMXNET3 user: failed to activate Ethernet1 with status 0xbad0007


Environment

VMware ESX 4.1.x
VMware ESXi 4.1.x Installable
VMware ESXi 4.1.x Embedded
VMware vSphere ESXi 5.0

Resolution

This issue is resolved in vSphere 5.0 Update 1.
Work around the issue as follows:
  1. Overwrite the inbox VMXNET3 driver with VMware Tools driver by running this command:

    # ./vmware-install.pl --clobber-kernel-modules=vmxnet3

  2. Manually load VMware Tools driver with power-of-two number of tx/rx queues so that the number of vCPUs exceed the number of queues. For example, in a virtual machine with 3 vCPUs and 2 VMXNET3 adapters, you can load the driver by running this command:

    modprobe vmxnet3 num_rqs=2,2 num_tqs=2,2
Notes:
  1. If you do not have the option of reloading the driver, use a power of two that is less than the number of vCPUs available when you configure the number of queues.
  2. This issue is resolved in inbox VMXNET 3 driver version 1.1.18.0-k.

Additional Information

For translated versions of this article, see: