blob: a50ba848ab373dee14a283e2f7c1e58555a896fb (
plain)
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
|
from trex_stl_lib.api import *
class STLS1(object):
"""
Create flow stat stream of UDP packet.
Can specify using tunables the packet length (fsize) and packet group id (pg_id)
"""
def __init__ (self):
self.fsize = 64
self.pg_id = 0
def _create_stream (self):
size = self.fsize - 4; # HW will add 4 bytes ethernet CRC
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'
pkt = STLPktBuilder(pkt = base_pkt/pad)
return [STLStream(packet = pkt,
mode = STLTXCont(pps=1),
flow_stats = STLFlowStats(pg_id = self.pg_id))
]
def get_streams (self, fsize = 64, pg_id = 7, **kwargs):
self.fsize = fsize
self.pg_id = pg_id
return self._create_stream()
# dynamic load - used for trex console or simulator
def register():
return STLS1()
|