Операции восстановления расширяемого коммутатора Hyper-V
При перезапуске дочернего раздела Hyper-V после его остановки или динамической миграции восстанавливается состояние секции во время выполнения. Во время операции восстановления драйвер расширения расширяемого коммутатора Hyper-V может восстановить данные во время выполнения о сетевом адаптере расширяемого коммутатора ( NIC).
Когда операция восстановления выполняется в дочернем разделе Hyper-V, интерфейс расширяемого коммутатора сигнализирует границе протокола расширяемого коммутатора для выдачи запроса на набор OID OID_SWITCH_NIC_RESTORE. Элемент InformationBuffer структуры NDIS_OID_REQUEST для запроса OID_SWITCH_NIC_RESTORE содержит указатель на структуру NDIS_SWITCH_NIC_SAVE_STATE .
При обработке этого запроса OID расширение восстанавливает данные времени выполнения для сетевого адаптера. Эти данные времени выполнения ранее сохранялись с помощью запросов OID OID_SWITCH_NIC_SAVE и OID_SWITCH_NIC_SAVE_COMPLETE.
При получении запроса OID_SWITCH_NIC_RESTORE расширение расширяемого коммутатора должно сначала определить, является ли оно владельцем данных времени выполнения. Драйвер делает это путем сравнения значения элемента ExtensionId структуры NDIS_SWITCH_NIC_SAVE_STATE со значением GUID, которое драйвер использует для идентификации себя.
Если расширение владеет данными времени выполнения, оно восстанавливает эти данные следующим образом:
Расширение копирует данные времени выполнения в элементе SaveData в хранилище, выделенное драйвером.
Примечание Значение элемента PortId структуры NDIS_SWITCH_NIC_SAVE_STATE может отличаться от значения PortId на момент сохранения данных во время выполнения. Это может произойти, если данные среды выполнения были сохранены во время динамической миграции с одного узла на другой. Однако конфигурация сетевого адаптера расширяемого коммутатора сохраняется во время динамической миграции. Это позволяет расширению восстанавливать данные времени выполнения в сетевой адаптер расширяемого коммутатора с помощью нового значения PortId .
Расширение завершает запрос на набор OID с NDIS_STATUS_SUCCESS.
Если расширение не владеет данными времени выполнения, оно должно вызвать NdisFOidRequest. Это перенаправит запрос метода OID в базовые расширения в стеке драйверов расширяемого коммутатора. Дополнительные сведения об этой процедуре см. в разделе Фильтрация запросов OID в драйвере фильтра NDIS.
OID_SWITCH_NIC_RESTORE_COMPLETE
Интерфейс расширяемого коммутатора сигнализирует границе протокола расширяемого коммутатора о выдаче этого идентификатора OID по завершении операции восстановления данных времени выполнения для сетевого адаптера расширяемого коммутатора.
Этот запрос OID уведомляет расширение о том, что операция восстановления завершена только для указанного сетевого адаптера расширяемого коммутатора.
Дополнительные сведения об этом запросе OID см. в разделе OID_SWITCH_NIC_RESTORE_COMPLETE.
Во время операции восстановления данных во время выполнения пограничный протокол расширяемого коммутатора выдает запросы OID OID_SWITCH_NIC_RESTORE и OID_SWITCH_NIC_RESTORE_COMPLETE для сетевого интерфейса дочернего раздела Hyper-V подключен. Если восстанавливается несколько дочерних секций Hyper-V, ребро протокола выдает отдельные наборы OID_SWITCH_NIC_RESTORE и OID_SWITCH_NIC_RESTORE_COMPLETE запросов для каждого подключения к сетевому интерфейсу.
Примечание Граница протокола расширяемого коммутатора не будет чередуть операции восстановления для данных времени выполнения для одного сетевого адаптера. Ребро протокола запустит операцию восстановления данных во время выполнения для сетевой карты только после завершения предыдущей операции восстановления на той же сетевой адаптере. Однако пограничный протокол может запустить операцию восстановления для сетевого адаптера, в то время как другая операция восстановления выполняется для другой сетевой карты. В связи с этим настоятельно рекомендуется, чтобы расширения выполняли операции восстановления не чередующимся способом. Например, расширения не должны предполагать, что новая операция восстановления не может запуститься на другом сетевом адаптере до завершения текущей операции восстановления для другого сетевого адаптера.
Дополнительные сведения об этом запросе OID см. в статье Восстановление расширяемого коммутатора Hyper-V Run-Time данных.