aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVratko Polak <vrpolak@cisco.com>2019-04-16 16:32:59 +0200
committerVratko Polak <vrpolak@cisco.com>2019-04-17 10:39:18 +0000
commit258f2666143138f20d84665fcfed53475bc88041 (patch)
treebe45d45e1913bd0c9c738662efea52deb16ffa9c
parentc481185ca0662f4e7800af2ae6a8f3f81c753470 (diff)
Clean up traffic_profile vs osi_layer
The two types were not well distinguished before. Error introduced in: https://gerrit.fd.io/r/#/c/17811/84/resources/libraries/robot/performance/performance_setup.robot@255 Error hotfixed in: https://gerrit.fd.io/r/#/c/18847/4/resources/libraries/robot/shared/default.robot@109 + Rename some arguments and improve method docstrings. Newly introduced argument name osi_layer should be dissimilar enough. Change-Id: Ie0f6f97dc010fc6477f09c54574970f1d15462e2 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
-rw-r--r--docs/test_code_guidelines.rst25
-rw-r--r--resources/libraries/python/DropRateSearch.py44
-rw-r--r--resources/libraries/python/InterfaceUtil.py11
-rw-r--r--resources/libraries/python/TrafficGenerator.py20
-rw-r--r--resources/libraries/robot/performance/performance_setup.robot72
-rw-r--r--resources/libraries/robot/performance/performance_utils.robot36
-rw-r--r--resources/libraries/robot/shared/default.robot10
7 files changed, 108 insertions, 110 deletions
diff --git a/docs/test_code_guidelines.rst b/docs/test_code_guidelines.rst
index 24544b93de..d1f268772b 100644
--- a/docs/test_code_guidelines.rst
+++ b/docs/test_code_guidelines.rst
@@ -72,30 +72,27 @@ RobotFramework test case files and resource files
*** Keywords ***
| Local Template
| | [Documentation]
- | | ... | [Cfg] DUT runs L2 patch config with ${phy_cores} phy
- | | ... | core(s).
- | | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames\
- | | ... | using single trial throughput test.
+ | | ... | [Cfg] DUT runs L2 patch config with ${phy_cores} phy core(s).
+ | | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\
| | ...
| | ... | *Arguments:*
- | | ... | - framesize - Framesize in Bytes in integer\
- | | ... | or string (IMIX_v4_1). Type: integer, string
+ | | ... | - frame_size - Framesize in Bytes in integer
+ | | ... | or string (IMIX_v4_1). Type: integer, string
| | ... | - phy_cores - Number of physical cores. Type: integer
- | | ... | - rxq - Number of RX queues, default value: ${None}.\
- | | ... | Type: integer
+ | | ... | - rxq - Number of RX queues, default value: ${None}.
+ | | ... | Type: integer
| | ...
- | | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
+ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None}
+ | | ...
+ | | Set Test Variable | \${frame_size}
| | ...
| | Given Add worker threads and rxqueues to all DUTs
| | ... | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
- | | ${max_rate} | ${jumbo} = | Run Keyword
- | | ... | Get Max Rate And Jumbo And Handle Multi Seg
- | | ... | ${s_24.5G} | ${framesize} | pps_limit=${s_18.75Mpps}
+ | | Set Max Rate And Jumbo And Handle Multi Seg
| | And Apply startup configuration on all VPP DUTs
| | When Initialize L2 patch
- | | Then Traffic should pass with maximum rate
- | | ... | ${max_rate}pps | ${framesize} | ${traffic_profile}
+ | | Then Find NDR and PDR intervals using optimized search
+ Every suite and test case template (or testcase)
SHALL contain short documentation.
diff --git a/resources/libraries/python/DropRateSearch.py b/resources/libraries/python/DropRateSearch.py
index d090306cc5..e87ef95434 100644
--- a/resources/libraries/python/DropRateSearch.py
+++ b/resources/libraries/python/DropRateSearch.py
@@ -109,21 +109,21 @@ class DropRateSearch(object):
@abstractmethod
def measure_loss(self, rate, frame_size, loss_acceptance,
- loss_acceptance_type, traffic_type, skip_warmup=False):
+ loss_acceptance_type, traffic_profile, skip_warmup=False):
"""Send traffic from TG and measure count of dropped frames.
:param rate: Offered traffic load.
:param frame_size: Size of frame.
:param loss_acceptance: Permitted drop ratio or frames count.
:param loss_acceptance_type: Type of permitted loss.
- :param traffic_type: Traffic profile ([2,3]-node-L[2,3], ...).
+ :param traffic_profile: Module name to use for traffic generation.
:param skip_warmup: Start TRex without warmup traffic if true.
:type rate: int
:type frame_size: str
:type loss_acceptance: float
:type loss_acceptance_type: LossAcceptanceType
- :type traffic_type: str
- :type traffic_type: bool
+ :type traffic_profile: str
+ :type skip_warmup: bool
:returns: Drop threshold exceeded? (True/False)
:rtype: bool
"""
@@ -381,13 +381,13 @@ class DropRateSearch(object):
else:
raise ValueError("Unknown search result type")
- def linear_search(self, start_rate, traffic_type):
+ def linear_search(self, start_rate, traffic_profile):
"""Linear search of rate with loss below acceptance criteria.
:param start_rate: Initial rate.
- :param traffic_type: Traffic profile.
+ :param traffic_profile: Module name to use for traffic generation.
:type start_rate: float
- :type traffic_type: str
+ :type traffic_profile: str
:returns: nothing
:raises ValueError: If start rate is not in range.
"""
@@ -405,7 +405,7 @@ class DropRateSearch(object):
for dummy in range(self._max_attempts):
res.append(self.measure_loss(
rate, self._frame_size, self._loss_acceptance,
- self._loss_acceptance_type, traffic_type))
+ self._loss_acceptance_type, traffic_profile))
res = self._get_res_based_on_search_type(res)
@@ -447,18 +447,18 @@ class DropRateSearch(object):
return self._search_result_rate, self.get_latency()
raise Exception('Search FAILED')
- def binary_search(self, b_min, b_max, traffic_type, skip_max_rate=False,
+ def binary_search(self, b_min, b_max, traffic_profile, skip_max_rate=False,
skip_warmup=False):
"""Binary search of rate with loss below acceptance criteria.
:param b_min: Min range rate.
:param b_max: Max range rate.
- :param traffic_type: Traffic profile.
+ :param traffic_profile: Module name to use for traffic generation.
:param skip_max_rate: Start with max rate first
:param skip_warmup: Start TRex without warmup traffic if true.
:type b_min: float
:type b_max: float
- :type traffic_type: str
+ :type traffic_profile: str
:type skip_max_rate: bool
:type skip_warmup: bool
:returns: nothing
@@ -489,33 +489,33 @@ class DropRateSearch(object):
res = []
for dummy in range(self._max_attempts):
- res.append(self.measure_loss(rate, self._frame_size,
- self._loss_acceptance,
- self._loss_acceptance_type,
- traffic_type, skip_warmup=skip_warmup))
+ res.append(self.measure_loss(
+ rate, self._frame_size, self._loss_acceptance,
+ self._loss_acceptance_type, traffic_profile,
+ skip_warmup=skip_warmup))
res = self._get_res_based_on_search_type(res)
# loss occurred and it was above acceptance criteria
if not res:
- self.binary_search(b_min, rate, traffic_type, True, True)
+ self.binary_search(b_min, rate, traffic_profile, True, True)
# there was no loss / loss below acceptance criteria
else:
self._search_result_rate = rate
- self.binary_search(rate, b_max, traffic_type, True, True)
+ self.binary_search(rate, b_max, traffic_profile, True, True)
- def combined_search(self, start_rate, traffic_type):
+ def combined_search(self, start_rate, traffic_profile):
"""Combined search of rate with loss below acceptance criteria.
:param start_rate: Initial rate.
- :param traffic_type: Traffic profile.
+ :param traffic_profile: Module name to use for traffic generation.
:type start_rate: float
- :type traffic_type: str
+ :type traffic_profile: str
:returns: nothing
:raises RuntimeError: If linear search failed.
"""
- self.linear_search(start_rate, traffic_type)
+ self.linear_search(start_rate, traffic_profile)
if self._search_result in [SearchResults.SUCCESS,
SearchResults.SUSPICIOUS]:
@@ -535,7 +535,7 @@ class DropRateSearch(object):
self._search_result_rate = None
# we will use binary search to refine search in one linear step
- self.binary_search(b_min, b_max, traffic_type, True)
+ self.binary_search(b_min, b_max, traffic_profile, True)
# linear and binary search succeed
if self._search_result == SearchResults.SUCCESS:
diff --git a/resources/libraries/python/InterfaceUtil.py b/resources/libraries/python/InterfaceUtil.py
index d78984b1ca..1b1dda5726 100644
--- a/resources/libraries/python/InterfaceUtil.py
+++ b/resources/libraries/python/InterfaceUtil.py
@@ -1325,22 +1325,19 @@ class InterfaceUtil(object):
exec_cmd_no_error(node, cmd, sudo=True)
@staticmethod
- def init_avf_interface(node, ifc_key, numvfs=1, traffic_type='L2'):
+ def init_avf_interface(node, ifc_key, numvfs=1, osi_layer='L2'):
"""Init PCI device by creating VFs and bind them to vfio-pci for AVF
driver testing on DUT.
:param node: DUT node.
:param ifc_key: Interface key from topology file.
:param numvfs: Number of VFs to initialize, 0 - disable the VFs.
- :param traffic_type: Expected type of traffic, affects spoofing.
+ :param osi_layer: OSI Layer type to initialize TG with.
Default value "L2" sets linux interface spoof off.
- Other values do not do that.
- Note: This is NOT the usual traffic profile
- (which is python module name to initialize TG with).
:type node: dict
:type ifc_key: str
:type numvfs: int
- :type traffic_type: str
+ :type osi_layer: str
:returns: Virtual Function topology interface keys.
:rtype: list
"""
@@ -1379,7 +1376,7 @@ class InterfaceUtil(object):
format(pci=pf_pci_addr)
InterfaceUtil.set_linux_interface_trust_on(node, pf_dev,
vf_id=vf_id)
- if traffic_type == 'L2':
+ if osi_layer == 'L2':
InterfaceUtil.set_linux_interface_spoof_off(node, pf_dev,
vf_id=vf_id)
InterfaceUtil.set_linux_interface_mac(node, pf_dev, vf_mac_addr,
diff --git a/resources/libraries/python/TrafficGenerator.py b/resources/libraries/python/TrafficGenerator.py
index 5f92888fe8..84b9f1ff32 100644
--- a/resources/libraries/python/TrafficGenerator.py
+++ b/resources/libraries/python/TrafficGenerator.py
@@ -170,7 +170,7 @@ class TrafficGenerator(AbstractMeasurer):
def initialize_traffic_generator(
self, tg_node, tg_if1, tg_if2, tg_if1_adj_node, tg_if1_adj_if,
- tg_if2_adj_node, tg_if2_adj_if, test_type, tg_if1_dst_mac=None,
+ tg_if2_adj_node, tg_if2_adj_if, osi_layer, tg_if1_dst_mac=None,
tg_if2_dst_mac=None):
"""TG initialization.
@@ -183,7 +183,7 @@ class TrafficGenerator(AbstractMeasurer):
:param tg_if1_adj_if: TG if1 adjecent interface.
:param tg_if2_adj_node: TG if2 adjecent node.
:param tg_if2_adj_if: TG if2 adjecent interface.
- :param test_type: 'L2', 'L3' or 'L7' - OSI Layer testing type.
+ :param osi_layer: 'L2', 'L3' or 'L7' - OSI Layer testing type.
:param tg_if1_dst_mac: Interface 1 destination MAC address.
:param tg_if2_dst_mac: Interface 2 destination MAC address.
:type tg_node: dict
@@ -193,7 +193,7 @@ class TrafficGenerator(AbstractMeasurer):
:type tg_if1_adj_if: str
:type tg_if2_adj_node: dict
:type tg_if2_adj_if: str
- :type test_type: str
+ :type osi_layer: str
:type tg_if1_dst_mac: str
:type tg_if2_dst_mac: str
:returns: nothing
@@ -220,15 +220,15 @@ class TrafficGenerator(AbstractMeasurer):
if1_addr = Topology().get_interface_mac(tg_node, tg_if1)
if2_addr = Topology().get_interface_mac(tg_node, tg_if2)
- if test_type == 'L2':
+ if osi_layer == 'L2':
if1_adj_addr = if2_addr
if2_adj_addr = if1_addr
- elif test_type == 'L3':
+ elif osi_layer == 'L3':
if1_adj_addr = Topology().get_interface_mac(tg_if1_adj_node,
tg_if1_adj_if)
if2_adj_addr = Topology().get_interface_mac(tg_if2_adj_node,
tg_if2_adj_if)
- elif test_type == 'L7':
+ 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_adj_addr = Topology().get_interface_ip4(tg_if1_adj_node,
@@ -249,7 +249,7 @@ class TrafficGenerator(AbstractMeasurer):
if1_adj_addr, if2_adj_addr = if2_adj_addr, if1_adj_addr
self._ifaces_reordered = True
- if test_type == 'L2' or test_type == 'L3':
+ 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"
@@ -266,7 +266,7 @@ class TrafficGenerator(AbstractMeasurer):
"0x"+if1_addr.replace(":", ",0x"),
"0x"+if2_adj_addr.replace(":", ",0x"),
"0x"+if2_addr.replace(":", ",0x")))
- elif test_type == 'L7':
+ elif osi_layer == 'L7':
(ret, _, _) = ssh.exec_command(
"sudo sh -c 'cat << EOF > /etc/trex_cfg.yaml\n"
"- port_limit: 2\n"
@@ -299,13 +299,13 @@ class TrafficGenerator(AbstractMeasurer):
raise RuntimeError('trex-cfg failed')
# start TRex
- if test_type == 'L2' or test_type == 'L3':
+ 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 test_type == 'L7':
+ elif osi_layer == 'L7':
(ret, _, _) = ssh.exec_command(
"sh -c 'cd {0}/scripts/ && "
"sudo nohup ./t-rex-64 --astf -i -c 7 --iom 0 > "
diff --git a/resources/libraries/robot/performance/performance_setup.robot b/resources/libraries/robot/performance/performance_setup.robot
index 11ce560fd6..4f3b0bd01a 100644
--- a/resources/libraries/robot/performance/performance_setup.robot
+++ b/resources/libraries/robot/performance/performance_setup.robot
@@ -240,19 +240,19 @@
| | ... | argument. Initializes traffic generator.
| | ...
| | ... | *Arguments:*
-| | ... | - traffic_profile - Profile name to initialize TG with. Type: string
+| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
| | ... | - nic_name - Interface model. Type: string
| | ...
| | ... | *Example:*
| | ...
| | ... | \| 2-node Performance Suite Setup \| L2 \| Intel-X520-DA2 \|
| | ...
-| | [Arguments] | ${traffic_profile} | ${nic_name}
+| | [Arguments] | ${osi_layer} | ${nic_name}
| | ...
| | Set variables in 2-node circular topology with DUT interface model
| | ... | ${nic_name}
| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
-| | ... | ${dut1} | ${dut1_if1} | ${dut1} | ${dut1_if2} | ${traffic_profile}
+| | ... | ${dut1} | ${dut1_if1} | ${dut1} | ${dut1_if2} | ${osi_layer}
| Set up 2-node-switched performance topology with DUT's NIC model
| | [Documentation]
@@ -262,7 +262,7 @@
| | ... | argument. Initializes traffic generator.
| | ...
| | ... | *Arguments:*
-| | ... | - traffic_profile - Profile name to initialize TG with. Type: string
+| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
| | ... | - nic_name - Interface model. Type: string
| | ... | - tg_if1_dest_mac - Interface 1 destination MAC address. Type: string
| | ... | - tg_if2_dest_mac - Interface 2 destination MAC address. Type: string
@@ -272,13 +272,13 @@
| | ... | \| 2-node Performance Suite Setup \| L2 \| Intel-X520-DA2 \
| | ... | \| 22:22:33:44:55:66 \| 22:22:33:44:55:55 \|
| | ...
-| | [Arguments] | ${traffic_profile} | ${nic_name} | ${tg_if1_dest_mac}
+| | [Arguments] | ${osi_layer} | ${nic_name} | ${tg_if1_dest_mac}
| | ... | ${tg_if2_dest_mac}
| | ...
| | Set variables in 2-node circular topology with DUT interface model
| | ... | ${nic_name}
| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
-| | ... | ${dut1} | ${dut1_if1} | ${dut1} | ${dut1_if2} | ${traffic_profile}
+| | ... | ${dut1} | ${dut1_if1} | ${dut1} | ${dut1_if2} | ${osi_layer}
| | ... | ${tg_if1_dest_mac} | ${tg_if2_dest_mac}
| Set up 3-node performance topology with DUT's NIC model
@@ -289,7 +289,7 @@
| | ... | argument. Initializes traffic generator.
| | ...
| | ... | *Arguments:*
-| | ... | - traffic_profile - Profile name to initialize TG with. Type: string
+| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
| | ... | - nic_name - Interface model. Type: string
| | ...
| | ... | *Example:*
@@ -297,12 +297,12 @@
| | ... | \| Set up 3-node performance topology with DUT's NIC model \| L2 \
| | ... | \| Intel-X520-DA2 \|
| | ...
-| | [Arguments] | ${traffic_profile} | ${nic_name}
+| | [Arguments] | ${osi_layer} | ${nic_name}
| | ...
| | Set variables in 3-node circular topology with DUT interface model
| | ... | ${nic_name}
| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
-| | ... | ${dut1} | ${dut1_if1} | ${dut2} | ${dut2_if2} | ${traffic_profile}
+| | ... | ${dut1} | ${dut1_if1} | ${dut2} | ${dut2_if2} | ${osi_layer}
| Set up 3-node performance topology with DUT's NIC model with double link between DUTs
| | [Documentation]
@@ -312,7 +312,7 @@
| | ... | argument. Initializes traffic generator.
| | ...
| | ... | *Arguments:*
-| | ... | - traffic_profile - Profile name to initialize TG with. Type: string
+| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
| | ... | - nic_name - Interface model. Type: string
| | ...
| | ... | *Example:*
@@ -320,12 +320,12 @@
| | ... | \| Set up 3-node performance topology with DUT's NIC model with \
| | ... | double link between DUTs \| L2 \| Intel-X520-DA2 \|
| | ...
-| | [Arguments] | ${traffic_profile} | ${nic_name}
+| | [Arguments] | ${osi_layer} | ${nic_name}
| | ...
| | Set variables in 3-node circular topology with DUT interface model with double link between DUTs
| | ... | ${nic_name}
| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
-| | ... | ${dut1} | ${dut1_if1} | ${dut2} | ${dut2_if2} | ${traffic_profile}
+| | ... | ${dut1} | ${dut1_if1} | ${dut2} | ${dut2_if2} | ${osi_layer}
| Set up DPDK 2-node performance topology with DUT's NIC model
| | [Documentation]
@@ -335,7 +335,7 @@
| | ... | environment.
| | ...
| | ... | *Arguments:*
-| | ... | - traffic_profile - Profile name to initialize TG with. Type: string
+| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
| | ... | - nic_name - Interface model. Type: string
| | ...
| | ... | *Example:*
@@ -343,12 +343,12 @@
| | ... | \| Set up DPDK 2-node performance topology with DUT's NIC model \
| | ... | \| L2 \| Intel-X520-DA2 \|
| | ...
-| | [Arguments] | ${traffic_profile} | ${nic_name}
+| | [Arguments] | ${osi_layer} | ${nic_name}
| | ...
| | Set variables in 2-node circular topology with DUT interface model
| | ... | ${nic_name}
| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
-| | ... | ${dut1} | ${dut1_if1} | ${dut1} | ${dut1_if2} | ${traffic_profile}
+| | ... | ${dut1} | ${dut1_if1} | ${dut1} | ${dut1_if2} | ${osi_layer}
| | Initialize DPDK Environment | ${dut1} | ${dut1_if1} | ${dut1_if2}
| Set up DPDK 3-node performance topology with DUT's NIC model
@@ -359,19 +359,19 @@
| | ... | environment.
| | ...
| | ... | *Arguments:*
-| | ... | - traffic_profile - Profile name to initialize TG with. Type: string
+| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
| | ... | - nic_name - Interface model. Type: string
| | ...
| | ... | *Example:*
| | ...
| | ... | \| 3-node Performance Suite Setup \| L2 \| Intel-X520-DA2 \|
| | ...
-| | [Arguments] | ${traffic_profile} | ${nic_name}
+| | [Arguments] | ${osi_layer} | ${nic_name}
| | ...
| | Set variables in 3-node circular topology with DUT interface model
| | ... | ${nic_name}
| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
-| | ... | ${dut1} | ${dut1_if1} | ${dut2} | ${dut2_if2} | ${traffic_profile}
+| | ... | ${dut1} | ${dut1_if1} | ${dut2} | ${dut2_if2} | ${osi_layer}
| | Initialize DPDK Environment | ${dut1} | ${dut1_if1} | ${dut1_if2}
| | Initialize DPDK Environment | ${dut2} | ${dut2_if1} | ${dut2_if2}
@@ -384,7 +384,7 @@
| | ... | It configures PCI device with VFs on all DUTs.
| | ...
| | ... | *Arguments:*
-| | ... | - traffic_profile - Profile name to initialize TG with. Type: string
+| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
| | ... | - nic_name - Interface model. Type: string
| | ... | - vf_driver - Virtual function driver. Type: string
| | ... | - numvfs - Number of VFs. Type: integer
@@ -394,17 +394,17 @@
| | ... | \| Set up SRIOV 2-node performance topology with DUT's NIC model \
| | ... | \| L2 \| Intel-X520-DA2 \| AVF \|
| | ...
-| | [Arguments] | ${traffic_profile} | ${nic_name} | ${vf_driver}
+| | [Arguments] | ${osi_layer} | ${nic_name} | ${vf_driver}
| | ... | ${numvfs}=${1}
| | ...
| | Set variables in 2-node circular topology with DUT interface model
| | ... | ${nic_name}
| | Run Keyword If | '${vf_driver}' == 'AVF'
| | ... | Configure AVF interfaces on all DUTs | numvfs=${numvfs}
-| | ... | traffic_profile=${traffic_profile}
+| | ... | osi_layer=${osi_layer}
| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
| | ... | ${dut1} | ${dut1_if1_vf0} | ${dut1} | ${dut1_if2_vf0}
-| | ... | ${traffic_profile}
+| | ... | ${osi_layer}
| Set up SRIOV 3-node performance topology with DUT's NIC model
| | [Documentation]
@@ -415,7 +415,7 @@
| | ... | It configures PCI device with VFs on all DUTs.
| | ...
| | ... | *Arguments:*
-| | ... | - traffic_profile - Profile name to initialize TG with. Type: string
+| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
| | ... | - nic_name - Interface model. Type: string
| | ... | - vf_driver - Virtual function driver. Type: string
| | ... | - numvfs - Number of VFs. Type: integer
@@ -425,17 +425,17 @@
| | ... | \| Set up SRIOV 3-node performance topology with DUT's NIC model \
| | ... | \| L2 \| Intel-X520-DA2 \| AVF \|
| | ...
-| | [Arguments] | ${traffic_profile} | ${nic_name} | ${vf_driver}
+| | [Arguments] | ${osi_layer} | ${nic_name} | ${vf_driver}
| | ... | ${numvfs}=${1}
| | ...
| | Set variables in 3-node circular topology with DUT interface model
| | ... | ${nic_name}
| | Run Keyword If | '${vf_driver}' == 'AVF'
| | ... | Configure AVF interfaces on all DUTs | numvfs=${numvfs}
-| | ... | traffic_profile=${traffic_profile}
+| | ... | osi_layer=${osi_layer}
| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
| | ... | ${dut1} | ${dut1_if1_vf0} | ${dut2} | ${dut2_if2_vf0}
-| | ... | ${traffic_profile}
+| | ... | ${osi_layer}
| Set up IPSec performance test suite
| | [Documentation]
@@ -448,7 +448,7 @@
| | ... | TODO CSIT-1481: Crypto HW should be read from topology file instead.
| | ...
| | ... | *Arguments:*
-| | ... | - traffic_profile - Profile name to initialize TG with. Type: string
+| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
| | ... | - nic_name - Interface model. Type: string
| | ... | - crypto_type - Crypto device type - HW_DH895xcc or HW_C3xxx or
| | ... | SW_cryptodev. Type: string, default value: HW_DH895xcc
@@ -458,10 +458,10 @@
| | ... | \| Set up IPSec performance test suite \| L2 \
| | ... | \| Intel-X520-DA2 \| HW_DH895xcc \|
| | ...
-| | [Arguments] | ${traffic_profile} | ${nic_name} | ${crypto_type}=HW_DH895xcc
+| | [Arguments] | ${osi_layer} | ${nic_name} | ${crypto_type}=HW_DH895xcc
| | ...
| | Set up 3-node performance topology with DUT's NIC model
-| | ... | ${traffic_profile} | ${nic_name}
+| | ... | ${osi_layer} | ${nic_name}
| | Return From Keyword If | '${crypto_type}' == 'SW_cryptodev'
| | ${numvfs}= | Set Variable If
| | ... | '${crypto_type}' == 'HW_DH895xcc' | ${32}
@@ -663,7 +663,7 @@
| | ...
| | ... | *Test Variables needed:*
| | ... | - frame_size - L2 Frame Size [B]. Type: integer
-| | ... | - traffic_profile - Profile name to initialize TG with. Type: string
+| | ... | - traffic_profile - Profile name to run debug trial with. Type: string
| | ... | - nodes - Parsed information object. Type: dict
| | ...
| | ... | *Example:*
@@ -703,7 +703,7 @@
| | ...
| | ... | *Test Variables needed:*
| | ... | - frame_size - L2 Frame Size [B]. Type: integer
-| | ... | - traffic_profile - Profile name to initialize TG with. Type: string
+| | ... | - traffic_profile - Profile name to run debug trial with. Type: string
| | ...
| | ... | *Arguments:*
| | ... | - dut1_node - Node where to clean qemu. Type: dictionary
@@ -733,7 +733,7 @@
| | ...
| | ... | *Test Variables needed:*
| | ... | - frame_size - L2 Frame Size [B]. Type: integer
-| | ... | - traffic_profile - Profile name to initialize TG with. Type: string
+| | ... | - traffic_profile - Profile name to run debug trial with. Type: string
| | ...
| | ... | *Arguments:*
| | ... | - dut1_node - Node where to clean qemu. Type: dictionary
@@ -780,7 +780,7 @@
| | ...
| | ... | *Test Variables needed:*
| | ... | - frame_size - L2 Frame Size [B]. Type: integer
-| | ... | - traffic_profile - Profile name to initialize TG with. Type: string
+| | ... | - traffic_profile - Profile name to run debug trial with. Type: string
| | ...
| | ... | *Example:*
| | ...
@@ -796,7 +796,7 @@
| | ...
| | ... | *Test Variables needed:*
| | ... | - frame_size - L2 Frame Size [B]. Type: integer
-| | ... | - traffic_profile - Profile name to initialize TG with. Type: string
+| | ... | - traffic_profile - Profile name to run debug trial with. Type: string
| | ...
| | ... | *Example:*
| | ...
@@ -813,7 +813,7 @@
| | ...
| | ... | *Test Variables needed:*
| | ... | - frame_size - L2 Frame Size [B]. Type: integer
-| | ... | - traffic_profile - Profile name to initialize TG with. Type: string
+| | ... | - traffic_profile - Profile name to run debug trial with. Type: string
| | ...
| | ... | *Example:*
| | ...
@@ -843,7 +843,7 @@
| | ...
| | ... | *Test Variables needed:*
| | ... | - frame_size - L2 Frame Size [B]. Type: integer
-| | ... | - traffic_profile - Profile name to initialize TG with. Type: string
+| | ... | - traffic_profile - Profile name to run debug trial with. Type: string
| | ...
| | ... | *Example:*
| | ...
diff --git a/resources/libraries/robot/performance/performance_utils.robot b/resources/libraries/robot/performance/performance_utils.robot
index 80fddc671a..45d8efe535 100644
--- a/resources/libraries/robot/performance/performance_utils.robot
+++ b/resources/libraries/robot/performance/performance_utils.robot
@@ -53,10 +53,11 @@
| | ... | Some inputs are read from variables to streamline suites.
| | ...
| | ... | *Test (or broader scope) variables read:*
-| | ... | - traffic_profile - Topology type. Type: string
-| | ... | - frame_size - L2 Frame Size [B] or IMIX string. Type: int or str
-| | ... | - max_rate - Calculated unidirectional maximal transmit rate [pps].
-| | ... | Type: float
+| | ... | - traffic_profile - Name of module defining traffc for measurements.
+| | ... | Type: string
+| | ... | - frame_size - L2 Frame Size [B] or IMIX string. Type: int or str
+| | ... | - max_rate - Calculated unidirectional maximal transmit rate [pps].
+| | ... | Type: float
| | ...
| | ... | *Arguments:*
| | ... | - packet_loss_ratio - Accepted loss during search. Type: float
@@ -101,10 +102,11 @@
| | ... | Some inputs are read from variables to streamline suites.
| | ...
| | ... | *Test (or broader scope) variables read:*
-| | ... | - traffic_profile - Topology type. Type: string
-| | ... | - frame_size - L2 Frame Size [B] or IMIX string. Type: int or str
-| | ... | - max_rate - Calculated unidirectional maximal transmit rate [pps].
-| | ... | Type: float
+| | ... | - traffic_profile - Name of module defining traffc for measurements.
+| | ... | Type: string
+| | ... | - frame_size - L2 Frame Size [B] or IMIX string. Type: int or str
+| | ... | - max_rate - Calculated unidirectional maximal transmit rate [pps].
+| | ... | Type: float
| | ...
| | ... | *Arguments:*
| | ... | - packet_loss_ratio - Accepted loss during search. Type: float
@@ -261,7 +263,8 @@
| | ... | - duration - Duration of traffic run [s]. Type: integer
| | ... | - rate - Rate for sending packets. Type: string
| | ... | - frame_size - L2 Frame Size [B] or IMIX_v4_1. Type: integer/string
-| | ... | - traffic_profile - Topology type. Type: string
+| | ... | - traffic_profile - Name of module defining traffc for measurements.
+| | ... | Type: string
| | ... | - fail_on_loss - If True, the keyword fails if loss occurred.
| | ... | Type: boolean
| | ...
@@ -284,10 +287,11 @@
| | ... | Some inputs are read from variables to streamline suites.
| | ...
| | ... | *Test (or broader scope) variables read:*
-| | ... | - traffic_profile - Topology type. Type: string
-| | ... | - frame_size - L2 Frame Size [B] or IMIX string. Type: int or str
-| | ... | - max_rate - Calculated unidirectional maximal transmit rate [pps].
-| | ... | Type: float
+| | ... | - traffic_profile - Name of module defining traffc for measurements.
+| | ... | Type: string
+| | ... | - frame_size - L2 Frame Size [B] or IMIX string. Type: int or str
+| | ... | - max_rate - Calculated unidirectional maximal transmit rate [pps].
+| | ... | Type: float
| | ...
| | ... | *Arguments:*
| | ... | - subsamples - How many trials in this measurement. Type: int
@@ -326,7 +330,8 @@
| | ... | - trial_duration - Duration of single trial [s]. Type: float
| | ... | - rate - Rate for sending packets. Type: string
| | ... | - frame_size - L2 Frame Size [B]. Type: integer/string
-| | ... | - traffic_profile - Topology type. Type: string
+| | ... | - traffic_profile - Name of module defining traffc for measurements.
+| | ... | Type: string
| | ... | - subsamples - How many trials in this measurement. Type: int
| | ... | - unidirection - False if traffic is bidirectional. Type: boolean
| | ... | - tx_port - TX port of TG, default 0. Type: integer
@@ -377,7 +382,8 @@
| | ... | - duration - Duration of traffic run [s]. Type: integer
| | ... | - rate - Rate for sending packets. Type: string
| | ... | - frame_size - L2 Frame Size [B] or IMIX_v4_1. Type: integer/string
-| | ... | - traffic_profile - Topology type. Type: string
+| | ... | - traffic_profile - Name of module defining traffc for measurements.
+| | ... | Type: string
| | ... | - unidirection - False if traffic is bidirectional. Type: boolean
| | ... | - tx_port - TX port of TG, default 0. Type: integer
| | ... | - rx_port - RX port of TG, default 1. Type: integer
diff --git a/resources/libraries/robot/shared/default.robot b/resources/libraries/robot/shared/default.robot
index 42c4f28cdc..dd4fb63c3f 100644
--- a/resources/libraries/robot/shared/default.robot
+++ b/resources/libraries/robot/shared/default.robot
@@ -106,23 +106,21 @@
| | ... | *Arguments:*
| | ... | - numvfs - Number of VFs to initialize, 0 - disable the VFs
| | ... | (Optional). Type: integer, default value: ${1}
-| | ... | - traffic_profile - A value affecting behavior, such as spoofing.
+| | ... | - osi_layer - OSI Layer type to initialize TG with.
| | ... | (Optional). Type: string, default value: L2
-| | ... | Note: This is NOT the usual traffic profile
-| | ... | (which is python module name to initialize TG with).
| | ...
| | ... | *Example:*
| | ...
| | ... | \| Configure AVF device on all DUTs \| ${1} \| L2 \|
| | ...
-| | [Arguments] | ${numvfs}=${1} | ${traffic_profile}=L2
+| | [Arguments] | ${numvfs}=${1} | ${osi_layer}=L2
| | ...
| | ${duts}= | Get Matches | ${nodes} | DUT*
| | :FOR | ${dut} | IN | @{duts}
| | | ${if1_avf_arr}= | Init AVF interface | ${nodes['${dut}']} | ${${dut}_if1}
-| | | ... | numvfs=${numvfs} | traffic_type=${traffic_profile}
+| | | ... | numvfs=${numvfs} | osi_layer=${osi_layer}
| | | ${if2_avf_arr}= | Init AVF interface | ${nodes['${dut}']} | ${${dut}_if2}
-| | | ... | numvfs=${numvfs} | traffic_type=${traffic_profile}
+| | | ... | numvfs=${numvfs} | osi_layer=${osi_layer}
# Currently only one AVF is supported.
| | | Set Suite Variable | ${${dut}_if1_vf0} | ${if1_avf_arr[0]}
| | | Set Suite Variable | ${${dut}_if2_vf0} | ${if2_avf_arr[0]}