一、System Requirements
build-essential
python3.5 or later
meson、ninja (建议使用pip3安装最新版本, 安装时添加--user)
pyelftools(0.22+, apt install python3-pyelftools)
libnuma-dev
Note:我使用pip3安装meson默认安装在/home/tp/.local/bin下(具体问题具体分析),需要将其添加到环境变量中,之后才可使用.
export PATH=$PATH:$HOME/.local/bin
二、compiling the DPDK from source(base Ubuntu)
cd dpdk
meson build
cd build
ninja
sudo -s
ninja install
ldconfig
Note:不可以简单的将编译之后的DPDK复制到目的主机,需要重新编译。因为编译的时候会根据CPU指令集进行性能优化,所以不同主机编译结果是不同的。
三、compiling the example application
cd build
meson configure -Dexamples=helloworld
ninja
四,run the example application
su
echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
cd build/example
sudo ./dpdk-helloworld
五,网卡绑定
Note:新版本的dpdk可以不用将网卡绑定在内核模块上,可以直接使用如下命令,在使用的时候驱动网卡。
--vdev=eth_af_packet0, iface=ens33