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就好了。