Skip to main content

How to Enable Single Root I/O Virtualization SR-IOV on XenServer


This article describes how to improve network performance in XenServer virtual machines by purchasing a Network Interface Card (NIC) with Single Root I/O Virtualization (SR-IOV) support.

This is also the method if you want to virtualize your Provisioning Services hosts – READ MORE HERE


The SRIOV support is a method used for sharing I/O devices with near physical computer speed.

To learn more about SR-IOV, refer to PCI-SIG SR_IOV Primer.

Note 1:  A single SR-IOV NIC can support multiple Virtual Functions; each Virtual Function can be attached to a different virtual machine as a 1:1 ratio (1 Virtual Function to 1 virtual machine).

Note 2:  Xen Kernel version 3.4.2 supports the SR-IOV features for Red Hat Enterprise Linux or SUSE Linux Enterprise Server.  Citrix XenServer 5.5 however does not support it.

Note 3:  Citrix only has one NIC certified for SR-IOV on XenServer (Intel 82599 10 gigabyte Ethernet Controller).


Perform the following the steps to enable SR-IOV on XenServer.

  1. Enable iommu on the XenServer host by running the following command within the domain 0 console: 
    /opt/xensource/libexec/xen-cmdline –set-xen iommu=1
  2. Restart the host.
  3. Assign one or more Virtual Functions to a virtual machine. Obtain a list of Virtual Functions in the system by running the following command in the XenServer console: 

    You should see many (such as 120) devices like this:
    07:10.0 Ethernet controller: Intel Corporation 82559 Ethernet Controller Virtual Function (rev 01)

  4. Run the following command to assign one of these Virtual Functions to the target virtual machine:
    xe vm-param-set other-config:pci=0/0000:07:10.0 uuid=uuid_of_the_VM

    Note: Substitute 07:10.0 in the example above with the PCI bus address of the Virtual Function that you want to assign.

  5. Start the virtual machine and install the correct Virtual Function driver in it.

Read the knowledge article here


Leave a Reply

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

Turn on pictures to see the captcha *