dpdk_nic_bind.py не показывает карты Mellanox, почему?

Я пытаюсь настроить DPDK на карте Mellanox ConnectX-3 и запустить некоторые приложения, которые поставляются с ней, например, l2fwd. Насколько я понимаю, мне нужно использовать сценарий dpdk_nic_bind.py, который поставляется с дистрибутивом DPDK, чтобы связать порты с драйвером PMD карты Mellanox. Однако, dpdk_nic_bind.py не моя карта Mellanox.

./dpdk_nic_bind.py -s

Network devices using DPDK-compatible driver
============================================
<none>

Network devices using kernel driver
===================================
0000:01:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' if=eth0 drv=ixgbe unused=igb_uio,vfio-pci,uio_pci_generic *Active*
0000:01:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection' if=eth1 drv=ixgbe unused=igb_uio,vfio-pci,uio_pci_generic 

Other network devices
=====================
<none>

В общем, нужно ли делать привязку? Если да, то как? Если нет, то как включается драйвер PMD?

2 ответа

Если вы хотите связать его с dpdk_nic_bind.py, вы должны запустить: dpdk_nic_bind --bind драйвер пространства пользователя BDF, тогда как BDF - это то, что вы видите по ethtool -i ethName. В этом случае драйвером пространства пользователя может быть ib_ipoib. Вы можете узнать требуемый драйвер пользовательского пространства, запустив dpdk_nic_bind.py -s и найдя драйвер connectx в разделе "Сетевые устройства, использующие драйвер ядра".

Для Mellanox вы должны следовать процедуре, описанной здесь:

http://dpdk.org/doc/guides/nics/mlx4.html

В основном ответы таковы:

  1. Нет, вам не нужно привязывать свою карту к UIO, но вам нужно загрузить модули ядра Mellanox:

    modprobe -a ib_uverbs mlx4_en mlx4_core mlx4_ib
    
  2. Вы должны использовать аргумент EAL белого списка для запуска приложения DPDK на сетевой карте Mellanox, то есть:

    testpmd -w 0000:83:00.0 -w 0000:84:00.0 ...
    
Другие вопросы по тегам