image image image image image

On This Page

Virtual Machine Multiple Queues (VMMQ), formerly known as Hardware vRSS, is a NIC offload technology that provides scalability for processing network traffic of a VPort in the host (root partition) of a virtualized node. In essence, VMMQ extends the native RSS feature to the VPorts that are associated with the physical function (PF) of a NIC including the default VPort.

VMMQ is available for the VPorts exposed in the host (root partition) regardless of whether the NIC is operating in SR-IOV or VMQ mode. VMMQ is a feature available in Windows Server 2016.

System Requirements

  • Operating System(s): Windows Server 2016
  • Mellanox ConnectX-3/ConnectX-3 Pro VPI adapter card family
  • Available only for Ethernet (no IPOIB)

Enabling/Disabling VMMQ

On the Driver Level

To enable/disable VMMQ:

  1. Go to: Display Manager → Network adapters → Mellanox ConnectX-3 Ethernet Adapter → Properties → Advanced tab → Virtual Switch Rss.


  2. Select Enabled or Disabled.

To enable/disable VMMQ using a Registry Key:

Set the RssOnHostVPorts registry key in the following path to either 1 (enabled) or 0 (disabled)
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\<nn>\* RssOnHostVPorts

On a VPort

To enable VMMQ on a VPort:

PS $ Set-VMNetworkAdapter -Name "Virtual Adapter Name" -VmmqEnabled $true

To disable VMMQ on a VPort:

PS $ Set-VMNetworkAdapter -Name "Virtual Adapter Name" -VmmqEnabled $false
Since the VMMQ is an offload feature for vRss, vRss must be enabled prior to enabling VMMQ.

Controlling the Number of Queues Allocated for a vPort

The requested number of queues for a virtual network adapter (vPort) can be set by invoking this PS cmdlet:

PS $ Set-VMNetworkAdapter -Name "VMName" -name "Virtual Adapter Name" -VmmqQueuePairs <number>

The number provided to this cmdlet is the requested number of queues per vPort. However, the OS might decide to not fulfill the request due to some resources and other factors considerations.