Delen via


Het beheren van OID-aanvragen voor het offloading van hardware naar fysieke netwerkadapters

In dit onderwerp wordt beschreven hoe een Hyper-V uitbreidbare switch forwarding-extensie OID-aanvragen (Object Identifier) beheert voor hardware-offloadtechnologieën op onderliggende fysieke adapters via het uitbreidbare schakelbesturingspad.

De externe netwerkadapter kan bijvoorbeeld worden gebonden aan de virtuele minipoortrand van een tussenliggend NDIS multiplexer stuurprogramma (MUX). Het MUX-stuurprogramma is gebonden aan een team van een of meer fysieke netwerken op de host. Deze configuratie staat bekend als een uitbreidbaar switchteam.

In deze configuratie wordt een uitbreidbare switchextensie beschikbaar gemaakt voor elke netwerkadapter in het team. Hierdoor kan de extensie de configuratie en het gebruik van afzonderlijke netwerkadapters in het team beheren. Een doorstuuruitbreiding kan bijvoorbeeld ondersteuning bieden voor een LBFO-oplossing (load balancing failover) via het team door uitgaande pakketten door te sturen naar afzonderlijke adapters. Een forwarding-extensie waarmee een uitbreidbaar switchteam wordt beheerd, wordt een teamprovidergenoemd. Zie Teaming Provider Extensionsvoor meer informatie over teamproviders.

In de volgende afbeelding ziet u een voorbeeld van een uitbreidbaar switchteam voor NDIS 6.40 (Windows Server 2012 R2) en hoger.

diagram met een uitbreidbaar switchteam voor NDIS 6.40.

In de volgende afbeelding ziet u een voorbeeld van een uitbreidbaar switchteam voor NDIS 6.30 (Windows Server 2012).

diagram met een uitbreidbaar switchteam voor NDIS 6.30.

Opmerking In de uitbreidbare switchinterface staan NDIS-filterstuurprogramma's bekend als uitbreidbare switchuitbreidingen en wordt de stuurprogrammastack de uitbreidbare stuurprogrammastackgenoemd.

Door de OID-aanvraag van OID_SWITCH_NIC_REQUESTaf te handelen, kan een doorstuuruitbreiding deelnemen aan de configuratie van het uitbreidbare switchteam voor hardware-offloads. Als de extensie bijvoorbeeld de fysieke netwerkadapters van een uitbreidbaar switchteam beheert, kan deze de OID_SWITCH_NIC_REQUEST aanvraag doorsturen naar een fysieke adapter die de hardware-offload ondersteunt.

NDIS en overliggende protocol- en filterstuurprogramma's kunnen OID-aanvragen uitgeven voor hardware-offloadtechnologieën naar de onderliggende fysieke netwerkadapter. Wanneer deze OID-aanvragen binnenkomen bij de uitbreidbare switchinterface, wordt de OID-aanvraag in een NDIS_SWITCH_NIC_OID_REQUESTingekapseld. Vervolgens geeft de protocolrand van de uitbreidbare switch een OID-aanvraag uit van OID_SWITCH_NIC_REQUEST die deze structuur bevat.

De uitbreidbare switchinterface omvat OID's voor de volgende hardware-offloadtechnologieën:

Internet Protocol-beveiliging (IPsec)-offload (versie 2)
De volgende IPsec OID-aanvragen worden ingekapseld:

De doorstuurextensie mag niet mislukken, anders worden deze OID-aanvragen door veto-tegengehouden.

Zie IPsec Offload versie 2voor meer informatie over versie 2 van de IPsec-hardware-offloadtechnologie.

Enkelvoudige root I/O-virtualisatie (SR-IOV)
De volgende SR-IOV OID-aanvragen worden ingekapseld:

De doorstuurextensie kan een veto uitspreken over OID-aanvragen van OID_NIC_SWITCH_ALLOCATE_VF en OID_NIC_SWITCH_CREATE_VPORT door de aanvraag af te handelen met een andere statuscode dan NDIS_STATUS_SUCCESS. De uitbreiding mag echter geen veto uitspreken over de andere SR-IOV OID-aanvragen.

Voor meer informatie over de SR-IOV hardware-offloadtechnologie, zie Single Root I/O Virtualisatie (SR-IOV).

Gevirtualiseerde machinewachtrij (VMQ)
De volgende VMQ OID-aanvragen worden ingekapseld:

De doorstuurextensie kan een veto uitspreken over OID-verzoeken van OID_RECEIVE_FILTER_ALLOCATE_QUEUE en OID_RECEIVE_FILTER_SET_FILTER door het verzoek te voltooien met een andere statuscode dan NDIS_STATUS_SUCCESS. De extensie mag echter geen veto hebben op de andere VMQ OID-aanvragen.

Zie Virtual Machine Queue (VMQ)voor meer informatie over de VMQ-hardware-offloadtechnologie.

De doorstuurextensie moet voldoen aan deze richtlijnen voor het verwerken van OID-aanvragen voor hardware-offload:

  • Het Microsoft IM-platform kondigt alleen de algemene offloadmogelijkheden voor het hele team aan. De extensie kan echter OID-aanvragen genereren om query's uit te voeren op de mogelijkheden van elke adapter in het team.

    Zodra de extensie de hardwaremogelijkheden van de fysieke adapters in het team heeft bepaald, kan het OID-setaanvragen voor hardware-offloads doorsturen naar een adapter die het meest geschikt is voor de offload.

  • Alle hardware-offload-OID-aanvragen die afkomstig zijn van het overliggende protocol of filterstuurprogramma's, worden ingekapseld binnen een NDIS_SWITCH_NIC_OID_REQUEST structuur. Alle hardware-offload-OID-aanvragen die afkomstig zijn van de doorstuurextensie, moeten ook worden ingekapseld in een NDIS_SWITCH_NIC_OID_REQUEST structuur.

    De extensie stuurt de ingekapselde OID-aanvraag door naar een onderliggende fysieke netwerkadapter via een OID-setaanvraag van OID_SWITCH_NIC_REQUEST. Zie OID-aanvragen doorsturen naar fysieke netwerkadaptersvoor meer informatie over deze procedure.

  • De extensie mag de OID-aanvragen voor hardware offload niet wijzigen of doen mislukken, om de toewijzing van offload-resources te wissen, vrij te maken of te voltooien. De extensie mag er bijvoorbeeld niet voor zorgen dat OID-aanvragen zoals OID_RECEIVE_FILTER_CLEAR_FILTER of OID_NIC_SWITCH_DELETE_VPORTfalen. De uitbreidbare switchinterface moet deze OID-aanvragen verwerken om statusinformatie voor deze resources op te schonen.

    De extensie kan OID-aanvragen voor hardware-offload wijzigen of laten mislukken om resources toe te wijzen, te verplaatsen of in te stellen. De extensie kan bijvoorbeeld mislukken of OID-aanvragen van OID_NIC_SWITCH_ALLOCATE_VF of OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SAwijzigen.

  • De extensie kan hardware-offload-OID's initiëren naar een onderliggende fysieke netwerkadapter. De extensie mag echter geen hardware-offload-OID initiëren die middelen vrijmaakt of verwijdert die de extensie niet heeft toegewezen.

    De extensie mag bijvoorbeeld geen hardware-offload OID-aanvraag van OID_RECEIVE_FILTER_FREE_QUEUE initiëren als er niet een OID_RECEIVE_FILTER_ALLOCATE_QUEUE aanvraag voor dezelfde wachtrij is gemaakt.

    Opmerking De extensie kan alleen haar eigen ingekapselde hardware offload OID-aanvraag initiëren als het dezelfde OID-aanvraag filtert die door bovengeplaatste stuurprogramma's is uitgegeven. In dit geval mag de extensie de oorspronkelijke OID-aanvraag niet doorsturen. In plaats daarvan moet de extensie NdisFOidRequestComplete aanroepen om deze aanvraag te voltooien wanneer NDIS de FilterOidRequestComplete- aanroept om de oorspronkelijke OID-aanvraag te voltooien.

  • Als de extensie een OID-aanvraag voor hardware-offload doorstuurt naar een onderliggende fysieke netwerkadapter, moet de DestinationNicIndex lid van de NDIS_SWITCH_NIC_OID_REQUEST-structuur worden ingesteld op de indexwaarde van de niet-nulindex van de adapter. Zie Network Adapter Index Valuesvoor meer informatie over deze indexwaarden.

    Het DestinationPortId- lid moet ook worden ingesteld op de id van de uitbreidbare switchpoort waarmee de externe netwerkadapter is verbonden.

  • Als de extensie afkomstig is van een OID-aanvraag voor hardware-offload om resources toe te wijzen voor een Hyper-V onderliggende partitie, moet het SourcePortId lid van de NDIS_SWITCH_NIC_OID_REQUEST-structuur worden ingesteld op de identificatie van de uitbreidbare switchpoort waarmee de partitie is verbonden.

    Het SourceNicIndex- lid moet worden ingesteld op NDIS_SWITCH_DEFAULT_NIC_INDEX.

  • Wanneer de extensie NdisFOidRequest aanroept om de OID-aanvraag door te sturen, moet de parameter OidRequest worden ingesteld op een aanwijzer naar een NDIS_OID_REQUEST structuur voor een OID_SWITCH_NIC_REQUEST OID-aanvraag.

Zie OID-aanvragen filteren in een NDIS-filterstuurprogrammavoor meer informatie over hoe de extensie OID-aanvragen filtert.

Zie NDIS MUX Intermediate Driversvoor meer informatie over MUX-stuurprogramma's.