Search code examples
linuxubuntubuildnetwork-programmingdpdk

Cannot run devbind --status, command not found


I'm trying to install DPDK on Ubuntu 22.04.

If I run dpdk-devbind --status I get command not found

For installation I ran these commands:

git clone https://github.com/DPDK/dpdk.git
meson setup build
cd build
ninja
ninja install

It hasn't installed to /usr/local/lib64. The only location I can see is /usr/local/lib/x86_64-linux-gnu/dpdk and a lot of DPDK binaries in /usr/local/lib/x86_64-linux-gnu.

What am I missing to run dpdk-devbind --status?


Solution

  • I think the DPDK documentation is falling short (again) and not mentioning that it's a python script, dpdk-devbind.py, which comes from the usertools subdirectory and for me got installed in /usr/local/bin/ using default options.

    It should have executable permissions, so you can call it like:

    • dpdk-devbind.py --status to see the current drivers in use for each adapter and also which one(s) is(are) unused, such as vfio-pci or uio_pci_generic
    • sudo dpdk-devbind.py --unbind 00:03.0 to unbind the adapter from any driver
    • sudo modprobe uio_pci_generic && sudo dpdk-devbind.py --bind uio_pci_generic 00:03.0 to load the uio_pci_generic driver (obviously not needed if already done) and bind the specified adapter to that driver
    • dpdk-devbind.py --status at this point would list 00:03.0 under the list of DPDK-compatible drivers

    You may have to use vfio_pci instead of uio_pci_generic as the driver, depending on your hardware. On a bare-metal machine with intel cards, I use vfio-pci, but in an Ubuntu VM, I had to add a second network adapter (as a bridge-adapter), which I also allowed to enter promiscuous mode in the VirtualBox GUI settings, and for which I had to use uio_pci_generic.