Starting in Windows 10 Anniversary Update, anyone can make applications that communicate between the Hyper-V host and its virtual machines using Hyper-V sockets -- a Windows Socket with a new address family and specialized endpoint for targeting virtual machines. Details about Hyper-V socket can be found here:
https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/make-integration-service
This change adds Hyper-V socket feature in FreeBSD. New socket address family AF_HYPERV and its kernel support are added.
Tested on HP Z4 G4 Workstation with Xeon W-2123 cores and 32GB memory.
FreeBSD VM size 4vcpu and 6000MB memory.
Performance test with hvstress user program single thread, user set ehe send and recv buff
- Guest - > Host
snd/recv buffer size on both sides | 128byte | 1KB | 4KB | 64KB
----------------------------------------------------------------------------------------------
Throughput with 20KB ringbuffer size(MB/s) | 72 | 289 | 320 | 305
- Host - > Guest
snd/recv buffer size on both sides | 128byte | 1KB | 4KB | 64KB
----------------------------------------------------------------------------------------------
Throughput with 20KB ringbuffer size(MB/s) | 74 | 369 | 700 | 1103