数据平面开发套件(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 #运行测试用例
testpmd
lspci #查网卡
./usertools/dpdk-devbind.py --bind=igb_uio 02:01.0 绑定网卡
./build/app/testpmd -l 0-1 -n 1 -- -i #运行testpmd