
Tengo un servidor con una única NIC que tiene 4 puertos pci. Ya probé el enlace DPDK, así que antes de enlazar "dpdk-devbind.py -s" devuelve esto:
Network devices using kernel driver
0000:01:00.0 'OneConnect NIC (Skyhawk) 0720' if=eth0 drv=be2net unused=vfio-pci *Active*
0000:01:00.1 'OneConnect NIC (Skyhawk) 0720' if=eth1 drv=be2net unused=vfio-pci
0000:01:00.2 'OneConnect NIC (Skyhawk) 0720' if=eth2 drv=be2net unused=vfio-pci
0000:01:00.3 'OneConnect NIC (Skyhawk) 0720' if=eth3 drv=be2net unused=vfio-pci
Aunque no pude encontrar el modelo de NIC enHardware compatible oficialmente con DPDKlista, el proveedor dijo que es compatible con DPDk. mi "ifconfig" devuelve:
eth0: **some stuffs*** <IP>
lo: **some stuff**
Ahora, como solo tengo 1 IP expuesta, ¿cómo puedo usar DPDK? Para vincular DPDK, tengo que desactivar el puerto PCI de ifconfig y perderé SSH. Como puedo ver otros puertos 3 pci sin usar, ¿cómo usarlos? Vinculé DPDK con el puerto PCI 01:00.1 que aparecía en la lista de controladores compatibles con DPDK, pero ¿y luego qué? Como no se podía acceder a él a través de kernel/ifconfig (no hay IP/interfaz asignada), ¿cómo usarlo ahora desde fuera del servidor o es posible incluso con una sola NIC? Si es así, ¿cómo?
Respuesta1
DPDK es un proceso de espacio de usuario que permite acceder a los puertos NIC en el espacio de usuario con el controlador UIO y no con un dispositivo de enlace de red del kernel al que puede acceder el kernel o una aplicación de socket normal. por lo tanto, la expectativa de acceder a puertos DPDK que están vinculados con el controlador UIO en el espacio del kernel a través de sockets o dispositivos de enlace de red del kernel no es realista e incorrecta.
¿Cómo usarlo ahora desde fuera del servidor o es posible incluso con una sola NIC?
Utilice aplicaciones de muestra para testpmd, l2fwd, l3fwd
comenzar a explorar DPDK con NIC.
Consulte