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:
- Go to: Display Manager → Network adapters → Mellanox ConnectX-3 Ethernet Adapter → Properties → Advanced tab → Virtual Switch Rss.
- 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
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.