Allocation de ressources pour une fonction virtuelle
Une carte réseau qui prend en charge la virtualisation d’E/S racine unique (SR-IOV) doit être en mesure de prendre en charge les composants matériels suivants :
Une fonction physique PCI Express (PCIe). Le PF existe toujours sur la carte réseau et est attaché à la partition parente Hyper-V.
Pour plus d’informations sur ce composant matériel, consultez Fonction physique SR-IOV (PF).
Une ou plusieurs fonctions virtuelles PCIe (VF). Chaque VF doit être initialisée et attachée à une partition enfant Hyper-V avant que les composants réseau du système d’exploitation invité puissent envoyer ou recevoir des paquets sur la VF.
Pour plus d’informations sur ce composant matériel, consultez fonctions virtuelles SR-IOV.
Le pilote pf miniport, qui s’exécute dans le système d’exploitation de gestion de la partition parente Hyper-V, alloue des ressources pour le PF et chaque VF sur la carte réseau SR-IOV. Ce pilote alloue des ressources pour le PF comme il le ferait pour n’importe quelle carte réseau. Toutefois, le pilote alloue des ressources pour chaque VF de la manière suivante :
Le pilote pf miniport alloue des ressources matérielles pour chaque VF lorsque le pilote crée l’interface réseau carte (NIC) sur la carte réseau. Le pilote termine l’allocation des ressources matérielles pour les machines virtuelles en appelant NdisMEnableVirtualization. Pour plus d’informations sur ce processus, consultez Création d’un commutateur de carte réseau.
Le pilote pf miniport alloue des ressources logicielles pour une VF lorsque le pilote gère une demande de méthode d’identificateur d’objet (OID) de OID_NIC_SWITCH_ALLOCATE_VF. Même si les ressources matérielles ont été allouées pour une VF, elles sont considérées comme non opératoires jusqu’à ce que le pilote pf miniport termine correctement l’OID_NIC_SWITCH_ALLOCATE_VF.
Le pilote qui se superpose peut demander l’allocation de ressources logicielles pour une VF en émettant une demande de méthode OID de OID_NIC_SWITCH_ALLOCATE_VF. Le membre InformationBuffer de la structure NDIS_OID_REQUEST de la requête OID contient un pointeur vers une structure NDIS_NIC_SWITCH_VF_PARAMETERS .
Une fois le retour réussi de la requête OID, le membre InformationBuffer de la structure NDIS_OID_REQUEST contient un pointeur vers une structure NDIS_NIC_SWITCH_VF_PARAMETERS . Cette structure dispose d’un identificateur VF unique d’adaptateur et d’un identificateur de demandeur PCI (RID). Ces identificateurs sont utilisés de la manière suivante :
Le pilote de sur-menting utilise l’identificateur VF dans les actions liées à la VF, telles que les suivantes :
Obtention des paramètres VF actuels via une demande de méthode OID de OID_NIC_SWITCH_VF_PARAMETERS.
Libérer des ressources précédemment allouées pour la VF via une demande de jeu OID de OID_NIC_SWITCH_FREE_VF.
Émission d’une réinitialisation PCI à la VF via une demande de jeu OID de OID_SRIOV_RESET_VF.
Le RID est utilisé par la pile de virtualisation pour le remapping DMA et les interruptions entre le PF et la VF. Le RID permet également à l’unité de gestion de la mémoire d’entrée/sortie matérielle (IOMMU) de convertir les adresses physiques invitées en adresses physiques hôtes.
Pour plus d’informations sur la façon dont les problèmes de pilote de dépassement OID_NIC_SWITCH_ALLOCATE_VF les demandes de méthode, consultez Émission de demandes de OID_NIC_SWITCH_ALLOCATE_VF.
Pour plus d’informations sur la façon dont le pilote pf miniport gère les demandes de méthode OID_NIC_SWITCH_ALLOCATE_VF , consultez Gestion des demandes de OID_NIC_SWITCH_ALLOCATE_VF.
Note Une fois que les ressources d’une VF ont été allouées via une demande de méthode OID de OID_NIC_SWITCH_ALLOCATE_VF, les paramètres de ressource de la VF ne peuvent pas être modifiés dynamiquement.