pktgen+dpdk使用总结

有时间自己总结一下

pktgen+dpdk http://pktgen-dpdk.readthedocs.io/en/latest/getting_started.html

这里面讲了怎么安装,怎么启动,命令参数等,简单实用

文件: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/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...

pktgen+dpdk使用总结_第1张图片

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 

你可能感兴趣的:(dpdk)