快捷搜索:  汽车  科技

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 内核要求(环境搭建保姆级步骤及常见错误)(1)


DPDK环境搭建工具准备: vmware Ubuntu 16.04 Server 版本1.vmware 添加两块网卡

dpdk 内核要求(环境搭建保姆级步骤及常见错误)(2)

桥接网卡作为 DPDK 运行的网卡

NAT 网卡作为 ssh 连接的网卡

2.修改网卡配置信息

dpdk 内核要求(环境搭建保姆级步骤及常见错误)(3)

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

3.修改 ubuntu 系统的启动参数

dpdk 内核要求(环境搭建保姆级步骤及常见错误)(4)

物理机:

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 内核要求(环境搭建保姆级步骤及常见错误)(5)

5.编译 DPDK

下载 dpdk : 地址

dpdk 内核要求(环境搭建保姆级步骤及常见错误)(6)

随便挑选版本,不同版本直接子系统接口会有差异,建议选择 dpdk 19.08.2

dpdk 内核要求(环境搭建保姆级步骤及常见错误)(7)

可以通过 usertools/dpdk-setup.sh

dpdk 内核要求(环境搭建保姆级步骤及常见错误)(8)

64 位系统选择 39.

dpdk 内核要求(环境搭建保姆级步骤及常见错误)(9)

编译完会多出 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

dpdk 内核要求(环境搭建保姆级步骤及常见错误)(10)

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

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

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

# ifconfig eth0 down

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

选择 53 运行 testpmd

dpdk 内核要求(环境搭建保姆级步骤及常见错误)(11)

> show port info 0

dpdk 内核要求(环境搭建保姆级步骤及常见错误)(12)

8.编译 DPDK 程序

进入 example/helloworld

可以直接 make

也可以通过 gcc 命令编译

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

lnuma -ldl

dpdk 内核要求(环境搭建保姆级步骤及常见错误)(13)

9. 运行 DPDK 案例

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

dpdk 内核要求(环境搭建保姆级步骤及常见错误)(14)

常见错误

错误 1:

dpdk 内核要求(环境搭建保姆级步骤及常见错误)(15)

没有设置环境变量,请查看本篇《设置 dpdk 的环境变量》

dpdk 内核要求(环境搭建保姆级步骤及常见错误)(16)

dpdk 内核要求(环境搭建保姆级步骤及常见错误)(17)

bitmask 请选择 7 bit:111

分享一个宝藏免费公开课,订阅即可直接学习,每晚8-10点都有LinuxC/C 服务器高级架构的技术提升课程对标大厂岗位技术栈:C/C Linux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂

猜您喜欢: