A: External virtual switches that are defined on your Hyper-V server are linked to a physical NIC. If this NIC is enabled for VMDq, it will expose a certain number of VMDqs that can be assigned to virtual machines (VMs).

One VMDq is always reserved for the shared processing for all VMs that don't have their own VMDq.

You can check the number left for VM assignment by running the command below (change the server name to your Hyper-V server) and looking at the MaxVMQOffloads value:

 Get-WmiObject -computer savdalbfs01.savilltech.net -namespace "root\virtualization" -query "SELECT ElementName,MaxChimneyOffloads,MaxVMQOffloads FROM Msvm_VirtualSwitch"h"

 In the example output below, you can see that the second switch, which is my external switch, has three VMDqs available. This is correct, because my NIC supports four VMDqs per port (remember that one is reserved for the shared queue).

__GENUS : 2
__CLASS : Msvm_VirtualSwitch
__SUPERCLASS :
__DYNASTY :
__RELPATH :
__PROPERTY_COUNT : 3
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ElementName : Private Switch
MaxChimneyOffloads : 0
MaxVMQOffloads : 0

__GENUS : 2
__CLASS : Msvm_VirtualSwitch
__SUPERCLASS :
__DYNASTY :
__RELPATH :
__PROPERTY_COUNT : 3
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ElementName : External Switch
MaxChimneyOffloads : 0
MaxVMQOffloads : 3

 

To see more FAQs about Windows--and beyond--see John Savill's FAQs for Windows page.