OID_NIC_SWITCH_CREATE_VPORT
Un driver overlying genera una richiesta di metodo OID (Object Identifier) di OID_NIC_SWITCH_CREATE_VPORT per creare una porta virtuale non definita (VPort) in un commutatore di scheda di rete. Questa richiesta di metodo OID collega anche il VPort creato alla funzione fisica PCI Express (PCIe) della scheda di rete o a una funzione virtuale PCIe precedentemente allocata.
I driver overlying rilasciano questa richiesta di metodo OID al driver miniport per il pf della scheda di rete. Questa richiesta di metodo OID è necessaria per i driver miniport PF che supportano l'interfaccia di virtualizzazione I/O (SR-IOV) singola.
Il membro InformationBuffer della struttura NDIS_OID_REQUEST contiene un puntatore alla struttura NDIS_NIC_SWITCH_VPORT_PARAMETERS .
Commenti
Il driver overlying inizializza la struttura NDIS_NIC_SWITCH_VPORT_PARAMETERS con le informazioni di configurazione relative al VPort non definito da creare. Le informazioni di configurazione includono la funzione PCIe a cui è associata la VPort nondefault e il numero di coppie di code per il VPort non definito.
Quando il driver miniport PF viene emesso la richiesta OID, il driver alloca le risorse hardware e software associate al VPort non definito. Dopo aver allocato correttamente tutte le risorse, il driver miniport PF completa correttamente l'OID restituendo NDIS_STATUS_SUCCESS da MiniportOidRequest.
Se la OID_NIC_SWITCH_CREATE_VPORT richiesta viene completata correttamente, il driver miniport PF e il driver overlying devono mantenere il valore VPortId del VPortId non definito per le operazioni successive. Il valore VPortId viene usato durante queste operazioni:
NDIS e i driver overlying usano il valore VPortId per identificare le richieste VPort non definite in successive richieste OID correlate a questo VPort, ad esempio OID_NIC_SWITCH_VPORT_PARAMETERS e OID_NIC_SWITCH_DELETE_VPORT.
Durante le operazioni di invio, NDIS specifica il valore VPortId per identificare il VPort da cui è stato inviato un pacchetto. Questo valore viene specificato all'interno della NDIS_NET_BUFFER_LIST_FILTERING_INFO dati della struttura NET_BUFFER_LIST fuori banda.
Durante le operazioni di ricezione, il driver miniport PF specifica il valore VPortId a cui inviare un pacchetto. Questo valore viene specificato anche nel NDIS_NET_BUFFER_LIST_FILTERING_INFO dati della struttura di NET_BUFFER_LIST .
Per altre informazioni, vedere Creazione di una porta virtuale.
Nota Il VPort predefinito esiste sempre e non viene creato anche se una richiesta OID di OID_NIC_SWITCH_CREATE_VPORT. Il VPort predefinito ha un identificatore di NDIS_DEFAULT_VPORT_ID. Quando il driver miniport PF crea un commutatore di interfaccia di rete, il driver collega automaticamente il VPort predefinito al pf della scheda di rete.
Codici di stato restituiti
NDIS o il driver miniport PF restituisce uno dei codici di stato seguenti per la richiesta del metodo OID di OID_NIC_SWITCH_CREATE_SWITCH.
Codice di stato | Descrizione |
---|---|
NDIS_STATUS_SUCCESS |
La richiesta OID è stata completata correttamente. |
NDIS_STATUS_NOT_SUPPORTED |
Il driver miniport PF non supporta l'interfaccia SR-IOV o non è abilitata per l'uso dell'interfaccia. |
NDIS_STATUS_INVALID_PARAMETER |
Uno o più membri della struttura NDIS_NIC_SWITCH_VPORT_PARAMETERS hanno valori non validi. |
NDIS_STATUS_INVALID_LENGTH |
La lunghezza del buffer delle informazioni è minore di sizeof(NDIS_NIC_SWITCH_VPORT_PARAMETERS). Il driver miniport PF deve impostare i DATI. METHOD_INFORMATION. Membro ByteNeeded nella struttura NDIS_OID_REQUEST alla dimensione minima del buffer necessaria. |
NDIS_STATUS_FAILURE |
La richiesta non è riuscita per altri motivi. |
Requisiti
Versione |
Supportato in NDIS 6.30 e versioni successive. |
Intestazione |
Ntddndis.h (include Ndis.h) |