Partager via


Réception de requêtes OID concernant les modifications de configuration du commutateur extensible Hyper-V

L’interface de commutateur extensible avertit les extensions sous-jacentes des modifications apportées à la configuration du composant de commutateur extensible et aux paramètres de stratégie en émettant des demandes de jeu d’identificateur d’objet de commutateur extensible (OID). Ces demandes sont émises par la périphérie du protocole du commutateur extensible pour informer les extensions sous-jacentes des modifications apportées aux paramètres de stratégie et de configuration du composant de commutateur extensible. Ces demandes OID se déplacent à travers la pile de pilotes de commutateur extensible jusqu’au bord du miniport sous-jacent du commutateur extensible.

La figure suivante montre le chemin de contrôle de commutateur extensible pour les requêtes OID pour NDIS 6.40 (Windows Server 2012 R2) et versions ultérieures.

Diagramme montrant le chemin de contrôle de commutateur extensible pour les requêtes OID dans NDIS 6.40.

La figure suivante montre le chemin de contrôle de commutateur extensible pour les requêtes OID pour NDIS 6.30 (Windows Server 2012).

Diagramme montrant le chemin de contrôle de commutateur extensible pour les requêtes OID dans NDIS 6.30.

Note Dans l’interface de commutateur extensible, les pilotes de filtre NDIS sont appelés extensions de commutateur extensible et la pile de pilotes est appelée pile de pilotes de commutateur extensible.

Le bord du protocole du commutateur extensible émet des demandes de jeu d’OID pour les types de notifications suivants :

  • Modifications apportées à la configuration du port sur le commutateur extensible.

    Par exemple, le pilote de protocole émet des problèmes OID_SWITCH_PORT_CREATE pour informer les extensions sous-jacentes de la création d’un port sur le commutateur extensible. De même, le pilote de protocole émet des OID_SWITCH_PORT_DELETE pour notifier les extensions de la suppression d’un port.

    Pour plus d’informations sur ce type de notification OID, consultez Ports de commutateur extensible Hyper-V.

  • Modifications apportées à la connexion de la carte réseau à un port sur le commutateur extensible.

    Par exemple, le pilote de protocole émet des problèmes OID_SWITCH_NIC_CONNECT pour notifier les extensions sous-jacentes de la connexion d’une carte réseau à un port sur le commutateur extensible. De même, le pilote de protocole émet des problèmes OID_SWITCH_NIC_DISCONNECT pour notifier les extensions que la carte réseau a été déconnectée du port.

    Pour plus d’informations sur ce type de notification OID, consultez Cartes réseau de commutateur extensible Hyper-V.

  • Modifications apportées au port de commutateur extensible ou aux stratégies de commutateur.

    Par exemple, le pilote de protocole émet des problèmes OID_SWITCH_PROPERTY_ADD pour informer les extensions sous-jacentes de l’ajout d’une propriété de commutateur extensible. De même, le pilote de protocole émet des OID_SWITCH_PORT_PROPERTY_DELETE pour notifier les extensions de la suppression d’une propriété de port.

    Pour plus d’informations sur ce type de notification OID, consultez Gestion des stratégies de commutateur extensible Hyper-V.

    Note L’extension n’est pas informée des modifications apportées aux stratégies de port ou de commutateur par défaut gérées par le bord de miniport sous-jacent du commutateur extensible.

  • Enregistrez ou restaurez les données de port d’exécution.

    Par exemple, le pilote de protocole émet des problèmes OID_SWITCH_NIC_SAVE pour notifier les extensions sous-jacentes afin d’enregistrer les données d’exécution pour un port spécifié sur le commutateur extensible. Ces OID sont émis lorsque l’état Hyper-V est en cours d’enregistrement ou de migration vers un autre hôte. De même, le pilote de protocole émet des problèmes OID_SWITCH_NIC_RESTORE pour avertir les extensions que les données de port d’exécution sont restaurées sur le commutateur extensible.

    Pour plus d’informations sur ce type de notification OID, consultez Gestion du commutateur extensible Hyper-V Run-Time Data.

Le pilote miniport d’extension de commutateur extensible est chargé d’effectuer ces demandes OID. Toutefois, avec certaines demandes OID de commutateur extensibles, une extension sous-jacente peut échouer à une demande OID pour opposer son veto à une notification. Par exemple, lorsque le pilote de protocole de commutateur extensible avertit les pilotes de filtre d’un nouveau port qui sera créé sur le commutateur extensible, il émet une demande de jeu d’OID de OID_SWITCH_PORT_CREATE. Une extension de filtrage ou de transfert sous-jacente peut opposer son veto à la création du port en effectuant la requête OID avec STATUS_DATA_NOT_ACCEPTED.

L’extension de commutateur extensible doit suivre ces instructions lorsque sa fonction FilterOidRequest est appelée pour une requête OID de commutateur extensible :

  • L’extension ne doit pas modifier les données pointées par le paramètre OidRequest .

  • Pour certaines requêtes OID de commutateur extensible, l’extension peut terminer la requête OID avec STATUS_DATA_NOT_ACCEPTED. Cela met son veto à l’opération sur un composant de commutateur extensible pour lequel la requête OID a été émise.

    Par exemple, l’extension peut terminer la requête OID_SWITCH_NIC_CREATE avec STATUS_DATA_NOT_ACCEPTED. Le pilote peut avoir besoin de le faire s’il ne peut pas satisfaire ses stratégies configurées sur le port spécifié pour lequel la connexion réseau est créée.

    L’extension peut terminer les demandes de cette manière pour les OID suivants :

  • Si l’extension ne termine pas la requête OID, elle doit appeler NdisFOidRequest pour transférer la requête vers le bas de la pile du pilote de commutateur extensible.

    Note Avant que le pilote appelle NdisFOidRequest, le pilote doit appeler NdisAllocateCloneOidRequest pour allouer une structure NDIS_OID_REQUEST et transférer les informations de demande à la nouvelle structure.

    L’extension doit surveiller le résultat de l’achèvement de la requête OID lorsque sa fonction FilterOidRequestComplete est appelée. Cela permet à l’extension de déterminer si l’opération sur un composant de commutateur extensible s’est terminée avec succès ou a été bloquée par une extension sous-jacente.

    Pour plus d’informations sur le filtrage et le transfert d’une requête OID, consultez Filtrage des requêtes OID dans un pilote de filtre NDIS.

  • Les pilotes NDIS et les pilotes de protocole et de filtres overlying peuvent émettre des demandes OID pour les technologies de déchargement matériel sur la carte réseau physique sous-jacente. Cela inclut les demandes OID pour les technologies de déchargement, telles que la file d’attente de machines virtuelles (VMQ), la sécurité du protocole Internet (IPsec) et la virtualisation d’E/S racine unique (SR-IOV).

    Lorsque ces requêtes OID arrivent à l’interface de commutateur extensible, elle encapsule la requête OID à l’intérieur d’un NDIS_SWITCH_NIC_OID_REQUEST. Ensuite, le bord du protocole du commutateur extensible émet une requête OID de OID_SWITCH_NIC_REQUEST qui contient cette structure.

  • Une extension de transfert de commutateur extensible peut prendre en charge une technologie de déchargement matériel NDIS sur une ou plusieurs cartes physiques liées à la carte réseau externe. Dans cette configuration, la carte réseau externe de commutateur extensible est liée au bord de miniport virtuel d’un pilote intermédiaire de multiplexeur NDIS (MUX). Le pilote intermédiaire MUX est lié à une équipe d’un ou plusieurs réseaux physiques sur l’hôte. Cette configuration est connue sous le nom d’équipe de commutateur extensible. Pour plus d’informations sur les équipes de commutateur extensibles, consultez Types de configurations de cartes réseau physiques.

    Dans cette configuration, les extensions de commutateur extensible sont exposées à chaque carte réseau de l’équipe. Cela permet à l’extension de transfert dans la pile de pilotes de commutateur extensible de gérer la configuration et l’utilisation de cartes réseau individuelles dans l’équipe. Par exemple, l’extension peut prendre en charge une solution de basculement d’équilibrage de charge (LBFO) sur l’équipe en transférant les paquets sortants vers des adaptateurs individuels. Une telle extension est connue sous le nom de fournisseur d’association. Pour plus d’informations sur les fournisseurs d’association, consultez Extensions du fournisseur d’association.

    En gérant la demande OID de OID_SWITCH_NIC_REQUEST, les fournisseurs d’association peuvent participer à la configuration de l’équipe d’adaptateurs pour les déchargements matériels. Par exemple, l’extension peut générer sa propre demande OID de OID_SWITCH_NIC_REQUEST pour configurer une carte physique avec des paramètres pour le déchargement matériel.

    Pour plus d’informations sur la gestion de la requête OID OID_SWITCH_NIC_REQUEST , consultez Transfert de requêtes OID à des cartes réseau physiques.

    Note Les pilotes de filtre d’extension peuvent générer des requêtes OID de OID_SWITCH_NIC_REQUEST pour émettre des OID privés sur toute carte physique liée à la carte réseau externe du commutateur extensible.

Note Les demandes de redémarrage de la pile à l’aide de NdisFRestartFilter ne se terminent pas tant qu’une demande OID de commutateur extensible est en attente. Pour cette raison, une extension qui attend un redémarrage de la pile doit effectuer toutes les demandes OID en cours.

Pour plus d’informations sur le chemin de contrôle pour les requêtes OID de commutateur extensible, consultez Chemin de contrôle de commutateur extensible Hyper-V pour les requêtes OID.