Partager via


Opérations de Restauration du Commutateur Extensible Hyper-V

Lorsqu’une partition enfant Hyper-V est redémarrée après son arrêt ou sa migration dynamique, l’état d’exécution de la partition est restauré. Pendant l’opération de restauration, un pilote d'extension pour commutateur extensible Hyper-V peut restaurer des données d’exécution concernant un adaptateur de réseau pour commutateur extensible.

Lorsqu'une opération de restauration est effectuée sur une partition enfant Hyper-V, l'interface de commutateur extensible signale au bord protocolaire du commutateur extensible d'émettre une requête de configuration de l’OID OID_SWITCH_NIC_RESTORE. Le membre InformationBuffer de la structure NDIS_OID_REQUEST de la requête OID_SWITCH_NIC_RESTORE contient un pointeur vers une structure NDIS_SWITCH_NIC_SAVE_STATE .

Quand elle gère cette requête OID, l’extension restaure les données d’exécution de la carte réseau. Ces données d’exécution ont été enregistrées précédemment par le biais de requêtes OID de OID_SWITCH_NIC_SAVE et de OID_SWITCH_NIC_SAVE_COMPLETE .

Lorsqu’elle reçoit la requête OID_SWITCH_NIC_RESTORE , l’extension de commutateur extensible doit d’abord déterminer si elle possède les données d’exécution. Le pilote effectue cette opération en comparant la valeur du membre ExtensionId de la structure NDIS_SWITCH_NIC_SAVE_STATE à la valeur GUID utilisée par le pilote pour s’identifier elle-même.

Si l’extension possède les données d’exécution, elle restaure ces données de la manière suivante :

  1. L’extension copie les données d’exécution dans le membre SaveData dans le stockage alloué au pilote.

    Remarque La valeur du portId membre de la structure NDIS_SWITCH_NIC_SAVE_STATE peut être différente de la valeur portId au moment où les données d’exécution ont été enregistrées. Cela peut se produire si les données d’exécution ont été enregistrées pendant une migration dynamique d’un hôte vers un autre. Toutefois, la configuration de la carte réseau de commutateur extensible est conservée pendant la migration en direct. Cela permet à l’extension de restaurer les données d’exécution sur la carte d'interface réseau du commutateur extensible à l’aide de la nouvelle valeur PortId.

  2. L’extension termine la requête de jeu OID avec NDIS_STATUS_SUCCESS.

Si l’extension ne possède pas les données d’exécution, elle doit appeler NdisFOidRequest. Cela transfère la demande de méthode OID aux extensions sous-jacentes dans la pile de pilotes de commutateur extensible. Pour plus d’informations sur cette procédure, consultez filtrage des requêtes OID dans un pilote de filtre NDIS.

OID_SWITCH_NIC_RESTORE_COMPLETE
L’interface de commutateur extensible signale le bord du protocole du commutateur extensible pour émettre cet OID à l’achèvement de l’opération de restauration des données d’exécution pour une carte réseau de commutateur extensible.

Cette demande OID avertit l’extension que l’opération de restauration s’est terminée uniquement pour une carte réseau de commutateur extensible spécifiée.

Pour plus d’informations sur cette demande OID, consultez OID_SWITCH_NIC_RESTORE_COMPLETE.

Pendant l’opération de restauration pour les données en temps réel, la périphérie du protocole du commutateur extensible émet des requêtes OID de OID_SWITCH_NIC_RESTORE et OID_SWITCH_NIC_RESTORE_COMPLETE lorsque l'interface réseau d'une partition enfant Hyper-V est connectée. Si plusieurs partitions enfants Hyper-V sont restaurées, la périphérie du protocole émet des ensembles distincts de OID_SWITCH_NIC_RESTORE et de requêtes OID_SWITCH_NIC_RESTORE_COMPLETE pour chaque connexion d’interface réseau.

Note Le bord du protocole du commutateur extensible n’interlace pas les opérations de restauration pour les données d’exécution pour la même carte réseau. La périphérie du protocole démarre une opération de restauration de données au moment de l’exécution pour une carte réseau uniquement une fois qu’une opération de restauration précédente s’est terminée sur la même carte réseau. Toutefois, la périphérie du protocole peut démarrer une opération de restauration pour une carte réseau alors qu’une autre opération de restauration est en cours pour une autre carte réseau. En raison de cela, nous recommandons vivement que les extensions effectuent des opérations de restauration sans intercalage. Par exemple, les extensions ne doivent pas supposer qu’une nouvelle opération de restauration ne peut pas démarrer sur une autre carte réseau avant la fin d’une opération de restauration en cours pour une autre carte réseau.

Pour plus d'informations sur cette demande d'OID, voir Restauration des données du commutateur extensible Hyper-V Run-Time.