SR-IOV on Hyper-V?


I'm setting up a pfSense VM (FreeBSD) on my Hyper-V server, and I want to give the VMs low-level access to the NIC using SR-IOV. The hardware (see sig) all supports this, and inspecting SR-IOV capabilities on the host side using PowerShell show everything is available. The Virtual Switches have been created with the SR-IOV capability checked and passed through to the VMs, but it's at this point that I don't know my way around FreeBSD well enough to get it working on the VMs.

I have managed to find [URL='']this[/url] which seems to show that SR-IOV on FreeBSD is indeed possible, including some basic commands for setting it up, but the slides don't go into much detail and leave a lot out, too. For example, it's all well and good to have a command like iovctl, but how do I find the PF (physical function) and VF (Virtual Fuction) device names? Without a command to list available devices I can't really get anywhere.

I've also spoken to a couple of people who got thrown by the fact that I'm running this on Hyper-V, because they don't have much experience with it and thought a Hyper-V specific solution would be required, but from my reading of it I don't believe that's the case - SR-IOV is an open standard, so the host-side shouldn't really matter - as long as the hardware supports it, all the configuration happens within the VM, not the hypervisor. Although I could be wrong, of course, but as I haven't reached the point of having it configured correctly on the VM, it seems sensible to focus on that first.

So does anyone have any experience using SR-IOV with FreeBSD, or have suggestions for how I might figure this out?

Many thanks,