How to enable SR-IOV virtual function on Intel ixgbe NIC

Last updated on July 21, 2020 by Dan Nanni

Question: I want to create virtual functions on an Intel ixgbe NIC port. How can I enable SR-IOV virtual function on an ixgbe NIC interface?

SR-IOV is a technology which allows a single PCIe (PCI Express) device to emulate multiple separate PCIe devices. The emulated PCIe functions are called "virtual functions" (VFs), while the original PCIe device functions are called "physical functions" (PFs). SR-IOV is typically used in I/O virtualization environment, where a single PCIe device needs to be shared among multiple virtual machines.

Method One

To enable SR-IOV VF on Intel ixgbe NIC, you need to pass an additional parameter "max_vfs=N" to ixgbe kernel module, where N is the number of VFs to create per port. To pass this parameter:

On Ubuntu, Debian or Linux Mint:

To enable SR-IOV VF on ixgbe NIC driver on Debian-based system:

$ sudo vi /etc/modprobe.d/ixgbe.conf
options ixgbe max_vfs=8

On CentOS, Fedora or RHEL:

To enable SR-IOV VF on ixgbe NIC driver on Red-Hat-based system:

$ sudo vi /etc/modprobe.conf
options ixgbe max_vfs=8

Finally, reboot the machine to activate VFs.

To check if SR-IOV VF is successfully enabled, use the following command.

$ lspci | grep -i ethernet

The Ethernet interfaces labeled with "Virtual Function" are VF interfaces.

Method Two

If the above method fails to enable VFs, another method is to add "ixgbe.max_vfs=N" as a kernel boot parameter via GRUB. Refer to this tutorial for detailed instructions for that. After updating GRUB configuration, verify that the GRUB configuration file (/boot/grub/grub.cfg or /boot/grub/grub.conf) includes this parameter.

Go ahead and reboot to activate the change.

Support Xmodulo

This website is made possible by minimal ads and your gracious donation via PayPal (Credit Card) or Bitcoin (1M161JGAkz3oaHNvTiPFjNYkeABox8rb4g).

Please note that this article is published by Xmodulo.com under a Creative Commons Attribution-ShareAlike 3.0 Unported License. If you would like to use the whole or any part of this article, you need to cite this web page at Xmodulo.com as the original source.

Xmodulo © 2021 ‒ AboutWrite for UsFeed ‒ Powered by DigitalOcean