From Fedora Project Wiki

Revision as of 14:01, 7 May 2009 by Mnowak (talk | contribs)

See Test_Day:2009-05-07_Virtualization.

This test area is concerned with testing the KVM PCI Device Assignment feature added in Fedora 11.

Known bugs include:

  • 499259 - svirt denials breaks KVM PCI device assignment
Until this is fixed, all but the nodedev ops test case requires you to run SELinux in permissive mode
  • 499352 - Re-enable CONFIG_DMAR_DEFAULT_ON
You will need to boot the host with intel_iommu=on until this is fixed
  • 499267 - Assigning a PCI device using virt-manager/virt-install fails
Fixed in python-virtinst-0.400.3-8.fc11
  • 499386 - libvirt's qemu driver interprets the <hostdev> "managed" attribute incorrectly
Fixed in libvirt-0.6.2-6.fc11
  • 499561 - libvirt does not automatically re-attach an assigned device in the host after guest shutdown
Workaround is to run virsh nodedev-reattach after the guest has shut down


In order to test KVM PCI device assignment, you need:

  1. a host machine which has Intel VT-d or AMD IOMMU support
  2. the host booted with intel_iommu=on in order to enable VT-d support
  3. SELinux in permissive mode
  4. At least libvirt-0.6.2-6.fc11 and python-virtinst-0.400.3-8.fc11 installed

Please upload your smolt profile using smoltSendProfile and add its URL to the table below.

Also, it would be useful to post your PCI bus topology - e.g. post the output of lspci -t -v to Fedora's pastebin.


The first thing you need to do is choose which PCI device on your KVM host that you will use for testing. Probably the most obvious to test with is a NIC. You'll need the device's nodedev name, and you can find this with

  $> virsh nodedev-list --tree
    |   |
    |   +-net_00_13_20_f5_f9_5a
  $> virsh nodedev-dumpxml pci_8086_10bd
    <capability type='pci'>
      <product id='0x10bd'>82566DM-2 Gigabit Network Connection</product>
      <vendor id='0x8086'>Intel Corporation</vendor>

Follow each of these test cases:

  1. libvirt nodedev operations
  2. assigning a device using libvirt
  3. assigning a device using virt-manager
  4. virt-install --host-device


If you have problems with any of the tests, file a bug report in bugzilla.

Once you have completed the tests, add your results to the table below.

User Smolt lspci Nodedev Ops libvirt virt-manager virt-install Comments
Mark McLoughlin smolt lspci PASS PASS PASS