工具准备: 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
(免费订阅,永久学习)学习地址: Dpdk/网络协议栈/vpp/OvS/DDos/NFV/虚拟化/高性能专家-学习视频教程-腾讯课堂
更多DPDK相关学习资料有需要的可以自行报名学习,免费订阅,永久学习,或点击这里加qun免费
领取,关注我持续更新哦! !
> show port info 0
8.编译 DPDK 程序
进入 example/helloworld ,
可以直接 make,
也可以通过 gcc 命令编译
# gcc -o helloword main.c -I /usr/local/include/dpdk/ -ldpdk -lpthread -
lnuma -ldl
原文链接:https://zhuanlan.zhihu.com/p/357516791