Virtuell funktionsnedbrytningssekvens

Ett nätverkskort som stöder enkel rot-I/O-virtualisering (SR-IOV) måste kunna stödja följande maskinvarukomponenter:

  • En PCI Express (PCIe) Physical Function (PF). PF finns alltid på nätverkskortet och är ansluten till den Hyper-V överordnade partitionen.

    Mer information om den här maskinvarukomponenten finns i SR-IOV Fysisk funktion (PF).

  • En eller flera PCIe Virtual Functions (VF). Varje virtuell hårddisk måste initieras och kopplas till en Hyper-V underordnad partition innan nätverkskomponenterna i gästoperativsystemet kan skicka eller ta emot paket via den virtuella hårddisken.

    Mer information om den här maskinvarukomponenten finns i SR-IOV Virtual Functions (VFs).

Innan den virtuella hårddisken rivs och dess resurser frigörs meddelar virtualiseringsstacken den virtuella VPCI-tjänstprovidern (VPCI). Den här VSP:en körs i hanteringsoperativsystemet för den Hyper-V överordnade partitionen. Meddelandet informerar VPCI VSP om att den virtuella hårddisken kommer att rivas och kopplas från den underordnade partitionen. VPCI VSP skickar meddelanden via VMBus (Virtual Machine Bus) till VPCI virtual service client (VSC) som körs i gästoperativsystemet för den underordnade partitionen. Dessa meddelanden begär att VPCI VSC snyggt tar bort VF-nätverksadaptern som exponerades när VF anslöts till den underordnade partitionen. Detta gör att NetVSC avbinds från VF-miniportdrivrutinen och drivrutinen stoppas. I det här läget migrerar pakettrafiken i den underordnade partitionen från VF-datastigen till den programvarubaserade syntetiska datastigen. Mer information om dessa datasökvägar finns i SR-IOV Datasökvägar.

När redundansväxlingen till den syntetiska datasökvägen har slutförts avvecklas VF:n och dess resurser frigörs. Följande diagram visar de steg som ingår i VF-nedrivning.

exempel på en vf-nedrivningssekvens som visar anrop från virtualiseringsstacken till ndis och sedan till pf miniport-drivrutinen.

NDIS, virtualiseringsstacken och PF-miniportdrivrutinen följer dessa steg under VF-nedmonteringssekvensen.

  1. Virtualiseringsstacken flyttar filter för medieåtkomstkontroll (MAC) och virtuellt LAN (VLAN) för nätverkskortet för den virtuella datorn (VM) till den virtuella standardporten (VPort) som är ansluten till PF. Nätverksadaptern för den virtuella maskinen visas i gästoperativsystemet för underpartitionen.

    När filtren har flyttats till standard-VPort fungerar den syntetiska datasökvägen fullt ut för nätverkstrafik till och från de nätverkskomponenter som körs i gästoperativsystemet. PF-miniportdrivrutinen indikerar mottagna paket på standard-PF VPort som använder den syntetiska datavägen för att indikera paketen för gästoperativsystemet. På samma sätt dirigeras alla överförda paket från gästoperativsystemet via den syntetiska datasökvägen och överförs via standard-PF VPort.

  2. Virtualiseringsstacken tar bort den VPort som är ansluten till VF genom att utfärda en OID_SET-begäran (object identifier) för OID_NIC_SWITCH_DELETE_VPORT till PF-miniportdrivrutinen. Miniportdrivrutinen frigör alla maskinvaru- eller programvaruresurser som är associerade med VPort och slutför OID-begäran.

    Mer information finns i Ta bort en virtuell port.

  3. Virtualiseringsstacken begär en PCIe-återställning på funktionsnivå (FLR) för den virtuella funktionen (VF) innan dess resurser frigörs. Stacken gör detta genom att utfärda en OID-inställningsbegäran för OID_SRIOV_RESET_VFtill PF-miniportdrivrutinen. FLR sätter den virtuella funktionen på SR-IOV-nätverkskortet i ett viloläge och rensar eventuella väntande avbrottshändelser för den virtuella funktionen.

  4. När den virtuella hårddisken har återställts begär virtualiseringsstacken en frigöring av VF-resurserna genom att utfärda en OID-uppsättningsbegäran om OID_NIC_SWITCH_FREE_VF till PF-miniportdrivrutinen. Detta gör att miniportdrivrutinen frigör de maskinvaruresurser som är associerade med den virtuella funktionen (VF).