1 确认网卡型号
lspci -vvv|grep Ethernet
2 确认网卡是否被DPDK支持
登录网址直接进行搜索型号信息
link
3 确认系统型号
cat /etc/redhat-release
4 根据版本型号确定要下载的DPDK版本
同样上官网查询适合版本
1 配置内存大业
vim /etc/grub2.cfg
在第一个menuentry中,UTF-8后添加:
hpet=enable default_hugepagesz=1G hugepagesz=1G hugepages=40
配置完成后重启同时配置bios
2 bios配置
NUMA:开启
3 重启后配置大业信息
echo 20 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages
echo 20 > /sys/devices/system/node/node1/hugepages/hugepages-1048576kB/nr_hugepages
4 查看大业是否配置成功
cat /proc/meminfo | grep Huge
cpupower frequency-set -g performance
查看性能是否最佳
cpupower frequency-info
1 官网下载
link
2 解压文件
xz -d dpdk-17.11.4.tar.xz
tar -xvf dpdk-17.11.4.tar
3 进入目录配置环境变量
cd dpdk-stable-17.11.4
echo "export RTE_SDK=`pwd`" >> /etc/profile
echo "export RTE_TARGET=x86_64-native-linuxapp-gcc" >> /etc/profile
echo "export EXTRA_CFLAGS='-O0 -g'" >> /etc/profile
source /etc/profile
4 编译
注意网卡为Mellanox-cx5或者cx4在编译前需要打开PMD,否则运行pktgen或者testpmd时会找不到驱动
make install T=x86_64-native-linuxapp-gcc
cd dpdk-stable-17.11.4/x86_64-native-linuxapp-gcc
vim .config
(1) 如果网卡是Mellanox-cx5修改以下选项
CONFIG_RTE_LIBRTE_MLX5_PMD=y
CONFIG_RTE_LIBRTE_MLX5_DEBUG=y
CONFIG_RTE_LIBRTE_MLX5_TX_MP_CACHE=8
(2) 如果想使用pdump(DPDK内抓包工具),修改以下选项
CONFIG_RTE_LIBRTE_PMD_PCAP=y
CONFIG_RTE_LIBRTE_PDUMP=y
修改完以上设置后,保存
make
退回到dpdk-17.11.4目录下并进行如下编译
cd app
make
5 网卡绑定
Mellanox网卡不需要绑定,Intel && Broadcom需要绑定,Intel && Broadcom需要使用DPDK驱动,绑定成功后在“ip a”下不可见
(1)安装lspci
yum install -y pciutils
(2)网卡绑定
机器每次重启需要重新进行网卡绑定
进入dpdk-17.11.4文件进行网卡绑定
lspci | grep -i eth #查看网卡对应的PCIE地址,例如:af:00.0 af:00.1】
modprobe uio
insmod ./x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
ifdown ethX #绑定前需要改变网卡状态
./usertools/dpdk-devbind.py -b igb_uio 0000:06:00.0 #此处需要填写PCIE对应的地址
查询网卡绑定情况
./usertools/dpdk-devbind.py --status
网卡解绑
./usertools/dpdk-devbind.py -u 0000:06:00.0 #解绑
解绑网卡重新绑定回Kernel driver 需要执行reboot命令
6 找到可执行脚本testpmd
find -name testpmd
脚本在 dpdk-stable-17.11.4/app/build/app/
7 执行命令
./testpmd –l 10-19 –n 4 -- -i --rxq=4 --txq=4 --rxd=4096 --txd=4096 –nb-cores=8 –nb-ports=2
1 下载pktgen
link
本人使用版本为pktgen-3.4.9.zip
2 解压
unzip pktgen-3.4.9.zip
cd pktgen-3.4.9/
3 设置环境变量
如果接收端设置过不用在设置
export RTE_SDK=/root/dpdk/dpdk-stable-17.11.4/
export RTE_TARGET=x86_64-native-linuxapp-gcc
4 编译【编译前安装依赖项,否则会报错】
yum install -y libpcap-devel
make
5 绑定网卡
6 找到可执行脚本pktgen
find -name pktgen
脚本在/pktgen-3.4.9/app//x86_64-native-linuxapp-gcc/
7 执行命令
./pktgen -l 0,24-30 -n 1 -- -T –p 0x1 -m "[24:25-30].0"