[dpdk-users] DPDK device name

Stephen Hemminger stephen at networkplumber.org
Thu Apr 19 18:24:20 CEST 2018

On Thu, 19 Apr 2018 07:15:07 +0000
"Rosen, Rami" <rami.rosen at intel.com> wrote:

> Hi Flip,
> I assume that by "port numbers" you mean the PCI bus id (BDF)
> that is used by DPDK (for bind, for example).
> You can fetch the bus id for a netdevice named "eth0" by
> ethtool -i eth0 | grep bus-info
> bus-info: 0000:01:00.0
> If you mean the internal port number (starting from 0 for the first port, and so on) inside DPDK, then there is no 
> mapping between the interface name (as seen by ifconfig) and the internal DPDK port number.
> Regards,
> Rami  Rosen
> -----Original Message-----
> From: users [mailto:users-bounces at dpdk.org] On Behalf Of Filip Janiszewski
> Sent: Thursday, April 19, 2018 09:13
> To: users at dpdk.org
> Subject: [dpdk-users] DPDK device name
> Hi,
> Is there any mapping between the port names I see while using 'ifconfig'
> and the port numbers I use normally to handle NIC ports? In other words, is there a way to identify which ports number corresponds to a given linux interface name?
> Thanks
> --
> BR, Filip
> +48 666 369 823

Short answer No.

Long answer.
DPDK devices can be virtual, shared, or connected to a bus. Most devices are connected
to Pci bus and must be unbound and rebound to use DPDK userspace i/o. The PCI address
is the underlying value used by DPDK. You can find the value via sysfs 
/sys/class/net/ethN/device (reliable) or ethtool (works for most devices). But once
device is unbound from the kernel driver, it no longer has a kernel assigned name.

DPDK port numbers are assigned in order, so if multiple devices are used by DPDK
they are seen in lexical order as PCI scanning occurs.

It is also possible to use KNI to get a kernel network interface for a DPDK

Lots of options.

More information about the users mailing list