Filtern von Erweiterungen
Eine Erweiterung für die Filterung des erweiterbaren Hyper-V-Switches kann Pakete überprüfen, ändern und in den erweiterbaren Switchdatenpfad einfügen. Basierend auf erweiterbaren Switchport- und Switch-Richtlinieneinstellungen kann die Erweiterung ein Paket löschen oder die Übermittlung an einen oder mehrere Zielports ausschließen.
Filtererweiterungen werden nach dem Erfassen von Erweiterungen im Eingangsdatenpfad und nach den Weiterleitungserweiterungen im ausgehenden Datenpfad aufgerufen. Weitere Informationen zu diesen Datenpfaden finden Sie unter Hyper-V Extensible Switch Data Path.
Eine Filtererweiterung kann die folgenden Aktionen mit Paketen ausführen, die im Eingangsdatenpfad abgerufen wurden:
Filtern sie den Paketdatenverkehr, und erzwingen Sie benutzerdefinierte Port- oder Switchrichtlinien für die Paketübermittlung über den erweiterbaren Switch. Wenn die Filtererweiterung Pakete im Eingangsdatenpfad filtert, kann sie Filterregeln nur basierend auf dem Quellport und der Netzwerkadapterverbindung anwenden, von der das Paket stammt. Diese Informationen werden in den Out-of-Band-Daten (OOB) der NET_BUFFER_LIST Struktur eines Pakets gespeichert und können mithilfe des makros NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL abgerufen werden.
Hinweis Pakete, die im Eingangsdatenpfad abgerufen werden, enthalten keine Zielports. Das Filtern von Paketen basierend auf Zielports kann nur für Pakete erfolgen, die im ausgehenden Datenpfad abgerufen wurden.
Benutzerdefinierte Richtlinien werden vom unabhängigen Softwarehersteller (Independent Software Vendor, ISV) definiert. Eigenschafteneinstellungen für diesen Richtlinientyp werden über die Hyper-V-WMI-Verwaltungsebene verwaltet. Die Filtererweiterung wird mit diesen Eigenschafteneinstellungen über eine Objektbezeichneranforderung (OID) von OID_SWITCH_PORT_PROPERTY_UPDATE und OID_SWITCH_PROPERTY_UPDATE konfiguriert.
Weitere Informationen zu benutzerdefinierten erweiterbaren Port- oder Switchrichtlinien finden Sie unter Verwalten von Hyper-V Extensible Switch-Richtlinien.
Hinweis Nur Weiterleitungserweiterungen können Standardportrichtlinien für die Paketübermittlung über den erweiterbaren Switch erzwingen.
Neue, geänderte oder geklonte Pakete in den Eingangsdatenpfad einfügen.
Weitere Informationen finden Sie unter Sende- und Empfangsvorgänge für den erweiterbaren Hyper-V-Switch.
Eine Filtererweiterung kann die folgenden Aktionen mit Paketen ausführen, die für den ausgehenden Datenpfad abgerufen wurden:
Filtern sie den Paketdatenverkehr, und erzwingen Sie benutzerdefinierte Port- oder Switchrichtlinien für die Paketübermittlung über den erweiterbaren Switch. Wenn die Filtererweiterung Pakete im ausgehenden Datenpfad filtert, kann sie Filterregeln basierend auf den Quell- oder Zielports für ein Paket anwenden. Zielportdaten werden in den OOB-Daten der NET_BUFFER_LIST struktur eines Pakets gespeichert. Erweiterungen erhalten diese Informationen, indem sie die GetNetBufferListDestinations-Funktion aufrufen.
Schließen Sie die Übermittlung des Pakets an einen oder mehrere erweiterbare Switchzielports aus. Dadurch kann die Filtererweiterung die Übermittlung eines Pakets an erweiterbare Switchports ausschließen.
Weitere Informationen zum Ausschließen der Paketübermittlung an erweiterbare Switchports finden Sie unter Ausschließen der Paketübermittlung an extensible Switch-Zielports.
Verwalten Sie den Datenverkehrsfluss an einen oder mehrere Zielports, indem Sie die Weiterleitung von Paketen auf den ausgehenden Datenpfad verschieben.
Beispielsweise kann eine Filtererweiterung, die QoS-Funktionen (Quality of Service) unterstützt, sofort NdisFSendNetBufferLists aufrufen, um Pakete weiterzuleiten, die mit einem höheren Prioritätswert angegeben sind. Abhängig vom Datenverkehrsfluss möchte die Erweiterung Pakete mit einem niedrigeren Prioritätswert zu einem späteren Zeitpunkt weiterleiten.
Ändern Sie die Paketdaten. Wenn die 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.
Weitere Informationen finden Sie unter Klonen von Paketdatenverkehr.
Neben der Überprüfung von OID-Anforderungen und NDIS-status-Hinweisen kann eine Filtererweiterung folgendes tun:
Legen Sie ein Veto für die Erstellung eines erweiterbaren Switchports oder Netzwerkadapterverbindung ein, indem Sie STATUS_DATA_NOT_ACCEPTED für die entsprechenden erweiterbaren Switch-OIDs zurückgeben. Beispielsweise kann die Filtererweiterung ein Veto gegen eine Porterstellungsanforderung einwenden, indem STATUS_DATA_NOT_ACCEPTED zurückgegeben wird, wenn der Treiber eine OID-Set-Anforderung von OID_SWITCH_PORT_CREATE empfängt.
Hinweis Filtererweiterungen erstellen oder löschen keine Ports oder Netzwerkadapterverbindungen. Der Protokollrand des erweiterbaren Switches gibt OIDs aus, um die zugrunde liegenden Filtertreiber über das Erstellen oder Löschen von Ports oder Netzwerkadapterverbindungen zu benachrichtigen. Weitere Informationen finden Sie unter Hyper-V Extensible Switch Port und Netzwerkadapterstatus.
Legen Sie ein Veto gegen das Hinzufügen oder Aktualisieren eines erweiterbaren Switches oder einer Portrichtlinie ein, indem Sie STATUS_DATA_NOT_ACCEPTED für die entsprechenden erweiterbaren Switch-OIDs zurückgeben. Beispielsweise kann die Filtererweiterung ein Veto gegen das Hinzufügen einer Portrichtlinie einwenden, indem STATUS_DATA_NOT_ACCEPTED zurückgegeben wird, wenn die Erweiterung eine OID-Set-Anforderung von OID_SWITCH_PORT_PROPERTY_ADD empfängt.
Weitere Informationen zu erweiterbaren Switchrichtlinien finden Sie unter Verwalten von Hyper-V Extensible Switch-Richtlinien.
Für eine Filtererweiterung gelten die folgenden Anforderungen:
Eine Filtererweiterung muss als NDIS-Filtertreiber entwickelt werden, der die erweiterbare Switchschnittstelle unterstützt.
Weitere Informationen zu Filtertreibern finden Sie unter NDIS-Filtertreiber.
Weitere Informationen zum Schreiben einer Filtererweiterung finden Sie unter Schreiben von Hyper-V Extensible Switch-Erweiterungen.
Hinweis Die Windows-Filterplattform (Windows Filtering Platform, WFP) bietet eine im Lieferumfang enthaltene erweiterbare Switchfiltererweiterung (Wfplwfs.sys ). Diese Erweiterung ermöglicht WFP-Filtern oder Legendentreibern das Abfangen von Paketen entlang des erweiterbaren Hyper-V-Switchdatenpfads. Dies ermöglicht es den Filtern oder Legendentreibern, Paketüberprüfungen oder -änderungen mithilfe der WFP-Verwaltungs- und Systemfunktionen durchzuführen. Eine Übersicht über WFP finden Sie unter Windows-Filterplattform.
Die INF-Datei für eine Filtererweiterung muss den Treiber als ändernden Filtertreiber installieren. NDIS-Überwachungsfiltertreiber können nicht im erweiterbaren Switchtreiberstapel installiert werden.
Weitere Informationen zum Ändern von Filtertreibern finden Sie unter Typen von Filtertreibern.
Weitere Informationen zu den INF-Anforderungen zum Ändern von Filtertreibern finden Sie unter Konfigurieren einer INF-Datei für einen Ändern des Filtertreibers.
Der FilterClass-Wert in der INF-Datei für den Filtertreiber muss auf ms_switch_filter festgelegt werden. Weitere Informationen finden Sie unter INF-Anforderungen für Hyper-V Extensible Switch-Erweiterungen.
Eine beliebige Anzahl von Filtererweiterungen kann im Treiberstapel für jede instance eines erweiterbaren Switches gebunden und aktiviert werden. Standardmäßig werden mehrere Filtererweiterungen basierend auf dem Zeitpunkt der Installation sortiert. Beispielsweise sind mehrere Filtererweiterungen im erweiterbaren Switchtreiberstapel mit der zuletzt installierten Erweiterung über anderen Filtererweiterungen im Stapel gestapelt.
Nachdem sie in einem erweiterbaren Switch instance gebunden und aktiviert wurden, kann die Überschichtung von Filtererweiterungen im erweiterbaren Switchtreiberstapel neu angeordnet werden. Weitere Informationen finden Sie unter Neuanordnen von Hyper-V Extensible Switch-Erweiterungen.