Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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ätverksadaptern och är anslutet 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).
PF-miniportdrivrutinen, som körs i hanteringsoperativsystemet för den Hyper-V överordnade partitionen, initierar och allokerar resurser för en virtuell hårddisk på SR-IOV nätverkskort. När NDIS anropar PF-miniportdrivrutinens MiniportInitializeEx-funktion kan NDIS och virtualiseringsstacken utfärda begäranden om objektidentifierare (OID) till PF-miniportdrivrutinen för att göra följande:
Skapa en NIC-switch på nätverkskortet. Nätverkskortets växel brygger nätverkstrafik mellan virtuella datorer, PF och den fysiska nätverksporten.
Mer information finns i NIC-växlar.
Obs Från och med Windows Server 2012 stöder SR-IOV-gränssnittet endast en nätverkskortsväxel på nätverkskortet. Den här switchen kallas standard NIC-switchoch refereras till med identifieraren NDIS_DEFAULT_SWITCH_ID.
Be PF-miniportdrivrutinen att initiera och allokera resurser för en virtuell hårddisk på nätverkskortet.
Mer information finns i SR-IOV Virtual Functions (VFs).
Skapa en virtuell port (VPort) på nätverkskortets växel och koppla den till den virtuella hårddisken.
Mer information finns i Virtual Ports (VPorts).
Följande diagram visar de steg som ingår i VF-initieringen.
NDIS, virtualiseringsstacken och PF-miniportdrivrutinen följer dessa steg under VF-initieringssekvensen:
NDIS läser standardväxlingskonfigurationen från registret och utfärdar en OID-metodbegäran om OID_NIC_SWITCH_CREATE_SWITCH för att etablera växeln i nätverkskortet. Parametrarna som skickas i den här OID-begäran innehåller information om hur du konfigurerar viktiga maskinvaruresurser som virtuella datorer och virtuella portar. Den innehåller också information om hur du distribuerar resurserna mellan icke-standard VPorts och den standard-VPort som är kopplad till PF.
Efter att OID har framgångsrikt slutförts av PF-miniportdrivrutinen är NIC-växeln redo att användas för att skapa VPorts och allokera virtuella funktioner på den.
Mer information om hur du skapar en nätverkskortsväxel finns i Skapa en nätverkskortsväxel.
En VF behandlas som en avlastningsmekanism för den virtuella maskinens (VM) nätverksadapter. Denna adapter exponeras i gästoperativsystemet som körs i den Hyper-V barnpartitionen. Som standard skickar och tar nätverkskomponenterna i gästoperativsystemet emot paket via den programvarubaserade syntetiska datasökvägen. Men om en underordnad partition är aktiverad för VF-avlastning utfärdar virtualiseringsstacken OID-begäranden till PF-miniportdrivrutinen för resursallokering och initiering av en virtuell hårddisk. När VF är ansluten till den underordnade partitionen och en VPort på NIC-switchen skickar och tar nätverkskomponenterna emot paket via VF-datasökvägen. Mer information om dessa datasökvägar finns i SR-IOV Datasökvägar.
Om en Hyper-V underordnad partition har aktiverats för VF-avlastning utfärdar virtualiseringsstacken en OID-metodbegäran om OID_NIC_SWITCH_ALLOCATE_VF till PF-miniportdrivrutinen. Parametrarna som skickas i den här OID-begäran inkluderar identifieraren för den nätverkskortsväxel som VF har allokerats på. Andra parametrar är identifierare för den underpartition som VF:n ska kopplas till.
PF-miniportdrivrutinen allokerar nödvändiga maskinvaru- och programvaruresurser för VF. PF-miniportdrivrutinen avgör också PCIe Requestor Identifier (RID) för VF genom att anropa NdisMGetVirtualFunctionLocation. RID används för DMA och avbryter ommappning när DMA-begäranden och avbrott genereras av den virtuella hårddisken.
RID:en tillsammans med VF-identifieraren returneras av PF-miniportdrivrutinen när den framgångsrikt har slutfört den OID_NIC_SWITCH_ALLOCATE_VF-begäran.
Mer information om resursallokering för en virtuell resurs finns i Allokera resurser för en virtuell funktion.
Virtualiseringsstacken skapar en VPort på NIC-växeln genom att utfärda en OID-metodbegäran om OID_NIC_SWITCH_CREATE_VPORT till PF-miniportdrivrutinen. Parametrarna som skickas i den här OID-begäran innehåller identifieraren för den nätverkskortsväxel som VPort ska skapas på. Andra parametrar är identifieraren för den VF som VPort ska kopplas till.
Notera Standard-VPort på NIC-växeln finns alltid och är kopplad till PF. Endast en enda nondefault VPort kan skapas och kopplas till en VF.
Innan NDIS vidarebefordrar OID-begäran till PF-miniportdrivrutinen allokerar den en giltig VPort-identifierare som är unik via nätverkskortet.
När PF-miniportdrivrutinen hanterar OID-begäran allokerar den de maskinvaruresurser som krävs för VPort och behåller identifieraren för VPort. Den här identifieraren används i senare OID-begäranden och SR-IOV funktionsanrop.
Mer information om hur du skapar en VPort finns i Skapa en virtuell port.
Den Hyper-V underordnade partitionen kan startas långt innan en VF och VPort allokeras. Under den här tiden skickar och tar nätverkskomponenterna i gästoperativsystemet emot paket via den syntetiska datasökvägen. Detta omfattar pakettrafik över den standard-VPort som är kopplad till PF. För att överbrygga trafik till den underordnade partitionen konfigurerar virtualiseringsstacken standard-VPort med filter för medieåtkomstkontroll (MAC) och virtuellt LAN (VLAN) för den underordnade partitionens virtuella datornätverkskort.
När resurser för VF och VPort har allokerats utfärdar virtualiseringsstacken en OID-metodbegäran om OID_RECEIVE_FILTER_MOVE_FILTER till PF-miniportdrivrutinen. Den här OID-begäran flyttar MAC- och VLAN-filtren för det virtuella datornätverkskortet från standard-VPort till den VPort som är kopplad till den virtuella hårddisken. Detta gör att paket som matchar dessa filter vidarebefordras till VF VPort via VF-datasökvägen.
Observera Befintliga mottagningsfilter kan flyttas från standard VPort till VF VPort med hjälp av OID_RECEIVE_FILTER_MOVE_FILTER. Nya filter kan också ställas in på VF VPort med hjälp av OID_RECEIVE_FILTER_SET_FILTER.
När VF och VPort har skapats framgångsrikt och MAC-filtren har angetts på den virtuella porten, meddelar virtualiseringsstacken den virtuella VPCI-tjänstleverantören (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 som har allokerats och kopplats till en underordnad partition. 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. VPCI VSC är en bussdrivrutin som exponerar en PCI-enhet för VF-nätverkskortet.
När VF-nätverkskortet har exponerats identifierar PnP-undersystemet som körs i gästoperativsystemet kortet och läser in VF-miniportdrivrutinen. Den här drivrutinen registrerar sig hos NDIS. När VF-miniportdrivrutinen har initierats och lämpliga paketfilter har konfigurerats på VF-nätverkskortet är VF-datavägen helt i drift. Därför växlade pakettrafiken i gästoperativsystemet till den här datavägen från den syntetiska datavägen.