Partager via


Indications d’état NDIS d’origine à partir de cartes réseau physiques

Cette rubrique décrit la méthode utilisée par une extension de transfert de commutateur extensible pour créer NDIS status indications pour une carte réseau connectée au commutateur. L’extension peut provenir d’une indication de status NDIS pour les types d’adaptateurs suivants :

  • Une ou plusieurs cartes physiques sous-jacentes liées à la carte réseau externe du commutateur extensible.

    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.

  • Carte réseau de machine virtuelle exposée dans une partition enfant Hyper-V et connectée à un port de commutateur extensible.

La figure suivante montre le chemin de contrôle du commutateur extensible Hyper-V pour NDIS status indications des cartes réseau physiques et de machines virtuelles 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 et de machines virtuelles 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 et de machines virtuelles 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 et de machines virtuelles pour NDIS 6.30.

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

Une extension de transfert peut provenir d’un déchargement matériel encapsulé status indications de sur-position des pilotes dans la pile de pilotes de commutateur extensible. Cela permet également à l’extension de modifier les fonctionnalités de déchargement actuelles de l’équipe sous-jacente de cartes physiques liées à la carte réseau externe du commutateur extensible. Lorsqu’une équipe d’adaptateurs est liée à la carte réseau externe, seules les fonctionnalités courantes de l’équipe sont publiées sur NDIS ou sur les pilotes de protocole et de filtrage. L’extension peut étendre les fonctionnalités publiées en créant des indications status encapsulées pour publier des fonctionnalités prises en charge par certains adaptateurs de l’équipe. Par exemple, l’extension peut émettre une indication NDIS_STATUS_RECEIVE_FILTER_CURRENT_CAPABILITIES encapsulée pour modifier les fonctionnalités de filtre de réception actuellement activées pour l’ensemble de l’équipe.

Note Seules les extensions de transfert peuvent provenir d’indications status encapsulées. Pour plus d’informations sur ce type d’extension, consultez Transfert d’extension.

En règle générale, l’extension de transfert provient de NDIS encapsulé status indications pour modifier les fonctionnalités de déchargement matériel publiées de la carte physique sous-jacente. Par exemple, l’extension peut provenir status indications pour les types de déchargements matériels suivants :

  • Sécurité du protocole Internet (IPsec).

  • File d’attente de machines virtuelles (VMQ).

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

L’extension de transfert peut également provenir de NDIS encapsulé status des indications pour modifier les ressources de déchargement matérielles allouées à une partition enfant Hyper-V. À compter de NDIS 6.30, l’extension peut émettre une indication NDIS_STATUS_SWITCH_PORT_REMOVE_VF encapsulée pour supprimer la liaison entre une carte réseau de machine virtuelle et une fonction virtuelle PCI Express (PCIe). La VF est exposée et prise en charge par une carte réseau physique sous-jacente qui prend en charge l’interface de virtualisation d’E/S racine unique (SR-IOV ).

Si l’extension de transfert provient d’un NDIS encapsulé status indication pour les ressources de déchargement matériel d’une carte physique sous-jacente, elle doit définir les membres de la structure NDIS_SWITCH_NIC_STATUS_INDICATION de la manière suivante :

  • 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 SourcePortId doit être défini sur l’identificateur du port de commutateur extensible auquel la carte réseau externe est connectée.

  • 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.

    Note L’extension de transfert doit également définir ce membre sur NDIS_SWITCH_DEFAULT_NIC_INDEX si une seule carte réseau physique est liée à la carte réseau externe.

  • 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.

Si l’extension de transfert est à l’origine d’un NDIS status indication pour les ressources de déchargement matériel d’une partition enfant Hyper-V, elle doit définir les membres de la structure NDIS_SWITCH_NIC_STATUS_INDICATION de la manière suivante :

  • Les membres DestinationPortId et DestinationNicIndex doivent être définis sur les valeurs correspondantes du port et de l’index de carte réseau pour la connexion réseau utilisée par la partition.

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

  • Le membre SourceNicIndex 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.

Lorsque l’extension é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 connexion de carte réseau source ou de destination. 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 les paramètres de la manière suivante :

    • Si l’extension de transfert est à l’origine d’une indication NDIS encapsulée status pour une carte physique sous-jacente, 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 .

    • Si l’extension de transfert est à l’origine d’une indication de status NDIS pour une partition enfant Hyper-V, elle définit le paramètre SwitchPortId sur la valeur spécifiée pour le membre DestinationPortId. L’extension définit également le paramètre SwitchNicIndex sur la valeur spécifiée pour le membre DestinationNicIndex .

    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 requête OID filtré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.