Cristian Edwards

A piece of virtualization with Hyper-V and SCVMM

Hyper-V Networking Optimizations Part 2 of 6 (VMQ)

Hyper-V Networking Optimizations Part 2 of 6 (VMQ)

  • Comments 3
  • Likes

 

Continuing the Networking Series with Virtual Machine Queues.

In this table you will find what registry keys and settings must be configured to make it work.

Again, remember that you can use this script to validate these settings.

Virtual Machine Queue

OS Level feature

Collector Script = AdvancedNet_Features.ps1

Commands to Enable or Disable TCP Chimney Offload

http://technet.microsoft.com/es-es/library/gg162682(WS.10).aspx

THESE REGISTRY KEYS MUST BE CONFIGURED ON PARENT PARTITION HKLM\SYSTEM\CurrentControlSet\services

\VMSMP\Parameters\TenGigVmqEnabled

 

HKLM\SYSTEM\CurrentControlSet\services

\VMSMP\Parameters\BelowTenGigVmqEnabled

NIC adapter Level feature

Collector Script = AdvancedNet_Features.ps1

Enabling Virtual Machine Queue for a Physical Network Adapter (Intel)

http://www.intel.com/support/network/sb/CS-030993.htm?wapkw=(hyper-v)

THESE REGISTRY KEYS MUST BE ENABLED ON PARENT PARTITION

Registry keys for Intel

NICs

"\SYSTEM\CurrentControlSet\Control

\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\xxxx\*VMQ"

"\SYSTEM\CurrentControlSet\Control

\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\xxxx\*VMQLookaheadSplit”

"\SYSTEM\CurrentControlSet\Control

\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\xxxx\*RssOrVmqPreference"

Some drivers that support VMQ and RSS cannot use these features simultaneously. Such drivers cannot switch between RSS support and VMQ support without reinitializing the driver. The operating system uses the RSS feature when the NIC is bound to the TCP/IP stack, or the VMQ feature when the NIC is bound to the Hyper-V virtual switch driver. Because the NIC is not disabled and then re-enabled when it is unbound from the TCP/IP stack and bound to the Hyper-V driver (or the reverse), it is not possible for such NICs to switch between RSS and VMQ automatically.

A miniport driver that supports RSS and VMQ simultaneously reads the *RSS and *VMQ keywords and it reports the current RSS and VMQ capabilities based on those keyword settings. Such a driver never uses the *RssOrVmqPreference keyword.

A miniport driver that does not support RSS and VMQ simultaneously must read a hidden keyword *RssOrVmqPreference before it reports its current capabilities to NDIS. If the value of this keyword is zero, the miniport driver reports that it supports RSS. If the value of this keyword is one, the miniport driver reports that it supports VMQ. The default value is zero.

During miniport adapter initialization, the miniport driver reads the *RssOrVmqPreference registry keyword. If *RssOrVmqPreference is either not present or it is set to zero the miniport driver reports the RSS support that is specified in the *RSS keyword and VMQ is disabled. Otherwise, the miniport driver reports the VMQ support that is specified in the *VMQ keyword and RSS is disabled

http://msdn.microsoft.com/en-us/library/ff571048(v=vs.85).aspx

WMI Level Feature

 

Virtual Switch Ports Enabled for each VM

http://technet.microsoft.com/es-es/library/gg162685(WS.10).aspx

 

Configuring Virtual Networks in VMM                    http://technet.microsoft.com/en-us/library/ee236499.aspx

THIS SETTING MUST BE CONFIGURED ON PARENT PARTITION (Enabled by default) or ON SCVMM Property inside WMI Class Msvm_SwitchPort (VMQOffloadWeight property)

 

Get-WmiObject -Namespace ROOT\virtualization -Class Msvm_VirtualSwitch |Select

 ElementName, name

 

Get-WmiObject -Namespace ROOT\virtualization -Class

Msvm_SwitchPort | Select SystemName,VMQOffloadWeight

 

The VM Virtual switch port must be enabled, i.e., the VMQ Offload Weight setting in the VM Switch port associated with that VM must be greater than zero.  By default the VMQOffloadWeight on all virtual switch ports are created with a weight of 100. Checking the “Enable virtual network optimizations” checkbox in SCVMM enables the port for that VM.  Unchecking the same box disables the port for that VM. (This checkbox is located on the hardware Configuration tab of the Virtual Machine Properties management screen.) This setting can also be controlled through the WMI interface.  Documentation on how to use WMI to manage the VMQ Offload Weight setting is available at http://msdn.microsoft.com/en-us/library/cc136902(VS.85).aspx

NIC adapter Level feature

VMQ Tunning with interrupt coalescing

Collector Script = AdvancedNet_Features.ps1

http://technet.microsoft.com/es-es/library/gg162696(WS.10).aspx

THESE REGISTRY KEYS MUST BE ENABLED ON PARENT PARTITION

 

"\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\xxxx\*MaxRssProcessors”

 

"\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\xxxx\*RssBaseProcNumber"

 

If you are configuring more than one network adapter, each adapter should have a different value assigned to the *RssBaseProcNumber sub-key with sufficient difference so that there are no overlapping RSS processors. For example, if Network Adapter A has a value of 0 assigned to *RssBaseProcNumber and a value of 3 assigned to *MaxRssProcessors, Network Adapter B should have an *RssBaseProcNumber of 4.
 

Required Hyper-V OS Version

VMQ is only supported Since Windows Server 2008 R2 Hyper-V Hosts

Legacy Netwok Adapters are not VMQ compatible

Only Synthetic Network adapters can take benefit from VMQ

Required Guest OS Versions

Only W7 and Windows Server 2008 R2 Guest VMs are VMQ compatible by default. Windows Vista and Windows Server 2008 Guests can use VMQ only with the Integration Services Installed. Earlier versions of Windows Guests will not use VMQ

NIC Speed ( 10GB )

Almost all VMQ NIC adapters are 10GB adapters. May not be enabled on 1GB NIC adapters

VMQ and Teaming requires Intel ProSet 15.0 or higher

 

Enabling Virtual Machine Queue for a Physical Network Adapter (Intel)

http://www.intel.com/support/network/sb/CS-030993.htm?wapkw=(hyper-v)

VMQ and Teaming are supported only with Intel ProSet version 15.0 or higher

Chimney and VMQ are not compatible

Chimney should be disabled if  VMQ is also used. If both are enabled Chimney will be disabled by default. Only Intel cards by the moment

Comments
  • This is incredibly fascinating. Exactly how do I validate these settings

  • Hello,

    This Network Optimisations is compatible for Hyper-V R3 ?

    And your script is compatible with Windows 2012 ?

    Regards

    Guillaume

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment