diff options
Diffstat (limited to 'scripts/stl')
-rwxr-xr-x | scripts/stl/hlt/hlt_udp_rand_len_9k.py | 31 | ||||
-rw-r--r-- | scripts/stl/udp_1pkt_simple.py | 25 | ||||
-rw-r--r-- | scripts/stl/udp_1pkt_tuple_gen.py | 12 |
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 |