Cette section décrit la création et la destruction dynamiques de fonctions virtuelles. Si vous ne pouvez pas utiliser les méthodes dynamiques pour exécuter ces actions, lancez une reconfiguration retardée sur le domaine root avant de créer ou de détruire des fonctions virtuelles.
Si vous ne pouvez pas utiliser cette méthode dynamique, utilisez plutôt la méthode statique. Voir la section SR-IOV statique.
primary# ldm list-io
Notez que le nom de la fonction physique inclut les informations d'emplacement de la carte SR-IOV PCIe ou du périphérique intégré.
Effectuez uniquement cette étape si la virtualisation d'E/S n'est pas déjà activée pour le bus qui a la fonction physique.
Voir la section Procédure d'activation de la virtualisation d'E/S pour un bus PCIe.
Après avoir créé une ou plusieurs fonctions virtuelles, vous pouvez les attribuer à un domaine invité.
primary# ldm create-vf -n number | max pf-name
Utilisez la commande ldm create-vf -n max pour créer en une fois toutes les fonctions virtuelles de cette fonction physique.
Mise en garde - Lorsque votre système utilise une carte Ethernet Intel 10 Gbits, vous pouvez optimiser les performances en ne créant pas plus de 31 fonctions virtuelles à partir de chaque fonction physique. |
Vous pouvez spécifier des fonctions virtuelles soit par le biais de leur nom de chemin d'accès, soit par leur pseudonyme. Toutefois, la pratique recommandée est d'utiliser le pseudonyme.
ldm create-vf [mac-addr=num] [alt-mac-addrs=[auto|num1,[auto|num2,...]]] [pvid=pvid] [vid=vid1,vid2,...] [mtu=size] [name=value...] pf-name
Utilisez cette commande pour créer une fonction virtuelle pour cette fonction physique. Vous pouvez également indiquer manuellement les valeurs de propriété Ethernet en fonction de la classe.
Le statut de l'appareil pourra être INV immédiatement après une réinitialisation du domaine root (y compris celle du domaine primary) ou immédiatement après avoir utilisé la commande ldm create-vf ou ldm destroy-vf.
primary# ldm start-reconf root-domain-name
Utilisez les mêmes commandes affichées précédemment pour créer les fonctions virtuelles de manière dynamique.
primary# ldm stop-domain -r root-domain
primary# shutdown -i6 -g0 -y
Cet exemple affiche des informations sur la fonction physique /SYS/MB/NET0/IOVNET.PF0 :
Cette fonction physique est issue d'un périphérique réseau NET0 intégré.
La chaîne IOVNET indique que la fonction physique est un périphérique réseau SR-IOV.
primary# ldm list-io NAME TYPE BUS DOMAIN STATUS ---- ---- --- ------ ------ niu_0 NIU niu_0 primary niu_1 NIU niu_1 primary pci_0 BUS pci_0 primary pci_1 BUS pci_1 primary /SYS/MB/PCIE0 PCIE pci_0 primary OCC /SYS/MB/PCIE2 PCIE pci_0 primary OCC /SYS/MB/PCIE4 PCIE pci_0 primary OCC /SYS/MB/PCIE6 PCIE pci_0 primary EMP /SYS/MB/PCIE8 PCIE pci_0 primary EMP /SYS/MB/SASHBA PCIE pci_0 primary OCC /SYS/MB/NET0 PCIE pci_0 primary OCC /SYS/MB/PCIE1 PCIE pci_1 primary OCC /SYS/MB/PCIE3 PCIE pci_1 primary OCC /SYS/MB/PCIE5 PCIE pci_1 primary OCC /SYS/MB/PCIE7 PCIE pci_1 primary EMP /SYS/MB/PCIE9 PCIE pci_1 primary EMP /SYS/MB/NET2 PCIE pci_1 primary OCC /SYS/MB/NET0/IOVNET.PF0 PF pci_0 primary /SYS/MB/NET0/IOVNET.PF1 PF pci_0 primary /SYS/MB/PCIE5/IOVNET.PF0 PF pci_1 primary /SYS/MB/PCIE5/IOVNET.PF1 PF pci_1 primary /SYS/MB/NET2/IOVNET.PF0 PF pci_1 primary /SYS/MB/NET2/IOVNET.PF1 PF pci_1 primary
La commande suivante fournit plus d'informations sur la fonction physique spécifiée. La valeur maxvfs indique le nombre maximal de fonctions virtuelles pris en charge par le périphérique.
primary# ldm list-io -l /SYS/MB/NET0/IOVNET.PF0 NAME TYPE BUS DOMAIN STATUS ---- ---- --- ------ ------ /SYS/MB/NET0/IOVNET.PF0 PF pci_0 primary [pci@400/pci@1/pci@0/pci@4/network@0] maxvfs = 7Exemple 8-2 Création dynamique d'une fonction Ethernet virtuelle sans paramétrage des propriétés facultatives
Cet exemple crée une fonction virtuelle de façon dynamique sans définir de propriété facultative. Dans ce cas, l'adresse MAC des fonctions virtuelles de classe réseau est automatiquement attribuée.
Assurez-vous que la virtualisation d'E/S est activée sur le bus PCIe pci_0. Voir la section Procédure d'activation de la virtualisation d'E/S pour un bus PCIe.
Vous pouvez ensuite utiliser la commande ldm create-vf pour créer la fonction virtuelle à partir de la fonction physique /SYS/MB/NET0/IOVNET.PF0.
primary# ldm create-vf /SYS/MB/NET0/IOVNET.PF0 Created new vf: /SYS/MB/NET0/IOVNET.PF0.VF0Exemple 8-3 Création dynamique d'une fonction Ethernet virtuelle avec paramétrage des propriétés
Cet exemple crée une fonction virtuelle de façon dynamique tout en définissant la propriété mac-addr sur 00:14:2f:f9:14:c0 et la propriété vid sur les ID de VLAN 2 et 3.
primary# ldm create-vf mac-addr=00:14:2f:f9:14:c0 vid=2,3 /SYS/MB/NET0/IOVNET.PF0Exemple 8-4 Création dynamique d'une fonction Ethernet virtuelle possédant deux adresses MAC
Cet exemple crée de façon dynamique une fonction virtuelle possédant deux adresses MAC. Une adresse MAC est automatiquement attribuée, tandis que l'autre est explicitement spécifiée comme 00:14:2f:f9:14:c2.
primary# ldm create-vf alt-mac-addrs=auto,00:14:2f:f9:14:c2 /SYS/MB/NET0/IOVNET.PF0Exemple 8-5 Création statique d'une fonction virtuelle sans paramétrage des propriétés facultatives
Cet exemple crée une fonction virtuelle de façon statique sans définir de propriété facultative. Dans ce cas, l'adresse MAC des fonctions virtuelles de classe réseau est automatiquement attribuée.
Commencez par démarrer une reconfiguration retardée sur le domaine primary et activez la virtualisation d'E/S sur le bus PCIe pci_0. Le bus pci_0 ayant déjà été assigné au domaine root primary, vous devez utiliser la commande ldm set-io pour activer la virtualisation d'E/S.
primary# ldm start-reconf primary Initiating a delayed reconfiguration operation on the primary domain. All configuration changes for other domains are disabled until the primary domain reboots, at which time the new configuration for the primary domain will also take effect. primary# ldm set-io iov=on pci_0
Vous pouvez ensuite utiliser la commande ldm create-vf pour créer la fonction virtuelle à partir de la fonction physique /SYS/MB/NET0/IOVNET.PF0.
primary# ldm create-vf /SYS/MB/NET0/IOVNET.PF0 ------------------------------------------------------------------------------ Notice: The primary domain is in the process of a delayed reconfiguration. Any changes made to the primary domain will only take effect after it reboots. ------------------------------------------------------------------------------ Created new vf: /SYS/MB/NET0/IOVNET.PF0.VF0
Pour finir, réinitialisez le domaine root primary pour appliquer les modifications.
primary# shutdown -i6 -g0 -yExemple 8-6 Création de plusieurs fonctions virtuelles SR-IOV Ethernet
La commande suivant indique la procédure à suivre pour créer quatre fonctions virtuelles à partir de la fonction physique /SYS/MB/NET2/IOVNET.PF1 :
primary# ldm create-vf -n 31 /SYS/MB/NET2/IOVNET.PF1 Created new vf: /SYS/MB/NET2/IOVNET.PF1.VF0 Created new vf: /SYS/MB/NET2/IOVNET.PF1.VF1 Created new vf: /SYS/MB/NET2/IOVNET.PF1.VF2 ... Created new vf: /SYS/MB/NET2/IOVNET.PF1.VF30
Notez que la commande ldm create-vf -n crée plusieurs fonctions virtuelles définies avec des valeurs de propriété par défaut, le cas échéant. Vous pouvez indiquer plus tard les valeurs de propriété qui ne sont pas définies par défaut à l'aide de la commande ldm set-io.