Командная строка и скрипты pktgen при задании N потоков по ip-адресам/портам:
src.mac start 0 90:e2:ba:50:b2:6d
dst.mac start 0 00:1b:21:bf:90:d5
set ip dst 0 10.10.10.1
set ip src 0 11.11.11.1/24
range 0 enable
src.ip start 0 11.11.11.1
src.ip min 0 11.11.11.1
src.ip max 0 11.11.11.100
src.ip inc 0 0.0.0.1
dst.ip start 0 10.10.10.1
dst.ip min 0 10.10.10.1
dst.ip max 0 10.10.10.100
dst.ip inc 0 0.0.0.1
src.port start 0 5001
src.port min 0 5001
src.port max 0 5005
src.port inc 0 1
dst.port start 0 5001
dst.port min 0 3001
dst.port max 0 3001
dst.port inc 0 1
pkt.size start 0 64
pkt.size min 0 64
pkt.size max 0 64
pkt.size inc 0 0
type ipv4 0
proto udp 0
игнорируют директиву UDP («proto udp 0») из скрипта *.pkt, а генерируют TCP (ack)
./app/pktgen -c 0xf -n 3 — -P -m 1.0 -T -f ./flows.pkt
Для устранения вышеописанного поведения в файле pktgen-cmds.c в функции pktgen_port_defaults() необходимо заменитьpkt->ipProto = PG_IPPROTO_TCP на pkt->ipProto = PG_IPPROTO_UDP.
Pktgen version 2.9.1 using DPDK-2.0.0