Freigeben über


Verwalten des Hyper-V Extensible Switch-Weiterleitungskontexts

Hinweis Auf dieser Seite wird davon ausgegangen, dass Sie mit den Informationen und Diagrammen in Übersicht über den erweiterbaren Hyper-V-Switch und die Hybridweiterleitung vertraut sind.

Die NET_BUFFER_LIST-Struktur für jedes Paket, das den Datenpfad des erweiterbaren Hyper-V-Switches durchläuft, enthält Out-of-Band-Daten (OOB). Diese Daten geben den Quellport an, von dem das Paket stammt, sowie einen oder mehrere Zielports für die Paketübermittlung. Diese OOB-Daten werden als erweiterbarer Switchweiterleitungskontext bezeichnet.

Hinweis Der erweiterbare Switchweiterleitungskontext unterscheidet sich von der NET_BUFFER_LIST_CONTEXT-Struktur . Dadurch können Erweiterungen ihre eigenen Kontextstrukturen zuordnen, ohne den Weiterleitungskontext zu beeinträchtigen.

Der erweiterbare Switchweiterleitungskontext wird wie folgt zugeordnet und freigegeben:

Alle erweiterbaren Switcherweiterungen können die folgenden erweiterbaren Switchhandlerfunktionen aufrufen, um im Weiterleitungskontext des Pakets auf die Daten zuzugreifen:

AllocateNetBufferListForwardingContext
Ordnet den erweiterbaren Switchweiterleitungskontext zu und bereitet eine NET_BUFFER_LIST-Struktur für Sende- oder Empfangsvorgänge innerhalb des erweiterbaren Switches vor.

CopyNetBufferListInfo
Kopiert den Weiterleitungskontext aus der NET_BUFFER_LIST-Struktur eines Quellpakets in die NET_BUFFER_LIST-Struktur eines Zielpakets. Diese Daten enthalten den erweiterbaren Switch-Quellport und die Netzwerkadapterinformationen. Die erweiterbaren Switch-Zielportinformationen können auch in das Zielpaket kopiert werden.

FreeNetBufferListForwardingContext
Gibt die Ressourcen im erweiterbaren Switchweiterleitungskontext einer NET_BUFFER_LIST-Struktur frei. Diese Daten wurden für Sende- oder Empfangsvorgänge in einem erweiterbaren Hyper-V-Switch verwendet und zuvor durch Aufrufen der AllocateNetBufferListForwardingContext-Funktion zugeordnet.

GetNetBufferListDestinations
Gibt die Zielports aus dem Weiterleitungskontext der NET_BUFFER_LIST-Struktur eines Pakets zurück.

Eine Weiterleitungserweiterung ist für das Hinzufügen von Zielports für ein Paket zuständig, es sei denn, es handelt sich bei dem Paket um ein NVGRE-Paket. (Weitere Informationen finden Sie unter Hybridweiterleitung.) Die Erweiterung ruft die folgenden erweiterbaren Switchhandlerfunktionen auf, um die Zielports im Weiterleitungskontext des Pakets hinzuzufügen oder zu aktualisieren:

AddNetBufferListDestination
Fügt dem Kontextbereich für die erweiterbare Switchweiterleitung ein einzelnes Ziel für ein Paket hinzu, das von einer NET_BUFFER_LIST-Struktur angegeben wird.

Hinweis Dieser Aufruf committet die Änderung in den Weiterleitungskontextbereich. In diesem Fall muss die Weiterleitungserweiterung UpdateNetBufferListDestinations nicht aufrufen.

GrowNetBufferListDestinations
Erhöht die Größe des Zielportarrays im Weiterleitungskontextbereich der NET_BUFFER_LIST-Struktur eines Pakets.

UpdateNetBufferListDestinations
Committent Änderungen, die die Erweiterung an einen oder mehrere erweiterbare Switchzielports eines Pakets vorgenommen hat. Diese Funktion aktualisiert den Weiterleitungskontext der NET_BUFFER_LIST Struktur eines Pakets mit diesen Änderungen.

Hinweis Nachdem die Weiterleitungserweiterung die Änderungen für Zielports in den Weiterleitungskontext committet hat, können Zielports nicht entfernt werden, und nur das IsExcluded-Element der NDIS_SWITCH_PORT_DESTINATION-Struktur eines Zielports kann geändert werden. Weitere Informationen finden Sie unter Ausschließen der Paketübermittlung an erweiterbare Switch-Zielports.

Hyper-V Extensible Switch Forwarding Context

Hyper-V Extensible Switch Forwarding Context-Datentypen