Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Prima di eseguire la richiesta del metodo OID (Object Identifier) di OID_NIC_SWITCH_ALLOCATE_VF al driver miniport per la funzione fisica PCI Express (PCIe) (PF), il driver di livello superiore formatta la struttura NDIS_NIC_SWITCH_VF_PARAMETERS. Questa struttura contiene i parametri di configurazione per le risorse da allocare per una funzione virtuale PCIe (VF) nella scheda di rete. Il driver sottostante deve impostare i membri di questa struttura nel modo seguente:
Il membro SwitchId deve essere impostato sull'identificatore di un commutatore NIC creato in precedenza nella scheda di rete. Un switch NIC viene creato tramite una richiesta di metodo OID di OID_NIC_SWITCH_CREATE_SWITCH.
Quando gestisce la richiesta del metodo OID di OID_NIC_SWITCH_ALLOCATE_VF, il driver miniport per la funzione fisica PCIe (PF) alloca risorse per la VF. Se le risorse vengono allocate correttamente, il driver miniport PF assegna il VF allo switch NIC specificato.
Nota A partire da NDIS 6.30 in Windows Server 2012, l'interfaccia SR-IOV supporta solo il commutatore predefinito della scheda di rete. Il valore del membro SwitchId deve essere impostato su NDIS_DEFAULT_SWITCH_ID.
Per altre informazioni su un commutatore della scheda di interfaccia di rete, vedere Commutatori di scheda di interfaccia di rete .
Il membro VFId deve essere impostato su NDIS_INVALID_VF_FUNCTION_ID.
Il membro RequestorId deve essere impostato su NDIS_INVALID_RID.
I membri VMFriendlyName e VMName devono essere impostati sui parametri di una Hyper-V partizione figlia. Il driver miniport PF usa questi membri solo a scopo informativo.
Nota La partizione figlio Hyper-V è nota anche come macchina virtuale (VM).
Il VF è associato alla macchina virtuale specificata prima che il driver sovrastante emetta la richiesta OID_NIC_SWITCH_CREATE_SWITCH.
Il membro NicName deve essere impostato sull'identificatore della scheda di rete della macchina virtuale (VM). Questa scheda virtuale viene esposta nel sistema operativo guest in esecuzione nella macchina virtuale. Il driver miniport PF usa questo membro solo a scopo informativo.
Quando le risorse sono allocate per il VF e vengono collegate alla partizione figlia, nel sistema operativo guest viene esposta una scheda di rete VF. La scheda di rete VM viene teamta con la scheda di rete VF per il trasferimento di pacchetti tramite il percorso dati VF basato su hardware.
Tuttavia, la funzione VF potrebbe essere scollegata dalla partizione figlio, ad esempio durante la migrazione in tempo reale. In questo caso, il trasferimento dei pacchetti avviene sul percorso dei dati sintetici basato su software. Per altre informazioni su questi percorsi di dati, vedere SR-IOV Percorsi dati.
I membri PermanentMacAddress e CurrentMacAddress devono essere impostati su indirizzi MAC (Media Access Control) per la scheda di rete virtuale del VF. Questi indirizzi vengono esposti allo stack di rete che esegue nel sistema operativo guest della partizione figlia Hyper-V.
Il driver overlying rilascia la richiesta del metodo OID di OID_NIC_SWITCH_ALLOCATE_VF seguendo questa procedura:
Il driver superiore inizializza una struttura NDIS_OID_REQUEST per una richiesta del metodo OID. Il driver imposta il membro InformationBuffer su un puntatore a una struttura di NDIS_NIC_SWITCH_VF_PARAMETERS inizializzata.
Il driver sovrastante chiama NdisOidRequest per inviare la richiesta OID al driver miniport PF sottostante.
Nota Quando il driver sovrastante chiama NdisOidRequest, NDIS intercetta la richiesta OID e verifica i parametri VF specificati nella struttura NDIS_NIC_SWITCH_VF_PARAMETERS. Se i parametri vengono verificati correttamente, NDIS inoltra l'OID al driver miniport PF. In caso contrario, NDIS non elabora la richiesta OID correttamente con NDIS_STATUS_INVALID_PARAMETER.
Dopo che un driver sovrastante richiede l'allocazione delle risorse per un VF, solo quel driver può richiedere la liberazione delle risorse per lo stesso VF. Il driver sovrastante deve procedere con l'emissione di una richiesta OID set di OID_NIC_SWITCH_FREE_VF per liberare le risorse VF. Prima che il driver sovrapposto possa essere arrestato, deve liberare le risorse per ciascun VF allocato dalla richiesta di OID_NIC_SWITCH_ALLOCATE_VF del driver.