Post

Dpdk 初学(1) 安装

DPDK 编译前置需求

meson和ninja安装后,如果后续root找不到,记得看一下是不是root的PATH找不到路径 后续的文章基于DPDK23.07

1
2
3
4
sudo apt install build-essential python3-pip
pip3 install meson ninja
sudo apt install python3-pyelftools
sudo apt install libnuma-dev

编译并且安装dpdk环境,预留大页内存

1
2
3
4
5
6
7
8
9
10
tar xf dpdk.tar.gz
cd dpdk
meson build/meson -Dexamples=all build
ninja -C build
cd build && ninja install
ldconfig

mkdir -p /dev/hugepages
mountpoint -q /dev/hugepages || mount -t hugetlbfs nodev /dev/hugepages
echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

绑定网卡到dpdk所需要的PMD,在虚拟机里面用uio_pci_generic会失败,具体原因未知可能和虚拟机的设置有关,采用vfio-pci的时候,需要注意一个设置。

1
2
3
4
5
6
启动时携带参数
modprobe vfio enable_unsafe_noiommu_mode=1
或者启动后开启特性
echo 1 > /sys/module/vfio/parameters/enable_unsafe_noiommu_mode

dpdk-devbind.py -b vfio-pci 0000:02:05.0

绑定成功就可以开始dpdk的学习咯。

This post is licensed under CC BY 4.0 by the author.