Partager via


OID_SWITCH_NIC_CREATE

Le bord du protocole du commutateur extensible Hyper-V émet une demande de jeu d’identificateur d’objet (OID) de OID_SWITCH_NIC_CREATE pour avertir les extensions de commutateur extensible sous-jacentes qu’une nouvelle connexion est établie entre un port de commutateur extensible et une carte réseau externe ou virtuelle. Une fois la connexion entièrement établie, le bord du protocole du commutateur extensible émet une demande de jeu d’OID de OID_SWITCH_NIC_CONNECT.

Le membre InformationBuffer de la structure NDIS_OID_REQUEST contient un pointeur vers une structure NDIS_SWITCH_NIC_PARAMETERS.

Remarques

Le PortId membre de la structure NDIS_SWITCH_NIC_PARAMETERS spécifie le port de commutateur extensible pour lequel la notification de création est effectuée. L’extension de commutateur extensible peut obtenir les informations de paramètre de ce commutateur et d’autres ports sur le commutateur extensible en émettant des requêtes de requête OID de OID_SWITCH_PORT_ARRAY.

L’index membre de la structure NDIS_SWITCH_NIC_PARAMETERS spécifie l’index d’une carte réseau pour laquelle la notification de création est effectuée. La carte réseau avec la valeur Index spécifiée est connectée au port de commutateur extensible spécifié par le PortId membre. Pour plus d’informations sur ces valeurs d’index, consultez valeurs d’index de carte réseau.

Lorsqu’elle reçoit la demande d’ensemble OID de OID_SWITCH_NIC_CREATE, l’extension doit suivre les instructions suivantes :

  • L’extension ne doit pas modifier la structure NDIS_SWITCH_NIC_PARAMETERS associée à la requête OID.

  • La requête OID_SWITCH_NIC_CREATE avertit uniquement l’extension qu’une nouvelle connexion de commutateur extensible est générée et que le trafic de paquets peut bientôt commencer à se produire sur le port spécifié. Toutefois, l’extension ne peut pas utiliser le port tant que le bord du protocole du commutateur extensible émet une requête de jeu d’OID de OID_SWITCH_NIC_CONNECT. Tant que l’OID n’est pas émis, l’extension ne doit pas effectuer les opérations suivantes :

    • Générez tout trafic de paquets vers la connexion de carte réseau sur le port de commutateur extensible pour lequel la requête OID OID_SWITCH_NIC_CREATE a été émise.

    • Transférer ou provenir des requêtes OID de OID_SWITCH_NIC_REQUEST vers une carte réseau sous-jacente pour laquelle la demande OID OID_SWITCH_NIC_CREATE a été émise.

    • Transférer ou provenir des indications d’état NDIS de NDIS_STATUS_SWITCH_NIC_STATUS à partir d’une carte réseau sous-jacente pour laquelle la demande OID OID_SWITCH_NIC_CREATE a été émise.

    • Appelez ReferenceSwitchNic pour incrémenter le compteur de référence de commutateur extensible pour la connexion de carte réseau spécifiée sur le port de commutateur extensible.

    Remarque L’extension peut intercepter les paquets d’envoi ou de réception du port spécifié entre les requêtes OID de OID_SWITCH_NIC_CREATE et de OID_SWITCH_NIC_CONNECT. Dans ce cas, l’extension doit transférer les demandes d’envoi ou de réception de paquets au lieu de les annuler.

  • L’extension peut refuser la notification de création en retournant NDIS_STATUS_DATA_NOT_ACCEPTED pour la demande OID. Par exemple, si une extension ne peut pas satisfaire ses stratégies configurées sur le port spécifié, l’extension doit refuser la notification de création.

    Si l’extension retourne d’autres codes d’état NDIS_STATUS_Xxx, la notification de création est également mise en opposition. Toutefois, le retour de codes d’état pour les scénarios transitaires, tels que le retour de NDIS_STATUS_RESOURCES, peut entraîner une nouvelle tentative de la notification de création.

    Si l’extension n’oppose pas de veto à la demande OID, elle doit surveiller l’état lorsque la demande est terminée. L’extension doit effectuer cette opération pour déterminer si la demande OID a été mise en opposition par les extensions sous-jacentes dans le chemin de contrôle de commutateur extensible ou par l’interface de commutateur extensible.

    Remarque L’extension ne peut refuser la requête OID que si le membre index de la structure NDIS_SWITCH_NIC_PARAMETERS spécifie une valeur d’index de carte réseau de zéro.

  • Si l’extension ne met pas de côté la notification de création, elle doit appeler NdisFOidRequest pour transférer cette demande OID aux extensions sous-jacentes dans la pile de pilotes de commutateur extensible.

    Remarque L’extension doit surveiller l’état d’achèvement de cette demande OID. L’extension le fait pour détecter si les extensions sous-jacentes dans la pile de pilotes de commutateur extensible ont annulé la notification de création.

  • Si l’extension appelle NdisFOidRequest pour transférer cette demande OID, l’extension ne reçoit pas immédiatement le trafic de paquets vers ou depuis le port de commutateur extensible. En outre, l’extension ne peut pas injecter immédiatement le trafic d’envoi ou de réception pour le port de commutateur extensible.

  • L’extension ne peut transférer le trafic de paquets qu’au port de commutateur extensible après que le bord du protocole du commutateur extensible émet une requête de jeu d’OID de OID_SWITCH_NIC_CONNECT.

    Remarque Dans certains cas, le trafic de paquets peut être transféré par le commutateur extensible vers le port avant qu’une demande de jeu d’OID de OID_SWITCH_NIC_CONNECT soit émise.

  • La carte réseau externe de commutateur extensible peut être liée à une ou plusieurs cartes physiques sous-jacentes. Pour chaque carte réseau physique liée à la carte réseau externe, la périphérie du protocole du commutateur extensible émet une demande de jeu d’OID distincte de OID_SWITCH_NIC_CREATE. Chaque demande de jeu d’OID spécifie une valeur d’index de connexion de carte réseau différente. Pour plus d’informations sur ces valeurs d’index, consultez valeurs d’index de carte réseau.

    L’extension doit conserver l’état de connexion pour chaque adaptateur physique sous-jacent. Pour plus d’informations sur les différentes configurations dans lesquelles les cartes réseau physiques peuvent être liées à la carte réseau externe, consultez Types de configurations de cartes réseau physiques.

Pour plus d’informations sur les états des ports de commutateur extensible et des connexions de carte réseau, consultez Hyper-V ports de commutateur extensible et les états de carte réseau.

Remarque L’extension ne doit pas émettre ses propres requêtes d’ensemble d’OID de OID_SWITCH_NIC_CREATE.

Codes d’état de retour

Si l’extension termine la demande de jeu d’OID de OID_SWITCH_NIC_CREATE, elle retourne l’un des codes d’état suivants.

Code d’état Description

NDIS_STATUS_DATA_NOT_ACCEPTED

L’extension a annulé la notification de création.

NDIS_STATUS_RESOURCES

L’extension a annulé la notification de création en raison d’une condition de ressource faible.

NDIS_STATUS_Xxx

L’extension a annulé la notification de création pour d’autres raisons.

Remarque Si l’extension termine la demande de jeu d’OID, elle ne doit pas retourner NDIS_STATUS_SUCCESS.

Si l’extension ne termine pas la demande de jeu d’OID de OID_SWITCH_NIC_CREATE, la requête est terminée par le bord miniport sous-jacent du commutateur extensible. Le miniport edge sous-jacent retourne le code d’état suivant pour cette demande de jeu d’OID :

Code d’état Description

NDIS_STATUS_SUCCESS

La requête OID s’est terminée avec succès.

Exigences

Version

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

En-tête

Ntddndis.h (include Ndis.h)

Voir aussi


NDIS_OID_REQUEST

NDIS_SWITCH_NIC_PARAMETERS

NdisFOidRequest

OID_SWITCH_NIC_CONNECT

OID_SWITCH_PORT_ARRAY

ReferenceSwitchPort