Dela via


Virtuella portar (VPorts)

En virtuell port (VPort) är ett dataobjekt som representerar en intern anslutning på växeln i nätverkskortet hos en nätverksadapter som stöder singelrot-I/O-virtualisering (SR-IOV). Varje nätverkskortsväxel har följande portar för nätverksanslutning:

  • En extern fysisk port för anslutning till det externa fysiska nätverket.

  • En eller flera interna VPorts som är anslutna till PCI Express fysisk funktion (PF) eller virtuella funktioner (VFs).

    • PF- är ansluten till den Hyper-V överordnade partitionen och exponeras som en virtuell nätverksadapter i hanteringsoperativsystemet som körs i den partitionen.
    • En VF- är ansluten till den Hyper-V underordnade partitionen och exponeras som ett virtuellt nätverkskort i gästsoperativsystemet som används i den partitionen.

NIC-bryggan sköter nätverkstrafiken från den fysiska porten till en eller flera virtuella portar. Detta ger virtualiserad åtkomst till det underliggande fysiska nätverksgränssnittet.

Varje VPort har en unik identifierare (VPortId) som är unik för nätverkskortsbrytaren på nätverkskortet. En standard-VPort finns alltid på standard-NIC-växeln och kan aldrig tas bort. Standard-VPort har VPortId för NDIS_DEFAULT_VPORT_ID.

När PF-miniportdrivrutinen hanterar en OID-metodbegäran (object identifier) för OID_NIC_SWITCH_CREATE_SWITCHskapas NIC-växeln och standard-VPort för den växeln. Standard-VPort är alltid kopplat till PF och är alltid i drifttillstånd.

Icke-standard VPorts skapas genom OID-metodbegäranden för OID_NIC_SWITCH_CREATE_VPORT. Endast en icke-standard VPort kan kopplas till en VF. När den är ansluten är standardinställningen i driftläge. En eller flera nondefault VPorts kan också skapas och kopplas till PF. Dessa VPorts är ickeverksamma när de skapas och kan bli operativa via en OID-inställningsbegäran för OID_NIC_SWITCH_VPORT_PARAMETERS.

Obs

När en VPort har blivit operativ kan den bara bli icke-operativ när den tas bort via en OID-begäran om OID_NIC_SWITCH_DELETE_VPORT.

Varje VPort har en eller flera hårdvarukögrupper associerade för mottagning och överföring av paket. Standardköparet på nätverkskortet är reserverat för användning som standard-VPort. Köpar för icke-standard VPorts allokeras och tilldelas när en VPort skapas via OID_NIC_SWITCH_CREATE_VPORT begäran.

Icke-standard VPorts skapas och konfigureras via OID-metodbegäranden för OID_NIC_SWITCH_CREATE_VPORT. Standard-VPort och nondefault VPorts konfigureras om via OID-uppsättningsbegäranden för OID_NIC_SWITCH_VPORT_PARAMETERS. Varje OID-begäran innehåller en NDIS_NIC_SWITCH_VPORT_PARAMETERS struktur som anger följande konfigurationsparametrar:

  • Funktionen PCIe som VPort är ansluten till.

    Varje VPort kan antingen kopplas till PF eller till en VF när som helst. När VPort har skapats och kopplats till en PCIe-funktion kan den bifogade filen inte ändras dynamiskt till en annan PCIe-funktion.

    Not

    Standard-VPort är alltid ansluten till PF på nätverkskortet.

    Från och med NDIS 6.30 i Windows Server 2012 kan endast en nondefault VPort anslutas till en VF. Flera nondefault VPorts tillsammans med standard-VPort kan dock kopplas till PF.

  • Antalet maskinvaruköparpar som har tilldelats en VPort.

    Varje VPort har en uppsättning maskinvaruköpar som är tillgängliga för den. Varje köpar består av en separat överförings- och mottagningskö på nätverkskortet.

    Kö-par är begränsade resurser på nätverkskort. Det totala antalet köparpar som är reserverade för användning av de standard- och icke-standard-VPortar anges när NIC-växeln skapas. På så sätt kan antalet köpar som tilldelats standard-VPort skilja sig från icke-standard-VPorts.

    Varje icke-standard VPort kan konfigureras för att ha olika antal av kö-par. Detta kallas asymmetrisk allokering av köpar. Om nätverkskortet inte tillåter en sådan asymmetrisk allokering, konfigureras varje icke-standard VPort att ha lika många köningspar. Detta kallas symmetrisk allokering av köpar. För mer information, se Symmetrisk och Asymmetrisk tilldelning av könspar.

    Notera

    PF-miniportdrivrutinen rapporterar om huruvida den stöder asymmetrisk allokering av kökärlor under MiniportInitializeEx. Mer information finns i Initiering av en PF Miniport-drivrutin.

    Antalet köningspar som tilldelas varje VPort ändras inte dynamiskt. Det antal köningspar som har tilldelats en VPort kan inte ändras efter att VPort har skapats.

    Not

    Ett eller flera köparpar som tilldelats icke-standard VPorts kan användas för mottagarskalning (RSS) av VF-miniportdrivrutinen som körs i gästoperativsystemet.

  • Parametrar för avbrottsmoderering för VPort.

    Olika typer av avbrottsmoderering kan anges för olika VPorts. På så sätt kan virtualiseringsstacken styra antalet avbrott som genereras av en viss VPort.

Utöver konfigurationsparametrar kan överliggande drivrutiner konfigurera mottagningsfilter för varje virtuell port (VPort) genom att utfärda OID-metodbegäranden av typen OID_RECEIVE_FILTER_SET_FILTER. NIC-växeln utför den angivna mottagningsfiltreringen på VPort-basis.

Mottagna filterparametrar för VPorts inkluderar villkor för paketfiltrering, såsom en lista över MAC-adresser (Media Access Control) och VLAN-identifierare (virtualt LAN). Filter för MAC-adresser och VLAN-identifierare anges alltid tillsammans i NDIS_RECEIVE_FILTER_PARAMETERS som är associerad med OID_RECEIVE_FILTER_SET_FILTER-begäran. NIC-växeln måste filtrera inkommande paket till växeln vars mål-MAC-adress och VLAN-identifierare matchar alla mottagningsfiltervillkor som har angetts på den virtuella målporten. NIC-växeln filtrerar paket som tagits emot från en annan virtuell port eller från den externa fysiska porten. Om paketet matchar ett filter måste NIC-växeln vidarebefordra det till VPort.

Flera MAC-adress- och VLAN-identifierarpar kan anges på VPort. Om endast en MAC-adress har angetts anger mottagarfiltret att VPort ska ta emot paket som matchar följande villkor:

  • Paketets MAC-måladress matchar filtrets MAC-adress.

  • Paketet har en VLAN-tagg eller (om det finns en VLAN-tagg) en VLAN-identifierare på noll.

Icke-standard VPorts tas bort genom OID-uppsättningsbegäranden för OID_NIC_SWITCH_DELETE_VPORT. Standard-VPort tas bara bort när NIC-växeln tas bort via en OID-uppsättningsbegäran av OID_NIC_SWITCH_DELETE_SWITCH.