DPDK 下载:
https://core.dpdk.org/download/
DPDK 文档:
https://core.dpdk.org/doc/quick-start/
1、下载 DPDK 发行版本源代码,最好先找到 LTS 版本(即长期支援版本)
本文编译DPDK版本为:DPDK 22.11.2 LTS
2、下载依赖工具链:meson、ninja
2.1、Ubuntu 18.04 LTS 上面自带 ninja 工具链
2.2、不可用下述的命令行安装 meson 工具链
sudo apt-get install meson
安装编译 DPDK 依赖的工具链:
sudo apt install ninja-build -y
sudo apt-get install python3 python3-pip -y
sudo pip3 install --user meson --default-timeout=10000 # sudo pip3 install meson
export PATH=$PATH:$HOME/.local/bin
sudo pip3 install pyelftools
3、切入到DPDK源代码目录内,开始编译
meson build
cd build
ninja
如果要安装编译出来的程序工具链到操作系统之中, 就执行下面的语句
sudo ninja install -y
ldconfig # 链接动态库
编译 helloworld 示例程序:
先回到DPDK源代码跟目录:
cd build
meson configure -Dexamples=helloworld
ninja
运行 helloword 实例程序:
先回到DPDK源代码跟目录:(DPDK需要设置大页内存)
echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
cd build/example
sudo ./dpdk-helloworld
新版本DPDK之中可以绑定网卡运行:
比如:
绑定网卡 eth0
./dpdk-helloworld --vdev=eth_af_packet0,iface=eth0