【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

【【dperf系列-2】如何编译DPDK-19.11】设置环境变量
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

    推荐阅读