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.
In diesem Thema werden die Richtlinien beschrieben, die Hyper-V erweiterbaren Switch-Erweiterungen zum Verwalten von Paketen befolgen müssen, die im erweiterbaren Switch-Datenpfad empfangen werden.
Anmerkung In der erweiterbaren Switchschnittstelle werden NDIS-Filtertreiber als erweiterbare Switcherweiterungen bezeichnet, und der Treiberstapel wird als erweiterbarer Switchtreiberstapel bezeichnet. Weitere Informationen zu den Erweiterungen finden Sie unter Hyper-V Extensible Switch Extensions.
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.
Erweiterungen müssen die folgenden Richtlinien für die Paketverwaltung im erweiterbaren Switch-Datenpfad befolgen:
Erweiterungen, die Pakete generieren, müssen NdisFSendNetBufferLists aufrufen, um eine Sendeanforderung im eingehenden Datenpfad zu initiieren. Dies muss auf diese Weise erfolgen, um eine ordnungsgemäße Weiterleitung des Pakets über den erweiterbaren Switch zu ermöglichen.
Eine Aufnahmeerweiterung kann Pakete auf dem erweiterbaren Switch-Eingangs- und Ausgangsdatenpfad überwachen. Diese Erweiterungsart muss jedoch immer Pakete weiterleiten und die Pakete nicht ablegen. Außerdem darf die Aufnahmeerweiterung die Paketdaten nicht ändern, bevor sie das Paket weiterleitet.
Auf dem erweiterbaren Switch-Eingangsdatenpfad können Filter- und Weiterleitungserweiterungen die folgenden Aktionen ausführen:
Filtererweiterungen können Paketdatenverkehr filtern und nur benutzerdefinierte Port- oder Switchrichtlinien für die Paketübermittlung über den erweiterbaren Switch erzwingen. Wenn die Erweiterung Pakete im Eingangsdatenpfad filtert, kann sie nur Filterregeln anwenden, die nur auf der Quellport- und Netzwerkadapterverbindung basieren, von der das Paket stammt. Diese Informationen werden in den OOB-Daten der NET_BUFFER_LIST Struktur eines Pakets gespeichert und können mithilfe des NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL-Makros abgerufen werden.
Anmerkung Pakete, die im Eingangsdatenpfad abgerufen werden, enthalten keine Zielports. Das Filtern von Paketen auf der Grundlage von Zielports kann nur für Pakete erfolgen, die auf dem Ausgangsdatenpfad erfasst wurden.
Weiterleitungserweiterungen können Paketdatenverkehr filtern und benutzerdefinierte und standardport- oder Switchrichtlinien für die Paketübermittlung über den erweiterbaren Switch erzwingen. Wenn die Weiterleitungserweiterung Pakete im Eingangsdatenpfad filtert, wendet sie Filterregeln basierend auf dem Quellport sowie die Zielports an, die die Weiterleitungserweiterung dem Paket zuweist.
Auf dem erweiterbaren Switch-Ausgangsdatenpfad können Filter- und Weiterleitungserweiterungen folgende Aktionen ausführen:
Filtererweiterungen können Paketdatenverkehr filtern und nur benutzerdefinierte Port- oder Switchrichtlinien für die Paketübermittlung über den erweiterbaren Switch erzwingen. Wenn die Filtererweiterung Pakete im Ausgehenden Datenpfad filtert, kann sie Filterregeln nur basierend auf den Zielports für ein Paket anwenden.
Zielportdaten werden in den OOB-Daten der NET_BUFFER_LIST Struktur eines Pakets gespeichert. Erweiterungen rufen diese Informationen durch Aufrufen der GetNetBufferListDestinations-Funktion ab.
Weiterleitungserweiterungen können Paketdatenverkehr filtern und benutzerdefinierte und standardport- oder Switchrichtlinien für die Paketübermittlung über den erweiterbaren Switch erzwingen. Wenn die Weiterleitungserweiterung Pakete im Ausgehenden Datenpfad filtert, kann sie Filterregeln basierend auf den Quell- oder Zielports für ein Paket anwenden.
Basierend auf den richtlinien, die für ein Paket erzwungen werden, kann die Filter- oder Weiterleitungserweiterung die Übermittlung des Pakets an ein oder mehrere Ziele ausschließen. Weitere Informationen zu diesem Verfahren finden Sie unter Ausschließen der Paketübermittlung an Extensible Switch-Zielports.
Basierend auf den richtlinien, die für ein Paket erzwungen werden, kann die Weiterleitungserweiterung die Übermittlung des Pakets an ein oder mehrere Ziele ausschließen. Weitere Informationen finden Sie unter Hybridweiterleitung.
Auf dem erweiterbaren Switch-Ausgangsdatenpfad dürfen Filter- und Weiterleitungserweiterungen folgendes nicht ausführen:
Ändern Sie die Paketdaten vor dem Weiterleiten des Pakets im Ausgehenden Datenpfad.
Wenn eine Filtererweiterung die Daten in einem Paket ändern muss, muss sie zuerst das Paket klonen, ohne Portziele beizubehalten. Anschließend muss die Erweiterung das geänderte Paket in den Eingangsdatenpfad einfügen. Dadurch können die zugrunde liegenden Erweiterungen Richtlinien für das geänderte Paket erzwingen, und die Weiterleitungserweiterung kann Portziele hinzufügen.
Wenn die Weiterleitungserweiterung die Daten in einem Paket ändern muss, muss sie zuerst das Paket klonen, bevor sie Portziele zuweist. Nachdem das Paket geändert und Portziele zugewiesen wurden, muss die Erweiterung das geänderte Paket in den Eingangsdatenpfad einfügen.
Weitere Informationen finden Sie unter Cloning Packet Traffic.
Anmerkung Wenn die Erweiterung ein Paket klont, das aus dem Ausgangsdatenpfad abgerufen wurde, kann sie das neue Paket nur dann in den Ausgangsdatenpfad einfügen, wenn sie die Paketdaten nicht geändert hat und die ursprünglichen Zielportdaten beibehalten hat.
Fügen Sie dem Paket Zielports hinzu, bevor Sie das Paket weiterleiten.
Anmerkung Weiterleitungserweiterungen dürfen Zielports zu Paketen hinzufügen, die im Datenausgangspfad abgerufen wurden.
Einfügen neuer oder geklonter Datenpakete in den Ausgangsdatenpfad.
Im standardmäßigen NDIS-Datenpfad weisen nicht erweiterbare Switch-OOB-Daten häufig unterschiedliche Formate auf, je nachdem, ob das Paket als Sende- oder Empfangspaket übermittelt wird. Beispielsweise handelt es sich bei den NDIS_IPSEC_OFFLOAD_V2_HEADER_NET_BUFFER_LIST_INFO OOB-Daten um eine Kombination von sende- und empfangsspezifischen Strukturen.
Im Datenpfad des erweiterbaren Switches fließen alle Pakete durch den Erweiterungstreiberstapel, während sie sowohl gesendet als auch empfangen werden. Aus diesem Grund befinden sich die nicht erweiterbaren OOB-Daten innerhalb der NET_BUFFER_LIST Struktur des Pakets während des gesamten Datenflusses über den Treiberstapel entweder im Sende- oder Empfangsformat.
Das Format dieser OOB-Daten hängt von dem erweiterbaren Quellswitchport ab, von dem das Paket an den erweiterbaren Switch gelangt ist. Wenn der Quellport mit dem externen Netzwerkadapter verbunden ist, befinden sich die nicht erweiterbaren OOB-Daten im Empfangsformat. Für andere Ports befinden sich diese OOB-Daten in einem Sendeformat.
Anmerkung Wenn die Erweiterung die NET_BUFFER_LIST-Struktur eines Pakets klont, müssen die nicht erweiterbaren Switch-OOB-Daten berücksichtigt werden, falls die Erweiterung die OOB-Daten hinzufügt oder ändert. Die Erweiterung muss CopyNetBufferListInfo aufrufen, um die OOB-Daten zu kopieren, die dem erweiterbaren Switch-Datenpfad von einem Quellpaket in ein geklontes Paket zugeordnet sind. Diese Funktion verwaltet das OOB-Sende- oder Empfangsformat, wenn die Daten in das geklonte Paket kopiert werden.
Wenn eine Erweiterung ein Paket entweder vom Eingang oder Ausgang des Datenpfads abbricht, muss ReportFilteredNetBufferLists aufgerufen werden. Wenn diese Funktion aufgerufen wird, erhöht die erweiterbare Switch-Schnittstelle Zähler und protokolliert Ereignisse von verworfenen oder ausgeschlossenen Paketen.