有时间自己总结一下
pktgen+dpdk: http://pktgen-dpdk.readthedocs.io/en/latest/getting_started.html
source:https://git.dpdk.org/apps/pktgen-dpdk
这里面讲了怎么安装,怎么启动,命令参数等,简单实用
文件:dpdk-16.11.1.tar pktgen-3.1.2.tar
安装:
1、先编译DPDK库
cd /usr/src/dpdk-stable-16.11.1
export RTE_SDK=/usr/src/dpdk-stable-16.11.1/
export RTE_TARGET=x86_64-native-linuxapp-gcc
export EXTRA_CFLAGS='-O0 -g'
sed 's/CONFIG_RTE_BUILD_COMBINE_LIBS=n/CONFIG_RTE_BUILD_COMBINE_LIBS=y/' -i config/common_linuxapp
make install T=x86_64-native-linuxapp-gcc
2、编译pktgen
cd /usr/src/pktgen-3.1.2
make
./setup.sh
3、其他配置
配置大页(临时配置)
echo 2048 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
mkdir /mnt/huge
mount -t hugetlbfs nodev /mnt/huge
modprobe uio
rmmod igb_uio
insmod /usr/src/dpdk-16.07/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
/dpdk-stable-16.11.1/tools/dpdk-devbind.py -b igb_uio 0000:06:00.0 (网卡pci号)
4、启动
./app/x86_64-native-linuxapp-gcc/app/pktgen -c 0x3 -n 3 --proc-type auto --socket-mem 1024 --huge-dir /mnt/huge --file-prefix pg1 -- -P -T -m '[0:1].0'
参数请参考上面的pktgen文档(http://pktgen-dpdk.readthedocs.io/en/latest/running.html)
正常启动后显示如下,下面是只有一个port的情况,多个的话编号是0,1,2...
5、基本命令
输入?可以打印帮助信息,0是port的编号
http://pktgen-dpdk.readthedocs.io/en/latest/commands.html
0 port发包,收包是默认动作
start 0
0 port停止发包
stop 0
设置dst mac
set mac 0 00:32:50:91:33:20
设置目的ip
set ip dst 0 192.168.10.1
设置源 ip
set ip src 0 192.168.10.3/24
设置vlan
vlan 0 on
vlanid 0 1000
设置包大小
set 0 size 512
设置最大发送速率的百分比(全速是1400万pps)
set 0 rate 20