summaryrefslogtreecommitdiffstats
path: root/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_streams.py
diff options
context:
space:
mode:
authorIdo Barnea <ibarnea@cisco.com>2016-05-05 11:52:11 +0300
committerIdo Barnea <ibarnea@cisco.com>2016-05-18 19:20:22 +0300
commit89d643b96d9a86345ef1de8e80c801d1863002e8 (patch)
treec777a0303eda44c4dd016ffc3c5dbe7050453e10 /scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_streams.py
parenta53f6be0617721b535086298095ad49057a7be69 (diff)
Regression tests working. Still missing python API to parse latency json
Diffstat (limited to 'scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_streams.py')
-rwxr-xr-xscripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_streams.py48
1 files changed, 33 insertions, 15 deletions
diff --git a/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_streams.py b/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_streams.py
index a7fd3026..6264c17f 100755
--- a/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_streams.py
+++ b/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_streams.py
@@ -210,25 +210,11 @@ STLStreamDstMAC_CFG_FILE=0
STLStreamDstMAC_PKT =1
STLStreamDstMAC_ARP =2
-# RX stats class
-class STLFlowStats(object):
- """ Define per stream stats
-
- .. code-block:: python
- :caption: STLFlowStats Example
-
- flow_stats = STLFlowStats(pg_id = 7)
-
- """
-
+class STLFlowStatsInterface(object):
def __init__ (self, pg_id):
self.fields = {}
-
self.fields['enabled'] = True
self.fields['stream_id'] = pg_id
- self.fields['seq_enabled'] = False
- self.fields['latency_enabled'] = False
-
def to_json (self):
""" Dump as json"""
@@ -238,6 +224,37 @@ class STLFlowStats(object):
def defaults ():
return {'enabled' : False}
+
+class STLFlowStats(STLFlowStatsInterface):
+ """ Define per stream basic stats
+
+ .. code-block:: python
+ :caption: STLFlowStats Example
+
+ flow_stats = STLFlowStats(pg_id = 7)
+
+ """
+
+ def __init__(self, pg_id):
+ super(STLFlowStats, self).__init__(pg_id)
+ self.fields['rule_type'] = 'stats'
+
+
+class STLFlowLatencyStats(STLFlowStatsInterface):
+ """ Define per stream basic stats + latency, jitter, packet reorder/loss
+
+ .. code-block:: python
+ :caption: STLFlowLatencyStats Example
+
+ flow_stats = STLFlowLatencyStats(pg_id = 7)
+
+ """
+
+ def __init__(self, pg_id):
+ super(STLFlowLatencyStats, self).__init__(pg_id)
+ self.fields['rule_type'] = 'latency'
+
+
class STLStream(object):
""" One stream object. Includes mode, Field Engine mode packet template and Rx stats
@@ -320,6 +337,7 @@ class STLStream(object):
# type checking
validate_type('mode', mode, STLTXMode)
validate_type('packet', packet, (type(None), CTrexPktBuilderInterface))
+ validate_type('flow_stats', flow_stats, (type(None), STLFlowStatsInterface))
validate_type('enabled', enabled, bool)
validate_type('self_start', self_start, bool)
validate_type('isg', isg, (int, float))