- if traffic_type in ["3-node-xconnect", "3-node-bridge"]:
- (ret, stdout, stderr) = ssh.exec_command(
- "sh -c '/tmp/openvpp-testing/resources/tools/t-rex/"
- "t-rex-stateless.py "
- "-d {0} -r {1} -s {2} "
- "--p{3}_src_start_ip 10.10.10.1 "
- "--p{3}_src_end_ip 10.10.10.254 "
- "--p{3}_dst_start_ip 20.20.20.1 "
- "--p{4}_src_start_ip 20.20.20.1 "
- "--p{4}_src_end_ip 20.20.20.254 "
- "--p{4}_dst_start_ip 10.10.10.1'".\
- format(duration, rate, framesize, _p0, _p1),\
- timeout=int(duration)+60)
- elif traffic_type in ["3-node-IPv4"]:
- (ret, stdout, stderr) = ssh.exec_command(
- "sh -c '/tmp/openvpp-testing/resources/tools/t-rex/"
- "t-rex-stateless.py "
- "-d {0} -r {1} -s {2} "
- "--p{3}_src_start_ip 10.10.10.2 "
- "--p{3}_src_end_ip 10.10.10.254 "
- "--p{3}_dst_start_ip 20.20.20.2 "
- "--p{4}_src_start_ip 20.20.20.2 "
- "--p{4}_src_end_ip 20.20.20.254 "
- "--p{4}_dst_start_ip 10.10.10.2'".\
- format(duration, rate, framesize, _p0, _p1),\
- timeout=int(duration)+60)
- elif traffic_type in ["3-node-IPv6"]:
- (ret, stdout, stderr) = ssh.exec_command(
- "sh -c '/tmp/openvpp-testing/resources/tools/t-rex/"
- "t-rex-stateless.py "
- "-d {0} -r {1} -s {2} -6 "
- "--p{3}_src_start_ip 2001:1::2 "
- "--p{3}_src_end_ip 2001:1::FE "
- "--p{3}_dst_start_ip 2001:2::2 "
- "--p{4}_src_start_ip 2001:2::2 "
- "--p{4}_src_end_ip 2001:2::FE "
- "--p{4}_dst_start_ip 2001:1::2'".\
- format(duration, rate, framesize, _p0, _p1),\
- timeout=int(duration)+60)
- else:
- raise NotImplementedError('Unsupported traffic type')
+ def trex_stl_start_remote_exec(self, duration, rate, framesize,
+ traffic_type, async_call=False,
+ latency=True, warmup_time=5):
+ """Execute script on remote node over ssh to start traffic.
+
+ :param duration: Time expresed in seconds for how long to send traffic.
+ :param rate: Traffic rate expressed with units (pps, %)
+ :param framesize: L2 frame size to send (without padding and IPG).
+ :param traffic_type: Traffic profile.
+ :param async_call: If enabled then don't wait for all incomming trafic.
+ :param latency: With latency measurement.
+ :param warmup_time: Warmup time period.
+ :type duration: int
+ :type rate: str
+ :type framesize: str
+ :type traffic_type: str
+ :type async_call: bool
+ :type latency: bool
+ :type warmup_time: int
+ :returns: Nothing
+ :raises: RuntimeError in case of TG driver issue.
+ """
+ ssh = SSH()
+ ssh.connect(self._node)