1, 环境搭建
使用的零声学院提供的环境
可以参考这个链接 https://blog.csdn.net/weixin_46263147/article/details/128553361
一, 环境
工具准备: vmware + Ubuntu 16.04 Server 版本 + 下载dpdk-stable-19.08.2 源码
桥接网卡作为dpdk运行的网卡
NAT 网卡作为 ssh 连接的网卡
二,修改网卡信息
将 ethernet0.virtualDev 由 e1000 修改 vmxnet3,因为 vmware 的 vmxnet3 支持多队列网卡
image.png
三,修改ubuntu 系统启动参数
vi /etc/default/grub
![image.png](https://img.haomeiwen.com/i13966366/411d62a2b1283af1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/124
物理机:
default_hugepages=1G hugepagesz=1G hugepages=20 isolcpus=0-7
虚拟机:
default_hugepages=1G hugepagesz=2M hugepages=1024 isolcpus=0-2
四,查看系统是否支持对队列网卡
cat /proc/interrupts
image.png
五,之后就是编译和一些参数的配置
5.1 环境变量
export RTE_SDK=/home/king/share/dpdk/dpdk-stable-19.08.2/
export RTE_TARGET=x86_64-native-linux-gcc/
5.2 将dpdk运行的那个网卡down掉
ifconfig eth0 down
5.3 编译和参数配置(进入root模式)
image.png5.3.1编译:
image.png5.3.2参数的一些配置:
image.pngimage.png
image.png
image.png
image.png
image.png
六,遗留的问题:
我把原始虚机的内存改成4G, 就会发生错误,改成原来的8G就没事了,不知道为啥?
EAL: Detected 8 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: No free hugepages reported in hugepages-1048576kB
EAL: No available hugepages reported in hugepages-1048576kB
EAL: FATAL: Cannot get hugepage information.
EAL: Cannot get hugepage information.
EAL: Error - exiting with code: 1
Cause: Not Supported eth found
root@ubuntu:/home/king/share/dpdk/dpd