【dperf系列-2】如何编译DPDK-19.11

dperf是百度近日开源的基于DPDK与用户态协议栈技术的一款高性能HTTP压测工具。本文指导DPDK新手们如何成功迈出使用dperf的第一步:编译DPDK。DPDK大牛可忽略此文或者看一眼build.md即可。

由于从DPDK-20开始,编译有较大的变化,DPDK编译系列分为两篇文章介绍。本篇文章介绍DPDK-19.11编译,DPDK-19以前版本的编译方法与DPDK-19.11相同;另一篇文章介绍DPDK-20.11编译。

准备工作

操作系统:推荐CentOS 7.9,内核版本4.X,5.X也可以,低版本内核支持Mellanox驱动比较麻烦
DPDK:下载DPDK-19.11.10

检查网卡厂商与驱动型号(命令参考):

lspci | grep Ethernet
ethtool -i eth0

Mellanox网卡驱动编译(可选)

如果网卡不是Mellanox的,请跳过本节。
下载社区驱动rdma-core-stable-v22
编译

cd /root/rdma-core-stable-v22/
build.sh

设置环境变量

RDMA_CORE_BUILD_DIR=/root/rdma-core-stable-v22/build
export C_INCLUDE_PATH=$RDMA_CORE_BUILD_DIR/include
export LIBRARY_PATH=$RDMA_CORE_BUILD_DIR/lib
export LD_LIBRARY_PATH=$RDMA_CORE_BUILD_DIR/lib

配置DPDK

编辑config/common_base,视情况开启如下开关

#使用Mellanox网卡:
CONFIG_RTE_LIBRTE_MLX5_PMD=y

#使用华为网卡:
CONFIG_RTE_LIBRTE_HNS3_PMD=y
CONFIG_RTE_LIBRTE_HINIC_PMD=y

#KVM虚拟机
CONFIG_RTE_VIRTIO_USER=y

#vmware虚拟机
CONFIG_RTE_LIBRTE_VMXNET3_PMD=y

编译DPDK

#X86处理器上编译DPDK
make install T=x86_64-native-linuxapp-gcc -j16

#ARM64处理器编译DPDK
make install T=arm64-armv8a-linuxapp-gcc -j16

你可能感兴趣的