Hyper-V Operações de restauração de switch extensível
Quando uma partição subordinada Hyper-V é reiniciada depois de ter sido interrompida ou migrada ao vivo, o estado em tempo de execução da partição é restaurado. Durante a operação de restauração, um driver de extensão de switch extensível Hyper-V pode restaurar dados de execução sobre um adaptador de rede de switch extensível (NIC).
Quando uma operação de restauração está a ser executada numa partição subordinada Hyper-V, a interface do switch extensível sinaliza a borda do protocolo do switch extensível para emitir uma solicitação OID de conjunto de OID_SWITCH_NIC_RESTORE. O InformationBuffer membro da estrutura NDIS_OID_REQUEST para a solicitação OID_SWITCH_NIC_RESTORE contém um ponteiro para uma estrutura NDIS_SWITCH_NIC_SAVE_STATE.
Quando a extensão processa este pedido OID, restaura os dados de execução em tempo real para o adaptador de rede. Esses dados de runtime foram guardados anteriormente por meio de solicitações OID de OID_SWITCH_NIC_SAVE e OID_SWITCH_NIC_SAVE_COMPLETE.
Quando recebe a solicitação de OID_SWITCH_NIC_RESTORE, a extensão de switch extensível deve primeiro determinar se possui os dados de tempo de execução. O driver faz isso comparando o valor do ExtensionId membro da estrutura NDIS_SWITCH_NIC_SAVE_STATE com o valor GUID que o driver usa para se identificar.
Se a extensão possuir os dados de tempo de execução, ela restaurará esses dados da seguinte maneira:
A extensão copia os dados de tempo de execução no membro SaveData para o armazenamento alocado pelo driver.
Observação O valor do PortId membro da estrutura NDIS_SWITCH_NIC_SAVE_STATE pode ser diferente do valor PortId no momento em que os dados de tempo de execução foram salvos. Isso pode ocorrer se os dados em tempo de execução foram salvos durante uma migração ao vivo de um host para outro. No entanto, a configuração da NIC do switch extensível é mantida durante a Migração em Tempo Real. Isso permite que a extensão restaure os dados de tempo de execução para a NIC do switch extensível usando o novo valor PortId.
A extensão completa o pedido de definição de OID com NDIS_STATUS_SUCCESS.
Se a extensão não possuir os dados de tempo de execução, ela deverá chamar NdisFOidRequest. Isso encaminha a solicitação do método OID para extensões subjacentes na pilha de driver de switch extensível. Para obter mais informações sobre este procedimento, consulte Filtrando solicitações OID num driver de filtro NDIS.
OID_SWITCH_NIC_RESTORE_COMPLETE
A interface do switch extensível sinaliza o limite do protocolo do switch extensível para emitir este OID na conclusão da operação de restauração dos dados em tempo real para uma NIC de um switch extensível.
Essa solicitação OID notifica a extensão de que a operação de restauração foi concluída somente para uma NIC de switch extensível especificada.
Para obter mais informações sobre esta solicitação OID, consulte OID_SWITCH_NIC_RESTORE_COMPLETE.
Durante a operação de restauração dos dados em tempo de execução, a borda de protocolo do switch extensível emite solicitações OID de OID_SWITCH_NIC_RESTORE e OID_SWITCH_NIC_RESTORE_COMPLETE para a interface de rede quando uma partição filha Hyper-V está conectada. Se várias partições filho Hyper-V forem restauradas, a borda do protocolo emitirá conjuntos separados de solicitações OID_SWITCH_NIC_RESTORE e OID_SWITCH_NIC_RESTORE_COMPLETE para cada conexão de interface de rede.
Nota A borda de protocolo do switch extensível não irá intercalar operações de restauro para dados de execução em tempo real da mesma NIC. A periferia do protocolo iniciará uma operação de restauração de dados em tempo de execução para uma NIC apenas depois que uma operação de restauração anterior tiver sido concluída na mesma NIC. No entanto, a borda do protocolo pode iniciar uma operação de restauração num NIC enquanto outra operação de restauração está em andamento noutro NIC. Por isso, é altamente recomendável que as extensões executem operações de restauração de forma não intercalada. Por exemplo, as extensões não devem assumir que uma nova operação de restauração não pode ser iniciada em outra NIC antes que uma operação de restauração em andamento seja concluída para uma NIC diferente.
Para obter mais informações sobre essa solicitação de OID, consulte Restaurando Hyper-V switch extensível Run-Time dados.