Features/SR-IOV

From FedoraProject

< Features
Revision as of 11:08, 15 June 2009 by Markmc (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

SR-IOV

Summary

Single Root I/O Virtualization (SR-IOV) is a PCI feature which allows virtual functions (VF) to be created that share the resources of a physical function (PF).

SR-IOV is primarily useful in allowing a single PCI device to be shared amongst multiple virtual machines.

Owner

Current status

  • Targeted release: Fedora 12
  • Last updated: 2009-06-12
  • Percentage of completion: 80%

TODO

  • Test that VF device assignment works with Fedora virt tools

Completed

  • Get PCI_IOV support upstream (included in v2.6.30)

Detailed Description

SR-IOV allows a single PCI device to be shared amongst multiple virtual machines. A common example is where a single SR-IOV capable NIC - with perhaps only a single physical network port - might be shared with multiple virtual machines by assigning a virtual function to each VM.

SR-IOV support is implemented in the kernel. The core implementation is contained in the PCI subsystem, but there must also b e driver support for both the Physical Function (PF) and Virtual Function (VF) devices.

In 2.6.30, the Intel® 82576 Gigabit Ethernet Controller is the only SR-IOV cabable device supported. The igb driver has PF su pport and the igbvf has VF support.

Benefit to Fedora

SR-IOV support further extends Fedora's ability to act as a high-performance server Virtualization solution.

Scope

The scope of this feature is entirely limited to the kernel.

The PCI device assignment feature in Fedora 11 is required for SR-IOV to be useful.

How To Test

  1. Ensure that you have a supported SR-IOV capable device (currently only 82576 NIC)
  2. Ensure the PF driver allocates a number of VFs (e.g. modprobe igb max_vfs=7)
  3. Assign the VF to a guest (see Features/KVM PCI Device Assignment)
  4. Load the VF driver in the guest and ensure the device works as expected (igbvg is the VF driver for 82576)

User Experience

As above, users should be able to allocate VFs and assign them to guest virtual machines, allowing the physical resources of the PF to be shared with multiple guests.

Dependencies

None.

Contingency Plan

None required.

Documentation

Release Notes

Fedora 12 adds support for PCI Single Root I/O Virtualization (SR-IOV) which allows capable hardware to be shared with multiple guest virtual machines.

Comments and Discussion