DPDK Version
~~~~~~~~~~~~
-DPDK v17.11
+DPDK v18.08
TG Build Script Used
~~~~~~~~~~~~~~~~~~~~
::
$ cat /etc/trex_cfg.yaml
- - port_limit : 2
- version : 2
+ - version : 2
interfaces : ["0000:0d:00.0","0000:0d:00.1"]
port_info :
- dest_mac : [0x3c,0xfd,0xfe,0x9c,0xee,0xf5]
::
- $ sh -c 'cd <t-rex-install-dir>/scripts/ && sudo nohup ./t-rex-64 -i -c 7 --iom 0 > /tmp/trex.log 2>&1 &'> /dev/null
+ $ sh -c 'cd <t-rex-install-dir>/scripts/ && sudo nohup ./t-rex-64 -i -c 7 > /tmp/trex.log 2>&1 &'> /dev/null
TG API Driver
~~~~~~~~~~~~~
QEMU_VM_DPDK = '/opt/dpdk-19.02'
# TRex install version
- TREX_INSTALL_VERSION = '2.35'
+ TREX_INSTALL_VERSION = '2.54'
# TRex install directory
- TREX_INSTALL_DIR = '/opt/trex-core-2.35'
+ TREX_INSTALL_DIR = '/opt/trex-core-2.54'
# Honeycomb directory location at topology nodes:
REMOTE_HC_DIR = '/opt/honeycomb'
from .DropRateSearch import DropRateSearch
from .Constants import Constants
-from .ssh import SSH
+from .ssh import SSH, exec_cmd_no_error
from .topology import NodeType
from .topology import NodeSubTypeTG
from .topology import Topology
raise RuntimeError('Node type is not a TG')
self._node = tg_node
- if tg_node['subtype'] == NodeSubTypeTG.TREX:
+ if self._node['subtype'] == NodeSubTypeTG.TREX:
ssh = SSH()
- ssh.connect(tg_node)
+ ssh.connect(self._node)
(ret, _, _) = ssh.exec_command(
"sudo -E sh -c '{0}/resources/tools/trex/"
if int(ret) != 0:
raise RuntimeError('TRex installation failed.')
- if1_pci = Topology().get_interface_pci_addr(tg_node, tg_if1)
- if2_pci = Topology().get_interface_pci_addr(tg_node, tg_if2)
- if1_addr = Topology().get_interface_mac(tg_node, tg_if1)
- if2_addr = Topology().get_interface_mac(tg_node, tg_if2)
+ if1_pci = Topology().get_interface_pci_addr(self._node, tg_if1)
+ if2_pci = Topology().get_interface_pci_addr(self._node, tg_if2)
+ if1_addr = Topology().get_interface_mac(self._node, tg_if1)
+ if2_addr = Topology().get_interface_mac(self._node, tg_if2)
if osi_layer == 'L2':
if1_adj_addr = if2_addr
if2_adj_addr = Topology().get_interface_mac(tg_if2_adj_node,
tg_if2_adj_if)
elif osi_layer == 'L7':
- if1_addr = Topology().get_interface_ip4(tg_node, tg_if1)
- if2_addr = Topology().get_interface_ip4(tg_node, tg_if2)
+ if1_addr = Topology().get_interface_ip4(self._node, tg_if1)
+ if2_addr = Topology().get_interface_ip4(self._node, tg_if2)
if1_adj_addr = Topology().get_interface_ip4(tg_if1_adj_node,
tg_if1_adj_if)
if2_adj_addr = Topology().get_interface_ip4(tg_if2_adj_node,
if osi_layer == 'L2' or osi_layer == 'L3':
(ret, _, _) = ssh.exec_command(
"sudo sh -c 'cat << EOF > /etc/trex_cfg.yaml\n"
- "- port_limit: 2\n"
- " version: 2\n"
+ "- version: 2\n"
" interfaces: [\"{0}\",\"{1}\"]\n"
" port_info:\n"
" - dest_mac: [{2}]\n"
elif osi_layer == 'L7':
(ret, _, _) = ssh.exec_command(
"sudo sh -c 'cat << EOF > /etc/trex_cfg.yaml\n"
- "- port_limit: 2\n"
- " version: 2\n"
+ "- version: 2\n"
" interfaces: [\"{0}\",\"{1}\"]\n"
" port_info:\n"
" - ip: [{2}]\n"
if int(ret) != 0:
raise RuntimeError('TRex config generation error')
- for _ in range(0, 3):
- # kill TRex only if it is already running
- ssh.exec_command(
- "sh -c 'pgrep t-rex && sudo pkill t-rex && sleep 3'")
+ self._startup_trex(osi_layer)
- # configure TRex
- (ret, _, _) = ssh.exec_command(
- "sh -c 'cd {0}/scripts/ && sudo ./trex-cfg'"\
- .format(Constants.TREX_INSTALL_DIR))
- if int(ret) != 0:
- raise RuntimeError('trex-cfg failed')
-
- # start TRex
- if osi_layer == 'L2' or osi_layer == 'L3':
- (ret, _, _) = ssh.exec_command(
- "sh -c 'cd {0}/scripts/ && "
- "sudo nohup ./t-rex-64 -i -c 7 --iom 0 > /tmp/trex.log "
- "2>&1 &' > /dev/null"\
- .format(Constants.TREX_INSTALL_DIR))
- elif osi_layer == 'L7':
- (ret, _, _) = ssh.exec_command(
- "sh -c 'cd {0}/scripts/ && "
- "sudo nohup ./t-rex-64 --astf -i -c 7 --iom 0 > "
- "/tmp/trex.log 2>&1 &' > /dev/null"\
- .format(Constants.TREX_INSTALL_DIR))
- else:
- raise ValueError("Unknown Test Type")
- if int(ret) != 0:
- ssh.exec_command("sh -c 'cat /tmp/trex.log'")
- raise RuntimeError('t-rex-64 startup failed')
-
- # get TRex server info
- (ret, _, _) = ssh.exec_command(
- "sh -c 'sleep 3; "
- "{0}/resources/tools/trex/trex_server_info.py'"\
- .format(Constants.REMOTE_FW_DIR),
- timeout=120)
- if int(ret) == 0:
- # If we get info TRex is running
- return
- # after max retries TRex is still not responding to API
- # critical error occurred
- raise RuntimeError('t-rex-64 startup failed')
+ def _startup_trex(self, osi_layer):
+ """Startup sequence for the TRex traffic generator.
+
+ :param osi_layer: 'L2', 'L3' or 'L7' - OSI Layer testing type.
+ :type osi_layer: str
+ :raises RuntimeError: If node subtype is not a TREX or startup failed.
+ """
+ if self._node['subtype'] != NodeSubTypeTG.TREX:
+ raise RuntimeError('Node subtype is not a TREX!')
+
+ for _ in range(0, 3):
+ # Kill TRex only if it is already running.
+ cmd = "sh -c 'pgrep t-rex && pkill t-rex && sleep 3 || true'"
+ exec_cmd_no_error(
+ self._node, cmd, sudo=True, message='Kill TRex failed!')
+
+ # Configure TRex.
+ ports = ''
+ for port in self._node['interfaces'].values():
+ ports += ' {pci}'.format(pci=port.get('pci_address'))
+
+ cmd = ("sh -c 'cd {dir}/scripts/ && "
+ "./dpdk_nic_bind.py -u {ports} || true'"
+ .format(dir=Constants.TREX_INSTALL_DIR, ports=ports))
+ exec_cmd_no_error(
+ self._node, cmd, sudo=True,
+ message='Unbind PCI ports from driver failed!')
+
+ cmd = ("sh -c 'cd {dir}/scripts/ && ./trex-cfg'"
+ .format(dir=Constants.TREX_INSTALL_DIR))
+ exec_cmd_no_error(
+ self._node, cmd, sudo=True, message='Config TRex failed!')
+
+ # Start TRex.
+ cmd = ("sh -c 'cd {dir}/scripts/ && "
+ "nohup ./t-rex-64 {mode} -i -c 7 > "
+ "/tmp/trex.log 2>&1 &' > /dev/null"
+ .format(dir=Constants.TREX_INSTALL_DIR,
+ mode='--astf' if osi_layer == 'L7' else ''))
+ try:
+ exec_cmd_no_error(self._node, cmd, sudo=True)
+ except RuntimeError:
+ cmd = "sh -c 'cat /tmp/trex.log'"
+ exec_cmd_no_error(self._node, cmd, sudo=True,
+ message='Get TRex logs failed!')
+ raise RuntimeError('Start TRex failed!')
+
+ # Test if TRex starts successfuly.
+ cmd = ("sh -c '{dir}/resources/tools/trex/trex_server_info.py'"
+ .format(dir=Constants.REMOTE_FW_DIR))
+ try:
+ exec_cmd_no_error(
+ self._node, cmd, sudo=True, message='Test TRex failed!',
+ retries=20)
+ except RuntimeError:
+ continue
+ return
+ # After max retries TRex is still not responding to API critical error
+ # occurred.
+ raise RuntimeError('Start TRex failed after multiple retries!')
@staticmethod
def is_trex_running(node):
vpp_prev_release='19.01',
dpdkrelease='19.02',
sdpdkrelease='1902',
- trex_version='v2.35',
+ trex_version='v2.54',
csit_ubuntu_ver='csit-ubuntu-16.04.1_2019-03-27_2.4',
csit_centos_ver='csit-centos-7.6-1810_2019-04-15_2.4',
vpp_release_commit_id='3d18a191aaf31ef8b1524ab80fed22a304adf75d')
#!/usr/bin/python
-# Copyright (c) 2016 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
Requirements:
- T-REX: https://github.com/cisco-system-traffic-generator/trex-core
- - compiled and running T-REX process (eg. ./t-rex-64 -i -c 4)
- - trex_stl_lib.api library
+ - compiled and running T-REX process (eg. ./t-rex-64 -i)
+ - trex.stl.api library
- Script must be executed on a node with T-REX instance
Functionality:
import sys
-sys.path.insert(0, "/opt/trex-core-2.35/scripts/automation/"+\
- "trex_control_plane/stl/")
-from trex_stl_lib.api import *
-
+sys.path.insert(0, "/opt/trex-core-2.54/scripts/automation/"+\
+ "trex_control_plane/interactive/")
+from trex.stl.api import *
def get_server_system_info():
"""Check server info and quit.
:return: nothing
"""
-
# create client
client = STLClient()
# connect to server
client.connect()
# get server info
- print client.get_server_system_info()
-
+ print(client.get_server_system_info())
except STLError as ex_error:
- print_error(str(ex_error))
+ sys.stderr.write(str(ex_error))
sys.exit(1)
-
finally:
client.disconnect()
-def print_error(msg):
- """Print error message on stderr.
-
- :param msg: Error message to print.
- :type msg: string
- :return: nothing
- """
-
- sys.stderr.write(msg+'\n')
-
-
def main():
"""Main function."""
-
get_server_system_info()
import argparse
import json
-sys.path.insert(0, "/opt/trex-core-2.35/scripts/automation/"
- "trex_control_plane/stl/")
-
-from trex_stl_lib.api import *
+sys.path.insert(0, "/opt/trex-core-2.54/scripts/automation/"
+ "trex_control_plane/interactive/")
+from trex.stl.api import *
def fmt_latency(lat_min, lat_avg, lat_max):
try:
# Create the client:
- client = STLClient(verbose_level=LoggerApi.VERBOSE_QUIET)
+ client = STLClient()
# Connect to server:
client.connect()
# Prepare our ports (the machine has 0 <--> 1 with static route):
#!/usr/bin/python
-# Copyright (c) 2016 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
Requirements:
- T-REX: https://github.com/cisco-system-traffic-generator/trex-core
- - compiled and running T-REX process (eg. ./t-rex-64 -i -c 4)
- - trex_stl_lib.api library
+ - compiled and running T-REX process (eg. ./t-rex-64 -i)
+ - trex.stl.api library
- Script must be executed on a node with T-REX instance
Functionality:
1. Stop any running traffic
-
"""
import sys
import json
-sys.path.insert(0, "/opt/trex-core-2.35/scripts/automation/"+\
- "trex_control_plane/stl/")
-from trex_stl_lib.api import *
+sys.path.insert(0, "/opt/trex-core-2.54/scripts/automation/"+\
+ "trex_control_plane/interactive/")
+from trex.stl.api import *
def stop_all_traffic_streams():
:return: nothing
"""
-
# create client
- client = STLClient(verbose_level=LoggerApi.VERBOSE_QUIET)
+ client = STLClient()
try:
# connect to server
print("\npackets lost from 0 --> 1: {0} pkts".format(lost_a))
print("packets lost from 1 --> 0: {0} pkts".format(lost_b))
-
except STLError as ex_error:
- print_error(str(ex_error))
+ sys.stderr.write(str(ex_error))
sys.exit(1)
-
finally:
client.disconnect()
-def print_error(msg):
- """Print error message on stderr.
-
- :param msg: Error message to print.
- :type msg: string
- :return: nothing
- """
-
- sys.stderr.write(msg+'\n')
-
-
def main():
"""Main function."""
-
stop_all_traffic_streams()
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
from random import choice
from string import letters
-from trex_stl_lib.api import *
+from trex.stl.api import *
class TrafficStreamsBaseClass(object):
+++ /dev/null
-# Copyright (c) 2018 Cisco and/or its affiliates.
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""ASTF profile for TRex traffic generator.
-
-ASTF profile:
- - Client side traffic in directions 0 --> 1.
- - Server side traffic disabled.
- - Packet: ETH / IP / TCP / HTTP1.1
- - Direction 0 --> 1:
- - Source IP address range: 172.16.130.2 - 172.16.130.2
- - Destination IP address range: 192.168.0.1
-"""
-
-from trex_astf_lib.api import *
-
-
-class Prof1():
- def __init__(self):
- """Initialization and setting of streams' parameters."""
-
- # Response content length.
- self.content_len = 0
- # Number of requests per HTTP transaction.
- self.requests = 1
- # Number of transactions per HTTP connection.
- self.transaction_per_conn = 1
- # Use TCP RST instead of FIN+ACK.
- self.tcp_reset = False
-
- # IP used in packet headers.
- self.p1_src_start_ip = '172.16.130.2'
- self.p1_src_end_ip = '172.16.130.2'
- self.p1_dst_start_ip = '192.168.0.1'
- self.p1_dst_end_ip = '192.168.0.1'
-
- self.http_req = (b'GET /0KB.bin HTTP/1.1\r\n'
- 'Host: {host}\r\n'
- 'User-Agent: trex/astf\r\n'
- 'Accept: */*\r\n'
- 'Connection: keep-alive\r\n\r\n'
- .format(host=self.p1_dst_start_ip))
- self.http_res = (b'HTTP/1.1 200 OK\r\n'
- 'Server: nginx/1.13.7\r\n'
- 'Date: Mon, 01 Jan 2018 00:00:00 GMT\r\n'
- 'Content-Type: application/octet-stream\r\n'
- 'Content-Length: {length}\r\n'
- 'Last-Modified: Mon, 01 Jan 2018 00:00:00 GMT\r\n'
- 'Connection: keep-alive\r\n'
- 'ETag: "5a027c14-0"\r\n'
- 'Accept-Ranges: bytes\r\n\r\n'
- .format(length=self.content_len))
-
- def create_profile(self):
- # client operations
- prog_c = ASTFProgram()
- prog_c.connect()
- for i in range(self.transaction_per_conn):
- prog_c.send(self.http_req * self.requests)
- prog_c.recv((len(self.http_res) + self.content_len) * self.requests)
- if self.tcp_reset:
- prog_c.reset()
-
- # ip generator
- ip_gen_c = ASTFIPGenDist(ip_range=[self.p1_src_start_ip,
- self.p1_src_end_ip],
- distribution="seq")
- ip_gen_s = ASTFIPGenDist(ip_range=[self.p1_dst_start_ip,
- self.p1_dst_end_ip],
- distribution="seq")
- ip_gen = ASTFIPGen(glob=ASTFIPGenGlobal(ip_offset="0.0.0.1"),
- dist_client=ip_gen_c,
- dist_server=ip_gen_s)
-
- # TCP parameters
- tcp_params = ASTFTCPInfo(window=32768)
- # client tunables
- c_glob_info = ASTFGlobalInfo()
-
- # template
- client_template = ASTFTCPClientTemplate(program=prog_c,
- tcp_info=tcp_params,
- ip_gen=ip_gen)
- server_template = ASTFTCPServerTemplate(program=ASTFProgram(),
- tcp_info=tcp_params)
- template = ASTFTemplate(client_template=client_template,
- server_template=server_template)
-
- # profile
- return ASTFProfile(default_ip_gen=ip_gen, templates=template,
- default_c_glob_info=c_glob_info)
-
- def get_profile(self):
- return self.create_profile()
-
-
-def register():
- return Prof1()
-
+++ /dev/null
-# Copyright (c) 2018 Cisco and/or its affiliates.
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""ASTF profile for TRex traffic generator.
-
-ASTF profile:
- - Client side traffic in directions 0 --> 1.
- - Server side traffic disabled.
- - Packet: ETH / IP / TCP / HTTP1.1
- - Direction 0 --> 1:
- - Source IP address range: 172.16.130.2 - 172.16.130.2
- - Destination IP address range: 192.168.0.1
-"""
-
-from trex_astf_lib.api import *
-
-
-class Prof1():
- def __init__(self):
- """Initialization and setting of streams' parameters."""
-
- # Response content length.
- self.content_len = 115
- # Number of requests per HTTP transaction.
- self.requests = 1
- # Number of transactions per HTTP connection.
- self.transaction_per_conn = 1
- # Use TCP RST instead of FIN+ACK.
- self.tcp_reset = False
-
- # IP used in packet headers.
- self.p1_src_start_ip = '172.16.130.2'
- self.p1_src_end_ip = '172.16.130.2'
- self.p1_dst_start_ip = '172.16.130.1'
- self.p1_dst_end_ip = '172.16.130.1'
-
- self.http_req = (b'GET / HTTP/1.1\r\n'
- 'Host: {host}\r\n'
- 'User-Agent: trex/astf\r\n'
- 'Accept: */*\r\n\r\n'
- .format(host=self.p1_dst_start_ip))
- self.http_res = (b'HTTP/1.1 200 OK\r\n'
- 'Content-Type: text/html\r\n'
- 'Expires: Mon, 11 Jan 1970 10:10:10 GMT\r\n'
- 'Connection: close\r\n'
- 'Pragma: no-cache\r\n'
- 'Content-Length: {length}\r\n\r\n'
- .format(length=self.content_len))
-
- def create_profile(self):
- # client operations
- prog_c = ASTFProgram()
- prog_c.connect()
- for i in range(self.transaction_per_conn):
- prog_c.send(self.http_req * self.requests)
- prog_c.recv((len(self.http_res) + self.content_len) * self.requests)
- if self.tcp_reset:
- prog_c.reset()
-
- # ip generator
- ip_gen_c = ASTFIPGenDist(ip_range=[self.p1_src_start_ip,
- self.p1_src_end_ip],
- distribution="seq")
- ip_gen_s = ASTFIPGenDist(ip_range=[self.p1_dst_start_ip,
- self.p1_dst_end_ip],
- distribution="seq")
- ip_gen = ASTFIPGen(glob=ASTFIPGenGlobal(ip_offset="0.0.0.1"),
- dist_client=ip_gen_c,
- dist_server=ip_gen_s)
-
- # TCP parameters
- tcp_params = ASTFTCPInfo(window=32768)
- # client tunables
- c_glob_info = ASTFGlobalInfo()
-
- # template
- client_template = ASTFTCPClientTemplate(program=prog_c,
- tcp_info=tcp_params,
- ip_gen=ip_gen)
- server_template = ASTFTCPServerTemplate(program=ASTFProgram(),
- tcp_info=tcp_params)
- template = ASTFTemplate(client_template=client_template,
- server_template=server_template)
-
- # profile
- return ASTFProfile(default_ip_gen=ip_gen, templates=template,
- default_c_glob_info=c_glob_info)
-
- def get_profile(self):
- return self.create_profile()
-
-
-def register():
- return Prof1()
-
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 2001:1::2
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.0 - 10.0.39.15
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.0 - 10.1.134.159
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.0 - 10.15.66.63
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.10.10.2
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.0 - 10.7.161.31
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.0 - 10.0.195.79
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.0 - 10.0.19.135
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination UDP port range: 1001 - 2000
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination UDP port range: 1028
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 2001:1::0 - 2001:1::270F
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 2001:1::0 - 2001:1::1:869F
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 2001:1::0 - 2001:1::F:423F
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 2001:1::2
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
from re import finditer
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.1 - 10.0.0.254
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.1 - 10.0.0.254
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.1 - 10.0.0.254
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.1 - 10.0.0.254
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.0
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.0 - 10.0.0.99
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.0 - 10.0.3.231
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.0 - 10.0.39.15
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.0 - 10.1.134.159
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.0 - 10.15.66.63
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 1.1.1.2 - 1.1.1.254
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 2.1.1.2 - 2.1.1.254
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.10.10.2
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.10.10.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.1
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.0 - 10.7.161.31
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.0 - 10.0.195.79
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 10.0.0.0 - 10.0.19.135
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination UDP port range: 1024 - 16023
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination UDP port range: 1001 - 2000
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination UDP port range: 1024 - 2523
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination UDP port range: 1001 - 2000
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination UDP port range: 1001 - 1010
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 201 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination UDP port range: 1024 - 1173
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination UDP port range: 1024 - 1038
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination UDP port range: 1028
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination UDP port range: 1024 - 31022
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination UDP port range: 1024 - 61022
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 2001:1::0 - 2001:1::270F
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 2001:1::0 - 2001:1::1:869F
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 2001:1::0 - 2001:1::F:423F
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2017 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
- Destination IP address range: 2001:1::2
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
"""
-from trex_stl_lib.api import *
+from trex.stl.api import *
from profile_trex_stateless_base_class import TrafficStreamsBaseClass
# RFC 7348 - Virtual eXtensible Local Area Network (VXLAN):