How to: Check whether your hardware supports SR-IOV

While trying to move VM in Hyper-V 2012 I’ve noticed that it’s really slow process on my machine. One of possible solutions to it may be enabling of SR-IOV for your Hyper-V virtual switch (see screenshot for corresponding option in GUI).

Virtual Switch Properties

SR-IOV stands for Single Root I/O Virtualization and it’s a technology introduced by PCI SIG which allows a PCIe device to appear to be multiple separate physical PCIe devices. This technology needs to be supported by your hardware BIOS as well as in the operating system instance or hypervisor that is running on the hardware.

But my attempt to enable SR-IOV for virtual switch (it requires creating a new virtual switch and checking corresponding check-box in Connection type section of virtual switch properties) lead to server crash… So it could be a good idea to ensure whether you have hardware support for SR-IOV before enabling it 🙂

Just type following in PowerShell:

(Get-VMHost).IovSupportReasons(Get-VMHost).IovSupportReasons

In my case it returns following:

SR-IOV cannot be used on this system as the PCI Express hardware does not support Access Control Services (ACS) at any root port. Contact your system vendor for further information.

You may also receive more optimistic output from this command informing you that you probably need to enable SR-IOV in BIOS or update your BIOS.

Leave a Reply

Your email address will not be published. Required fields are marked *