Condividi tramite


Sequenza di rimozione della funzione virtuale

Una scheda di rete che supporta la virtualizzazione di I/O radice singola (SR-IOV) deve essere in grado di supportare i componenti hardware seguenti:

  • Una funzione fisica PCI Express (PCIe). Il file PF esiste sempre nella scheda di rete ed è collegato alla partizione padre Hyper-V.

    Per altre informazioni su questo componente hardware, vedere SR-IOV Physical Function (PF).For more information on this hardware component, see SR-IOV Physical Function (PF).

  • Una o più funzioni virtuali PCIe (VF). Ogni VF deve essere inizializzato e collegato a una partizione figlio Hyper-V prima che i componenti di rete del sistema operativo guest possano inviare o ricevere pacchetti tramite VF.

    Per altre informazioni su questo componente hardware, vedere Funzioni virtuali SR-IOV.For more information on this hardware component, see SR-IOV Virtual Functions (VFs).

Prima che il VF venga rimosso e le relative risorse vengano liberate, lo stack di virtualizzazione notifica al provider di servizi virtuali (VSP) Virtual PCI (VPCI). Questo VSP viene eseguito nel sistema operativo di gestione della partizione padre Hyper-V. La notifica informa il VSP VPCI che il VF verrà rimosso e scollegato dalla partizione figlio. Il VSP VPCI invia messaggi tramite il bus di macchine virtuali (VMBus) al client del servizio virtuale VPCI (VSC) in esecuzione nel sistema operativo guest della partizione figlio. Questi messaggi richiedono al VSC VPCI di rimuovere normalmente la scheda di rete VF esposta quando il VF è stato collegato alla partizione figlio. In questo modo NetVSC viene scollegato dal driver miniport VF e il driver viene arrestato. A questo punto, il traffico di pacchetti nella partizione figlio esegue la migrazione dal percorso dei dati VF al percorso dei dati sintetici basato su software. Per altre informazioni su questi percorsi di dati, vedere Percorsi dati SR-IOV.

Al termine del failover nel percorso dei dati sintetici, la funzione VF viene rimossa e le relative risorse vengono liberate. Il diagramma seguente illustra i passaggi coinvolti nell'disinstallazione VF.

Esempio di sequenza di vf teardown che mostra le chiamate dallo stack di virtualizzazione ai ndi e quindi al driver pf miniport.

NDIS, lo stack di virtualizzazione e il driver miniport PF seguono questi passaggi durante la sequenza di VF teardown:

  1. Lo stack di virtualizzazione sposta i filtri mac (Media Access Control) e VLAN (Virtual LAN) per la scheda di rete della macchina virtuale (VM) sulla porta virtuale predefinita (VPort) collegata al file PF. La scheda di rete vm viene esposta nel sistema operativo guest della partizione figlio.

    Dopo che i filtri vengono spostati nel VPort predefinito, il percorso dei dati sintetici è completamente operativo per il traffico di rete da e verso i componenti di rete eseguiti nel sistema operativo guest. Il driver miniport PF indica i pacchetti ricevuti nel VPort PF predefinito che usa il percorso dei dati sintetici per indicare i pacchetti al sistema operativo guest. Analogamente, tutti i pacchetti trasmessi dal sistema operativo guest vengono instradati attraverso il percorso dei dati sintetici e trasmessi tramite il VPort PF predefinito.

  2. Lo stack di virtualizzazione elimina il VPort collegato alla funzione VF inviando una richiesta di set di identificatori di oggetto (OID) di OID_NIC_SWITCH_DELETE_VPORT al driver miniport PF. Il driver miniport libera tutte le risorse hardware o software associate al VPort e completa la richiesta OID.

    Per altre informazioni, vedere Eliminazione di una porta virtuale.

  3. Lo stack di virtualizzazione richiede una reimpostazione del livello di funzione PCIe (FLR) della funzione VF prima che le relative risorse vengano deallocate. Lo stack esegue questa operazione inviando una richiesta di set OID di OID_SRIOV_RE edizione Standard T_VFal driver miniport PF. Il file FLR porta la funzione VF nella scheda di rete SR-IOV in uno stato in sospeso e cancella eventuali eventi di interrupt in sospeso per la funzione VF.

  4. Dopo aver reimpostato la funzione VF, lo stack di virtualizzazione richiede una deallocazione delle risorse VF inviando una richiesta OID set di OID_NIC_SWITCH_FR edizione Enterprise_VF al driver miniport PF. In questo modo il driver miniport libera le risorse hardware associate alla funzionalità VF.