Hyper-V with VMQ
Operating Systems: Windows Server 2012, Windows Server 2012 R2 and Windows Server 2016.
Mellanox WinOF includes a Virtual Machine Queue (VMQ) interface to support Microsoft Hyper-V network performance improvements and security enhancement.
VMQ interface supports:
Classification of received packets by using the destination MAC address to route the packets to different receive queues
NIC ability to use DMA to transfer packets directly to a Hyper-V child-partition's shared memory
Scaling to multiple processors, by processing packets for different virtual machines on different processors.
To enable Hyper-V with VMQ using UI:
Open Hyper-V Manager.
Right-click the desired Virtual Machine (VM), and left-click Settings in the pop-up menu.
In the Settings window, under the relevant network adapter, select "Hardware Acceleration".
Check/uncheck the box “Enable virtual machine queue” to enable/disable VMQ on that specific network adapter.
To enable Hyper-V with VMQ using PowerShell:
Enable VMQ on a specific VM: Set-VMNetworkAdapter <VM Name> -VmqWeight 100
Disable VMQ on a specific VM: Set-VMNetworkAdapter <VM Name> -VmqWeight 0