summaryrefslogtreecommitdiffstats
path: root/tools/pkt_gen
diff options
context:
space:
mode:
Diffstat (limited to 'tools/pkt_gen')
-rwxr-xr-xtools/pkt_gen/ixia/ixia.py12
-rwxr-xr-xtools/pkt_gen/ixnet/ixnet.py28
-rwxr-xr-xtools/pkt_gen/ixnet/ixnetrfc2544.tcl13
-rwxr-xr-xtools/pkt_gen/trafficgen/trafficgen.py14
4 files changed, 34 insertions, 33 deletions
diff --git a/tools/pkt_gen/ixia/ixia.py b/tools/pkt_gen/ixia/ixia.py
index 92ef5203..992aff32 100755
--- a/tools/pkt_gen/ixia/ixia.py
+++ b/tools/pkt_gen/ixia/ixia.py
@@ -228,8 +228,7 @@ class Ixia(trafficgen.ITrafficGenerator):
#TODO - implement Burst results setting via TrafficgenResults.
- def send_cont_traffic(self, traffic=None, time=20, framerate=100,
- multistream=False):
+ def send_cont_traffic(self, traffic=None, time=20, framerate=100):
"""See ITrafficGenerator for description
"""
flow = {
@@ -237,15 +236,14 @@ class Ixia(trafficgen.ITrafficGenerator):
'time': time,
'type': 'contPacket',
'framerate': framerate,
- 'multipleStreams': multistream,
+ 'multipleStreams': traffic['multistream'],
}
result = self._send_traffic(flow, traffic)
return Ixia._create_result(result)
- def start_cont_traffic(self, traffic=None, time=20, framerate=100,
- multistream=False):
+ def start_cont_traffic(self, traffic=None, time=20, framerate=100):
"""See ITrafficGenerator for description
"""
return self.send_cont_traffic(traffic, 0, framerate)
@@ -256,7 +254,7 @@ class Ixia(trafficgen.ITrafficGenerator):
return self.run_tcl('stopTraffic')
def send_rfc2544_throughput(self, traffic=None, trials=3, duration=20,
- lossrate=0.0, multistream=False):
+ lossrate=0.0):
"""See ITrafficGenerator for description
"""
params = {}
@@ -265,7 +263,7 @@ class Ixia(trafficgen.ITrafficGenerator):
'trials': trials,
'duration': duration,
'lossrate': lossrate,
- 'multipleStreams': multistream,
+ 'multipleStreams': traffic['multistream'],
}
params['traffic'] = self.traffic_defaults.copy()
diff --git a/tools/pkt_gen/ixnet/ixnet.py b/tools/pkt_gen/ixnet/ixnet.py
index bb999f70..28ee8aaf 100755
--- a/tools/pkt_gen/ixnet/ixnet.py
+++ b/tools/pkt_gen/ixnet/ixnet.py
@@ -200,16 +200,14 @@ class IxNet(trafficgen.ITrafficGenerator):
"""
pass
- def send_cont_traffic(self, traffic=None, time=30, framerate=100,
- multistream=False):
+ def send_cont_traffic(self, traffic=None, time=30, framerate=100):
"""See ITrafficGenerator for description
"""
- self.start_cont_traffic(traffic, time, framerate, multistream)
+ self.start_cont_traffic(traffic, time, framerate)
return self.stop_cont_traffic()
- def start_cont_traffic(self, traffic=None, time=30, framerate=100,
- multistream=False):
+ def start_cont_traffic(self, traffic=None, time=30, framerate=100):
"""Start transmission.
"""
self._bidir = traffic['bidir']
@@ -219,7 +217,7 @@ class IxNet(trafficgen.ITrafficGenerator):
'binary': False, # don't do binary search and send one stream
'time': time,
'framerate': framerate,
- 'multipleStreams': multistream,
+ 'multipleStreams': traffic['multistream'],
'rfc2544TestType': 'throughput',
}
self._params['traffic'] = self.traffic_defaults.copy()
@@ -253,16 +251,15 @@ class IxNet(trafficgen.ITrafficGenerator):
return self._wait_result()
def send_rfc2544_throughput(self, traffic=None, trials=3, duration=20,
- lossrate=0.0, multistream=False):
+ lossrate=0.0):
"""See ITrafficGenerator for description
"""
- self.start_rfc2544_throughput(traffic, trials, duration, lossrate,
- multistream)
+ self.start_rfc2544_throughput(traffic, trials, duration, lossrate)
return self.wait_rfc2544_throughput()
def start_rfc2544_throughput(self, traffic=None, trials=3, duration=20,
- lossrate=0.0, multistream=False):
+ lossrate=0.0):
"""Start transmission.
"""
self._bidir = traffic['bidir']
@@ -273,7 +270,7 @@ class IxNet(trafficgen.ITrafficGenerator):
'trials': trials,
'duration': duration,
'lossrate': lossrate,
- 'multipleStreams': multistream,
+ 'multipleStreams': traffic['multistream'],
'rfc2544TestType': 'throughput',
}
self._params['traffic'] = self.traffic_defaults.copy()
@@ -385,16 +382,15 @@ class IxNet(trafficgen.ITrafficGenerator):
return parse_ixnet_rfc_results(parse_result_string(output[0]))
def send_rfc2544_back2back(self, traffic=None, trials=1, duration=20,
- lossrate=0.0, multistream=False):
+ lossrate=0.0):
"""See ITrafficGenerator for description
"""
- self.start_rfc2544_back2back(traffic, trials, duration, lossrate,
- multistream)
+ self.start_rfc2544_back2back(traffic, trials, duration, lossrate)
return self.wait_rfc2544_back2back()
def start_rfc2544_back2back(self, traffic=None, trials=1, duration=20,
- lossrate=0.0, multistream=False):
+ lossrate=0.0):
"""Start transmission.
"""
self._bidir = traffic['bidir']
@@ -405,7 +401,7 @@ class IxNet(trafficgen.ITrafficGenerator):
'trials': trials,
'duration': duration,
'lossrate': lossrate,
- 'multipleStreams': multistream,
+ 'multipleStreams': traffic['multistream'],
'rfc2544TestType': 'back2back',
}
self._params['traffic'] = self.traffic_defaults.copy()
diff --git a/tools/pkt_gen/ixnet/ixnetrfc2544.tcl b/tools/pkt_gen/ixnet/ixnetrfc2544.tcl
index d7472c07..2a156d3e 100755
--- a/tools/pkt_gen/ixnet/ixnetrfc2544.tcl
+++ b/tools/pkt_gen/ixnet/ixnetrfc2544.tcl
@@ -106,8 +106,17 @@ proc startRfc2544Test { testSpec trafficSpec } {
}
set multipleStreams [dict get $testSpec multipleStreams]
+ if {($multipleStreams < 0)} {
+ set multipleStreams 0
+ }
+ set numflows 64000
if {$multipleStreams} {
+ if {($multipleStreams > 65535)} {
+ set numflows 65535
+ } else {
+ set numflows $multipleStreams
+ }
set multipleStreams increment
} else {
set multipleStreams singleValue
@@ -2818,7 +2827,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
-valueType $multipleStreams \
-activeFieldChoice False \
-startValue {0} \
- -countValue {64000}
+ -countValue $numflows
sg_commit
set sg_field [lindex [ixNet remapIds $sg_field] 0]
@@ -4453,7 +4462,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
-valueType $multipleStreams \
-activeFieldChoice False \
-startValue {0} \
- -countValue {64000}
+ -countValue $numflows
sg_commit
set sg_field [lindex [ixNet remapIds $sg_field] 0]
diff --git a/tools/pkt_gen/trafficgen/trafficgen.py b/tools/pkt_gen/trafficgen/trafficgen.py
index 13af6b81..37f6c095 100755
--- a/tools/pkt_gen/trafficgen/trafficgen.py
+++ b/tools/pkt_gen/trafficgen/trafficgen.py
@@ -101,8 +101,7 @@ class ITrafficGenerator(object):
"""
raise NotImplementedError('Please call an implementation.')
- def send_cont_traffic(self, traffic=None, time=20, framerate=0,
- multistream=False):
+ def send_cont_traffic(self, traffic=None, time=20, framerate=0):
"""Send a continuous flow of traffic.
Send packets at ``framerate``, using ``traffic`` configuration,
@@ -127,8 +126,7 @@ class ITrafficGenerator(object):
"""
raise NotImplementedError('Please call an implementation.')
- def start_cont_traffic(self, traffic=None, time=20, framerate=0,
- multistream=False):
+ def start_cont_traffic(self, traffic=None, time=20, framerate=0):
"""Non-blocking version of 'send_cont_traffic'.
Start transmission and immediately return. Do not wait for
@@ -142,7 +140,7 @@ class ITrafficGenerator(object):
raise NotImplementedError('Please call an implementation.')
def send_rfc2544_throughput(self, traffic=None, trials=3, duration=20,
- lossrate=0.0, multistream=False):
+ lossrate=0.0):
"""Send traffic per RFC2544 throughput test specifications.
Send packets at a variable rate, using ``traffic``
@@ -170,7 +168,7 @@ class ITrafficGenerator(object):
raise NotImplementedError('Please call an implementation.')
def start_rfc2544_throughput(self, traffic=None, trials=3, duration=20,
- lossrate=0.0, multistream=False):
+ lossrate=0.0):
"""Non-blocking version of 'send_rfc2544_throughput'.
Start transmission and immediately return. Do not wait for
@@ -184,7 +182,7 @@ class ITrafficGenerator(object):
raise NotImplementedError('Please call an implementation.')
def send_rfc2544_back2back(self, traffic=None, trials=1, duration=20,
- lossrate=0.0, multistream=False):
+ lossrate=0.0):
"""Send traffic per RFC2544 back2back test specifications.
Send packets at a fixed rate, using ``traffic``
@@ -207,7 +205,7 @@ class ITrafficGenerator(object):
raise NotImplementedError('Please call an implementation.')
def start_rfc2544_back2back(self, traffic=None, trials=1, duration=20,
- lossrate=0.0, multistream=False):
+ lossrate=0.0):
"""Non-blocking version of 'send_rfc2544_back2back'.
Start transmission and immediately return. Do not wait for