Compartilhar via


Operações de restauração de comutador extensível do Hyper-V

Quando uma partição filho do Hyper-V é reiniciada após ser interrompida ou migrada ao vivo, o estado de tempo de execução da partição é restaurado. Durante a operação de restauração, um driver de extensão de comutador extensível do Hyper-V pode restaurar dados em tempo de execução sobre um adaptador de rede comutador extensível (NIC).

Quando uma operação de restauração está sendo executada em uma partição filho do Hyper-V, a interface de comutador extensível sinaliza a borda do protocolo da opção extensível para emitir uma solicitação de conjunto OID de OID_SWITCH_NIC_RESTORE. O membro InformationBuffer da estrutura NDIS_OID_REQUEST da solicitação OID_SWITCH_NIC_RESTORE contém um ponteiro para uma estrutura NDIS_SWITCH_NIC_SAVE_STATE .

Quando ele lida com essa solicitação de OID, a extensão restaura os dados em tempo de execução para o adaptador de rede. Esses dados em tempo de execução foram salvos 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 comutador extensível deve primeiro determinar se ela possui os dados em tempo de execução. O driver faz isso comparando o valor do membro ExtensionId 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 em tempo de execução, ela restaurará esses dados da seguinte maneira:

  1. A extensão copia os dados em tempo de execução no membro SaveData para o armazenamento alocado pelo driver.

    Nota O valor do membro PortId da estrutura NDIS_SWITCH_NIC_SAVE_STATE pode ser diferente do valor de PortId no momento em que os dados em 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 de comutador extensível é mantida durante a Migração Dinâmica. Isso permite que a extensão restaure os dados em tempo de execução para a NIC de comutador extensível usando o novo valor PortId .

  2. A extensão conclui a solicitação de conjunto de OID com NDIS_STATUS_SUCCESS.

Se a extensão não possuir os dados em 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 comutador extensível. Para obter mais informações sobre esse procedimento, consulte Filtrando solicitações OID em um driver de filtro NDIS.

OID_SWITCH_NIC_RESTORE_COMPLETE
A interface de comutador extensível sinaliza a borda do protocolo do comutador extensível para emitir esse OID na conclusão da operação de restauração de dados em tempo de execução para uma NIC de comutador extensível.

Essa solicitação OID notifica a extensão de que a operação de restauração foi concluída apenas para uma NIC de comutador extensível especificada.

Para obter mais informações sobre essa solicitação de OID, consulte OID_SWITCH_NIC_RESTORE_COMPLETE.

Durante a operação de restauração para dados em tempo de execução, a borda do protocolo do comutador extensível emite solicitações OID de OID_SWITCH_NIC_RESTORE e OID_SWITCH_NIC_RESTORE_COMPLETE para o adaptador de rede de uma partição filho do Hyper-V está conectada. Se várias partições filho do Hyper-V forem restauradas, a borda do protocolo emitirá conjuntos separados de OID_SWITCH_NIC_RESTORE e OID_SWITCH_NIC_RESTORE_COMPLETE solicitações para cada conexão de interface de rede.

Nota A borda do protocolo do comutador extensível não intercalará operações de restauração para dados em tempo de execução para a mesma NIC. A borda do protocolo iniciará uma operação de restauração de dados em tempo de execução para uma NIC somente após a conclusão de uma operação de restauração anterior na mesma NIC. No entanto, a borda do protocolo pode iniciar uma operação de restauração para uma NIC enquanto outra operação de restauração está em andamento para outra NIC. Por isso, é altamente recomendável que as extensões executem operações de restauração de maneira 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 dados de Run-Time de comutador extensível do Hyper-V.