Enabling and Disabling Native Drivers in ESXi

native drivers in esxi

Many new native drivers are included in ESXi 6.5, which replace the older vmklinux drivers. After installation or upgrade, most of the new native drivers are enabled by default.

Because they do not fully support the functions of the corresponding vmklinux drivers, several of the new native drivers are disabled by default. Consider the following scenario:

  • The qflge native driver replaces the vmklinux net-bnx2 driver, although it does not support HW iSCSI.
  • The qfle3 native driver replaces the vmklinux net-bnx2x driver, although it does not support HW iSCSI or SW FCoE.
  • Although it does not support SW FCoE, the ixgben native driver replaces the vmklinux net-ixgbe driver.

Using the vSphere Image Builder, you can enable a native driver in the ESXi installer for new ESXi 6.5 installs.

You can remove the vmklinux driver that corresponds to the native driver from the ISO image using the vSphere Image Builder.

For example, you can use Image Builder to delete the net-bnx2x VIB from the ISO image to enable the qfle3 native driver.

If you discover that the correct driver for the vmnic is not being utilized after a drive upgrade, the following methods will show you how to use vCLI to activate and disable the native drivers.

Enable Native Driver

  • Using the vSphere Web Client or VMware Host Client, put the ESXi host into maintenance mode.
  • To enable one of the native drivers, use the vCLI command.
esxcli system module set --enabled=true --module=native_driver_name
  • Run the following vCLI command to enable the qfle3 native driver, for example:
esxcli system module set --enabled=true --module=qfle3
  • To verify the module details, use the vCLI command.
esxcli system module list
  • Restart the ESXi host.
  • After a reboot, stateless hosts exit maintenance mode automatically.

Exit maintenance mode manually if you enabled a native driver on a stateful host.

Disable Native Driver

  • Place the ESXi host in maintenance mode using the vSphere Web Client or VMware Host Client.
  • Run the vCLI command to disable one of the native drivers.
esxcli system module set --enabled=false --module=native_driver_name

For example, to disable the qflge native driver, run the following vCLI command:

esxcli system module set --enabled=false --module=qflge
  • Run the vCLI command to check the module details
esxcli system module list
  • Restart the ESXi host.
  • Stateless hosts exit maintenance mode automatically after reboot.
  • If you disabled a native driver on a stateful host, exit the maintenance mode.

Find Driver Version

Run the following command to display the driver version.

esxcli software vib get -n native_driver_name

For example, to view the versions of the qfle3 native driver and its corresponding vmklinux driver:

esxcli software vib get -n qfle3

Run the following vCLI command to see which version of the vmklinux driver qfle3 replaces:

esxcli software vib get -n net-bnx2x

Leave a Reply