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
В основном ответы таковы:
Нет, вам не нужно привязывать свою карту к UIO, но вам нужно загрузить модули ядра Mellanox:
modprobe -a ib_uverbs mlx4_en mlx4_core mlx4_ib
Вы должны использовать аргумент EAL белого списка для запуска приложения DPDK на сетевой карте Mellanox, то есть:
testpmd -w 0000:83:00.0 -w 0000:84:00.0 ...