工具准备: 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学习体系,关注 私信回复:1,领取对应学习视频
专注于C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等等多个知识点高级技术分享
网友评论