Quick Tip: Does my NIC support VMMQ?

Hi Folks – Most often, when a virtual machine or container is receiving traffic, the traffic passes through the stack in the host. This requires host (parent partition) CPU cycles.

Synthetic Data PathSynthetic Data Path

If the amount of traffic being processed exceeds that which a single core can handle, the received traffic must be spread across multiple CPUs. This “spreading” can occur in the operating system – at the expense of more CPU cycles, or hardware (the NIC) as an offload. In hardware, we call this capability Virtual Machine Multi-Queue. The benefit of VMMQ is actually two-fold:

  • It allows you to reach higher throughput into your virtual systems (VMs/Containers)
  • It reduces the cost (in terms of host resources) of processing that traffic

VMMQ is a combined feature of the NIC, driver/firmware, and operating system. All of these must support VMMQ and be configured properly for you to leverage this offload.

To identify if your adapter supports VMMQ, use the Get-NetAdapterAdvancedProperty cmdlet to see the advanced registry property *RSSOnHostVPorts or “Virtual Switch RSS” – We won't go into what the naming means but suffice to say that if you see this capability displayed using the command below, your NIC and driver/firmware combination supports VMMQ.


Now you simply need to follow the instructions in this article for configure it.

Hope this quick tip was helpful!


This article was originally published by Microsoft's Azure Security Blog. You can find the original article here.