Estaciones de trabajo en línea OnWorks Linux y Windows

Logotipo

Alojamiento gratuito en línea para estaciones de trabajo

<Anterior | Contenido | Siguiente>

5.1. Prerequisites


Este paquete está compilado actualmente para los requisitos de CPU más bajos posibles. Lo que todavía requiere que al menos SSE3 sea compatible con la CPU.

La lista de tarjetas de red compatibles con DPDK ascendente se puede encontrar en las NIC compatibles22. Pero muchos de ellos están deshabilitados de forma predeterminada en el proyecto ascendente, ya que aún no se encuentran en un estado estable. El subconjunto de tarjetas de red que DPDK ha habilitado en el paquete como disponible en Ubuntu 16.04 es:

Intel

• 1000 e23 (82540, 82545, 82546)

• 1000e24 (82571..82574, 82583, ICH8..ICH10, PCH..PCH2)

• igb25 (82575..82576, 82580, I210, I211, I350, I354, DH89xx)

• ixgbe26 (82598..82599, X540, X550)

• i40e27 (X710, XL710, X722)

• fm10k28 (FM10420)


chelsio

• cxgb29 (Terminador 5)


Cisco

• enico30 (Tarjeta de interfaz virtual UCS) Paravirtualización


imagen

22 http://dpdk.org/doc/nics

23 http://dpdk.org/doc/guides/nics/e1000em.html

24 http://dpdk.org/browse/dpdk/tree/drivers/net/e1000/

25 http://dpdk.org/browse/dpdk/tree/drivers/net/e1000/

26 http://dpdk.org/doc/guides/nics/ixgbe.html

27 http://dpdk.org/browse/dpdk/tree/drivers/net/i40e/

28 http://dpdk.org/doc/guides/nics/fm10k.html

29 http://dpdk.org/doc/guides/nics/cxgbe.html

30 http://dpdk.org/browse/dpdk/tree/drivers/net/enic


• virtio-red31 (QEMU)

•vmxnet332


Otros

• paquete_af33 (Zócalo AF_PACKET de Linux)

• anillo34 (memoria)


Además, habilita experimentalmente los dos controladores PMD siguientes, ya que representan dispositivos (virtuales) que son muy accesibles para los usuarios finales.

Paravirtualización

• xenvirt35 (Xén)


Otros

• cap36 (archivo o controlador de kernel)


Las tarjetas deben desasignarse de su controlador de kernel y, en su lugar, deben asignarse a uio_pci_generic de vfio-pci. uio_pci_generic es más antiguo y, por lo general, se pone a trabajar más fácilmente.

El vfio-pci más nuevo requiere que active los siguientes parámetros del kernel para habilitar iommu.


iommu = pt intel_iommu = activado


Además de vfio-pci, debe configurar y asignar los grupos iommu en consecuencia.


Nota: En un entorno basado en virtio, es suficiente "desasignar" los dispositivos del controlador del kernel. Sin eso, DPDK rechazará el uso del dispositivo para evitar problemas con el kernel y DPDK funcionando en el dispositivo al mismo tiempo. Dado que DPDK puede funcionar directamente en dispositivos virtio, no es necesario asignar, por ejemplo, uio_pci_generic a esos dispositivos.

La configuración manual y las verificaciones de estado se pueden realizar a través de sysfs o con la herramienta dpdk_nic_bind


dpdk_nic_bind --ayuda


Uso:

------


dpdk_nic_bind [opciones] DEVICE1 DEVICE2 ....


donde DEVICE1, DEVICE2, etc., se especifican mediante la sintaxis PCI "domain: bus: slot.func" o la sintaxis "bus: slot.func". Para los dispositivos vinculados a los controladores del kernel de Linux, pueden


imagen

31 http://dpdk.org/doc/guides/nics/virtio.html

32 http://dpdk.org/doc/guides/nics/vmxnet3.html

33 http://dpdk.org/browse/dpdk/tree/drivers/net/af_packet

34 http://dpdk.org/doc/guides/nics/pcap_ring.html#rings-based-pmd

35 http://dpdk.org/doc/guides/xen/pkt_switch.html#xen-pmd-frontend-prerequisites

36 http://dpdk.org/doc/guides/nics/pcap_ring.html#libpcap-based-pmd


También se puede hacer referencia al nombre de la interfaz de Linux, por ejemplo, eth0, eth1, em0, em1, etc.


Opciones:

--ayuda, --uso:

Mostrar información de uso y salir


-s, --estado:

Imprima el estado actual de todas las interfaces de red conocidas.

Para cada dispositivo, muestra el dominio PCI, el bus, la ranura y la función, junto con una descripción de texto del dispositivo. Dependiendo de si el dispositivo está siendo utilizado por un controlador de kernel, el controlador igb_uio o ningún controlador, se mostrará otra información relevante:

* el nombre de la interfaz de Linux, por ejemplo, if = eth0

* el controlador que se está utilizando, por ejemplo, drv = igb_uio

* cualquier controlador adecuado que no esté usando ese dispositivo actualmente

por ejemplo, no utilizado = igb_uio

NOTA: si esta bandera se pasa junto con una opción de vincular / desvincular, la visualización del estado siempre ocurrirá después de que se hayan realizado las otras operaciones.


-b controlador, --bind = controlador:

Seleccione el controlador que desee utilizar o "ninguno" para desvincular el dispositivo.


-u, --desvincular:

Desvincular un dispositivo (equivalente a "-b ninguno")


--fuerza:

De forma predeterminada, los dispositivos que utiliza Linux, como se indica al tener rutas en la tabla de enrutamiento, no se pueden modificar. El uso de la marca --force anula este comportamiento, lo que permite que los enlaces activos se desaten por la fuerza.

ADVERTENCIA: Esto puede provocar la pérdida de la conexión de red y debe usarse con precaución.


Ejemplos:

---------


Para mostrar el estado actual del dispositivo: dpdk_nic_bind --status


Para vincular eth1 desde el controlador actual y pasar a usar igb_uio dpdk_nic_bind --bind = igb_uio eth1


Para desvincular 0000: 01: 00.0 del uso de cualquier controlador dpdk_nic_bind -u 0000: 01: 00.0


Para vincular 0000: 02: 00.0 y 0000: 02: 00.1 al controlador del kernel ixgbe dpdk_nic_bind -b ixgbe 02: 00.0 02:00.


Top OS Cloud Computing en OnWorks: