diff options
Diffstat (limited to 'scripts/stl/flow_stats.py')
-rw-r--r-- | scripts/stl/flow_stats.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/scripts/stl/flow_stats.py b/scripts/stl/flow_stats.py new file mode 100644 index 00000000..a50ba848 --- /dev/null +++ b/scripts/stl/flow_stats.py @@ -0,0 +1,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() + + + |