Transitioning From I40evf To Iavf: Supported Devices
Transitioning From I40evf To Iavf: Supported Devices
Overview
Intel created the Intel® Adaptive Virtual Function (iavf) driver to provide a consistent, future-proof virtual
function (VF) interface for Intel® Ethernet controllers. Previously, when you upgraded your network hardware,
you replaced the drivers in each virtual machine (VM) with new drivers that were capable of accessing the
new VF device provided by the new hardware. The iavf driver allows you to upgrade your network hardware
without the need to update the VF driver in your existing VMs.
Support for adaptive virtual functions was initially added to the existing i40evf drivers (for Microsoft*
Windows* and Linux* operating systems) and ixlvf driver (for the FreeBSD* operating system). Intel renamed
the driver from i40evf/ixlvf to iavf to clarify that the iavf driver will be the VF driver for future devices beyond
the devices supported by the i40e/ixl driver. Release 23.5.2 was the last release that contained i40evf/ixlvf.
Release 24.0 is the first release that contains iavf.
Supported Devices
The iavf driver supports devices based on the Intel® Ethernet Controller 700 Series.
where
<x.x.x> is the version number for the driver tar file.
3. Change to the src directory under the unzipped driver file.
4. Compile the driver module.
make
make install
5. Make sure that any older i40evf drivers are removed from the kernel before loading the new module.
rmmod i40evf
6. Load new driver module
modprobe iavf
NOTES: The “make install” command:
l Creates /etc/modprobe.d/iavf-blacklist-i40evf.conf that contains blacklist
i40evf.
l Adds the line “alias i40evf iavf” to the modprobe configuration,
Linux Questions
I only use kernel/distro inbox drivers. Do I have to do anything?
There is nothing for you to do until you upgrade the operating system in your VM. If you update your VM
kernel/distro to one that contains iavf, you will need to update any scripts that call the driver.
What if I want to keep i40evf and only update the PF driver to the latest version?
This is not a supported configuration. Please transition your driver to iavf when you update your PF driver.
Release 23.5.2 was the last release that supported the i40evf driver.
What if I want to keep the old PF and only transition the VM to iavf?
There should be not issues with this scenario. If you run into problems, updating your PF driver may resolve
them.
I have scripts that reference the VF drivers by name, do I have to change the scripts?
Yes. You must change the driver name in your scripts, rather than using an alias.
If I decide not to transition to the new iavf drivers, how long will Intel provide fixes for the old i40evf
drivers?
Intel changed the name of the i40evf driver to iavf. All future updates and fixes will be published to the iavf
driver.
Do I need to uninstall the i40evf driver?
This is not absolutely necessary, but we do recommend you uninstall the i40evf driver.
Is there any possibility of conflicts or situations where both drivers may exist in a system
Both drivers can be installed in the system. Installing the iavf driver tells the system that the iavf driver should
be used instead of the i40evf driver. So when the system probes for new devices and finds a device that is
supported by i40evf and iavf drivers, the system is told to always use the iavf driver.
Windows Questions
What if I want to keep i40evf and only update the PF driver to the latest version?
This is not a supported configuration. Please transition your driver to iavf when you update your PF driver.
Release 23.5.2 was the last release that supported the i40evf driver.
What if I want to keep the old PF and only transition the VM to iavf?
There should be not issues with this scenario. If you run into problems, updating your PF driver may resolve
them.
Are the existing i40evf registry entries replaced or is a new registry created with the iavf driver
names for the same port?
The i40evf registry entries are replaced.
What happens to i40evf driver files in system32? Are they deleted?
Not all of them. Some will remain.
where
<x.x.x> is the version number for the driver tar file.
3. Change to the src directory under the unzipped driver file.
4. Compile the driver module.
make load
5. To assign an IP address to the interface, enter the following:
ifconfig ixl<interface_num> <IP_address>
6. If you want the driver to load automatically when the system is booted:
cd iavf-x.x.x/src
make
make install
7. In /boot/loader.conf, remove (if present):
if_ixlv_load=”YES”
and add
if_iavf_load=”YES”
FreeBSD Questions
What if I want to keep i40evf and only update the PF driver to the latest version?
This is not a supported configuration. Please transition your driver to iavf when you update your PF driver.
Release 23.5.2 was the last release that supported the i40evf driver.
What if I want to keep the old PF and only transition the VM to iavf?
There should be not issues with this scenario. If you run into problems, updating your PF driver may resolve
them.