Operazioni di ripristino del commutatore estendibile Hyper-V
Quando una partizione figlio Hyper-V viene riavviata dopo l'arresto o la migrazione in tempo reale, viene ripristinato lo stato di runtime della partizione. Durante l'operazione di ripristino, un driver di estensione del commutatore estendibile Hyper-V può ripristinare i dati di runtime relativi a una scheda di rete del commutatore estendibile.
Quando viene eseguita un'operazione di ripristino in una partizione figlio Hyper-V, l'interfaccia del commutatore estendibile segnala il bordo del protocollo del commutatore estendibile per emettere una richiesta di set OID di OID_SWITCH_NIC_RESTORE. Il membro InformationBuffer della struttura NDIS_OID_REQUEST per la richiesta di OID_SWITCH_NIC_RESTORE contiene un puntatore a una struttura NDIS_SWITCH_NIC_SAVE_STATE .
Quando gestisce questa richiesta OID, l'estensione ripristina i dati di runtime per la scheda di rete. Questi dati di runtime sono stati precedentemente salvati tramite richieste OID di OID_SWITCH_NIC_SAVE e OID_SWITCH_NIC_SAVE_COMPLETE.
Quando riceve la richiesta di OID_SWITCH_NIC_RESTORE , l'estensione del commutatore estendibile deve innanzitutto determinare se è proprietaria dei dati di runtime. Il driver esegue questa operazione confrontando il valore del membro ExtensionId della struttura NDIS_SWITCH_NIC_SAVE_STATE con il valore GUID usato dal driver per identificarsi.
Se l'estensione è proprietaria dei dati di runtime, i dati vengono ripristinati nel modo seguente:
L'estensione copia i dati di runtime nel membro SaveData nella risorsa di archiviazione allocata dal driver.
Nota Il valore del membro PortId della struttura NDIS_SWITCH_NIC_SAVE_STATE può essere diverso dal valore PortId al momento del salvataggio dei dati in fase di esecuzione. Ciò può verificarsi se i dati di runtime sono stati salvati durante una migrazione in tempo reale da un host a un altro. Tuttavia, la configurazione della scheda di interfaccia di rete del commutatore estendibile viene mantenuta durante la migrazione in tempo reale. In questo modo l'estensione consente di ripristinare i dati di runtime nella scheda di interfaccia di rete del commutatore estendibile usando il nuovo valore PortId .
L'estensione completa la richiesta del set OID con NDIS_STATUS_SUCCESS.
Se l'estensione non possiede i dati di runtime, deve chiamare NdisFOidRequest. In questo modo, la richiesta del metodo OID viene inoltrata alle estensioni sottostanti nello stack di driver del commutatore estendibile. Per altre informazioni su questa procedura, vedere Filtro delle richieste OID in un driver di filtro NDIS.
OID_SWITCH_NIC_RESTORE_COMPLETE
L'interfaccia del commutatore estendibile segnala il bordo del protocollo del commutatore estendibile per eseguire questo OID al completamento dell'operazione di ripristino dei dati di runtime per una scheda di interfaccia di rete del commutatore estendibile.
Questa richiesta OID notifica all'estensione che l'operazione di ripristino è stata completata solo per una scheda di interfaccia di rete estendibile specificata.
Per altre informazioni su questa richiesta OID, vedere OID_SWITCH_NIC_RESTORE_COMPLETE.
Durante l'operazione di ripristino per i dati di runtime, il bordo del protocollo del commutatore estendibile genera richieste OID di OID_SWITCH_NIC_RESTORE e OID_SWITCH_NIC_RESTORE_COMPLETE per l'interfaccia di rete di una partizione figlio Hyper-V è connessa. Se vengono ripristinate più partizioni figlio Hyper-V, la rete perimetrale del protocollo genera set separati di OID_SWITCH_NIC_RESTORE e OID_SWITCH_NIC_RESTORE_COMPLETE richieste per ogni connessione all'interfaccia di rete.
Nota Il bordo del protocollo dell'interruttore estendibile non interleaverà le operazioni di ripristino per i dati in fase di esecuzione per la stessa scheda di interfaccia di rete. Il perimetro del protocollo avvierà un'operazione di ripristino dei dati in fase di esecuzione per una scheda di interfaccia di rete solo dopo il completamento di un'operazione di ripristino precedente nella stessa scheda di interfaccia di rete. Tuttavia, il perimetro del protocollo può avviare un'operazione di ripristino per una scheda di interfaccia di rete mentre è in corso un'altra operazione di ripristino per un'altra scheda di interfaccia di rete. Per questo motivo, è consigliabile che le estensioni eseguano operazioni di ripristino in modo non interleaved. Ad esempio, le estensioni non devono presupporre che una nuova operazione di ripristino non possa essere avviata su un'altra scheda di interfaccia di rete prima che un'operazione di ripristino in corso sia stata completata per una scheda di interfaccia di rete diversa.
Per altre informazioni su questa richiesta OID, vedere Ripristino del commutatore estendibile Hyper-V Run-Time Dati.