Virtual machine queue (VMQ) overview
This article provides high-level information about the NDIS virtual machine queue (VMQ) interface. You should read this article before writing an NDIS driver that supports VMQ.
The VMQ interface supports Microsoft Hyper-V network performance improvements in NDIS 6.20 and later in Windows Server 2008 R2 and later versions of Windows Server.
The VMQ interface supports:
Classification of received packets in network adapter hardware by using the destination media access control (MAC) address to route the packets to different receive queues.
Shared memory. For more information, see the Network API reference.
Scaling to multiple processors by processing packets for different virtual machines on different processors.
The NDIS VMQ architecture provides advantages for virtualization such as:
Virtualization impacts performance and VMQ helps overcome those effects.
VMQ supports live migration.
VMQ coexists with NDIS task offloads and other optimizations.
For information about writing VMQ drivers, see Getting Started Writing VMQ Drivers.
Note
Be sure to study the NDIS Virtual Miniport Driver sample, especially the vmq.c and vmq.h source files.