Reimpostazione di una funzione virtuale
Un driver che esegue eccessivamente una richiesta di set di identificatori di oggetto (OID) di OID_SRIOV_RESET_VF per reimpostare una funzione virtuale PCI Express (PCIe) specificata. VF è un componente hardware di una scheda di rete che supporta la virtualizzazione di I/O radice singola. I driver overlying emettono questa richiesta OID set al driver miniport della funzione fisica PCI Express (PCIe).
Ad esempio, lo stack di virtualizzazione viene eseguito nel sistema operativo di gestione della partizione padre Hyper-V. Prima che lo stack disconnette un VF da una partizione figlio Hyper-V, richiede un ripristino del livello di funzione (FLR) nella VF. Poiché FLR è un'operazione con privilegi, può essere eseguita solo dal driver miniport PF eseguito anche nel sistema operativo di gestione. Per richiedere un FLR di un VF specificato, lo stack di virtualizzazione invia la richiesta di OID_SRIOV_RESET_VFal driver miniport PF.
Prima di eseguire questa richiesta di set OID, il driver che esegue l'overlying deve inizializzare una struttura NDIS_SRIOV_RESET_VF_PARAMETERS . Il driver deve impostare il membro VFId sull'identificatore del VF da reimpostare.
Quando gestisce questa richiesta OID, 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_RESET_VF_PARAMETERS , disponga di risorse allocate 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.
L'operazione di reimpostazione deve influire solo sul VF specificato. L'operazione non deve influire su altre VFS o pf sulla stessa scheda di rete.