7 Replies Latest reply on Mar 1, 2018 10:45 PM by Intel Corporation

    82576 Gigabit Network adapter SR-IOV problem:How to split different virtual function into different iommu group?


      Here is some information about my environment :

      Hardware :

      Supermicro X10SRi-F motherboard with Onboard i350 controller;

      Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz;

      Intel Corporation 82576 Gigabit Network Adapter;



      Centos 7




      So far, vt-d and SR-IOV are all enabled on the BIOS and intel_iommu=on is enabled on the host system and it is verify by virt-host-validate command line.


      Both onboard i350 controller and intel 82576 are virtualized into different virtual functions(vf). Things are getting different about iommu group. Each vf from i350 could successfully be in individual iommu group, but vf from intel 82576 are grouped into the same iommu.


      Since all the vfs from intel 82576 are in the same IOMMU group, whenever I want to attach any of them to VM, it will generate the error as below:


      2018-02-23T17:16:18.202445Z qemu-kvm: -device vfio-pci,host=04:10.1,id=hostdev0,bus=pci.0,addr=0x9: vfio: error, group 34 is not viable, please ensure all devices within the iommu_group are bound to their vfio bus driver.


      As for the i350, I don’t have this problem.


      I have read some posts, saying that this is maybe the ACS problem but my cpu does support that:


      00:01.0 PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 1 (rev 01) (prog-if 00 [Normal decode])

              Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx+


              Capabilities: [100 v1] Vendor Specific Information: ID=0002 Rev=0 Len=00c <?>

              Capabilities: [110 v1] Access Control Services


      From Intel 82576 specification, it says it supports SR-IOV, however, it does not work unless each VF has its own individual IOMMU group.Does anyone know how to do it?


      Thank you!