При использовании приложения DPDK rte_eth_dev_count всегда возвращает 0

Я настроил карты NIC, как показано ниже: -

[root@localhost ethtool]# ../../tools/dpdk-devbind.py -s


Network devices using DPDK-compatible driver
============================================
0000:81:00.0 'NetXtreme BCM5722 Gigabit Ethernet PCI Express' drv=igb_uio unused=tg3

Network devices using kernel driver
===================================
0000:02:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' if=ens513f0 drv=ixgbe unused=igb_uio
0000:02:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection' if=ens513f1 drv=ixgbe unused=igb_uio
0000:04:00.0 'I350 Gigabit Network Connection' if=enp4s0f0 drv=igb unused=igb_uio
0000:04:00.3 'I350 Gigabit Network Connection' if=enp4s0f3 drv=igb unused=igb_uio

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

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

Crypto devices using kernel driver
==================================
0000:84:00.0 'DH895XCC Series QAT' drv=dh895xcc unused=qat_dh895xcc,igb_uio

Other crypto devices
====================
<none>

Когда я запускаю пример приложения ethtool, он выдает ошибку как 0 портов NIC, как показано ниже: -

[root@localhost ethtool]# ./ethtool-app/ethtool-app/x86_64-native-    EAL: Detected 47 lcore(s)
EAL: Probing VFIO support...
EAL: PCI device 0000:02:00.0 on NUMA socket 0
EAL:   probe driver: 8086:10fb net_ixgbe
EAL: PCI device 0000:02:00.1 on NUMA socket 0
EAL:   probe driver: 8086:10fb net_ixgbe
EAL: PCI device 0000:04:00.0 on NUMA socket 0
EAL:   probe driver: 8086:1521 net_e1000_igb
EAL: PCI device 0000:04:00.3 on NUMA socket 0
EAL:   probe driver: 8086:1521 net_e1000_igb
Number of NICs: 0
EAL: Error - exiting with code: 1
Cause: No available NIC ports!

Может ли кто-нибудь помочь мне в настройке портов, если конфигурация порта неправильная или что-то еще.


person Ganga    schedule 08.02.2017    source источник
comment
У меня такая же проблема: stackoverflow.com/questions/54636516/   -  person hsingh    schedule 12.02.2019


Ответы (2)


Вышеупомянутая ошибка возникла из-за того, что указанный ниже драйвер не поддерживается: - 0000: 81: 00.0 'NetXtreme BCM5722 Gigabit Ethernet PCI Express' drv = igb_uio unused = tg3

Итак, привязка DPDK к поддерживаемому драйверу решила проблему.

person Ganga    schedule 08.02.2017
comment
Какой драйвер вы использовали? - person Jack Humphries; 10.04.2017
comment
@Ganga igb_uio должен был работать, поскольку я не вижу другого совместимого драйвера в выводе dpdk-devbind. Какой драйвер у вас работал? - person reza.safiyat; 17.04.2017

Инструмент dpdk-devbind.py здесь может немного ввести в заблуждение. Не все устройства, использующие DPDK-совместимый драйвер, фактически поддерживаются DPDK.

Вот список поддерживаемых сетевых адаптеров Broadcom в DPDK:

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

Похоже, BCM5722 там нет.

С другой стороны, похоже, что у вас есть четыре других сетевых адаптера, которые поддерживаются DPDK:

EAL: PCI device 0000:02:00.0 on NUMA socket 0
EAL:   probe driver: 8086:10fb net_ixgbe
EAL: PCI device 0000:02:00.1 on NUMA socket 0
EAL:   probe driver: 8086:10fb net_ixgbe
EAL: PCI device 0000:04:00.0 on NUMA socket 0
EAL:   probe driver: 8086:1521 net_e1000_igb
EAL: PCI device 0000:04:00.3 on NUMA socket 0
EAL:   probe driver: 8086:1521 net_e1000_igb

Поэтому вам нужно привязать один из них к igb_uio и попробовать снова запустить пример.

person Andriy Berestovskyy    schedule 05.05.2017