Vue d’ensemble des cartes réseau de commutateur extensible Hyper-V
Le commutateur extensible Hyper-V prend en charge les connexions de différents types de cartes réseau virtuelles ou physiques. La connexion à ces types de cartes réseau s’effectue via un port de commutateur extensible. Les ports sont créés avant qu’une connexion de carte réseau virtuelle soit établie et sont supprimés après la suppression de la connexion de la carte réseau.
Par exemple, lorsqu’une partition enfant Hyper-V est démarrée, l’interface de commutateur extensible crée un port avant que la carte réseau de machine virtuelle soit exposée dans le système d’exploitation invité. Une fois la carte réseau de machine virtuelle exposée et énumérée, l’interface de commutateur extensible crée une connexion réseau entre la carte réseau de machine virtuelle et le port de commutateur extensible. Si la partition enfant est arrêtée, l’interface de commutateur extensible supprime d’abord la connexion réseau, puis supprime le port de commutateur extensible.
Le commutateur extensible Hyper-V prend en charge les connexions à partir des types de cartes réseau virtuelles suivants :
Cartes réseau externes
Il s’agit d’une carte réseau de commutateur extensible exposée dans le système d’exploitation de gestion qui s’exécute dans la partition parente Hyper-V. Chaque commutateur extensible ne prend en charge qu’une seule connexion de carte réseau externe.
La carte réseau externe fournit une connexion à l’interface réseau physique disponible sur l’hôte. La carte réseau externe est accessible par la partition parente Hyper-V et toutes les partitions enfants.
Pour plus d’informations sur ce type de carte réseau, consultez Cartes réseau externes.
Cartes réseau internes
Il s’agit d’une carte réseau de commutateur extensible exposée dans le système d’exploitation de gestion qui s’exécute dans la partition parente Hyper-V. Chaque commutateur extensible ne prend en charge qu’une seule connexion de carte réseau interne.
La carte réseau interne permet d’accéder à un commutateur extensible pour les processus qui s’exécutent dans le système d’exploitation de gestion. Cela permet à ces processus d’envoyer ou de recevoir des paquets sur le commutateur extensible.
Pour plus d’informations sur ce type de carte réseau, consultez Cartes réseau internes.
Cartes réseau de machine virtuelle
Il s’agit d’une carte réseau de commutateur extensible exposée dans le système d’exploitation invité qui s’exécute dans la partition enfant Hyper-V.
Note Dans Hyper-V, une partition enfant est également appelée machine virtuelle.
La carte réseau de machine virtuelle prend en charge les types de virtualisation suivants :
La carte réseau de machine virtuelle peut être une virtualisation synthétique d’une carte réseau (carte réseau synthétique). Dans ce cas, le client de service virtuel réseau (NetVSC) qui s’exécute dans la machine virtuelle expose cette carte réseau virtuelle. NetVSC transfère les paquets vers et depuis le port de commutateur extensible via le bus de machine virtuelle (VMBus).
La carte réseau de machine virtuelle peut être une virtualisation émulée d’une carte réseau physique (carte réseau émulée). Dans ce cas, la carte réseau de machine virtuelle imite une carte réseau Intel et utilise l’émulation matérielle pour transférer les paquets vers et depuis le port de commutateur extensible.
Pour plus d’informations sur ce type de carte réseau, consultez Cartes réseau de machine virtuelle.
Les connexions de carte réseau de commutateur extensible sont créées, mises à jour et supprimées via les demandes OID de commutateur extensible suivantes :
OID_SWITCH_NIC_CREATE
Le bord du protocole du commutateur extensible émet une demande d’ensemble OID de OID_SWITCH_NIC_CREATE pour notifier les extensions de commutateur extensibles de la création d’une connexion de carte réseau à un port de commutateur extensible. Le port doit avoir été créé précédemment via une demande de jeu OID de OID_SWITCH_PORT_CREATE.
La requête OID_SWITCH_NIC_CREATE avertit uniquement l’extension qu’une nouvelle connexion de carte réseau 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é.
L’extension peut opposer son veto à la notification de création en retournant 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 utilisé pour la connexion de carte réseau, l’extension doit opposer son veto à la notification de création.
Si l’extension accepte la notification de création, elle doit transférer la demande OID vers le bas de la pile de pilotes de commutateur extensible. L’extension surveille la status d’achèvement de cette demande OID pour déterminer si les extensions sous-jacentes ont opposé un veto à la notification de création.
Lorsque la connexion de carte réseau est créée, une valeur NDIS_SWITCH_NIC_INDEX lui est attribuée. Cette valeur d’index identifie la connexion de carte réseau sur un port de commutateur extensible. Les connexions aux cartes réseau externes, internes et de machines virtuelles se voient attribuer une valeur NDIS_SWITCH_NIC_INDEX de NDIS_SWITCH_DEFAULT_NIC_INDEX. Chaque carte réseau physique ou virtuelle liée à la carte réseau externe se voit attribuer une valeur NDIS_SWITCH_NIC_INDEX de la manière suivante :
Si la carte réseau physique ou virtuelle est directement liée à la carte réseau externe, une valeur NDIS_SWITCH_NIC_INDEX est attribuée.
Si la carte réseau physique fait partie d’une équipe de commutateur extensible, une valeur de NDIS_SWITCH_NIC_INDEX est supérieure ou égale à une. Une équipe de commutateur extensible est une configuration dans laquelle une équipe d’une ou plusieurs cartes réseau physiques sont liées à la carte réseau externe du commutateur extensible.
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 valeurs NDIS_SWITCH_NIC_INDEX, consultez Valeurs d’index de carte réseau.
Note L’extension ne peut pas générer ou transférer des paquets sur la connexion de la carte réseau tant que le bord du protocole du commutateur extensible n’émet pas une demande de jeu OID de OID_SWITCH_NIC_CONNECT.
OID_SWITCH_NIC_CONNECT
La périphérie du protocole du commutateur extensible émet une demande d’ensemble OID de OID_SWITCH_NIC_CONNECT pour notifier les extensions de commutateur extensible qu’une connexion de carte réseau de commutateur extensible est entièrement opérationnelle.
L’extension doit toujours transférer cette demande de jeu d’OID vers le bas de la pile de pilotes de commutateur extensible. L’extension ne doit pas échouer la demande.
Une fois la demande OID terminée avec NDIS_STATUS_SUCCESS, la connexion de la carte réseau et le port de commutateur extensible sont entièrement opérationnels. Lorsque la connexion de la carte réseau est dans cet état, l’extension peut effectuer les opérations suivantes :
Générez ou transférez le trafic de paquets vers la connexion de carte réseau du port.
Émettez des OID de commutateur extensible ou status indications qui utilisent le port comme port source.
Appelez ReferenceSwitchNic pour incrémenter un compteur de références pour la connexion de la carte réseau. L’interface de commutateur extensible ne déchire pas une connexion de carte réseau alors que le compteur de référence a une valeur différente de zéro.
OID_SWITCH_NIC_UPDATED
Le bord du protocole du commutateur extensible émet une demande d’ensemble OID de OID_SWITCH_NIC_UPDATED pour notifier les extensions de commutateur extensible que les paramètres d’une carte réseau de commutateur extensible ont été mis à jour. L’OID sera émis uniquement pour les cartes réseau qui ont déjà été connectées et qui n’ont pas encore commencé le processus de déconnexion. Ces modifications de configuration au moment de l’exécution peuvent inclure NicFriendlyName, MTU, NetCfgInstanceId, PermanentMacAddress, VMMacAddress, CurrentMacAddress et VFAssigned.
L’extension doit toujours transférer cette demande de jeu d’OID vers le bas de la pile de pilotes de commutateur extensible. L’extension ne doit pas échouer la demande.
OID_SWITCH_NIC_DISCONNECT
Le bord du protocole du commutateur extensible émet une demande d’ensemble OID de OID_SWITCH_NIC_DISCONNECT pour notifier les extensions de commutateur extensible qu’une connexion de carte réseau de commutateur extensible est en cours de panne. Une fois la connexion complètement démantelée, le bord du protocole du commutateur extensible émet une demande d’ensemble OID de OID_SWITCH_NIC_DELETE.
L’extension doit toujours transférer cette demande de jeu d’OID vers le bas de la pile de pilotes de commutateur extensible. L’extension ne doit pas échouer la demande.
Une fois que l’extension a transféré cette requête OID, elle ne peut plus générer ou transférer de paquets vers le port sur lequel la connexion de la carte réseau est démantelée. En outre, l’extension ne peut plus appeler ReferenceSwitchNic pour la connexion de la carte réseau.
OID_SWITCH_NIC_DELETE
Le bord du protocole du commutateur extensible émet une demande d’ensemble OID de OID_SWITCH_NIC_DELETE pour notifier les extensions de commutateur extensible qu’une connexion de carte réseau de commutateur extensible a été détruite et supprimée. Cette demande OID est émise uniquement pour les connexions réseau pour lesquelles une demande de jeu d’OID de OID_SWITCH_NIC_DISCONNECT a été émise précédemment.
Note L’extension doit toujours transférer cette demande de jeu d’OID vers le bas de la pile de pilotes de commutateur extensible. L’extension ne doit pas échouer la demande.
Une fois cette demande OID terminée, le bord du protocole du commutateur extensible émet une demande d’ensemble OID de OID_SWITCH_PORT_TEARDOWN pour démarrer le processus de suppression du port utilisé pour la connexion de la carte réseau.
L’extension doit toujours transférer cette demande de jeu d’OID vers le bas de la pile de pilotes de commutateur extensible. L’extension ne doit pas échouer la demande.
L’interface de commutateur extensible gère un compteur de référence pour chaque connexion de carte réseau qui a été créée. Une connexion de carte réseau n’est pas supprimée si son compteur de référence a une valeur différente de zéro. L’interface fournit les fonctions de gestionnaire suivantes pour incrémenter ou décrémenter le compteur de référence d’une connexion de carte réseau de commutateur extensible :
ReferenceSwitchNic
L’extension de commutateur extensible appelle cette fonction pour incrémenter le compteur de référence d’une connexion de carte réseau. Bien que le compteur de référence ait une valeur différente de zéro, l’interface de commutateur extensible ne supprime pas la connexion de la carte réseau.
L’extension doit appeler ReferenceSwitchNic avant d’effectuer les opérations suivantes :
Transfère une requête OID_SWITCH_NIC_REQUEST vers le bas de la pile de pilotes de commutateur extensible vers une carte externe sous-jacente.
Transfère une NDIS_STATUS_SWITCH_NIC_STATUS status indication vers le haut de la pile de pilotes de commutateur extensible à partir d’une carte externe sous-jacente.
Note L’extension ne doit pas appeler ReferenceSwitchNic pour une connexion de carte réseau après avoir reçu une demande de jeu OID de OID_SWITCH_NIC_DISCONNECT pour cette connexion.
DereferenceSwitchNic
L’extension de commutateur extensible appelle cette fonction pour décrémenter le compteur de référence d’un port.
Si l’extension appelle ReferenceSwitchNic, elle doit appeler DereferenceSwitchNic une fois l’indication OID_SWITCH_NIC_REQUEST ou NDIS_STATUS_SWITCH_NIC_STATUS terminée.