http://blog.scottlowe.org/2009/12/02/what-is-sr-iov/
http://lxr.free-electrons.com/source/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c?v=3.3#L2619
http://www.slideshare.net/juet-y/sr-iovdebian10
with quad Intel Corporation X540 in host, VF works in FreeBSD (ix driver), not yet in NetBSD (ixv driver)
command: /usr/bin/qemu-system-x86_64 -m 512 -boot c -net none -hda friet101.dsk -device vfio-pci,host=05:10.2 -curses --enable-kvm
root@cristalle:~kiers # dmesg | grep ix ix0: <Intel(R) PRO/10GbE Virtual Function Network Driver, Version - 1.1.4> mem 0xfe000000-0xfe003fff,0xfe004000-0xfe007fff at device 3.0 on pci0 ix0: Using MSIX interrupts with 2 vectors ix0: link state changed to UP root@cristalle:~kiers # ifconfig ix0 ix0: flags=8843metric 0 mtu 1500 options=401bb ether aa:00:04:00:42:42 inet 194.109.43.125 netmask 0xffffffe0 broadcast 194.109.43.127 nd6 options=29 media: Ethernet autoselect status: active
command: /usr/bin/qemu-system-x86_64 -m 512 -boot c -net none -hda shell.dsk -device vfio-pci,host=05:10.3 -curses --enable-kvm
shell# dmesg|grep ixv ixv0 at pci0 dev 3 function 0: Intel(R) PRO/10GbE Virtual Function Network Driver, Version - 1.1.4 ixv0: clearing prefetchable bit ixv0: Using MSIX interrupts with 3 vectors ixv0: for TX/RX, interrupting at msix0 vec 0, bound queue 0 to cpu 0 ixv0: for link, interrupting at msix0 vec 1, affinity to cpu 1 shell# ifconfig ixv0 ixv0: flags=8802mtu 1500 capabilities=bff80 enabled=0 address: 00:00:00:00:00:00 media: Ethernet autoselect status: no carrier