summaryrefslogtreecommitdiffstats
path: root/scripts/stl
diff options
context:
space:
mode:
authorYaroslav Brustinov <ybrustin@cisco.com>2016-04-27 23:27:34 +0300
committerYaroslav Brustinov <ybrustin@cisco.com>2016-04-27 23:27:34 +0300
commitc04b8b0dfa97c0eae40e4dc35b7cc223c2fb85e6 (patch)
tree2b7856af3af6768efde8f0ed508001d3e012fdf9 /scripts/stl
parent429072c5997c76bd9338ad896127b5241d740b28 (diff)
regression: stateless CPU benchmark for profiles
Diffstat (limited to 'scripts/stl')
-rwxr-xr-xscripts/stl/hlt/hlt_udp_rand_len_9k.py31
-rw-r--r--scripts/stl/udp_1pkt_simple.py25
-rw-r--r--scripts/stl/udp_1pkt_tuple_gen.py12
3 files changed, 49 insertions, 19 deletions
diff --git a/scripts/stl/hlt/hlt_udp_rand_len_9k.py b/scripts/stl/hlt/hlt_udp_rand_len_9k.py
new file mode 100755
index 00000000..1966823c
--- /dev/null
+++ b/scripts/stl/hlt/hlt_udp_rand_len_9k.py
@@ -0,0 +1,31 @@
+from trex_stl_lib.trex_stl_hltapi import STLHltStream
+
+
+class STLS1(object):
+ '''
+ Create Eth/IP/UDP steam with random packet size (L3 size from 50 to 9*1024)
+ '''
+
+ def get_streams (self, direction = 0, **kwargs):
+ min_size = 50
+ max_size = 9*1024
+ return [STLHltStream(length_mode = 'random',
+ l3_length_min = min_size,
+ l3_length_max = max_size,
+ l3_protocol = 'ipv4',
+ ip_src_addr = '16.0.0.1',
+ ip_dst_addr = '48.0.0.1',
+ l4_protocol = 'udp',
+ udp_src_port = 1025,
+ udp_dst_port = 12,
+ rate_pps = 1000,
+ ignore_macs = True,
+ )
+ ]
+
+# dynamic load - used for trex console or simulator
+def register():
+ return STLS1()
+
+
+
diff --git a/scripts/stl/udp_1pkt_simple.py b/scripts/stl/udp_1pkt_simple.py
index 0407f9c9..b84626a1 100644
--- a/scripts/stl/udp_1pkt_simple.py
+++ b/scripts/stl/udp_1pkt_simple.py
@@ -2,18 +2,21 @@ from trex_stl_lib.api import *
class STLS1(object):
- def create_stream (self):
- return STLStream(
- packet =
- STLPktBuilder(
- pkt = Ether()/IP(src="16.0.0.1",dst="48.0.0.1")/
- UDP(dport=12,sport=1025)/(10*'x')
- ),
- mode = STLTXCont())
-
- def get_streams (self, direction = 0, **kwargs):
+ def create_stream (self, packet_len, packet_count):
+ base_pkt = Ether()/IP(src="16.0.0.1",dst="48.0.0.1")/UDP(dport=12,sport=1025)
+ base_pkt_len = len(base_pkt)
+ base_pkt /= 'x' * max(0, packet_len - base_pkt_len)
+ packets = []
+ for i in range(packet_count):
+ packets.append(STLStream(
+ packet = STLPktBuilder(pkt = base_pkt),
+ mode = STLTXCont()
+ ))
+ return packets
+
+ def get_streams (self, direction = 0, packet_len = 64, packet_count = 1, **kwargs):
# create 1 stream
- return [ self.create_stream() ]
+ return self.create_stream(packet_len - 4, packet_count)
# dynamic load - used for trex console or simulator
diff --git a/scripts/stl/udp_1pkt_tuple_gen.py b/scripts/stl/udp_1pkt_tuple_gen.py
index be8620c8..4e9ab12d 100644
--- a/scripts/stl/udp_1pkt_tuple_gen.py
+++ b/scripts/stl/udp_1pkt_tuple_gen.py
@@ -2,16 +2,12 @@ from trex_stl_lib.api import *
class STLS1(object):
- def __init__ (self):
- self.fsize =64;
-
- def create_stream (self):
+ def create_stream (self, packet_len):
# create a base packet and pad it to size
- size = self.fsize - 4; # no FCS
base_pkt = Ether()/IP(src="16.0.0.1",dst="48.0.0.1")/UDP(dport=12,sport=1025)
- pad = max(0, size - len(base_pkt)) * 'x'
+ pad = max(0, packet_len - len(base_pkt)) * 'x'
vm = STLScVmRaw( [ STLVmTupleGen ( ip_min="16.0.0.1", ip_max="16.0.0.2",
port_min=1025, port_max=65535,
@@ -31,9 +27,9 @@ class STLS1(object):
- def get_streams (self, direction = 0, **kwargs):
+ def get_streams (self, direction = 0, packet_len = 64, **kwargs):
# create 1 stream
- return [ self.create_stream() ]
+ return [ self.create_stream(packet_len - 4) ]
# dynamic load - used for trex console or simulator