I've been able to get a bit further....need to enable vfio-pci kernel module, unbind the driver from the vf device and assign the vfio driver:
# modprobe -r vfio_iommu_type1
# modprobe -r vfio
# modprobe vfio_iommu_type1 allow_unsafe_interrupts=1
# modprobe vfio-pci
# echo 0000:08:00.1 > /sys/bus/pci/devices/0000\:08\:00.2/driver/unbind
get the pci vendor/device code:
# lspci -s 08:00.1 -n
08:00.1 0280: 15b3:1004
bind to vfio-pci:
# echo 15b3 1004 > /sys/bus/pci/drivers/vfio-pci/new_id
you can verify, here is the card interface my host os uses
# lspci -s 08:00.0 -k
08:00.0 Network controller: Mellanox Technologies MT27500 Family [ConnectX-3]
Subsystem: Hewlett-Packard Company Device 18d6
Kernel driver in use: mlx4_core
here is the vf:
# lspci -s 08:00.1 -k
08:01.1 Network controller: Mellanox Technologies MT27500 Family [ConnectX-3 Virtual Function]
Subsystem: Hewlett-Packard Company Device 61b0
Kernel driver in use: vfio-pci
my virsh xml file is slightly diff
<hostdev mode='subsystem' type='pci' managed='yes'> | |
<source> | |
<address domain='0x0000' bus='0x08' slot='0x00' function='0x1'/> | |
</source> | |
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> | |
</hostdev> |
In linux everything is working as expected. In windows (2012 R2 x64) I can see the card and the driver is loaded but broken has a yellow exclamation point without any meaningful errors.
Does anyone have SR-IOV working with Windows guests?
my host is Ubuntu 14.04.3 (3.19 kernel)