Delen via


De uitbreidbare switchpoortgegevens van een pakket wijzigen

De Hyper-V uitbreidbare switchbronpoort wordt opgegeven door het SourcePortId element in de NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO structuur. Deze structuur bevindt zich in de out-of-band (OOB) doorstuurcontext van de NET_BUFFER_LIST structuur van het pakket. Zie Hyper-V Extensible Switch Forwarding Contextvoor meer informatie over deze context.

De uitbreidbare switchextensie moet de volgende richtlijnen volgen voor het wijzigen van de bronpoort-id van een pakket:

  • De uitbreidbare switchextensie moet SetNetBufferListSource aanroepen om de bronpoort voor een pakket te wijzigen. De extensie mag het SourcePortId- element van de NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO-structuur niet rechtstreeks wijzigen.

  • Als de extensie een pakket maakt of kloont, moet deze de functie AllocateNetBufferListForwardingContext aanroepen nadat deze NdisAllocateNetBufferListaanroept. Met deze functie wordt een uitbreidbaar switchcontextgebied toegewezen voor de OOB-gegevens die worden gebruikt voor het doorsturen van informatie voor het pakket.

    Wanneer de extensie AllocateNetBufferListForwardingContextaanroept, wordt het SourcePortId lid ingesteld op NDIS_SWITCH_DEFAULT_PORT_ID. Hiermee geeft u op dat het pakket afkomstig is van een extensie in plaats van bij een uitbreidbare switchpoort te komen.

    Pakketten met een bronpoort van NDIS_SWITCH_DEFAULT_PORT_ID worden door het uitbreidbare schakelaaruitbreidingsgegevenspad als voorrecht en vertrouwd behandeld. Dergelijk verkeer mag niet worden onderworpen aan het beleid dat wordt toegepast op pakketten van andere bronpoorten. Bijvoorbeeld, pakketten met een bronpoort-id van NDIS_SWITCH_DEFAULT_PORT_ID omzeilen het ingebouwde uitbreidbare switchbeleid dat wordt toegepast door de onderliggende miniport edge van de uitbreidbare switch. Dit beleid omvat toegangsbeheerlijsten (ACL's) en quality of service (QoS).

    Wanneer de extensie afkomstig is van pakketverkeer, moet deze de bronpoort van NDIS_SWITCH_DEFAULT_PORT_ID spaarzaam en zorgvuldig gebruiken. In de meeste gevallen moet de extensie de bronpoort-id wijzigen in een actieve poort op de uitbreidbare switch. Hierdoor kan het beleid van die poort worden toegepast op het pakket.

    Er kunnen echter situaties zijn waarin de extensie de bronpoort van NDIS_SWITCH_DEFAULT_PORT_ID moet gebruiken voor pakketten waarvan deze afkomstig is. Als de extensie bijvoorbeeld afkomstig is van een besturingspakket dat naar de bestemming moet worden verzonden in het fysieke of virtuele netwerk, moet deze NDIS_SWITCH_DEFAULT_PORT_ID gebruiken voor de bronpoort-id. Dit zorgt ervoor dat het pakket niet wordt gefilterd en geweigerd door onderliggende extensies in de uitbreidbare stuurprogrammastack.