dpdk 内核要求(环境搭建保姆级步骤及常见错误)
dpdk 内核要求(环境搭建保姆级步骤及常见错误)执行:cat /proc/interruptsdefault_hugepages=1G hugepagesz=2M hugepages=1024 isolcpus=0-2物理机:default_hugepages=1G hugepagesz=1G hugepages=20 isolcpus=0-7虚拟机:
专注分享Linux后台服务器开发,包括C/C ,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等等 相关视频文档资料私信【1】进群获取。
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
下载 dpdk : 地址
随便挑选版本,不同版本直接子系统接口会有差异,建议选择 dpdk 19.08.2
可以通过 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
进入 example/helloworld
可以直接 make
也可以通过 gcc 命令编译
# gcc -o helloword main.c -I /usr/local/include/dpdk/ -ldpdk -lpthread -
lnuma -ldl
Kni 运行:
./build/kni -l 4-7 -n 4 -- -P -p 0x3 -m --config="(0 4 6) (1 5 7)"
L3fwd 运行
# ./build/l3fwd -l 4-7 -n 4 -- -p 0x3 --config="(0 0 4) (1 0 5)" --
parse-ptype
错误 1:
没有设置环境变量,请查看本篇《设置 dpdk 的环境变量》
bitmask 请选择 7 bit:111
分享一个宝藏免费公开课,订阅即可直接学习,每晚8-10点都有LinuxC/C 服务器高级架构的技术提升课程对标大厂岗位技术栈:C/C Linux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂