Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Anmerkung Diese Seite geht davon aus, dass Sie mit den Informationen und Diagrammen in der Übersicht über die Hyper-V Extensible Switch und Hybrid Forwarding vertraut sind.
Die NET_BUFFER_LIST Struktur für jedes Paket, das den Hyper-V erweiterbaren Switchdatenpfad durchläuft, enthält Out-of-Band(OOB)-Daten. 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.
Anmerkung Der erweiterbare Switchweiterleitungskontext unterscheidet sich von der NET_BUFFER_LIST_CONTEXT-Struktur . Dadurch können Erweiterungen ihre eigenen Kontextstrukturen zuordnen, ohne dass sich dies auf den Weiterleitungskontext auswirkt.
Der Weiterleitungskontext des erweiterbaren Switches wird wie folgt zugewiesen und freigegeben:
Wenn ein Paket beim erweiterbaren Switch von einem Netzwerkadapter eingeht, weist die erweiterbare Switchschnittstelle den Weiterleitungskontext zu und ordnet es der NET_BUFFER_LIST Struktur des Pakets zu.
Wenn das Paket an seine Zielports übermittelt wird, gibt die Schnittstelle den Weiterleitungskontext aus der NET_BUFFER_LIST Struktur des Pakets frei.
Wenn eine erweiterbare Switcherweiterung ein neues oder geklontes Paket in den erweiterbaren Switch-Datenpfad einbindet, muss sie den Weiterleitungskontext zuweisen, bevor NdisFSendNetBufferLists aufgerufen wird.
Nachdem die Erweiterung eine NET_BUFFER_LIST Struktur für ein neues oder geklontes Paket zugewiesen hat, muss sie die AllocateNetBufferListForwardingContext-Funktion aufrufen, um den Weiterleitungskontext für das Paket zuzuweisen. Wenn die Sendepaketanforderung abgeschlossen ist, muss die Erweiterung FreeNetBufferListForwardingContext aufrufen, bevor sie die NET_BUFFER_LIST Struktur freigibt oder wiederverwendet.
Anmerkung Wenn die Erweiterung " AllocateNetBufferListForwardingContext" aufruft, wird der Quellport für das Paket auf NDIS_SWITCH_DEFAULT_PORT_ID festgelegt. Dies gibt an, dass das Paket von einer Erweiterung stammt, anstatt zu einem erweiterbaren Switchport zu kommen. Unter bestimmten Bedingungen kann die Erweiterung den Quellport für das Paket ändern. Weitere Informationen finden Sie unter Ändern der Daten des Extensible Switch-Quellports eines Pakets.
Weitere Informationen finden Sie unter Hyper-V Extensible Switch Sende- und Empfangsvorgänge.
Alle erweiterbaren Switcherweiterungen können die folgenden erweiterbaren Switchhandlerfunktionen aufrufen, um auf die Daten im Weiterleitungskontext des Pakets zuzugreifen:
AllocateNetBufferListForwardingContext
Weist den erweiterbaren Switchweiterleitungskontext zu und bereitet eine NET_BUFFER_LIST Struktur für Sende- oder Empfangsvorgänge innerhalb des erweiterbaren Switchs vor.
CopyNetBufferListInfo
Kopiert den Weiterleitungskontext aus der NET_BUFFER_LIST Struktur eines Quellpakets in die NET_BUFFER_LIST Struktur eines Zielpakets. Diese Daten umfassen Informationen über den Quellport des erweiterbaren Switches und den Netzwerkadapter. 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 Hyper-V erweiterbaren Switch verwendet und zuvor durch Aufrufen der AllocateNetBufferListForwardingContext-Funktion zugewiesen.
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 verantwortlich, es sei denn, das Paket ist ein NVGRE-Paket. (Weitere Informationen finden Sie unter Hybrid Forwarding.) 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 durch eine NET_BUFFER_LIST-Struktur angegeben wird.
Anmerkung Dieser Aufruf bestätigt die Änderung im 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
Committet die Änderungen, die die Erweiterung an einem oder mehreren Zielports des erweiterbaren Switches eines Pakets vorgenommen hat. Diese Funktion aktualisiert den Weiterleitungskontext der NET_BUFFER_LIST Struktur eines Pakets mit diesen Änderungen.
Anmerkung Nachdem die Weiterleitungserweiterung die Änderungen für Zielports in den Weiterleitungskontext konvertiert hat, können Zielports nicht entfernt werden, und nur das IsExcluded-Mitglied der NDIS_SWITCH_PORT_DESTINATION Struktur eines Zielports kann geändert werden. Weitere Informationen finden Sie unter Ausschluss der Paketzustellung an Ziel-Ports des Extensible Switch.
Zugehörige Themen
Hyper-V Erweiterbarer Switch Weiterleitungskontext
Hyper-V Erweiterbarer Switch Weiterleitungskontext Datentypen