ubuntu虛擬機(jī)編譯安裝dpdk
參考文章:
https://blog.csdn.net/weixin_44260459/article/details/122674647
https://blog.csdn.net/cloudvtech/article/details/80221236
環(huán)境
VMware16虛擬機(jī)? ?Ubuntu版本22.04.1(默認(rèn)以root用戶(hù)操作)
dpdk版本20.11.6(LTS)
1、安裝依賴(lài)包
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測(cè)試(/build)
meson configure -Dexamples=helloworld
ninja?? (一定要再次ninja一次,ninja的作用是根據(jù)不同的CPU指令集進(jìn)行性能優(yōu)化)

echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages? (設(shè)置大頁(yè)內(nèi)存)
cd examples
./dpdk-helloworld

6、PMD測(cè)試
6.1、編譯igb_uio驅(qū)動(dòng)
git clone http://dpdk.org/git/dpdk-kmods
cd? /dpdk-kmod/linux/igb_uio
make

6.2、加載igb_uio驅(qū)動(dòng)
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? (分配大頁(yè)內(nèi)存)
6.3、綁定網(wǎng)卡

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

6.4、不帶參數(shù)pmd測(cè)試
cd /dpdk-stable-20.11.6/build/app
dpdk-testpmd


6.5、參數(shù)命令測(cè)試
dpdk-testpmd -l 3,0,2 --socket-mem 1024? --log-level=8 -- -i



6.6、解綁網(wǎng)卡
lspci | grep Eth? (查看設(shè)備號(hào))
dpdk-devbind.py -u 02:01.0
dpdk-devbind.py -b e1000? 02:01.0