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

Notes

Le membre PortId 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 pour ce port et d’autres ports sur le commutateur extensible en émettant des requêtes OID de OID_SWITCH_PORT_ARRAY.

Le membre Index 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 d’index spécifiée est connectée au port de commutateur extensible spécifié par le membre PortId . Pour plus d’informations sur ces valeurs d’index, consultez Valeurs d’index de carte réseau.

Lorsqu’elle reçoit la demande de jeu d’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 demande 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 demande 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 créer des requêtes OID de OID_SWITCH_NIC_REQUEST à une carte réseau sous-jacente pour laquelle la demande OID OID_SWITCH_NIC_CREATE a été émise.

    • Transférer ou créer NDIS status indications 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 du commutateur extensible.

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

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

    Si l’extension retourne d’autres codes NDIS_STATUS_Xxx status, la notification de création est également bloquée. Toutefois, le retour de codes status pour des scénarios temporaires, tels que le retour d’NDIS_STATUS_RESOURCES, peut entraîner une nouvelle tentative de la notification de création.

    Si l’extension ne met pas son veto à la requête OID, elle doit surveiller la status lorsque la demande est terminée. L’extension doit effectuer cette opération pour déterminer si la demande OID a été bloquée par les extensions sous-jacentes dans le chemin de contrôle du commutateur extensible ou par l’interface de commutateur extensible.

    Note L’extension ne peut opposer son veto à 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 égale à zéro.

  • Si l’extension n’oppose pas son veto à 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.

    Note L’extension doit surveiller l’achèvement status de cette requête OID. L’extension effectue cette opération pour détecter si les extensions sous-jacentes dans la pile de pilotes de commutateur extensible ont opposé leur veto à la notification de création.

  • Si l’extension appelle NdisFOidRequest pour transférer cette demande OID, l’extension ne recevra 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 vers le port de commutateur extensible qu’après que le bord du protocole du commutateur extensible a créé une demande de jeu d’OID de OID_SWITCH_NIC_CONNECT.

    Note Dans certaines situations, le trafic de paquets peut être transféré par le commutateur extensible vers le port avant l’émission d’une demande de jeu d’OID de OID_SWITCH_NIC_CONNECT .

  • 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, le bord 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 carte physique sous-jacente. 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 carte réseau physique.

Pour plus d’informations sur les états des ports de commutateur extensibles et des connexions de carte réseau, consultez États des ports et des cartes réseau extensibles hyper-V.

Note L’extension ne doit pas émettre ses propres demandes de jeu 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 status suivants.

Code d’état Description

NDIS_STATUS_DATA_NOT_ACCEPTED

L’extension a opposé son veto à la notification de création.

NDIS_STATUS_RESOURCES

L’extension a opposé son veto à la notification de création en raison d’une condition de ressource faible.

NDIS_STATUS_Xxx

L’extension a opposé son veto à la notification de création pour d’autres raisons.

Note 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 effectuée par le bord miniport sous-jacent du commutateur extensible. Le bord de miniport sous-jacent retourne le code status 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.

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_OID_REQUEST

NDIS_SWITCH_NIC_PARAMETERS

NdisFOidRequest

OID_SWITCH_NIC_CONNECT

OID_SWITCH_PORT_ARRAY

ReferenceSwitchPort