This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)(Learn how and when to remove this template message)
The Virtual Machine Queue (VMQ) is a hardware virtualization technology for the efficient transfer of network traffic (such as TCP/IP, iSCSI or FCoE) to a virtualized host OS. VMQ technology was patented in 2010 by Daniel Baumberger of Intel Corp. A VMQ capable NIC can use DMA to transfer all incoming frames that should be routed to a receive queue to the receive buffers that are allocated for that queue. The miniport driver can indicate all of the frames that are in a receive queue in one receive indication call.
The VMQ interface supports:
- Classification of received packets in NIC hardware by using the destination MAC address to route the packets to different receive queues.
- NIC ability to use DMA to transfer packets directly to a virtual machine's shared memory. For more information about shared memory, see NDIS 6.20 Memory Management Interface.
- Scaling to multiple processors by processing packets for different virtual machines on different processors.
Virtual Machine Queue Architecture
The NDIS virtual machine queue (VMQ) architecture provides advantages for virtualization such as:
- Virtualization impacts performance and VMQ helps overcome those effects.
- VMQ supports live migration.
- VMQ co-exists with NDIS task offloads and other optimizations.
Some networks recommend disabling VMQ. They state this option is prone to misconfiguration and can cause reduced network performance when enabled.
- "Disable Virtual Machine Queues". Palo Alto Networks, Inc. Retrieved 24 December 2017.