Condividi tramite


OID_SRIOV_READ_VF_CONFIG_BLOCK

Un driver overlying genera una richiesta di metodo OID (Object Identifier) di OID_SRIOV_READ_VF_CONFIG_BLOCK per leggere i dati da un blocco di configurazione VF (PCI Express) (PCIe) specificato.

I driver overlying rilasciano questa richiesta di metodo OID al driver miniport per la funzione fisica PCIe della scheda di rete(PF). 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 a un buffer allocato dal chiamante. Questo buffer è formattato per contenere quanto segue:

  • Struttura NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS che contiene l'offset, in unità di byte, dall'inizio di questa struttura a una posizione all'interno del buffer che contiene i dati letti dal blocco di configurazione VF.

  • Spazio di buffer aggiuntivo per i dati da leggere dal blocco di configurazione VF specificato.

Commenti

Un blocco di configurazione VF viene usato per la comunicazione backchannel tra i driver PF e miniport VF. L'IHV può definire uno o più blocchi di configurazione VF per i driver miniport. Ogni blocco di configurazione VF ha un formato, una lunghezza e un ID blocco definiti dall'IHV.

Nota I dati di ogni blocco di configurazione VF vengono usati solo dai driver PF e miniport VF.

Prima di eseguire la richiesta del metodo OID di OID_SRIOV_READ_VF_CONFIG_BLOCK, il driver overlying deve impostare i membri della struttura NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS nel modo seguente:

  • Impostare il membro VFId sull'identificatore del VF da cui leggere le informazioni.

  • Impostare il membro BlockId sull'identificatore del blocco di configurazione VF da cui leggere le informazioni.

  • Impostare il membro Length sul numero di byte da leggere dal blocco di configurazione.

  • Impostare il membro BufferOffset sull'offset all'interno del buffer (a cui fa riferimento il membro InformationBuffer ) che conterrà i dati letti dal blocco di configurazione VF specificato. Questo offset viene specificato in unità di byte dall'inizio della struttura NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS .

Quando gestisce la richiesta del metodo OID di OID_SRIOV_READ_VF_CONFIG_BLOCK, il driver miniport PF deve seguire queste linee guida:

  • Il driver miniport PF deve verificare che il VF, specificato dal membro VFId della struttura NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS , disponga di risorse che sono state assegnate in precedenza. Il driver miniport PF alloca le risorse per un VF durante una richiesta di metodo OID di OID_NIC_SWITCH_ALLOCATE_VF. Se le risorse per il VF specificato non sono state allocate, il driver deve non riuscire la richiesta OID.

  • Il driver miniport PF deve verificare che il membro BlockId della struttura NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS specifica un blocco di configurazione VF valido. In caso contrario, il driver deve non riuscire la richiesta OID.

Per altre informazioni sulla comunicazione backchannel all'interno dell'interfaccia di virtualizzazione I/O radice singola ( SR-IOV), vedere SR-IOV PF/VF Backchannel Communication.

Codici di stato restituiti

Il driver miniport PF restituisce uno dei codici di stato seguenti per la richiesta di metodo di OID_SRIOV_READ_VF_CONFIG_BLOCK.

Codice di stato Descrizione

NDIS_STATUS_SUCCESS

La richiesta OID è stata completata correttamente.

NDIS_STATUS_NOT_SUPPORTED

Il driver miniport non supporta l'interfaccia di virtualizzazione I/O (SR-IOV) radice singola o non è abilitata per l'uso dell'interfaccia.

NDIS_STATUS_INVALID_PARAMETER

Uno o più membri della struttura NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS hanno valori non validi.

NDIS_STATUS_INVALID_LENGTH

Il buffer delle informazioni era troppo breve. Il driver miniport 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)

Vedi anche


NDIS_OID_REQUEST

NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE