《在 CentOS 上编译 DPDK 应用》
1 简介
DPDK 依赖编译工具链、内核头文件、numa 库与 pciutils,编译环境准备好后即可构建 DPDK 及其示例应用。
2 安装依赖
yum -y install gcc gcc-c++ make kernel-devel numactl pciutils
3 编译 DPDK
# 下载源码(示例版本号按需替换)
wget http://fast.dpdk.org/rel/dpdk-21.11.tar.xz
tar -xf dpdk-21.11.tar.xz
cd dpdk-21.11
# 使用 meson + ninja 编译并安装
meson setup build
ninja -C build
ninja -C build install
ldconfig
4 编译示例应用
# 编译所有示例
meson configure build -Dexamples=all
ninja -C build
# 示例产物位于 build/examples/
ls build/examples/
5 在 Docker 中运行 DPDK
宿主机运行时常见限制(大页、设备挂载),容器方案示例:
# 通过 --privileged 与大页内存挂载启用 DPDK
docker run --privileged \
-v /dev/hugepages:/dev/hugepages \
-v /sys/bus/pci/drivers:/sys/bus/pci/drivers \
dpdk-app
说明:
pciutils-3.5.1-3.el7这类具体版本号仅为示例,实际以仓库可用版本为准。
6 参考文档
- 在 Docker 中运行 DPDK:https://github.com/redhat-performance/docker-dpdk
- DPDK 官方文档:https://doc.dpdk.org/guides/
阅读 —
·
全站 —