DPDK的安装有两种方法:
第一种是使用dpdk/tools/setup.sh选择命令字来安装;第二种是自己手动安装。为了更好地熟悉DPDK,我使用第二种方法。
0、设定环境变量
export RTE_ARCH="x86_64"
export RTE_SDK="/home/meiyang/dpdk"
export RTE_TARGET="x86_64-native-linuxapp-gcc"
source dpdk.rc
1、make config T=x86_64-native-linuxapp-gcc && make
配置并编译DPDK
2、make install T=x86_64-native-linuxapp-gcc
3、ifconfig eth2 down
先把eth2关掉,不然第4步会报错的。
4、modprobe uio
insmod build/kmod/igb_uio.ko
插入uio和igb_uio模块
5、python tools/dpdk_nic_bind.py --bind=igb_uio eth2
绑定igb_uio驱动到eth2
6、service network restart
ifconfig
重新启动网卡
7、python tools/dpdk_nic_bind.py --status
查看网卡驱动绑定状态
在第5步之后,ifconfig查看网卡端口,结果eth2竟然消失了,以为有问题。后来才明白这才是正常的!!!
因为安装了igb_uio驱动之后,eth2不再归ixgbe管理了,而是归igb_uio管理,ifconfig看不到eth2。
另外,使用kni的时候会报错:
这是由于缺少i2c模块的原因,insmod i2c_core就好了。