-->

How to fix “no valid ports” issue in dpdk-18.02 wh

2019-08-31 02:43发布

问题:

Building an application using dpdk-v18.02 and getting an error as "no valid ports".

I tried dpdk-v19.02 and it's giving the same error.

This is the error:

EAL: Detected 40 lcore(s)
EAL: Multi-process socket /var/run/.rte_unix
EAL: Probing VFIO support...
EAL: PCI device 0000:04:00.0 on NUMA socket 0
EAL:   probe driver: 10ee:9038 xnic
EAL: Requested device 0000:04:00.0 cannot be used
EAL: Error - exiting with code: 1
  Cause: Error: no valid ports

The port is already bound to the driver:

dpdk/usertools/# python dpdk-devbind.py --bind=igb_uio 04:00.0
0000:04:00.0 already bound to driver igb_uio, skipping 

Checking port bound as python dpdk-devbind.py --status

Network devices using DPDK-compatible driver
============================================
0000:04:00.0 'Device 9038' drv=igb_uio unused=

回答1:

This log message refers to the PMD (userspace "Poll Mode Driver") lookup, not the kernel driver (like igb_uio). If this device was supported by DPDK, then there would be some PMD (drivers/net/ directory) to claim support for the given vendor ID (in example, 10ee) and device ID (in example, 9038). Searching for the vendor ID 10ee in DPDK source tree yields nothing. That is, apparently, there is no DPDK driver for the device you're trying to probe. Regretfully, you won't be able to use this device with DPDK until a capable PMD is implemented and added to the source tree.