数据平面开发套件(DPDK)安装测试

虚拟机配置
系统CentOS7
内核:3.10.0-957.10.1.el7.x86_64
二核二线程CPU
4G内存

安装依赖

yum makecache  #建立缓存
#安装
yum install -y gcc gcc-c++  kernel-devel kernel-headers kernel net-tools
yum install -y numactl-devel numactl-libs
yum install -y libpcap libpcap-devel
yum install -y pciutils

安装DPDK

xz -d dpdk-19.02.tar.xz
tar -xvf dpdk-19.02.tar
cd dpdk-19.02/
make config T=x86_64-native-linuxapp-gcc
sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config
#解压、更换内核版本
rpm2cpio kernel-devel-3.10.0-862.el7.x86_64.rpm | cpio -div  
#软连接
ln -sv /usr/src/kernels/3.10.0-957.10.1.el7.x86_64/ /lib/modules/3.10.0-862.el7.x86_64/build
make

设置大页内存

mkdir -p /mnt/huge
mount -t hugetlbfs nodev /mnt/huge
echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

载入模块

modprobe uio_pci_generic
modprobe uio
modprobe vfio-pci
insmod build/kmod/igb_uio.ko

运行DPDK

make -C examples RTE_SDK=$(pwd) RTE_TARGET=build O=$(pwd)/build/examples #编译测试用例
./build/examples/helloworld/build/helloworld -c f -n 2 #运行测试用例

数据平面开发套件(DPDK)安装测试

testpmd

lspci #查网卡
./usertools/dpdk-devbind.py --bind=igb_uio  02:01.0  绑定网卡
./build/app/testpmd -l 0-1 -n 1  -- -i #运行testpmd

数据平面开发套件(DPDK)安装测试