KB2681638 – Network Connectivity Is Lost On Hyper-V VMs If VMQ Feature Is Enabled On HOST Network Cards

New new KB article was posted for Hyper-V:

“Consider the scenario:

  • A server running Windows Server 2008 R2 with Hyper-V installed or Microsoft Hyper-V Server 2008 R2.
  • Live migration of VMs would result in drop of network connections on Guest VM that use VLAN. Network is restored when migration is complete.
  • Issue occurs only if Virtual Machine Queue (VMQ) is enabled on the HOST network and disabled on virtual networks.

Note: If we disable VMQ on Host network, Live migration of Guest VMs is successful without Network drop.

NICs are introduced with new feature "VMQ- Virtual Machine Queues". Earlier Hyper-V used to create the queue and segregate the traffic between the VMs, however with VMQ enabled, this option is offloaded to NICs. Creating and sorting of queues are done by the NICs.

Just enabling VMQ on NIC is not sufficient. VMQ does require some registry for VMSMP to understand the VMQ feature and support it.

Caution This section contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs.
To resolve this particular issue, follow below steps to add registry subkeys on the host server.

  1. To open an elevated Command Prompt window, click Start, point to All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.
  2. Type regedit, and then press ENTER.
  3. In the Registry Editor, open the sub-key HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318 and locate the sub-key for the network adapter you want to work with. Sub-keys are four numbers (for example 0003 and 0010). Make a note of it. You will need it later in this procedure.
  4. Return to the elevated command prompt window.
  5. At the command prompt, type the following commands based on the type of network adapter you are using. For each command, substitute the sub-key from earlier in this procedure for ID.
    1. For 1 GBPS network adapters, type
      reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318ID /v *MaxRssProcessors /t REG_DWORD /d 1 /f
      press ENTER
      reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318ID /v *RssBaseProcNumber /t REG_DWORD /d 0 /f
      and then press ENTER.
    2. For 10 GBPS network adapters, type
      reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318ID /v *MaxRssProcessors /t REG_DWORD /d 3 /f
      press ENTER,
      reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318ID /v *RssBaseProcNumber /t REG_DWORD /d 0 /f
      and then press ENTER.
    3. Reboot the Host server for registry changes to take affect.

Important: 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”.

Please follow and like us:

One Reply to “KB2681638 – Network Connectivity Is Lost On Hyper-V VMs If VMQ Feature Is Enabled On HOST Network Cards”

  1. “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”.

    I’ve seen this passage a few times (in the high speed networking guide for example), but I wonder if it is correct. If the base processor number is 0 and you allocate 3 RSSProcessors (0, 1 and 2), shouldn’t the next card have a base processor of 3, instead of the stated 4?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.