DPDK环境搭建

工具准备: vmware + Ubuntu 16.04 Server 版本

图片说明
1.vmware 添加两块网卡
图片说明
桥接网卡作为 DPDK 运行的网卡

NAT 网卡作为 ssh 连接的网卡

2.修改网卡配置信息
图片说明

将 ethernet0.virtualDev 由 e1000 修改 vmxnet3,因为 vmware 的 vmxnet3 支持多队

列网卡

3.修改 ubuntu 系统的启动参数
图片说明
物理机:default_hugepages=1G hugepagesz=1G hugepages=20 isolcpus=0-7

虚拟机:default_hugepages=1G hugepagesz=2M hugepages=1024 isolcpus=0-2

4.查看系统是否支持多队列网卡
执行:cat /proc/interrupts
图片说明

5.编译 DPDK
下载 dpdk :
https://core.dpdk.org/download/

图片说明
可以通过 usertools/dpdk-setup.sh
图片说明

64 位系统选择 39.
图片说明

编译完会多出 x86_64-native-linux-gcc 的文件夹

6.设置 DPDK 的环境变量

export RTE_SDK=/home/dpdk

export RTE_TARGET=x86_64-native-linux-gcc

7.执行 testpmd
执行

/usertools/dpdk-setup.sh

图片说明
选择 43 插入 IGB_UIO 模块, 选择网卡为 vmxnet3 会加载此模块

选择 44 插入 VFIO 模块,选择网卡为 e1000 会加载此模块

选择 49 绑定 igb_uio 模块, 也可以退出,通过命令来执行。

ifconfig eth0 down

/usertools/dpdk-devbind.py --bind=igb_uio eth0

选择 53 运行 testpmd
图片说明

show port info 0

图片说明
8.编译 DPDK 程序
进入 example/helloworld ,

可以直接 make,

也可以通过 gcc 命令编译

gcc -o helloword main.c -I /usr/local/include/dpdk/ -ldpdk -lpthread -

lnuma -ldl

附:dpdk学习体系,
图片说明

专注于C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等等多个知识点高级技术分享

全部评论
dpdk工程师手册,官方文档,最新视频,开源项目,实战案例,论文,大厂内部ppt,知名工程师一览表https://github.com/0voice/dpdk_engineer_manual
点赞 回复 分享
发布于 2021-09-01 21:56

相关推荐

Beeee0927:正确的建议
点赞 评论 收藏
分享
头像
03-25 17:53
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
1
6
分享

创作者周榜

更多
牛客网
牛客企业服务