tg_instance.trex_stl_start_remote_exec(self.get_duration(),
unit_rate, frame_size,
traffic_type)
- # Get latency stats from stream
- self._latency_stats = tg_instance.get_latency()
-
loss = tg_instance.get_loss()
sent = tg_instance.get_sent()
if self.loss_acceptance_type_is_percentage():
else:
raise NotImplementedError("TG subtype not supported")
+ def get_latency(self):
+ """Return min/avg/max latency.
+
+ :return: Latency stats.
+ :rtype: list
+ """
+
+ tg_instance = BuiltIn().get_library_instance(
+ 'resources.libraries.python.TrafficGenerator')
+ return tg_instance.get_latency_int()
class TrafficGenerator(object):
"""Traffic Generator."""
"""
return self._received
- def get_latency(self):
- """Return min/avg/max latency.
+ def get_latency_int(self):
+ """Return rounded min/avg/max latency.
:return: Latency stats.
:rtype: list
self._node = tg_node
if tg_node['subtype'] == NodeSubTypeTG.TREX:
- trex_path = "/opt/trex-core-2.06"
+ trex_path = "/opt/trex-core-2.07"
ssh = SSH()
ssh.connect(tg_node)
_p0, _p1, _async, _latency,
warmup_time),
timeout=int(duration)+60)
+ elif traffic_type in ["3-node-IPv6-dst-10000"]:
+ (ret, stdout, stderr) = ssh.exec_command(
+ "sh -c '{0}/resources/tools/t-rex/t-rex-stateless.py "
+ "--duration={1} -r {2} -s {3} -6 "
+ "--p{4}_src_start_ip 2001:1::1 "
+ "--p{4}_dst_start_ip 2001:2::0 "
+ "--p{4}_dst_end_ip 2001:2::270F "
+ "--p{5}_src_start_ip 2001:2::1 "
+ "--p{5}_dst_start_ip 2001:1::0 "
+ "--p{5}_dst_end_ip 2001:1::270F "
+ "{6} {7} --warmup_time={8}'".format(Constants.REMOTE_FW_DIR,
+ duration, rate, framesize,
+ _p0, _p1, _async, _latency,
+ warmup_time),
+ timeout=int(duration)+60)
+ elif traffic_type in ["3-node-IPv6-dst-100000"]:
+ (ret, stdout, stderr) = ssh.exec_command(
+ "sh -c '{0}/resources/tools/t-rex/t-rex-stateless.py "
+ "--duration={1} -r {2} -s {3} -6 "
+ "--p{4}_src_start_ip 2001:1::1 "
+ "--p{4}_dst_start_ip 2001:2::0 "
+ "--p{4}_dst_end_ip 2001:2::1:869F "
+ "--p{5}_src_start_ip 2001:2::1 "
+ "--p{5}_dst_start_ip 2001:1::0 "
+ "--p{5}_dst_end_ip 2001:1::1:869F "
+ "{6} {7} --warmup_time={8}'".format(Constants.REMOTE_FW_DIR,
+ duration, rate, framesize,
+ _p0, _p1, _async, _latency,
+ warmup_time),
+ timeout=int(duration)+60)
+ elif traffic_type in ["3-node-IPv6-dst-1000000"]:
+ (ret, stdout, stderr) = ssh.exec_command(
+ "sh -c '{0}/resources/tools/t-rex/t-rex-stateless.py "
+ "--duration={1} -r {2} -s {3} -6 "
+ "--p{4}_src_start_ip 2001:1::1 "
+ "--p{4}_dst_start_ip 2001:2::0 "
+ "--p{4}_dst_end_ip 2001:2::F:423F "
+ "--p{5}_src_start_ip 2001:2::1 "
+ "--p{5}_dst_start_ip 2001:1::0 "
+ "--p{5}_dst_end_ip 2001:1::F:423F "
+ "{6} {7} --warmup_time={8}'".format(Constants.REMOTE_FW_DIR,
+ duration, rate, framesize,
+ _p0, _p1, _async, _latency,
+ warmup_time),
+ timeout=int(duration)+60)
else:
raise NotImplementedError('Unsupported traffic type')
self._received = self._result.split(', ')[1].split('=')[1]
self._sent = self._result.split(', ')[2].split('=')[1]
self._loss = self._result.split(', ')[3].split('=')[1]
+
self._latency = []
self._latency.append(self._result.split(', ')[4].split('=')[1])
self._latency.append(self._result.split(', ')[5].split('=')[1])