Installation guide

Chapter 13. SR-IOV
118
appears as a network card in the same way as a normal network card would appear to an operating
system.
The SR-IOV drivers are implemented in the kernel. The core implementation is contained in the PCI
subsystem, but there must also be driver support for both the Physical Function (PF) and Virtual
Function (VF) devices. With an SR-IOV capable device one can allocate VFs from a PF. The VFs
appear as PCI devices which are backed on the physical PCI device by resources (queues, and
register sets).
Migrating guests with SR-IOV is possible with the vhost-net feature.
Advantages of SR-IOV
SR-IOV devices can share a single physical port with multiple virtualized guests.
Virtual Functions have near-native performance and provide better performance than para-virtualized
drivers and emulated access. Virtual Functions provide data protection between virtualized guests on
the same physical server as the data is managed and controlled by the hardware.
These features allow for increased virtualized guest density on hosts within a data center.
SR-IOV is better able to utilize the bandwidth of devices with multiple guests.
13.2. Using SR-IOV
This section covers attaching Virtual Function to a guest as an additional network device.
SR-IOV requires Intel VT-d support.
Procedure 13.1. Attach an SR-IOV network device
1. Enable Intel VT-d in BIOS and in the kernel
Skip this step if Intel VT-d is already enabled and working.
Enable Intel VT-D in BIOS if it is not enabled already. Refer to Procedure 12.1, “Preparing an Intel
system for PCI passthrough” for procedural help on enabling Intel VT-d in BIOS and the kernel.
2. Verify support
Verify if the PCI device with SR-IOV capabilities are detected. This example lists an Intel 82576
network interface card which supports SR-IOV. Use the lspci command to verify if the device
was detected.
# lspci
03:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
03:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
Note that the output has been modified to remove all other devices.
3. Start the SR-IOV kernel modules
If the device is supported the driver kernel module should be loaded automatically by the kernel.
Optional parameters can be passed to the module using the modprobe command. The Intel
82576 network interface card uses the igb driver kernel module.
# modprobe igb [<option>=<VAL1>,<VAL2>,]
# lsmod |grep igb
igb 87592 0
dca 6708 1 igb