Partager via


Opérations de restauration de 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 de commutateur extensible Hyper-V peut restaurer les données d’exécution relatives à une carte réseau de 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 du protocole du commutateur extensible pour émettre une demande de jeu d’OID de 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 .

Lorsqu’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é précédemment enregistrées via des requêtes OID de OID_SWITCH_NIC_SAVE et de OID_SWITCH_NIC_SAVE_COMPLETE.

Lorsqu’elle reçoit la demande OID_SWITCH_NIC_RESTORE , l’extension de commutateur extensible doit d’abord déterminer si elle est propriétaire des données d’exécution. Pour ce faire, le pilote compare la valeur du membre ExtensionId de la structure NDIS_SWITCH_NIC_SAVE_STATE à la valeur GUID que le pilote utilise pour s’identifier.

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é par le pilote.

    Note La valeur du membre PortId 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 des données d’exécution ont été enregistrées pendant une migration dynamique d’un hôte à un autre. Toutefois, la configuration de la carte réseau de commutateur extensible est conservée pendant la migration dynamique. Cela permet à l’extension de restaurer les données d’exécution sur la carte réseau de commutateur extensible à l’aide de la nouvelle valeur PortId .

  2. L’extension termine la demande de jeu d’OID avec NDIS_STATUS_SUCCESS.

Si l’extension ne possède pas les données d’exécution, elle doit appeler NdisFOidRequest. Cette opération transfère la demande de méthode OID aux extensions sous-jacentes dans la pile du pilote 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 au bord du protocole du commutateur extensible l’émission de cet OID à la fin de l’opération de restauration des données d’exécution pour une carte réseau de commutateur extensible.

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

Pour plus d’informations sur cette requête OID, consultez OID_SWITCH_NIC_RESTORE_COMPLETE.

Pendant l’opération de restauration des données d’exécution, le bord du protocole du commutateur extensible émet des requêtes OID de OID_SWITCH_NIC_RESTORE et OID_SWITCH_NIC_RESTORE_COMPLETE pour 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 OID_SWITCH_NIC_RESTORE_COMPLETE demandes pour chaque connexion d’interface réseau.

Note Le bord du protocole du commutateur extensible n’entrelacera 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 tandis qu’une autre opération de restauration est en cours pour une autre carte réseau. Pour cette raison, nous recommandons vivement que les extensions effectuent des opérations de restauration de manière non entrelacée. 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 qu’une opération de restauration en cours ne soit terminée pour une autre carte réseau.

Pour plus d’informations sur cette requête OID, consultez Restauration de données Run-Time de commutateur extensible Hyper-V.