I'm trying to make DPDK work on my machine without success; My machine is running Ubuntu 18.04 and the NIC I'm trying to bind is an Intel XL710. I'm completely new to DPDK and not an expert on linux.
Additional context: I need DPDK in order to get more bandwidth when using a USRP SDR (Software Defined Radio), that has this capability.
What I've done so far:
default_hugepagesz=1G hugepagesz=1G hugepages=8
to the grub configmake install
. Result: Installation in /usr/local/ complete
./dpdk-devbind.py -s
. The relevant line I get from this command is: 0000:02:00.0 'Ethernet Controller XL710 for 40GbE QSFP+ 1583' if=enp2s0f0 drv=i40e unused=
When I try to bind the device (even if it is already binded? shouldn't I get a different driver/option for that?) using sudo ./dpdk-devbind.py -b i40e 0000:02:00.0
I get:
Warning: no supported DPDK kernel modules are loaded
Notice: 0000:02:00.0 already bound to driver i40e, skipping
What am I missing?
Thanks in advance for the help.
Before binding the i40e
NIC to DPDK PMD driver, you need to load uio
or vfio
Linux driver as shown below:
modprobe uio
insmod ./x86_64-native-linux-gcc/kmod/igb_uio.ko
or
modprobe vfio-pci
Take a look at link to know why we should load kernel module before ports are bind to DPDK.