En esta sección, se describe cómo crear, modificar y destruir funciones virtuales de forma dinámica. Si no puede utilizar los métodos dinámicos para realizar estas acciones, inicie una reconfiguración retrasada en el dominio raíz antes de crear o destruir funciones virtuales.
Si no puede utilizar este método dinámico, utilice el método estático. Consulte SR-IOV estática.
primary# ldm list-io
Tenga en cuenta que el nombre de la función física incluye la información de ubicación para la tarjeta SR-IOV PCIe o el dispositivo incorporado.
Realice este paso solo si aún no está activada la virtualización de E/S para el bus que tiene la función física.
Consulte Cómo activar la virtualización de E/S para un bus PCIe.
Después de crear una o más funciones virtuales, podrá asignarlas a un dominio invitado.
primary# ldm create-vf -n number | max pf-name
Utilice el comando ldm create-vf -n max para crear todas las funciones virtuales para esa función física al mismo tiempo.
Precaución - Cuando su sistema utiliza una tarjeta Intel 10-Gbit Ethernet, maximice el rendimiento mediante la creación de no más de 31 funciones virtuales desde cada función física. |
Puede utilizar el nombre de ruta o el seudónimo para especificar funciones virtuales. Sin embargo, la práctica recomendada es utilizar el seudónimo.
ldm create-vf [mac-addr=num] [alt-mac-addrs=[auto|num1,[auto|num2,...]]] [pvid=pvid] [vid=vid1,vid2,...] [mtu=size] [name=value...] pf-name
Utilice este comando para crear una función virtual para esa función física. Además puede especificar manualmente los valores de propiedades específicas de la clase de Ethernet.
El estado de un dispositivo puede ser INV inmediatamente después que se efectúa un reinicio de dominio raíz (incluido el dominio primary) o inmediatamente después de que se usan los comandos ldm create-vf o ldm destroy-vf.
primary# ldm start-reconf root-domain-name
Utilice los mismos comandos que se mostraron anteriormente para crear dinámicamente las funciones virtuales.
primary# ldm stop-domain -r root-domain
primary# shutdown -i6 -g0 -y
En este ejemplo se muestra información sobre la función física /SYS/MB/NET0/IOVNET.PF0:
Esta función física es de un dispositivo de red NET0 incorporado.
La cadena IOVNET indica que la función física es un dispositivo SR-IOV de red.
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
El siguiente comando muestra más detalles sobre la función física especificada. El valor maxvfs indica el número máximo de funciones virtuales admitido por el dispositivo.
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 = 7Ejemplo 7-2 Creación dinámica de una función virtual Ethernet sin establecer propiedades opcionales
En este ejemplo, se crea una función virtual de forma dinámica sin definir propiedades opcionales. En este caso, la dirección MAC de una función virtual de clase de red se asigna automáticamente.
Asegúrese de que la virtualización de E/S está activada en el bus PCIe pci_0. Consulte Cómo activar la virtualización de E/S para un bus PCIe.
Ahora, puede utilizar el comando ldm create-vf para crear la función virtual a partir de la función física /SYS/MB/NET0/IOVNET.PF0.
primary# ldm create-vf /SYS/MB/NET0/IOVNET.PF0 Created new vf: /SYS/MB/NET0/IOVNET.PF0.VF0Ejemplo 7-3 Creación dinámica de una función virtual Ethernet y configuración de propiedades
En este ejemplo, se crea una función virtual de forma dinámica y, al mismo tiempo, se define la propiedad mac-addr en 00:14:2f:f9:14:c0, y la propiedad vid en los ID de VLAN 2 y 3.
primary# ldm create-vf mac-addr=00:14:2f:f9:14:c0 vid=2,3 /SYS/MB/NET0/IOVNET.PF0Ejemplo 7-4 Creación dinámica de una función virtual Ethernet con dos direcciones MAC alternativas
En este ejemplo, se crea de forma dinámica una función virtual que tiene dos direcciones MAC alternativas. Una dirección MAC se asigna automáticamente, y la otra se especifica explícitamente como 00:14:2f:f9:14:c2.
primary# ldm create-vf alt-mac-addrs=auto,00:14:2f:f9:14:c2 /SYS/MB/NET0/IOVNET.PF0Ejemplo 7-5 Creación estática de una función virtual sin definir propiedades opcionales
En este ejemplo, se crea una función virtual de forma estática sin definir propiedades opcionales. En este caso, la dirección MAC de una función virtual de clase de red se asigna automáticamente.
Primero, debe iniciar una reconfiguración retrasada en el dominio primary y, luego, activar la virtualización de E/S en el bus PCIe pci_0. Debido a que el bus pci_0 ya se ha asignado al dominio raíz primary, utilice el comando ldm set-io para activar la virtualización de 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
Ahora, puede utilizar el comando ldm create-vf para crear la función virtual a partir de la función física /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
Por último, reinicie el dominio raíz primary para que se apliquen los cambios.
primary# shutdown -i6 -g0 -yEjemplo 7-6 Creación de varias funciones virtuales SR-IOV Ethernet
El siguiente comando muestra cómo crear cuatro funciones virtuales desde la función física /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
Recuerde que el comando ldm create-vf -n genera varias funciones virtuales configuradas con valores de propiedad predeterminados, si fuera adecuado. Más tarde puede especificar los valores de propiedad no predeterminados mediante el comando ldm set-io.