我试图让 DPDK 在我的机器上工作但没有成功;我的机器运行的是 Ubuntu 18.04,我尝试绑定的 NIC 是英特尔 XL710。我是DPDK的新手,不是Linux专家。
其他上下文:我需要 DPDK 才能在使用具有此功能的 USRP SDR(软件定义无线电(时获得更多带宽。
到目前为止我做了什么:
- 向 grub 配置添加了
default_hugepagesz=1G hugepagesz=1G hugepages=8
- 克隆并编译 DPDK 19,随
make install
一起安装。结果:Installation in /usr/local/ complete
- 使用
./dpdk-devbind.py -s
获取设备和驱动程序的状态。我从此命令中得到的相关行是:0000:02:00.0 'Ethernet Controller XL710 for 40GbE QSFP+ 1583' if=enp2s0f0 drv=i40e unused=
当我尝试绑定设备(即使它已经绑定?我不应该为此获得不同的驱动程序/选项吗?(使用sudo ./dpdk-devbind.py -b i40e 0000:02:00.0
我得到:
Warning: no supported DPDK kernel modules are loaded
Notice: 0000:02:00.0 already bound to driver i40e, skipping
我错过了什么?
提前感谢您的帮助。
在将i40e
网卡绑定到 DPDK PMD 驱动程序之前,您需要加载uio
或vfio
Linux 驱动程序,如下所示:
modprobe uio
insmod ./x86_64-native-linux-gcc/kmod/igb_uio.ko
或
modprobe vfio-pci
查看链接以了解为什么我们应该在端口绑定到 DPDK 之前加载内核模块。