Last updated on July 21, 2020 by Dan Nanni
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.
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:
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
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.
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.
This website is made possible by minimal ads and your gracious donation via PayPal or credit card
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 ‒ About ‒ Write for Us ‒ Feed ‒ Powered by DigitalOcean