Funzione NdisMEnableVirtualization (ndis.h)
Un driver miniport chiama la funzione NdisMEnableVirtualization durante la creazione o l'eliminazione di un commutatore di interfaccia di rete sulla scheda di rete. Chiamando questa funzione, il driver configura la singola struttura delle funzionalità estese di I/O radice (SR-IOV) nello spazio di configurazione PCI Express (PCIe) per la funzione fisica (PF) della scheda di rete.
Sintassi
NDIS_STATUS NdisMEnableVirtualization(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] USHORT NumVFs,
[in] BOOLEAN EnableVFMigration,
[in] BOOLEAN EnableMigrationInterrupt,
[in] BOOLEAN EnableVirtualization
);
Parametri
[in] NdisMiniportHandle
La scheda di rete gestisce l'NDIS passata al parametro MiniportAdapterHandle di MiniportInitializeEx.
[in] NumVFs
Valore USHORT che contiene il numero di funzioni virtuali da abilitare per la scheda di rete. NdisMEnableVirtualization imposta il membro NumVFs della struttura SR-IOV Extended Capability sul valore del parametro NumVFs .
[in] EnableVFMigration
Questo parametro è riservato per NDIS e deve essere impostato su FALSE.
[in] EnableMigrationInterrupt
Questo parametro è riservato per NDIS e deve essere impostato su FALSE.
[in] EnableVirtualization
Valore BOOLEAN che specifica se la virtualizzazione deve essere abilitata nello spazio di configurazione PCI della scheda di rete. Se EnableVirtualization è TRUE, NdisMEnableVirtualization imposta il bit VF Enable del membro SR-IOV Control. NdisMEnableVirtualization cancella questo bit se EnableVirtualization è FALSE.
Valore restituito
NdisMEnableVirtualization può restituire uno dei valori di stato seguenti.
Codice restituito | Descrizione |
---|---|
|
Operazione di virtualizzazione completata. |
|
L'adattatore o il sistema non supporta SR-IOV. |
|
Il parametro EnableVirtualization è impostato su FALSE e il parametro NumVFs è impostato su un valore diverso da zero. |
|
Operazione di virtualizzazione non riuscita.
Nota La funzione NdisMEnableVirtualization ha esito negativo se viene chiamata per abilitare la virtualizzazione quando la virtualizzazione è già abilitata. Il driver deve prima disabilitare la virtualizzazione (chiamando la funzione con il parametro EnableVirtualization impostato su FALSE) prima che il driver possa riabilitare la virtualizzazione.
|
Commenti
I driver miniport PF chiamano NdisMEnableVirtualization per configurare i campi di funzionalità estese SR-IOV nello spazio di configurazione PCI. Questa chiamata viene usata per abilitare o disabilitare la virtualizzazione nello spazio di configurazione e specificare anche il numero di VFS che devono essere esposte all'infrastruttura PCIe dalla scheda di rete.
Quando il driver miniport PF gestisce una richiesta di metodo OID di OID_NIC_SWITCH_CREATE_SWITCH, il driver chiama NdisMEnableVirtualization per abilitare la virtualizzazione nella scheda di rete per il commutatore NIC. Il driver esegue questa operazione chiamando NdisMEnableVirtualization con le impostazioni dei parametri seguenti.
Termine | Descrizione |
---|---|
NumVFs | Impostare sul numero di VFS da abilitare per l'opzione della scheda di interfaccia di rete. |
EnableVirtualization | Impostare su TRUE. |
Quando il driver miniport PF gestisce una richiesta di metodo OID di OID_NIC_SWITCH_DELETE_SWITCH, il driver chiama NdisMEnableVirtualization per disabilitare la virtualizzazione nella scheda di rete. Il driver esegue questa operazione chiamando NdisMEnableVirtualization con le impostazioni dei parametri seguenti:
Termine | Descrizione |
---|---|
NumVFs | Imposta su zero. |
EnableVirtualization | Impostare su FALSE. |
Per altre informazioni su come creare un'opzione di interfaccia di rete, vedere Creazione di un commutatore di scheda di interfaccia di rete.
Per altre informazioni sull'interfaccia SR-IOV, vedere Panoramica di Single Root I/O Virtualization (SR-IOV).For more information about the SR-IOV interface, see Overview of Single Root I/O Virtualization (SR-IOV).
Interfaccia con un driver del bus virtuale
Se un fornitore di hardware indipendente (IHV) fornisce un driver bus virtuale (VBD) come parte del pacchetto driver SR-IOV, il driver miniport non deve chiamare NdisMEnableVirtualization. Al contrario, il driver deve interfacciarsi con vbd tramite un canale di comunicazione privato e richiedere che la chiamata VBD EnableVirtualization. Questa funzione viene fornita dall'interfaccia GUID_PCI_VIRTUALIZATION_INTERFACE supportata dal driver del bus PCI sottostante.Il VBD eseguito nel sistema operativo di gestione della partizione padre Hyper-V può eseguire una query sull'interfaccia GUID_PCI_VIRTUALIZATION_INTERFACE inviando una richiesta di IRP_MN_QUERY_INTERFACE al relativo oggetto dispositivo fisico (PDO) nel bus PCI. Questa richiesta deve essere effettuata da IRQL = PASSIVE_LEVEL. In questa richiesta, il driver deve impostare il parametro InterfaceType su GUID_PCI_VIRTUALIZATION_INTERFACE.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato in NDIS 6.30 e versioni successive. |
Piattaforma di destinazione | Universale |
Intestazione | ndis.h (include Ndis.h) |
Libreria | Ndis.lib |
IRQL | PASSIVE_LEVEL |
Vedi anche