Partager via


OID_SWITCH_NIC_REQUEST

Une demande de méthode d’identificateur d’objet (OID) de OID_SWITCH_NIC_REQUEST est utilisée pour encapsuler et transférer des requêtes OID vers la carte réseau externe du commutateur extensible Hyper-V. Cela permet de remettre la requête OID encapsulée au pilote pour la carte réseau physique sous-jacente liée à la carte réseau externe.

Cette demande OID est également utilisée pour encapsuler les demandes OID qui ont été émises sur d’autres cartes réseau connectées à des ports de commutateur extensibles. Dans ce cas, la requête OID encapsulée est transférée via la pile de pilotes de commutateur extensible pour inspection par les extensions.

Le membre InformationBuffer de la structure NDIS_OID_REQUEST contient un pointeur vers une structure NDIS_SWITCH_NIC_OID_REQUEST . Cette structure spécifie les informations de transfert pour la requête OID. Cette structure contient également un pointeur vers la structure NDIS_OID_REQUEST d’origine de la requête OID en cours de transfert.

Notes

Lorsque les requêtes OID arrivent à l’interface de commutateur extensible Hyper-V, elle les encapsule afin de les transférer vers le chemin de contrôle du commutateur extensible. Ces demandes OID sont les suivantes :

  • Le matériel décharge les requêtes OID, y compris les requêtes pour la sécurité du protocole Internet (IPsec), la file d’attente de machines virtuelles (VMQ) et la virtualisation d’E/S racine unique (SR-IOV). Ces requêtes OID sont émises par un protocole ou un pilote de filtre qui s’exécute dans le système d’exploitation de gestion de la partition parente Hyper-V.

    Lorsque ces requêtes OID arrivent à l’interface de commutateur extensible, le bord du protocole du commutateur extensible encapsule la requête OID dans une structure de NDIS_SWITCH_NIC_OID_REQUEST . L’arête du protocole définit les membres de cette structure de la manière suivante :

    • Les membres DestinationPortId et DestinationNicIndex sont définis sur les valeurs correspondantes pour la carte réseau externe.

    • Si la requête OID provient d’une partition enfant Hyper-V, les membres SourcePortId et SourceNicIndex sont définis sur les valeurs correspondantes pour le port et la carte réseau utilisés par la partition. Sinon, les membres SourcePortId et SourceNicIndex sont définis sur zéro.

      Note L’extension doit conserver les valeurs de ces membres si elle transfère ou redirige la requête OID.

    • Le membre OidRequest est défini sur un pointeur vers la structure NDIS_OID_REQUEST pour la requête OID encapsulée.

    La périphérie du protocole émet ensuite la OID_SWITCH_NIC_REQUEST demande de transfert de la requête OID encapsulée vers le chemin de contrôle du commutateur extensible vers la carte réseau externe.

    Une extension de transfert sous-jacente peut rediriger les demandes OID de déchargement matériel encapsulé vers une carte réseau physique liée à la carte réseau externe. Par exemple, si l’extension prend en charge les cartes réseau physiques d’une équipe de commutateur extensible qui sont liées à la carte réseau externe, elle peut transférer la demande OID_SWITCH_NIC_REQUEST à une carte physique dans l’équipe de basculement d’équilibrage de charge (LBFO) qui prend en charge le déchargement matériel. Pour plus d’informations sur cette procédure, consultez Gestion des demandes OID de déchargement matériel sur les cartes réseau physiques.

    Pour plus d’informations sur les équipes de commutateur extensibles, consultez Types de configurations de cartes réseau physiques.

  • Requêtes OID de multidiffusion, y compris OID_802_3_ADD_MULTICAST_ADDRESS et OID_802_3_DELETE_MULTICAST_ADDRESS. Ces requêtes OID sont émises par des pilotes de protocole et de filtre qui s’exécutent soit dans le système d’exploitation de gestion, soit dans le système d’exploitation invité d’une partition enfant Hyper-V.

    Lorsque ces requêtes OID arrivent à l’interface de commutateur extensible, le bord du protocole du commutateur extensible encapsule la requête OID dans une structure de NDIS_SWITCH_NIC_OID_REQUEST . La périphérie du protocole définit également les membres SourcePortId et SourceNicIndex sur les valeurs correspondantes pour le port et la carte réseau d’où provient la demande OID. La périphérie du protocole émet ensuite la OID_SWITCH_NIC_REQUEST demande de transfert de la requête OID encapsulée vers le chemin de contrôle du commutateur extensible pour inspection par les extensions sous-jacentes.

    Note Dans ce cas, la périphérie du protocole définit les membres DestinationPortId et DestinationNicIndex sur zéro. Cela spécifie que la requête OID encapsulée doit être remise aux extensions dans le chemin de contrôle.

    Les extensions de transfert sous-jacentes peuvent inspecter ces demandes OID encapsulées et conserver les informations d’adresse de multidiffusion qu’elles spécifient. Par exemple, l’extension peut avoir besoin de ces informations si elle provient de paquets de multidiffusion qu’elle transfère vers un port de commutateur extensible.

    Pour plus d’informations, consultez Transfert de demandes OID à partir d’une partition enfant Hyper-V.

Une extension de transfert peut également émettre un OID_SWITCH_NIC_REQUEST afin de transférer les demandes OID encapsulées vers une carte réseau physique liée à la carte réseau externe. Cela permet à l’extension de créer sa propre requête OID ou de rediriger une requête OID existante vers une carte réseau physique liée à la carte réseau externe. Pour ce faire, l’extension doit suivre les étapes suivantes :

  1. L’extension appelle ReferenceSwitchNic pour incrémenter un compteur de références pour l’index de la carte réseau physique de destination. Cela garantit que l’interface de commutateur extensible ne supprimera pas la connexion de la carte réseau physique alors que son compteur de référence n’est pas nul.

    Note L’interface de commutateur extensible peut déconnecter la connexion de la carte réseau physique alors que son compteur de référence n’est pas nul. Pour plus d’informations, consultez États du port et de la carte réseau du commutateur extensible Hyper-V.

  2. L’extension encapsule la requête OID en initialisant une structure NDIS_SWITCH_NIC_OID_REQUEST de la manière suivante :

    • Le membre DestinationPortId doit être défini sur l’identificateur du port de commutateur extensible auquel la carte réseau externe est connectée.

    • Le membre DestinationNicIndex doit être défini sur la valeur d’index différente de zéro de la carte réseau physique sous-jacente.

    • Si l’extension provient d’une partition enfant Hyper-V, les membres SourcePortId et SourceNicIndex sont définis sur les valeurs correspondantes pour le port et la carte réseau utilisés par la partition. Sinon, les membres SourcePortId et SourceNicIndex sont définis sur zéro.

      Par exemple, si l’extension gère les ressources de déchargement matériel pour une partition enfant, elle doit définir les membres SourcePortId et SourceNicIndex pour spécifier la partition pour laquelle la demande de déchargement matériel encapsulé est destinée.

    • Le membre OidRequest doit être défini sur un pointeur vers une structure NDIS_OID_REQUEST initialisée pour la requête OID encapsulée.

  3. L’extension appelle NdisFOidRequest pour transférer la demande OID au port de commutateur extensible de destination et à la carte réseau spécifiés.

  4. Lorsque NDIS appelle la fonction FilterOidRequestComplete , l’extension appelle DereferenceSwitchNic pour effacer le compteur de référence pour l’index de la carte réseau physique de destination.

Codes d’état de retour

Le bord miniport sous-jacent du commutateur extensible termine la requête OID de OID_SWITCH_NIC_REQUEST et retourne l’un des codes status suivants.

Code d’état Description

NDIS_STATUS_SUCCESS

La demande OID s’est terminée avec succès.

NDIS_STATUS_Xxx

La demande a échoué pour d’autres raisons.

Spécifications

Version

Pris en charge dans NDIS 6.30 et versions ultérieures.

En-tête

Ntddndis.h (inclure Ndis.h)

Voir aussi


NDIS_STATUS_INDICATION

NDIS_SWITCH_NIC_OID_REQUEST