ubuntu虚拟机编译安装dpdk
参考文章:
https://blog.csdn.net/weixin_44260459/article/details/122674647
https://blog.csdn.net/cloudvtech/article/details/80221236
环境
VMware16虚拟机 Ubuntu版本22.04.1(默认以root用户操作)
dpdk版本20.11.6(LTS)
1、安装依赖包
apt-get install build-essential
apt-get install meson
apt install python3-pyelftools
apt-get install pkg-config
2、下载dpdk
wget http://fast.dpdk.org/rel/dpdk-20.11.6.tar.xz
tar -xvf dpdk-20.11.6.tar.xz
3、编译安装dpdk
cd dpdk-stable-20.11.6
meson build

cd build
ninja

ninja install

4、helloworld测试(/build)
meson configure -Dexamples=helloworld
ninja (一定要再次ninja一次,ninja的作用是根据不同的CPU指令集进行性能优化)

echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages (设置大页内存)
cd examples
./dpdk-helloworld

6、PMD测试
6.1、编译igb_uio驱动
git clone http://dpdk.org/git/dpdk-kmods
cd /dpdk-kmod/linux/igb_uio
make

6.2、加载igb_uio驱动
cd /dpdk-kmods/linux/igb_uio/
modprobe uio
insmod igb_uio.ko intr_mode=legacy
echo 512 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages (分配大页内存)
6.3、绑定网卡

ifconfig ens33 down
dpdk-devbing.py --bind=igb_uio 02:01.0

6.4、不带参数pmd测试
cd /dpdk-stable-20.11.6/build/app
dpdk-testpmd


6.5、参数命令测试
dpdk-testpmd -l 3,0,2 --socket-mem 1024 --log-level=8 -- -i



6.6、解绑网卡
lspci | grep Eth (查看设备号)
dpdk-devbind.py -u 02:01.0
dpdk-devbind.py -b e1000 02:01.0