(See also MicrosoftAzure)
Hyper-V supports both emulated and Hyper-V-specific devices for FreeBSD virtual machines. When running with emulated devices, no additional software is required to be installed. However emulated devices do not provide high performance and cannot leverage the rich virtual machine management infrastructure that the Hyper-V technology offers. In order to make full use of all benefits that Hyper-V provides, it is best to use Hyper-V-specific devices for FreeBSD. The collection of drivers that are required to run Hyper-V-specific devices are known as FreeBSD Integration Services (BIS).
It contains the installable BIS drivers and corresponding daemons for FreeBSD virtual machines.
For newer FreeBSD releases, BIS is built in to the FreeBSD operating system, and no separate download or installation is required except for a Hyper-V KVP (Key-Value Pair) ports download that is needed for FreeBSD 10.0.
BIS provide Core, Networking, Storage, Memory, Video and other functionalities. For feature availability in each FreeBSD version, it is published here:
https://technet.microsoft.com/en-us/library/dn848318.aspx.
And it will be updated for upcoming FreeBSD releases. You also could learn best practices for running FreeBSD on Hyper-v and get detailed feature description.
FreeBSD 10.1 and 10.2 users should refer to the below 2 errata to update the kernels. FreeBSD 10.3 has included the fixes.
https://www.freebsd.org/security/advisories/FreeBSD-EN-16:04.hyperv.asc (This applies to FreeBSD 10.1 and 10.2. )
https://www.freebsd.org/security/advisories/FreeBSD-EN-16:05.hv_netvsc.asc (This applies to FreeBSD 10.2.)
FreeBSD 11 users should refer to the below 1 errata to update the kernels.
https://www.freebsd.org/security/advisories/FreeBSD-EN-17%3A03.hyperv.asc
Jails may not be able to properly access the network unless “Enable MAC address Spoofing” is enabled in the virtual machine's network adapter. This can be enabled by accessing the VM in question's settings and then expanding the desired network adapter's “Advanced Features” area and checking the box to enable MAC address spoofing. This issue affects both Shared IP and VIMAGE/VNET jails.
Set-VMComPort -VMName <vm_name> -number 1 -path \\.\pipe\Testpipe
echo 'console="comconsole"' >> /boot/loader.conf
\\.\pipe\Testpipe in above example.