1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
### Single stream UDP packet, 64B ###
#####################################
- name: udp_64B
stream:
self_start: True
packet:
binary: stl/udp_64B_no_crc.pcap # pcap should not include CRC
mode:
type: continuous
pps: 100
rx_stats: []
# program that define 1M flows with IP range 16.0.0.1-16.0.0.254
# we will create a script that do that for you
# this is the low level instructions
vm: [
{
"type" : "tuple_flow_var", # name of the command
"name" : "tuple_gen", # tuple_gen.ip tuple_gen.port can be used
"ip_min" : 0x10000001, # min ip 16.0.0.1
"ip_max" : 0x100000fe, # max ip 16.0.0.254
"port_min" : 1025, # min port 1025
"port_max" : 65500, # max port 65500
"limit_flows" : 1000000, # number of flows
"flags" : 0, # 1 - for unlimited
},
{
"type" : "write_flow_var", # command name
"name" : "tuple_gen.ip", # varible to write
"add_value" : 0, # no need to add value
"is_big_endian" : true, # write as big edian
"pkt_offset" : 26, # write tuple_gen.ip into ipv4.src_ip
},
{
"type" : "fix_checksum_ipv4", # fix ipv4 header checksum
"pkt_offset" : 14, # offset of ipv4 header
},
{
"type" : "write_flow_var", # command name
"name" : "tuple_gen.port", # varible to write
"add_value" : 0, # no need to add value
"is_big_endian" : true, # write as big edian
"pkt_offset" : 34, # write tuple_gen.port into udp.src_port
}
]
|