Lire en anglais

Partager via


Ports virtuels (VPorts)

Un port virtuel (VPort) est un objet de données représentant un port interne sur l'interrupteur du NIC d'un adaptateur réseau prenant en charge la virtualisation d'E/S à racine unique (SR-IOV). Chaque commutateur de carte réseau a les ports suivants pour la connectivité réseau :

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

  • Un ou plusieurs ports virtuels internes connectés à la fonction physique PCI Express (PF) ou aux fonctions virtuelles (VFs).

    • Le PF est attaché à la partition parentale Hyper-V et est exposé en tant qu'adaptateur réseau virtuel dans le système d'exploitation de gestion qui s'exécute dans cette partition.
    • Un VF est attaché à la partition enfant Hyper-V et est exposé en tant qu'adaptateur réseau virtuel dans le système d'exploitation invité qui s'exécute sur cette partition.

Le commutateur NIC bascule 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) pour le commutateur NIC de l'adaptateur 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 du miniport PF traite une requête de méthode d'identification d'objet (OID) de type OID_NIC_SWITCH_CREATE_SWITCH, il crée le commutateur NIC 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 ports VP par défaut sont créés par le biais de requêtes de méthode OID de OID_NIC_SWITCH_CREATE_VPORT. Un seul VPort nondefault peut être attaché à une VF. Une fois attaché, la valeur par défaut est dans un état opérationnel. Un ou plusieurs ports virtuels non définis peuvent également être créés et attachés au PF. Ces VPorts ne sont pas opérationnels lorsqu'ils sont créés et peuvent devenir opérationnels via une requête de réglage d'OID de OID_NIC_SWITCH_VPORT_PARAMETERS.

Notes

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

Chaque VPort a une ou plusieurs paires de files d’attente matérielles associées pour la réception et la transmission de paquets. L'appairage par défaut de l'adaptateur réseau est réservé à l'utilisation du port VP par défaut. Les paires de files d’attente pour les VPorts non par défaut sont allouées et affectées lorsque le VPort est créé via la requête OID_NIC_SWITCH_CREATE_VPORT.

Les VPorts non par défaut sont créés et configurés par le biais de requêtes de méthode OID de OID_NIC_SWITCH_CREATE_VPORT. Le port VP par défaut et les ports VP non par défaut sont reconfigurés par le biais de requêtes d'ensemble 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.

    À partir de NDIS 6.30 sous Windows Server 2012, un seul VPort non-default peut être associé à un VF. Toutefois, plusieurs ports virtuels non définis 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 a un ensemble de paires de files d’attente matérielles disponibles. Chaque appairage de file d'attente consiste en une file d'attente d'émission et de réception distincte sur la carte réseau.

    Les appaires 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 les VPorts par défaut et 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 de celui des VPorts non par défaut.

    Chaque port virtuel non défini peut être configuré pour avoir un nombre différent de paires de files d’attente. C'est ce que l'on appelle l'allocation asymétrique des appaires de files d'attente. Si la carte réseau n’autorise pas une telle allocation asymétrique, chaque VPort non défini est configuré pour avoir un nombre égal de paires de files d’attente. C'est ce que l'on appelle l'appairage symétrique des paires de files d'attente. Pour plus d'informations, reportez-vous à la section Affectation symétrique et asymétrique des paires de files d'attente.

    Notes

    Le pilote du miniport PF indique s'il prend en charge l'allocation asymétrique des paires de files d'attente lors de MiniportInitializeEx. Pour plus d'informations, reportez-vous à la section Initialisation d'un pilote de miniport PF.

    Le nombre de paires de files d’attente affecté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é après la création du VPort.

    Notes

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

  • Paramètres de modération des interruptions pour le port virtuel.

    Différents types de modération des interruptions 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.

Outre les paramètres de configuration, les pilotes superposés peuvent configurer les filtres de réception pour chaque port VP en émettant des requêtes de méthode OID de type OID_RECEIVE_FILTER_SET_FILTER. Le commutateur NIC effectue le filtrage de réception spécifié pour chaque VPort.

Les paramètres de filtre de réception pour les ports virtuels 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 de VLAN sont toujours définis ensemble dans le paramètre NDIS_RECEIVE_FILTER_PARAMETERS, qui est associé à la demande 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 vers le 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 aux conditions suivantes :

  • 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 ports VP par défaut sont supprimés par le biais de requêtes OID set de OID_NIC_SWITCH_DELETE_VPORT. Le VPort par défaut est supprimé uniquement lorsque le commutateur NIC est supprimé via une requête OID de configuration de OID_NIC_SWITCH_DELETE_SWITCH.