Interfaccia VMQ (Virtual Machine Queue)

Una scheda di rete che supporta l'interfaccia VMQ include hardware che instrada i pacchetti per ricevere code. Ciò richiede l'analisi dell'intestazione del pacchetto e della configurazione delle code nella scheda di rete.

Quando un driver miniport visualizza un'indicazione di ricezione, tutti i pacchetti si trovano per la stessa coda di macchine virtuali.

Come opzione, la scheda di rete può fornire filtri VLAN nell'hardware per un indirizzo MAC (Media Access Control) specificato.

Instradare i pacchetti alle code e indicare tutti i pacchetti in una coda a una macchina virtuale consente l'elaborazione simultanea di ricezione per più macchine virtuali. Ogni coda viene eseguita da un processore diverso.

Il routing alle code nella scheda di rete impedisce un passaggio di copia per copiare i dati dalla scheda di rete ricevono buffer nello spazio indirizzi della macchina virtuale.

La figura seguente illustra i percorsi di dati sintetici all'interno dell'interfaccia VMQ.

diagram illustrating the synthetic device data paths with vmq.diagramma che illustra i percorsi dei dati dei dispositivi sintetici con vmq.

Nella figura, il driver miniport per la scheda di rete fisica indica i dati ricevuti fino al componente commutatore estendibile Hyper-V. Questo componente funge da provider di servizi virtuali di rete (NetVSP) e fornisce servizi per supportare l'accesso alla rete dalle partizioni figlio Hyper-V.

I servizi forniti dal commutatore estendibile includono pacchetti di routing da e verso le schede di rete della macchina virtuale (VM) nei sistemi operativi guest. La scheda di rete vm viene esposta dal client del servizio virtuale di rete (NetVSC) eseguito nel sistema operativo guest.

In VMQ, la scheda di rete fisica trasferisce i dati corrispondenti a un test di filtro di ricezione per un VMQ direttamente in tale coda. Ciò impedisce l'elaborazione software nel commutatore estendibile. I dati che non superano alcun test di filtro passano alla coda predefinita in cui l'opzione estendibile deve elaborare i dati. Oltre a impedire il routing e la copia nel commutatore estendibile, gli interrupt di ricezione per le code di macchine virtuali vengono assegnati a processori diversi.

Per altre informazioni sull'interfaccia VMQ, vedere Virtual Machine Queue (VMQ).