É possível usar DPDK em um servidor com NIC único?

É possível usar DPDK em um servidor com NIC único?

Eu tenho um servidor com NIC único que possui 4 portas PCI. Eu já tentei a ligação DPDK, então antes da ligação "dpdk-devbind.py -s" retornar isto:

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

Embora eu não tenha conseguido encontrar o modelo NIC emHardware com suporte oficial do DPDKlista, o provedor disse que é compatível com DPDk. meu "ifconfig" retorna:

eth0: **some stuffs*** <IP>
lo: **some stuff**

Agora, como tenho apenas 1 IP exposto como posso usar o DPDK? para vincular o DPDK, preciso desativar a porta PCI do ifconfig e perderei o SSH. Como posso ver outras 3 portas PCI não utilizadas, como usá-las? Liguei o DPDK à porta PCI 01:00.1 que foi vista listada na lista de drivers compatíveis com DPDK, mas e daí? como isso não era acessível através do kernel/ifconfig (sem IP/interface atribuído), como usá-lo agora de fora do servidor ou é possível com uma única NIC? se sim, então como.

Responder1

DPDK é um processo de espaço do usuário que permite acessar as portas NIC no espaço do usuário com o driver UIO e não um dispositivo de link de rede do kernel para ser acessado pelo Kernel ou aplicativo de soquete normal. portanto, a expectativa de acessar portas DPDK vinculadas ao driver UIO no espaço do kernel por meio de soquetes ou dispositivos de link de rede do kernel é irreal e incorreta.

como usá-lo agora de fora do servidor ou é possível com uma única NIC?

Use aplicativos de exemplo para testpmd, l2fwd, l3fwdcomeçar a explorar o DPDK com NIC.

Por favor consulte

  1. testepmd
  2. l2fwd
  3. l3fwd

informação relacionada