Partager via


Transfert des indications d’état NDIS à partir de cartes réseau physiques

Cette rubrique décrit la méthode utilisée par les extensions de transfert de commutateur extensible pour transférer des indications de status NDIS à partir d’une carte physique sous-jacente. Une ou plusieurs cartes physiques sous-jacentes peuvent être liées à la carte réseau externe du commutateur extensible Hyper-V.

Par exemple, la carte réseau externe peut être liée au bord de miniport virtuel d’un pilote intermédiaire de multiplexeur NDIS (MUX). Le pilote 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.

Dans cette configuration, une extension de commutateur extensible est exposée à chaque carte réseau de l’équipe. Cela permet à l’extension de gérer la configuration et l’utilisation de cartes réseau individuelles dans l’équipe. Par exemple, une extension de transfert peut fournir la prise en charge d’une solution de basculement d’équilibrage de charge (LBFO) sur l’équipe en transférant les paquets sortants vers des adaptateurs individuels. Une extension de transfert qui gère une équipe de commutateur extensible est appelée fournisseur d’association. Pour plus d’informations sur les fournisseurs d’association, consultez Extensions du fournisseur d’association.

La figure suivante montre le chemin de contrôle du commutateur extensible Hyper-V pour NDIS status indications des cartes réseau physiques sous-jacentes pour NDIS 6.40 (Windows Server 2012 R2) et versions ultérieures.

Diagramme montrant le chemin de contrôle du commutateur extensible Hyper-V pour NDIS status indications des cartes réseau physiques pour NDIS 6.40 et versions ultérieures.

La figure suivante montre le chemin de contrôle du commutateur extensible Hyper-V pour NDIS status indications des cartes réseau physiques sous-jacentes pour NDIS 6.30 (Windows Server 2012).

Diagramme montrant le chemin de contrôle du commutateur extensible Hyper-V pour NDIS status indications des cartes réseau physiques pour 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.

L’interface de commutateur extensible transfère NDIS status indications générées par les adaptateurs physiques sous-jacents. Si une carte réseau externe est liée à une équipe de commutateur extensible, l’indication de status NDIS provient de la périphérie de la carte virtuelle d’un pilote MUX. Sinon, l’indication status provient de la carte réseau physique unique liée à la carte réseau externe.

Lorsqu’une indication de status NDIS arrive à l’interface de commutateur extensible, elle encapsule l’indication à l’intérieur d’une structure NDIS_SWITCH_NIC_STATUS_INDICATION. Ensuite, le bord miniport du commutateur extensible émet une indication NDIS_STATUS_SWITCH_NIC_STATUS qui contient cette structure.

Une fois que l’extension de transfert reçoit l’indication NDIS status, elle peut transférer les données d’indication d’origine ou modifier les données avant de transférer l’indication.

Note Seules les extensions de transfert peuvent modifier les données avant de transférer l’indication status. Pour plus d’informations sur ce type d’extension, consultez Transfert d’extension.

Une extension de transfert peut modifier et transférer status indications de toute carte physique sous-jacente liée à la carte réseau externe du commutateur extensible. En règle générale, l’extension émet ces status indications pour modifier les fonctionnalités de déchargement matériel publiées de l’adaptateur physique sous-jacent. Par exemple, l’extension peut modifier et transférer status indications pour les types de déchargements matériels suivants :

  • Sécurité du protocole Internet (IPsec)

  • File d’attente de machines virtualisées (VMQ)

  • Virtualisation d’E/S racine unique (SR-IOV)

Si l’extension de transfert transfère une indication de status NDIS, elle doit définir les membres de la structure NDIS_SWITCH_NIC_STATUS_INDICATION de la manière suivante :

  • Le membre SourcePortId doit être défini sur l’identificateur du port auquel la carte réseau externe est connectée. La carte réseau externe est liée à une ou plusieurs cartes physiques. Pour plus d’informations, consultez Cartes réseau externes.

  • Le membre SourceNicIndex doit être défini sur NDIS_SWITCH_DEFAULT_NIC_INDEX. Cela permet d’interpréter l’indication status comme provenant de l’ensemble de l’équipe de commutateur extensible liée à la carte réseau externe.

  • Le membre DestinationPortId doit être défini sur NDIS_SWITCH_DEFAULT_PORT_ID.

  • Le membre DestinationNicIndex doit être défini sur NDIS_SWITCH_DEFAULT_NIC_INDEX.

  • Le membre StatusIndication doit être défini sur un pointeur vers une structure NDIS_STATUS_INDICATION . Cette structure contient les données de l’indication de status NDIS encapsulée.

Lorsqu’une extension de transfert émet l’indication de status NDIS encapsulée, elle doit suivre les étapes suivantes :

  1. L’extension appelle ReferenceSwitchNic pour incrémenter un compteur de références pour la carte réseau externe. Cela garantit que l’interface de commutateur extensible ne supprime pas la connexion de la carte réseau alors que son compteur de référence est différent de zéro.

    Lorsque l’extension appelle ReferenceSwitchNic, elle définit le paramètre SwitchPortId sur la valeur spécifiée pour le membre SourcePortId . L’extension définit également le paramètre SwitchNicIndex sur la valeur spécifiée pour le membre SourceNicIndex .

    Note Si ReferenceSwitchNic ne retourne pas NDIS_STATUS_SUCCESS, l’indication de status NDIS encapsulée ne peut pas être émise.

  2. L’extension appelle NdisFIndicateStatus pour transférer la notification status encapsulée.

    Note Si l’extension transfère une indication de status NDIS encapsulée, elle doit appeler NdisFIndicateStatus dans le contexte de l’appel à sa fonction FilterStatus.

  3. Une fois que NdisFIndicateStatus est retourné, l’extension appelle DereferenceSwitchNic pour effacer le compteur de référence pour la connexion de la carte réseau source ou de destination. L’extension définit les paramètres SwitchPortId et SwitchNicIndex sur les mêmes valeurs que celles utilisées dans l’appel à ReferenceSwitchNic.

Pour plus d’informations sur les pilotes MUX, consultez Pilotes intermédiaires MUX NDIS.