1.未挂载hugetlbfs
需要在设置大页内存之前挂载 hugetlbfs
mount -t hugetlbfs nodev /mnt/huge
2.虚拟机里跑dpdk报错
修改文件/home/dpdk-16.07/lib/librte_eal/linuxapp/igb_uio目录下的igb_uio.c(390行),如下图:
修改完后保存退出,重新编译dpdk。
3.运行l3fwd报错
原因:-c参数设置不对,应该是十六进制6
./l3fwd -c 6 -n 4 -- -p 0x3 --config=”(0,0,1),(0,1,2)”
-c 6(0110)正好对应config(端口、队列、核)中的1、2两个核。
4.l3fwd---port 0 cannot parse packet type
此程序依然依赖硬件来完成packet type的识别。该参数“--parse-ptype”应该是启用了软件识别类型的功能。加上--parse-ptype,l3fwd启动成功.
5.l2fwd---No free hugepages
大页不正常,可以重启设备,然后执行:
umount /mnt/huge
rm -rf /mnt/huge
mkdir -p /mnt/huge
mount -t hugetlbfs nodev /mnt/huge
echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
6.dpdk加载igb_uio.ko报错
dmesg | tail查看
依赖模块没有加载导致的
执行:modprobe uio
接着执行insmod igb_uio.ko
正常加载了