Partager via


Ports virtuels (VPorts)

Un port virtuel (VPort) est un objet de données qui représente un port interne sur le commutateur de carte réseau d’une carte réseau qui prend en charge la virtualisation d’E/S racine unique (SR-IOV). Chaque commutateur de carte réseau possède les ports suivants pour la connectivité réseau :

  • Un port physique externe pour la connectivité au réseau physique externe.

  • Une ou plusieurs VPorts internes qui sont connectés à la fonction physique PCI Express (PF) ou aux fonctions virtuelles (VF).

    Le pf est attaché à la partition parente Hyper-V et est exposé en tant que carte réseau virtuelle dans le système d’exploitation de gestion qui s’exécute dans cette partition.

    Une VF est attachée à la partition enfant Hyper-V et exposée en tant que carte réseau virtuelle dans le système d’exploitation invité qui s’exécute dans cette partition.

Le commutateur de carte réseau ponte le trafic réseau du port physique vers un ou plusieurs VPorts. Cela fournit un accès virtualisé à l’interface réseau physique sous-jacente.

Chaque VPort a un identificateur unique (VPortId) qui est unique pour le commutateur de carte réseau sur la carte réseau. Un VPort par défaut existe toujours sur le commutateur de carte réseau par défaut et ne peut jamais être supprimé. Le VPort par défaut a le VPortId de NDIS_DEFAULT_VPORT_ID.

Lorsque le pilote pf miniport gère une demande de méthode d’identificateur d’objet (OID) de OID_NIC_SWITCH_CREATE_SWITCH, il crée le commutateur de carte réseau et le VPort par défaut pour ce commutateur. Le VPort par défaut est toujours attaché au pf et est toujours dans un état opérationnel.

Les VPorts non par défaut sont créés via des demandes de méthode OID de OID_NIC_SWITCH_CREATE_VPORT. Un seul VPort non par défaut peut être attaché à une VF. Une fois attachée, la valeur par défaut est dans un état opérationnel. Une ou plusieurs VPorts non par défaut peuvent également être créées et attachées au pf. Ces VPorts ne fonctionnent pas lorsqu’ils sont créés et peuvent devenir opérationnels via une requête d’ensemble OID de OID_NIC_SWITCH_VPORT_PARAMETERS.

Notes

Une fois qu’un VPort devient opérationnel, il ne peut devenir non opérationnel que lorsqu’il est supprimé par le biais d’une requête OID de OID_NIC_SWITCH_DELETE_VPORT.

Chaque VPort a une ou plusieurs paires de file d’attente matérielles qui lui sont associées pour la réception et la transmission de paquets. La paire de files d’attente par défaut sur la carte réseau est réservée à l’utilisation par le VPort par défaut. Les paires de files d’attente pour les VPorts non par défaut sont allouées et attribuées lorsque le VPort est créé par le biais de la requête OID_NIC_SWITCH_CREATE_VPORT .

Les VPorts non par défaut sont créés et configurés via des requêtes de méthode OID de OID_NIC_SWITCH_CREATE_VPORT. Les VPort par défaut et les VPorts non par défaut sont reconfigurés via les requêtes de jeu OID de OID_NIC_SWITCH_VPORT_PARAMETERS. Chaque requête OID contient une structure NDIS_NIC_SWITCH_VPORT_PARAMETERS qui spécifie les paramètres de configuration suivants :

  • Fonction PCIe à laquelle le VPort est attaché.

    Chaque VPort peut être attaché au PF ou à un VF à tout moment. Une fois le VPort créé et attaché à une fonction PCIe, la pièce jointe ne peut pas être modifiée dynamiquement en une autre fonction PCIe.

    Notes

    Le VPort par défaut est toujours attaché au PF sur la carte réseau.

À compter de NDIS 6.30 dans Windows Server 2012, un seul VPort non par défaut peut être attaché à une VF. Toutefois, plusieurs VPorts non par défaut, ainsi que le VPort par défaut, peuvent être attachés au pf.

  • Nombre de paires de files d’attente matérielles affectées à un VPort.

    Chaque VPort dispose d’un ensemble de paires de files d’attente matérielles qui lui sont disponibles. Chaque paire de files d’attente se compose d’une file d’attente de transmission et de réception distincte sur la carte réseau.

    Les paires de files d’attente sont des ressources limitées sur la carte réseau. Le nombre total de paires de files d’attente réservées pour une utilisation par défaut et par défaut des VPorts non par défaut est spécifié lors de la création du commutateur de carte réseau. Cela permet au nombre de paires de files d’attente affectées au VPort par défaut de différer des VPorts non par défaut.

    Chaque VPort non par défaut peut être configuré pour avoir un nombre différent de paires de file d’attente. C’est ce qu’on appelle l’allocation asymétrique des paires de files d’attente. Si la carte réseau n’autorise pas une telle allocation asymétrique, chaque VPort non par défaut est configuré pour avoir le même nombre de paires de files d’attente. C’est ce qu’on appelle l’allocation symétrique des paires de files d’attente. Pour plus d’informations, consultez Attribution symétrique et asymétrique de paires de files d’attente.

    Notes

    Le pilote pf miniport indique s’il prend en charge l’allocation asymétrique des paires de files d’attente pendant MiniportInitializeEx. Pour plus d’informations, consultez Initialisation d’un pilote PF Miniport.

Le nombre de paires de files d’attente attribuées à chaque VPort n’est pas modifié dynamiquement. Le nombre de paires de files d’attente attribuées à un VPort ne peut pas être modifié une fois que le VPort a été créé.

Notes

Une ou plusieurs paires de files d’attente attribuées aux VPorts non par défaut peuvent être utilisées pour la mise à l’échelle côté réception (RSS) par le pilote miniport VF qui s’exécute dans le système d’exploitation invité.

  • Paramètres de modération d’interruption pour le VPort.

    Différents types de modération d’interruption peuvent être spécifiés pour différents VPorts. Cela permet à la pile de virtualisation de contrôler le nombre d’interruptions générées par un VPort particulier.

En plus des paramètres de configuration, les pilotes trop chargés peuvent configurer des filtres de réception pour chaque VPort en émettant des demandes de méthode OID de OID_RECEIVE_FILTER_SET_FILTER. Le commutateur de carte réseau effectue le filtrage de réception spécifié sur une base VPort.

Les paramètres de filtres de réception pour les VPorts incluent des conditions de filtrage de paquets, telles qu’une liste d’adresses MAC (Media Access Control) et les identificateurs VLAN (Virtual LAN). Les filtres pour les adresses MAC et les identificateurs VLAN sont toujours spécifiés ensemble dans le NDIS_RECEIVE_FILTER_PARAMETERS associé à la demande de OID_RECEIVE_FILTER_SET_FILTER . Le commutateur de carte réseau doit filtrer les paquets entrants vers le commutateur dont l’adresse MAC de destination et l’identificateur VLAN correspondent à toute condition de filtre de réception définie sur le VPort. Le commutateur de carte réseau filtre les paquets reçus d’un autre VPort ou du port physique externe. Si le paquet correspond à un filtre, le commutateur de carte réseau doit le transférer au VPort.

Plusieurs paires d’identificateurs MAC et VLAN peuvent être définies sur le VPort. Si seule une adresse MAC est définie, le filtre de réception spécifie que le VPort doit recevoir des paquets qui correspondent à la condition suivante :

  • L’adresse MAC de destination du paquet correspond à l’adresse MAC du filtre.

  • Le paquet a une balise VLAN ou (si une balise VLAN est présente) un identificateur VLAN de zéro.

Les VPorts non par défaut sont supprimés par le biais des demandes de jeu OID de OID_NIC_SWITCH_DELETE_VPORT. Le VPort par défaut n’est supprimé que lorsque le commutateur de carte réseau est supprimé via une demande de jeu OID de OID_NIC_SWITCH_DELETE_SWITCH.