Get started Bring yourself up to speed with our introductory content.

How do I use SR-IOV for Hyper-V VMs?

Single Root I/O Virtualization, or SR-IOV, can help reduce latency and increase I/O throughput when enabled for Hyper-V VMs.

Many virtual administrators are still unfamiliar with Single Root I/O Virtualization Microsoft introduced in Windows...

Server 2012 Hyper-V. The SR-IOV specification was designed by PCI-SIG to allow a PCI device to appear as multiple physical devices, which, in turn, helps reduce the latency and increase I/O throughput. In simple terms, SR-IOV-capable PCI devices can present multiple virtual channels to SR-IOV capable drivers for direct communication.

Technically, there are two functions implemented by SR-IOV: physical functions (PFs) and virtual functions (VFs). There are a number of PCI devices available in which the PFs have been implemented, but Microsoft Hyper-V provides SR-IOV support only for networking. In other words, Microsoft Hyper-V provides VFs to allow VMs to communicate to the physical network adapters directly.

There are two drivers implemented by Microsoft Hyper-V to enable the SR-IOV function: the PF Miniport Driver running in the Hyper-V parent partition and the VF Miniport Driver running in each guest. The PF and VF relationship is very similar to the VSP-VSC design in Hyper-V, with one exception. In the case of the VSP-VSC design, a VSC component running in a VM talks to the corresponding VSP running in the Hyper-V parent partition via the VMBus communication channel, whereas, in the case of the PF-VF architecture, the VF in a VM talks to VF implemented in the SR-IOV-capable network adapters. The VF miniport driver running in a guest can directly read and write to VFs implemented in SR-IOV-capable network adapters. However, the PF Miniport Driver, which is implemented in the Hyper-V parent partition, is responsible for handling and terminating these requests as and when needed.

Since the VMs can communicate directly with the physical network adapters, organizations may benefit from increasing I/O throughput, reducing CPU utilization on Hyper-V hosts for processing network traffic, and reducing network latency by enabling direct communication. Before you can use SR-IOV for a Hyper-V VM, you will need to meet the following prerequisites:

  • The SR-IOV functionality is currently only available to Windows 8 and Windows Server 2012 guests.
  • Hyper-V must be running on a Windows Server 2012 or later operating system.
  • You must have an SR-IOV-capable physical network adapter that implements the PFs and can understand the VFs' requests coming from the VMs.
  • You must have an external virtual switch that can understand the SR-IOV traffic.
  • The server's motherboard chipset must also support SR-IOV.

Enabling SR-IOV is a two-step approach. First, you need to make sure that your external virtual network switch, which is mapped to a physical network adapter, can understand the SR-IOV traffic by enabling the checkbox from the virtual switch manager. Once the SR-IOV is enabled on the external virtual switch, you can enable SR-IOV on the supported guests by checking the "Enable SR-IOV" checkbox found under the "Hardware Acceleration" setting page on the VM's properties.

It is also worth mentioning that SR-IOV is supported by both Microsoft Hyper-V and VMware vSphere. While Microsoft Hyper-V supports SR-IOV for Windows VMs only, VMware vSphere provides SR-IOV support for both Windows and Linux guests. It is important to note that an SR-IOV-enabled VM can participate in Hyper-V Live Migration, but SR-IOV-enabled VMs running on VMware vSphere will lack features like vMotion.

This was last published in January 2015

Dig Deeper on Microsoft Hyper-V management

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.