pktgen-dpdk 使用笔记

pktgen-dpdk 使用笔记

安装

yum install gcc libpcap-devel kernel-devel kernel-headers
TOPDIR=/devel
mkdir -p $TOPDIR
cd $TOPDIR
git clone http://dpdk.org/git/dpdk
git clone http://dpdk.org/git/apps/pktgen-dpdk

export RTE_SDK=$TOPDIR/dpdk
export RTE_TARGET=x86_64-native-linuxapp-gcc

$ cd $RTE_SDK
$ make install T=x86_64-native-linuxapp-gcc


$ cd $TOPDIR/pktgen-dpdk
$ make

示例:
绑定igb_uio(mlx4/mlx5无需绑定)后

./pktgen  -c 0xffff --socket-mem=5120,5120 -w 03:00.0 -w 03:00.1 -n 2 -r 2 -- --crc-strip -P -m [1:2-15].0 -T -N

注意事项
1. pktgen 支持单一、范围、随机、序列多重数据流发送模式,每种模式都拥有自己的packet buffer。所以为每种模式启用不同的配置,并启用模式(enable port-id mode),默认启用为单一数据流放方式;
2. pktgen 最小要求2个CPU才可以运行,0核用于处理命令行&计时器屏幕刷新,其他核用于发送&接收数据报文;
3. pktgen一定要在与pktgen.lua文件同一目录下运行,即pktgen的文件夹中运行;

single - 单一地址流模式

set 0 dst mac 11:22:33:44:55:66
set 0 dst ip 192.168.11.1
set 0 src ip 192.168.10.1/24
str

range - 指定地址范围多流模式

enable 0 rang
page rage
set 0 dst ip 192.168.20.3
range 0 dst ip 192.168.20.3 192.168.20.3 192.168.20.50 0.0.0.1
set 0 src ip 192.168.30.3/24
range 0 src ip 192.168.30.3 192.168.30.3 192.168.30.50 0.0.0.1
range 0 size 64 64 64 0
str
page stats

sequence - 序列多重数据流模式

sequence <seq#> <portlist> dst <Mac> src <Mac> dst <IP> src <IP> sport <val> dport <val> ipv4|ipv6 udp|tcp|icmp vlan <val> pktsize <val> [teid <val>]
sequence <seq#> <portlist> <dst-Mac> <src-Mac> <dst-IP> <src-IP> <sport> <dport> ipv4|ipv6 udp|tcp|icmp <vlanid> <pktsize> [<teid>]
- Set the sequence packet information, make sure the src-IP has the netmask value eg 1.2.3.4/24
page seq
seq 0 all 0000:4455:6677 0000:1234:5678 10.11.0.1 10.10.0.1/16 5 6 ipv4 udp 1 128 0
seq 1 all 0000:4455:6677 0000:1234:5678 10.11.0.1 10.10.2.1/16 5 6 ipv4 udp 1 128 3
set all seqCnt 2
str
page stats

random - 随机流模式

set port-id rnd idx offset bitmask

发送随机流, 随机源地址(offset 26) + 随机源端口(offset 34);

page rnd
enable 0 random
set 0 rnd 0 26 ........XXXXXXXXXXXXXXXXXXXXXXXX
set 0 rnd 1 34 XXXXXXXXXXXXXXXX................
str
page stats
page rnd
enable all random
set all rnd 0 26 ........XXXXXXXXXXXXXXXXXXXXXXXX
set all rnd 1 34 XXXXXXXXXXXXXXXX................
page main
str

参考

pktgen-dpdk Doc

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章