Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Une fonction virtuelle PCI Express (VF PCIe) est une fonction PCIe légère sur une carte réseau qui prend en charge la virtualisation d’E/S à racine unique (SR-IOV).
La machine virtuelle est associée à la fonction physique PCIe (PF) sur la carte réseau et représente une instance virtualisée de la carte réseau. Chaque VF possède son propre espace de configuration PCI. Chaque VF partage également une ou plusieurs ressources physiques sur la carte réseau, comme un port réseau externe, avec le PF et d'autres VFs.
Un VF n’est pas un appareil PCIe à part entière. Toutefois, il fournit un mécanisme de base pour transférer directement des données entre une partition enfant Hyper-V et la carte réseau SR-IOV sous-jacente. Les ressources logicielles associées au transfert de données sont directement disponibles pour la VF et sont isolées de l’utilisation par les autres machines virtuelles ou le PF. Toutefois, la configuration de la plupart de ces ressources est effectuée par le pilote pf miniport qui s’exécute dans le système d’exploitation de gestion de la partition parente Hyper-V.
Une VF est exposée comme une carte réseau virtuelle (carte réseau VF) dans le système d'exploitation invité qui s'exécute dans une partition secondaire Hyper-V. Une fois que le VF est associé à un port virtuel (VPort) sur le commutateur NIC de l'adaptateur réseau SR-IOV, le pilote PCI virtuel (VPCI) qui s’exécute dans la machine virtuelle expose l’adaptateur réseau VF. Une fois exposé, le gestionnaire PnP du système d’exploitation invité charge le pilote miniport VF.
Remarque
Une partition enfant Hyper-V est également connue sous le nom de machine virtuelle.
Le pilote miniport VF est un pilote miniport NDIS installé dans la machine virtuelle pour gérer le VF. Toute opération effectuée par le pilote miniport VF ne doit pas affecter d’autres VF ou PF sur la même carte réseau.
Le pilote miniport VF peut fonctionner comme n’importe quel pilote de périphérique PCI. Il peut lire et écrire dans l’espace de configuration PCI de VF. Toutefois, l’accès au périphérique PCI virtuel est une opération privilégiée et est géré par le pilote miniport PF de la manière suivante :
Lorsque le pilote miniport VF appelle NdisMGetBusData pour lire les données à partir de l’espace de configuration PCI de la carte réseau VF, la pile de virtualisation est avertie. Cette pile s'exécute dans le système d'exploitation de gestion de la partition parente Hyper-V. Lorsque la pile est avertie de la demande de lecture, elle émet une requête de méthode d’identification d'objet (OID) de OID_SRIOV_READ_VF_CONFIG_SPACE au pilote miniport PF. Les données à lire sont spécifiées dans une structure NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS contenue dans la requête OID.
Le pilote lit les données demandées à partir de l’espace de configuration PCI VF et retourne les données en effectuant la requête OID. Ces données sont ensuite retournées au pilote miniport VF lorsque l’appel à NdisMGetBusData se termine.
Lorsque le pilote miniport VF appelle NdisMSetBusData pour écrire des données dans l’espace de configuration PCI de la carte réseau VF, la pile de virtualisation est avertie de la demande d’écriture. Il émet une demande de méthode OID de OID_SRIOV_WRITE_VF_CONFIG_SPACE au pilote miniport PF. Les données à écrire sont spécifiées dans une structure NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS contenue dans la requête OID.
Le pilote écrit les données dans l’espace de configuration PCI VF et retourne l’état de la requête lorsqu’elle termine la requête OID. Cet état est retourné au pilote miniport VF une fois l’appel à NdisMSetBusData terminé.
Le pilote miniport VF peut également communiquer avec le pilote miniport PF. Ce chemin de communication passe par une interface de backchannel. Pour plus d’informations, consultez SR-IOV communications secondaires PF/VF.
Note Le pilote miniport VF doit être conscient qu’il s’exécute dans un environnement virtualisé afin qu’il puisse communiquer avec le pilote miniport PF pour certaines opérations. Pour plus d’informations sur la façon dont le pilote effectue cette opération, consultez Initialisation d’un pilote VF Miniport.