Dela via


Vidarebefordran av paket till Hyper-V expanderbara switchportar

Den här sidan beskriver hur ett Hyper-V utökningsbart tillägg för vidarekoppling kan vidarebefordra paket till en eller flera portar. Den här typen av tillägg kan också vidarebefordra paket till enskilda nätverkskort som är anslutna till det utökningsbara växelns externa nätverkskort.

Observera Endast det utökningsbara vidarebefordringstillägget för växeln eller själva utökningsbara växeln kan vidarebefordra paket till utökningsbara växelportar.

Obs Den här sidan förutsätter att du är bekant med informationen och diagrammen i Översikt över Hyper-V Extensible Switch och Hybrid Forwarding.

Obs I det utökningsbara växelgränssnittet kallas NDIS-filterdrivrutiner för utökningsbara växeltillägg och drivrutinsstacken kallas utökningsbara växeldrivrutinsstacken. Mer information om tillägg finns i Hyper-V Extensible Switch Extensions.

Om ett vidarebefordrantillägg installeras och aktiveras i den utökningsbara växeldrivrutinsstacken ansvarar det för att fatta vidarebefordransbeslut för varje paket som det hämtar på den utökningsbara växelns ingressdatasökväg. Baserat på dessa vidarebefordringsbeslut lägger tillägget målportar till målportmatrisen i out-of-band (OOB) data i paketets NET_BUFFER_LIST-struktur. När paketet har slutfört sin genomgång av den utökningsbara växelns datapath levererar växeln paketet till de angivna målportarna.

Obs Om ett vidarebefordringstillägg inte har installerats eller aktiverats fattar den utökningsbara växeln vidarebefordringsbesluten för paket som hämtas från den inkommande datasökvägen. Växeln lägger till målportarna till OOB-data för paketets NET_BUFFER_LIST struktur innan det vidarebefordrar paketet uppåt den utökningsbara växelns utgående datasökväg.

Observera Om paketet är ett NVGRE-paket kan vidarebefordringsutvidgningen lägga till målportar i målportmatrisen. Komponenten Hyper-V Network Virtualization (HNV) i den utökningsbara växeln ansvarar dock för att fastställa målportarna och vidarebefordra paketet. Mer information finns i hybridvidarebefordring.

Vidarebefordringstillägget kan endast lägga till portmål till paket som har hämtats från den ingående datasökvägen. När paketet har vidarebefordrats upp i utgående datasökväg kan filtrering och vidarebefordringstillägg exkludera paketleverans till utökningsbara växelportar. Mer information finns i Uteslutning av paketleverans till extensibla switchens destinationsportar.

I OOB-data för ett pakets NET_BUFFER_LIST struktur finns data för målportar i en NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY struktur. Varje element i matrisen definierar en målport och formateras som en NDIS_SWITCH_PORT_DESTINATION struktur.

Vidarebefordringstillägget kan anropa följande Hyper-V Extensible Switch-hanteringsfunktioner för att hantera NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY struktur och dess NDIS_SWITCH_PORT_DESTINATION element:

AddNetBufferListDestination
Den här funktionen lägger till en enda målport till den NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY strukturen i paketets OOB-data.

GetNetBufferListDestinations
Den här funktionen returnerar en pekare till NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY-strukturen i ett pakets OOB-data.

GrowNetBufferListDestinations
Den här funktionen lägger till fler målportelement i NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY strukturen för ett pakets OOB-data.

UpdateNetBufferListDestinations
Den här funktionen genomför de ändringar som tillägget gjorde för att lägga till eller exkludera en eller flera målportar för ett paket. Dessa ändringar bekräftas i NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY-strukturen i paketets OOB-data.

När funktionen FilterSendNetBufferLists anropas innehåller parametern NetBufferList en pekare till en länkad lista över NET_BUFFER_LIST strukturer. Var och en av dessa strukturer anger ett paket som har erhållits från ingress-data-sökvägen.

För varje NET_BUFFER_LIST-struktur i den här listan lägger vidarebefordringsutvidgningen till målportar för paketet genom att följa dessa steg:

  1. Tillägget fattar vidarebefordransbeslut för paketet baserat på olika typer av kriterier. Dessa kriterier omfattar följande:

    • Principvillkor baserat på paketets källport och nätverkskortanslutning. Vidarebefordringstillägget hämtar den här informationen genom att använda NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL makrot.

    • Principkriterier för en utökningsbar växelport baserat på paketets nyttolastdata. En princip för en utökningsbar växelport kan till exempel innehålla ett filter som tillåter leverans av endast IP-paket version 4 (IPv4).

    Obs Om paketet är ett NVGRE-paket ansvarar HNV-komponenten för den utökningsbara växeln för att vidarebefordra paketet. Vidarebefordringstillägget kan dock tillämpa sina egna policynormer i ingress- och utgående vägar. Mer information finns i hybridvidarebefordring.

  2. Om tillägget fastställer att paketet kan vidarebefordras till en eller flera utökningsbara växelportar måste det lägga till målportar i paketets OOB-data. Mer information om den här proceduren finns i Lägga till utökningsbara växlingsmålportdata till ett paket.

    Obs Om paketet är ett NVGRE-paket krävs det inte att vidarebefordringsutökningen lägger till målportar. Mer information finns i hybridvidarebefordring.

  3. Om tillägget fastställer att paketet inte kan vidarebefordras till någon utökningsbar växelport måste det släppa paketet.

    Obs Detta är inte sant om paketet är ett NVGRE-paket. Mer information finns i hybridvidarebefordring.

  4. Om tillägget har lagt till en eller flera målportar för paketet måste det anropa NdisFSendNetBufferLists för att vidarebefordra paketet på den utgående datasökvägen.

    Obs Om paketet är ett NVGRE-paket ansvarar HNV-komponenten för den utökningsbara växeln för att vidarebefordra paketet. Mer information finns i hybridvidarebefordring.

Mer information om utökningsbara sökvägar för ingress- och utgående växeldata finns i Hyper-V Utökningsbar växeldatasökväg.