Freigeben über


Hyper-V Extensible Switch Wiederherstellungsvorgänge

Wenn eine untergeordnete Hyper-V-Partition neu gestartet wird, nachdem sie beendet oder live migriert wurde, wird der Laufzeitzustand der Partition wiederhergestellt. Während des Wiederherstellungsvorgangs kann ein erweiterbarer Hyper-V-Switcherweiterungstreiber Laufzeitdaten eines erweiterbaren Switch-Netzwerkadapters (NIC) wiederherstellen.

Wenn ein Wiederherstellungsvorgang auf einer untergeordneten Hyper-V-Partition ausgeführt wird, signalisiert die erweiterbare Switchschnittstelle den Protokollrand des erweiterbaren Switches, um eine OID-Satzanforderung von OID_SWITCH_NIC_RESTORE auszugeben. Das InformationBuffer-Element der NDIS_OID_REQUEST-Struktur für die OID_SWITCH_NIC_RESTORE-Anforderung enthält einen Zeiger auf eine NDIS_SWITCH_NIC_SAVE_STATE-Struktur .

Wenn diese OID-Anforderung verarbeitet wird, stellt die Erweiterung die Laufzeitdaten für den Netzwerkadapter wieder her. Diese Laufzeitdaten wurden zuvor über OID-Anforderungen von OID_SWITCH_NIC_SAVE und OID_SWITCH_NIC_SAVE_COMPLETE gespeichert.

Wenn sie die OID_SWITCH_NIC_RESTORE-Anforderung empfängt, muss die erweiterbare Switcherweiterung zuerst ermitteln, ob sie besitzer der Laufzeitdaten ist. Dazu vergleicht der Treiber den Wert des ExtensionId-Members der NDIS_SWITCH_NIC_SAVE_STATE-Struktur mit dem GUID-Wert, den der Treiber verwendet, um sich selbst zu identifizieren.

Wenn die Erweiterung die Laufzeitdaten besitzt, werden diese Daten wie folgt wiederhergestellt:

  1. Die Erweiterung kopiert die Laufzeitdaten im SaveData-Member in den vom Treiber zugewiesenen Speicher.

    Hinweis Der Wert des PortId-Members der NDIS_SWITCH_NIC_SAVE_STATE-Struktur kann sich zum Zeitpunkt des Speicherns der Laufzeitdaten vom PortId-Wert unterscheiden. Dies kann auftreten, wenn Laufzeitdaten während einer Livemigration von einem Host zu einem anderen gespeichert wurden. Die Konfiguration der erweiterbaren Switch-NIC wird jedoch während der Livemigration beibehalten. Dadurch kann die Erweiterung die Laufzeitdaten mithilfe des neuen PortId-Werts in der erweiterbaren Switch-NIC wiederherstellen.

  2. Die Erweiterung schließt die OID-Setanforderung mit NDIS_STATUS_SUCCESS ab.

Wenn die Erweiterung nicht im Besitz der Laufzeitdaten ist, muss sie NdisFOidRequest aufrufen. Dadurch wird die OID-Methodenanforderung an zugrunde liegende Erweiterungen im erweiterbaren Switchtreiberstapel weitergeleitet. Weitere Informationen zu diesem Verfahren finden Sie unter Filtern von OID-Anforderungen in einem NDIS-Filtertreiber.

OID_SWITCH_NIC_RESTORE_COMPLETE
Die erweiterbare Switchschnittstelle signalisiert dem Protokollrand des erweiterbaren Switches, diese OID nach Abschluss des Wiederherstellungsvorgangs der Laufzeitdaten für eine erweiterbare Switch-NIC auszugeben.

Diese OID-Anforderung benachrichtigt die Erweiterung, dass der Wiederherstellungsvorgang nur für eine angegebene erweiterbare Switch-NIC abgeschlossen wurde.

Weitere Informationen zu dieser OID-Anforderung finden Sie unter OID_SWITCH_NIC_RESTORE_COMPLETE.

Während des Wiederherstellungsvorgangs für Laufzeitdaten stellt der Protokollrand des erweiterbaren Switches OID-Anforderungen von OID_SWITCH_NIC_RESTORE und OID_SWITCH_NIC_RESTORE_COMPLETE für die Netzwerkschnittstelle einer untergeordneten Hyper-V-Partition verbunden ist. Wenn mehrere untergeordnete Hyper-V-Partitionen wiederhergestellt werden, stellt das Protokoll edge separate Sätze von OID_SWITCH_NIC_RESTORE und OID_SWITCH_NIC_RESTORE_COMPLETE Anforderungen für jede Netzwerkschnittstellenverbindung aus.

Hinweis Der Protokollrand des erweiterbaren Switches verwebt keine Wiederherstellungsvorgänge für Laufzeitdaten für dieselbe NIC. Der Protokollrand startet einen Laufzeitdatenwiederherstellungsvorgang für eine NIC erst, nachdem ein vorheriger Wiederherstellungsvorgang für dieselbe NIC abgeschlossen wurde. Der Protokollrand startet jedoch möglicherweise einen Wiederherstellungsvorgang für eine NIC, während ein anderer Wiederherstellungsvorgang für eine andere NIC ausgeführt wird. Daher wird dringend empfohlen, dass Erweiterungen Wiederherstellungsvorgänge auf nicht verschachtelte Weise ausführen. Erweiterungen sollten beispielsweise nicht davon ausgehen, dass ein neuer Wiederherstellungsvorgang auf einer anderen NIC nicht gestartet werden kann, bevor ein laufender Wiederherstellungsvorgang für eine andere NIC abgeschlossen wurde.

Weitere Informationen zu dieser OID-Anforderung finden Sie unter Restoreing Hyper-V Extensible Switch Run-Time Data.