Freigeben über


Empfangen von OID-Anforderungen zu Hyper-V Extensible Switch-Konfigurationsänderungen

Die erweiterbare Switchschnittstelle benachrichtigt zugrunde liegende Erweiterungen über Änderungen an der erweiterbaren Switchkomponentenkonfiguration und richtlinienparametern, indem sie OID-Setanforderungen (Extensible Switch Object Identifier) ausgibt. Diese Anforderungen werden vom Protokollrand des erweiterbaren Switches ausgegeben, um zugrunde liegende Erweiterungen über Änderungen an der Konfiguration der erweiterbaren Switchkomponente und den Richtlinienparametern zu benachrichtigen. Diese OID-Anforderungen werden durch den erweiterbaren Switchtreiberstapel zum zugrunde liegenden Miniportrand des erweiterbaren Switches verschoben.

Die folgende Abbildung zeigt den erweiterbaren Switchsteuerungspfad für OID-Anforderungen für NDIS 6.40 (Windows Server 2012 R2) und höher.

Diagramm: Erweiterbarer Switchsteuerungspfad für OID-Anforderungen in NDIS 6.40

Die folgende Abbildung zeigt den erweiterbaren Switchsteuerungspfad für OID-Anforderungen für NDIS 6.30 (Windows Server 2012).

Diagramm: Erweiterbarer Switchsteuerungspfad für OID-Anforderungen in NDIS 6.30

Hinweis In der erweiterbaren Switch-Schnittstelle werden NDIS-Filtertreiber als erweiterbare Switcherweiterungen bezeichnet, und der Treiberstapel wird als erweiterbarer Switchtreiberstapel bezeichnet.

Der Protokollrand des erweiterbaren Switches stellt OID-Set-Anforderungen für die folgenden Arten von Benachrichtigungen aus:

  • Änderungen an der Portkonfiguration auf dem erweiterbaren Switch.

    Beispielsweise gibt der Protokolltreiber OID_SWITCH_PORT_CREATE aus, um zugrunde liegende Erweiterungen über die Erstellung eines Ports auf dem erweiterbaren Switch zu benachrichtigen. Ebenso gibt der Protokolltreiber OID_SWITCH_PORT_DELETE aus, um Erweiterungen über das Löschen eines Ports zu benachrichtigen.

    Weitere Informationen zu diesem Typ von OID-Benachrichtigungen finden Sie unter Hyper-V Extensible Switch Ports.

  • Ändert sich an der Netzwerkadapterverbindung zu einem Port am erweiterbaren Switch.

    Der Protokolltreiber gibt beispielsweise OID_SWITCH_NIC_CONNECT aus, um zugrunde liegende Erweiterungen über die Verbindung eines Netzwerkadapters mit einem Port des erweiterbaren Switches zu benachrichtigen. Ebenso gibt der Protokolltreiber OID_SWITCH_NIC_DISCONNECT aus, um Erweiterungen zu benachrichtigen, dass der Netzwerkadapter vom Port getrennt wurde.

    Weitere Informationen zu diesem Typ von OID-Benachrichtigungen finden Sie unter Hyper-V Extensible Switch-Netzwerkadapter.

  • Änderungen an den erweiterbaren Switchport- oder Switchrichtlinien.

    Beispielsweise gibt der Protokolltreiber OID_SWITCH_PROPERTY_ADD aus, um zugrunde liegende Erweiterungen über das Hinzufügen einer erweiterbaren Switcheigenschaft zu benachrichtigen. Ebenso gibt der Protokolltreiber OID_SWITCH_PORT_PROPERTY_DELETE aus, um Erweiterungen über das Löschen einer Porteigenschaft zu benachrichtigen.

    Weitere Informationen zu diesem Typ von OID-Benachrichtigungen finden Sie unter Verwalten von Hyper-V Extensible Switch-Richtlinien.

    Hinweis Die Erweiterung wird nicht über Änderungen an den Standardport- oder Switchrichtlinien benachrichtigt, die vom zugrunde liegenden Miniportrand des erweiterbaren Switches verwaltet werden.

  • Speichern oder Wiederherstellen von Laufzeitportdaten.

    Beispielsweise gibt der Protokolltreiber OID_SWITCH_NIC_SAVE aus, um zugrunde liegende Erweiterungen zu benachrichtigen, um Laufzeitdaten für einen angegebenen Port auf dem erweiterbaren Switch zu speichern. Diese OIDs werden ausgegeben, wenn der Hyper-V-Status gespeichert oder zu einem anderen Host migriert wird. Ebenso gibt der Protokolltreiber OID_SWITCH_NIC_RESTORE aus, um Erweiterungen zu benachrichtigen, dass Laufzeitportdaten auf dem erweiterbaren Switch wiederhergestellt werden.

    Weitere Informationen zu diesem Typ von OID-Benachrichtigungen finden Sie unter Verwalten von Hyper-V Extensible Switch Run-Time Data.

Der erweiterbare Switcherweiterungs-Miniporttreiber ist für die Ausführung dieser OID-Anforderungen verantwortlich. Bei einigen erweiterbaren Switch-OID-Anforderungen kann jedoch bei einer zugrunde liegenden Erweiterung eine OID-Anforderung zum Veto einer Benachrichtigung fehlschlagen. Wenn der erweiterbare Switchprotokolltreiber beispielsweise die Filtertreiber über einen neuen Port benachrichtigt, der für den erweiterbaren Switch erstellt wird, gibt er eine OID-Set-Anforderung von OID_SWITCH_PORT_CREATE aus. Eine zugrunde liegende Filter- oder Weiterleitungserweiterung kann ein Veto gegen die Porterstellung durchführen, indem die OID-Anforderung mit STATUS_DATA_NOT_ACCEPTED abgeschlossen wird.

Die erweiterbare Switcherweiterung muss die folgenden Richtlinien befolgen, wenn ihre FilterOidRequest-Funktion für eine erweiterbare Switch-OID-Anforderung aufgerufen wird:

  • Die Erweiterung darf keine Daten ändern, auf die vom OidRequest-Parameter verwiesen wird.

  • Bei einigen erweiterbaren Switch-OID-Anforderungen kann die Erweiterung die OID-Anforderung mit STATUS_DATA_NOT_ACCEPTED abschließen. Dadurch wird ein Veto gegen den Vorgang für eine erweiterbare Switchkomponente, für die die OID-Anforderung ausgestellt wurde, ein Veto eingeschlagen.

    Beispielsweise kann die Erweiterung die OID_SWITCH_NIC_CREATE Anforderung mit STATUS_DATA_NOT_ACCEPTED abschließen. Dies muss möglicherweise vom Treiber ausgeführt werden, wenn er die konfigurierten Richtlinien für den angegebenen Port, mit dem die Netzwerkverbindung erstellt wird, nicht erfüllen kann.

    Die Erweiterung kann Anforderungen für die folgenden OIDs auf diese Weise ausführen:

  • Wenn die Erweiterung die OID-Anforderung nicht abgeschlossen hat, muss sie NdisFOidRequest aufrufen, um die Anforderung über den erweiterbaren Switchtreiberstapel weiterzuleiten.

    Hinweis Bevor der Treiber NdisFOidRequest aufruft, muss der Treiber NdisAllocateCloneOidRequest aufrufen, um eine NDIS_OID_REQUEST Struktur zuzuweisen und die Anforderungsinformationen an die neue Struktur zu übertragen.

    Die Erweiterung sollte das Abschlussergebnis der OID-Anforderung überwachen, wenn ihre FilterOidRequestComplete-Funktion aufgerufen wird. Dadurch kann die Erweiterung ermitteln, ob der Vorgang für eine erweiterbare Switchkomponente erfolgreich abgeschlossen wurde oder ob ein Veto gegen eine zugrunde liegende Erweiterung erfolgt ist.

    Weitere Informationen zum Filtern und Weiterleiten einer OID-Anforderung finden Sie unter Filtern von OID-Anforderungen in einem NDIS-Filtertreiber.

  • NDIS und überlagernde Protokoll- und Filtertreiber können OID-Anforderungen für Hardware-Auslagerungstechnologien an den zugrunde liegenden physischen Netzwerkadapter ausgeben. Dies umfasst OID-Anforderungen für Auslagerungstechnologien, z. B. VMQ(VMQ), Internetprotokollsicherheit (IPsec) und Single Root-E/A-Virtualisierung (SR-IOV).

    Wenn diese OID-Anforderungen an die erweiterbare Switch-Schnittstelle gelangen, kapselt sie die OID-Anforderung in einem NDIS_SWITCH_NIC_OID_REQUEST. Anschließend stellt der Protokollrand des erweiterbaren Switches eine OID-Anforderung von OID_SWITCH_NIC_REQUEST aus, die diese Struktur enthält.

  • Eine erweiterbare Switchweiterleitungserweiterung kann Unterstützung für eine NDIS-Hardwareauslagerungstechnologie auf einem oder mehreren physischen Adaptern bieten, die an den externen Netzwerkadapter gebunden sind. In dieser Konfiguration ist der erweiterbare externe Switch-Netzwerkadapter an den virtuellen Miniport-Edge eines MUX-Zwischentreibers (NDIS-Multiplexer) gebunden. Der MUX-Zwischentreiber ist an ein Team aus mindestens einem physischen Netzwerk auf dem Host gebunden. Diese Konfiguration wird als erweiterbares Switchteam bezeichnet. Weitere Informationen zu erweiterbaren Switch-Teams finden Sie unter Typen physischer Netzwerkadapterkonfigurationen.

    In dieser Konfiguration werden die erweiterbaren Switcherweiterungen für jeden Netzwerkadapter im Team verfügbar gemacht. Dadurch kann die Weiterleitungserweiterung im erweiterbaren Switchtreiberstapel die Konfiguration und Verwendung einzelner Netzwerkadapter im Team verwalten. Die Erweiterung kann beispielsweise Unterstützung für eine Lastenausgleichsfailoverlösung (LBFO) über das Team bieten, indem ausgehende Pakete an einzelne Adapter weitergeleitet werden. Eine solche Erweiterung wird als Teamanbieter bezeichnet. Weitere Informationen zu Teaminganbietern finden Sie unter Teaming-Anbietererweiterungen.

    Durch die Behandlung der OID-Anforderung von OID_SWITCH_NIC_REQUEST können Teamanbieter an der Konfiguration des Adapterteams für Hardwareauslagerungen teilnehmen. Beispielsweise kann die Erweiterung eine eigene OID-Anforderung von OID_SWITCH_NIC_REQUEST generieren, um einen physischen Adapter mit Parametern für die Hardwareauslagerung zu konfigurieren.

    Weitere Informationen zum Behandeln der OID_SWITCH_NIC_REQUEST OID-Anforderung finden Sie unter Weiterleiten von OID-Anforderungen an physische Netzwerkadapter.

    Hinweis Erweiterungsfiltertreiber können OID-Anforderungen von OID_SWITCH_NIC_REQUEST generieren, um private OIDs für jeden physischen Adapter auszustellen, der an den externen erweiterbaren Switch-Netzwerkadapter gebunden ist.

Hinweis Stapelneustartanforderungen mit NdisFRestartFilter werden nicht abgeschlossen, während eine erweiterbare Switch-OID-Anforderung aussteht. Aus diesem Grund muss eine Erweiterung, die auf einen Stapelneustart wartet, alle laufenden OID-Anforderungen abschließen.

Weitere Informationen zum Steuerungspfad für erweiterbare Switch-OID-Anforderungen finden Sie unter Hyper-V Extensible Switch Control Path for OID Requests.