aboutsummaryrefslogtreecommitdiffstats
path: root/resources
diff options
context:
space:
mode:
Diffstat (limited to 'resources')
-rw-r--r--resources/libraries/python/autogen/DefaultTestcase.py2
-rw-r--r--resources/libraries/python/autogen/Regenerator.py12
-rw-r--r--resources/libraries/robot/performance/performance_configuration.robot30
-rw-r--r--resources/libraries/robot/performance/performance_setup.robot48
4 files changed, 88 insertions, 4 deletions
diff --git a/resources/libraries/python/autogen/DefaultTestcase.py b/resources/libraries/python/autogen/DefaultTestcase.py
index 9878289bd1..3c11cb073e 100644
--- a/resources/libraries/python/autogen/DefaultTestcase.py
+++ b/resources/libraries/python/autogen/DefaultTestcase.py
@@ -13,7 +13,7 @@
"""Module with utilities for autogeneration of non-customizable testcases."""
-from Testcase import Testcase
+from .Testcase import Testcase
class DefaultTestcase(Testcase):
diff --git a/resources/libraries/python/autogen/Regenerator.py b/resources/libraries/python/autogen/Regenerator.py
index 30dc7b7e89..4ed123ae7c 100644
--- a/resources/libraries/python/autogen/Regenerator.py
+++ b/resources/libraries/python/autogen/Regenerator.py
@@ -36,7 +36,7 @@ class Regenerator(object):
"""
self.testcase_class = testcase_class
- def regenerate_glob(self, pattern, is_ip6=False, tc_kwargs_list=None):
+ def regenerate_glob(self, pattern, protocol="ip4", tc_kwargs_list=None):
"""Regenerate files matching glob pattern based on arguments.
In the current working directory, find all files matching
@@ -56,6 +56,12 @@ class Regenerator(object):
:type tc_kwargs_list: list of tuple or None
"""
+ protocol_to_min_framesize = {
+ "ip4": 64,
+ "ip6": 78,
+ "vxlan+ip4": 114
+ }
+
def get_suite_id(filename):
dash_split = filename.split("-", 1)
if len(dash_split[0]) <= 4:
@@ -73,8 +79,8 @@ class Regenerator(object):
num = add_testcase(file_out, num, **tc_kwargs)
print "Regenerator starts at {cwd}".format(cwd=getcwd())
- min_framesize = 78 if is_ip6 else 64
- kwargs_list = tc_kwargs_list if tc_kwargs_list is not None else [
+ min_framesize = protocol_to_min_framesize[protocol]
+ kwargs_list = tc_kwargs_list if tc_kwargs_list else [
{"framesize": min_framesize, "phy_cores": 1},
{"framesize": min_framesize, "phy_cores": 2},
{"framesize": min_framesize, "phy_cores": 4},
diff --git a/resources/libraries/robot/performance/performance_configuration.robot b/resources/libraries/robot/performance/performance_configuration.robot
index f5ca1e7705..231004700c 100644
--- a/resources/libraries/robot/performance/performance_configuration.robot
+++ b/resources/libraries/robot/performance/performance_configuration.robot
@@ -2762,3 +2762,33 @@
| | ... | ${number}
| | All Vpp Interfaces Ready Wait | ${nodes}
| | Show Memif on all DUTs | ${nodes}
+
+| Configure ACLs on a single interface
+| | [Documentation]
+| | ... | Configure ACL
+| | ...
+| | ... | *Arguments:*
+| | ... | - dut - DUT node. Type: string
+| | ... | - dut_if - DUT node interface name. Type: string
+| | ... | - acl_apply_type - To what path apply the ACL - input or output.
+| | ... | - acl_action - Action for the rule - deny, permit, permit+reflect.
+| | ... | - subnets - Subnets to apply the specific ACL. Type: list
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Configure ACLs on a single interface \| ${nodes['DUT1']}
+| | ... | \| ... \| GigabitEthernet0/7/0 \| input \| permit | 0.0.0.0/0
+| | ...
+| | [Arguments] | ${dut} | ${dut_if} | ${acl_apply_type} | ${acl_action}
+| | ... | @{subnets}
+| | Set Test variable | ${acl} | ${EMPTY}
+| | :FOR | ${subnet} | IN | @{subnets}
+| | | ${acl} = | Run Keyword If | '${acl}' == '${EMPTY}'
+| | | ... | Set Variable | ipv4 ${acl_action} src ${subnet}
+| | | ... | ELSE
+| | | ... | Catenate | SEPARATOR=, | ${acl}
+| | | ... | ipv4 ${acl_action} src ${subnet}
+| | Add Replace Acl Multi Entries | ${dut} | rules=${acl}
+| | @{acl_list} = | Create List | ${0}
+| | Set Acl List For Interface | ${dut} | ${dut_if} | ${acl_apply_type}
+| | ... | ${acl_list}
diff --git a/resources/libraries/robot/performance/performance_setup.robot b/resources/libraries/robot/performance/performance_setup.robot
index a41894c747..e34e842352 100644
--- a/resources/libraries/robot/performance/performance_setup.robot
+++ b/resources/libraries/robot/performance/performance_setup.robot
@@ -636,6 +636,34 @@
| | Run keyword unless | ${dut2_node}==${None}
| | ... | Tear down guest VM with dpdk-testpmd | ${dut2} | ${dut2_vm_refs}
+| Tear down mrr test with vhost and VM with dpdk-testpmd
+| | [Documentation] | Common test teardown for mrr tests which use
+| | ... | vhost(s) and VM(s) with dpdk-testpmd.
+| | ...
+| | ... | *Arguments:*
+| | ... | - dut1_node - Node where to clean qemu. Type: dictionary
+| | ... | - dut1_vm_refs - VM references on node. Type: dictionary
+| | ... | - dut2_node - Node where to clean qemu. Type: dictionary
+| | ... | - dut2_vm_refs - VM references on node. Type: dictionary
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Tear down performance test with vhost and VM with dpdk-testpmd \
+| | ... | \| ${node['DUT1']} \| ${dut_vm_refs} \
+| | ... | \| ${node['DUT2']} \| ${dut_vm_refs} \|
+| | ...
+| | [Arguments] | ${dut1_node}=${None} | ${dut1_vm_refs}=${None}
+| | ... | ${dut2_node}=${None} | ${dut2_vm_refs}=${None}
+| | ...
+| | Remove All Added Ports On All DUTs From Topology | ${nodes}
+| | Show VAT History On All DUTs | ${nodes}
+| | Show VPP vhost on all DUTs | ${nodes}
+| | Show statistics on all DUTs | ${nodes}
+| | Run keyword unless | ${dut1_node}==${None}
+| | ... | Tear down guest VM with dpdk-testpmd | ${dut1} | ${dut1_vm_refs}
+| | Run keyword unless | ${dut2_node}==${None}
+| | ... | Tear down guest VM with dpdk-testpmd | ${dut2} | ${dut2_vm_refs}
+
| Tear down performance test with vhost and VM with dpdk-testpmd and ACL
| | [Documentation] | Common test teardown for performance tests which use
| | ... | vhost(s) and VM(s) with ACL and dpdk-testpmd.
@@ -661,6 +689,26 @@
| | Run Keyword If Test Failed | Run Keyword And Ignore Error
| | ... | Vpp Log Plugin Acl Interface Assignment | ${dut1}
+| Tear down mrr test with vhost and VM with dpdk-testpmd and ACL
+| | [Documentation] | Common test teardown for mrr tests which use
+| | ... | vhost(s) and VM(s) with ACL and dpdk-testpmd.
+| | ...
+| | ... | *Arguments:*
+| | ... | - dut1_node - Node where to clean qemu. Type: dictionary
+| | ... | - dut1_vm_refs - VM references on node. Type: dictionary
+| | ... | - dut2_node - Node where to clean qemu. Type: dictionary
+| | ... | - dut2_vm_refs - VM references on node. Type: dictionary
+| | ...
+| | [Arguments] | ${dut1_node}=${None} | ${dut1_vm_refs}=${None}
+| | ... | ${dut2_node}=${None} | ${dut2_vm_refs}=${None}
+| | ...
+| | Tear down mrr test with vhost and VM with dpdk-testpmd
+| | ... | ${dut1_node} | ${dut1_vm_refs}
+| | ... | ${dut2_node} | ${dut2_vm_refs}
+| | Vpp Log Plugin Acl Settings | ${dut1}
+| | Run Keyword If Test Failed | Run Keyword And Ignore Error
+| | ... | Vpp Log Plugin Acl Interface Assignment | ${dut1}
+
| Tear down performance pdrchk test with vhost and VM with dpdk-testpmd
| | [Documentation] | Common test teardown for performance pdrchk tests which \
| | ... | use vhost(s) and VM(s) with dpdk-testpmd.