aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/robot
diff options
context:
space:
mode:
authorPeter Mikus <pmikus@cisco.com>2018-07-20 13:07:12 +0000
committerPeter Mikus <pmikus@cisco.com>2018-09-05 13:49:38 +0000
commit89620b26d6bbf3dd9d9707851d8d140471d40b56 (patch)
treecd22606feabb7190d6a612b46e8132fcda1d0f04 /resources/libraries/robot
parentb456176a07ae1a3721407693d75931db6b1cd14e (diff)
CSIT-1205 Create AVF driver test
- Add L1 KWs for SR-IOV handling (init Vfs, remove Vfs, ...) - Cleanup L1 KWs for SR-IOV bind/unbind/pci_get/... - Add L2 KWs for Test Setup/Teardown, L2patch, Create AVF interface - Add sample L2patch test fox x710, xxv710 Change-Id: If17077877455a14043617d8ea0d06cbe47b469e3 Signed-off-by: Peter Mikus <pmikus@cisco.com>
Diffstat (limited to 'resources/libraries/robot')
-rw-r--r--resources/libraries/robot/performance/performance_configuration.robot22
-rw-r--r--resources/libraries/robot/performance/performance_setup.robot69
-rw-r--r--resources/libraries/robot/shared/default.robot41
3 files changed, 125 insertions, 7 deletions
diff --git a/resources/libraries/robot/performance/performance_configuration.robot b/resources/libraries/robot/performance/performance_configuration.robot
index cd522e753c..e6014b38f7 100644
--- a/resources/libraries/robot/performance/performance_configuration.robot
+++ b/resources/libraries/robot/performance/performance_configuration.robot
@@ -86,6 +86,24 @@
| | | ... | VPP Set Interface MTU | ${nodes['${dut}']} | ${${dut}_if2_2}
| | All VPP Interfaces Ready Wait | ${nodes}
+| Initialize AVF interfaces
+| | [Documentation]
+| | ... | Initialize AVF interfaces on each DUT. Interfaces are brought up.
+| | ...
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | :FOR | ${dut} | IN | @{duts}
+| | | ${if1_pci}= | Get Interface PCI Addr | ${nodes['${dut}']}
+| | | ... | ${${dut}_if1_vf0}
+| | | ${if2_pci}= | Get Interface PCI Addr | ${nodes['${dut}']}
+| | | ... | ${${dut}_if2_vf0}
+| | | ${dut_eth_vf_if1}= | VPP Create AVF Interface | ${nodes['${dut}']}
+| | | ... | ${if1_pci}
+| | | ${dut_eth_vf_if2}= | VPP Create AVF Interface | ${nodes['${dut}']}
+| | | ... | ${if2_pci}
+| | | Set Test Variable | ${${dut}_if1} | ${dut_eth_vf_if1}
+| | | Set Test Variable | ${${dut}_if2} | ${dut_eth_vf_if2}
+| | Set interfaces in path up
+
| Initialize IPSec in 3-node circular topology
| | [Documentation]
| | ... | Set UP state on VPP interfaces in path on nodes in 3-node circular
@@ -1929,8 +1947,8 @@
| | Run keyword | DUT2.Add DPDK Eth Bond Dev | 0 | 2 | l34 | ${dut2_if1_pci}
| Add DPDK bonded ethernet interfaces to topology file in 3-node single link topology
-| | Add Bond Eth Interface | ${dut1} | ${dut1_eth_bond_if1_name}
-| | Add Bond Eth Interface | ${dut2} | ${dut2_eth_bond_if1_name}
+| | Add Eth Interface | ${dut1} | ${dut1_eth_bond_if1_name} | ifc_pfx=eth_bond
+| | Add Eth Interface | ${dut2} | ${dut2_eth_bond_if1_name} | ifc_pfx=eth_bond
| Configure guest VM with dpdk-testpmd connected via vhost-user
| | [Documentation]
diff --git a/resources/libraries/robot/performance/performance_setup.robot b/resources/libraries/robot/performance/performance_setup.robot
index 0a1eeec955..e9f155533e 100644
--- a/resources/libraries/robot/performance/performance_setup.robot
+++ b/resources/libraries/robot/performance/performance_setup.robot
@@ -437,6 +437,68 @@
| | Initialize DPDK Environment | ${dut1} | ${dut1_if1} | ${dut1_if2}
| | Initialize DPDK Environment | ${dut2} | ${dut2_if1} | ${dut2_if2}
+| Set up SRIOV 2-node performance topology with DUT's NIC model
+| | [Documentation]
+| | ... | Suite preparation phase that sets default startup configuration of
+| | ... | VPP on all DUTs. Updates interfaces on all nodes and sets global
+| | ... | variables used in test cases based on interface model provided as an
+| | ... | argument. Initializes traffic generator.
+| | ... | It configures PCI device with VFs on all DUTs.
+| | ...
+| | ... | *Arguments:*
+| | ... | - topology_type - Topology type. Type: string
+| | ... | - nic_model - Interface model. Type: string
+| | ... | - vf_driver - Virtual function driver. Type: string
+| | ... | - numvfs - Number of VFs. Type: integer
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Set up SRIOV 2-node performance topology with DUT's NIC model \
+| | ... | \| L2 \| Intel-X520-DA2 \| AVF \|
+| | ...
+| | [Arguments] | ${topology_type} | ${nic_model} | ${vf_driver}
+| | ... | ${numvfs}=${1}
+| | ...
+| | Set variables in 2-node circular topology with DUT interface model
+| | ... | ${nic_model}
+| | Run Keyword If | '${vf_driver}' == 'AVF'
+| | ... | Configure AVF interfaces on all DUTs | numvfs=${numvfs}
+| | ... | topology_type=${topology_type}
+| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
+| | ... | ${dut1} | ${dut1_if1_vf0} | ${dut1} | ${dut1_if2_vf0}
+| | ... | ${topology_type}
+
+| Set up SRIOV 3-node performance topology with DUT's NIC model
+| | [Documentation]
+| | ... | Suite preparation phase that sets default startup configuration of
+| | ... | VPP on all DUTs. Updates interfaces on all nodes and sets global
+| | ... | variables used in test cases based on interface model provided as an
+| | ... | argument. Initializes traffic generator.
+| | ... | It configures PCI device with VFs on all DUTs.
+| | ...
+| | ... | *Arguments:*
+| | ... | - topology_type - Topology type. Type: string
+| | ... | - nic_model - Interface model. Type: string
+| | ... | - vf_driver - Virtual function driver. Type: string
+| | ... | - numvfs - Number of VFs. Type: integer
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Set up SRIOV 3-node performance topology with DUT's NIC model \
+| | ... | \| L2 \| Intel-X520-DA2 \| AVF \|
+| | ...
+| | [Arguments] | ${topology_type} | ${nic_model} | ${vf_driver}
+| | ... | ${numvfs}=${1}
+| | ...
+| | Set variables in 3-node circular topology with DUT interface model
+| | ... | ${nic_model}
+| | Run Keyword If | '${vf_driver}' == 'AVF'
+| | ... | Configure AVF interfaces on all DUTs | numvfs=${numvfs}
+| | ... | topology_type=${topology_type}
+| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
+| | ... | ${dut1} | ${dut1_if1_vf0} | ${dut2} | ${dut2_if2_vf0}
+| | ... | ${topology_type}
+
| Set up IPSec performance test suite
| | [Documentation]
| | ... | Suite preparation phase that sets default startup configuration of
@@ -499,6 +561,13 @@
| | Set Suite Variable | @{plugins_to_enable}
| | Append To List | ${plugins_to_enable} | acl_plugin.so
+| Set up performance test suite with AVF driver
+| | [Documentation]
+| | ... | Append avf_plugin.so to the list of enabled plugins.
+| | ...
+| | Set Suite Variable | @{plugins_to_enable}
+| | Append To List | ${plugins_to_enable} | avf_plugin.so
+
| Set up performance test suite with Static SRv6 proxy
| | [Documentation]
| | ... | Append srv6as_plugin.so to the list of enabled plugins.
diff --git a/resources/libraries/robot/shared/default.robot b/resources/libraries/robot/shared/default.robot
index ecce5762b8..f734516005 100644
--- a/resources/libraries/robot/shared/default.robot
+++ b/resources/libraries/robot/shared/default.robot
@@ -91,9 +91,35 @@
| | | Crypto Device Verify | ${nodes['${dut}']} | force_init=${force_init}
| | | ... | numvfs=${numvfs}
+| Configure AVF interfaces on all DUTs
+| | [Documentation] | Configure virtual functions for AVF interfaces on PCI
+| | ... | interface on all DUTs.
+| | ...
+| | ... | *Arguments:*
+| | ... | - numvfs - Number of VFs to initialize, 0 - disable the VFs
+| | ... | (Optional). Type: integer, default value: ${1}
+| | ... | - topology_type - Topology type.
+| | ... | (Optional). Type: string, default value: L2
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Configure AVF device on all DUTs \| ${1} \| L2 \|
+| | ...
+| | [Arguments] | ${numvfs}=${1} | ${topology_type}=L2
+| | ...
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | :FOR | ${dut} | IN | @{duts}
+| | | ${if1_avf_arr}= | Init AVF interface | ${nodes['${dut}']} | ${${dut}_if1}
+| | | ... | numvfs=${numvfs} | topology_type=${topology_type}
+| | | ${if2_avf_arr}= | Init AVF interface | ${nodes['${dut}']} | ${${dut}_if2}
+| | | ... | numvfs=${numvfs} | topology_type=${topology_type}
+# 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]}
+
| Configure kernel module on all DUTs
| | [Documentation] | Verify if specific kernel module is loaded on all DUTs.
-| | ... | If parameter force_load is set to True, then try to initialize.
+| | ... | If parameter force_load is set to True, then try to load.
| | ...
| | ... | *Arguments:*
| | ... | - module - Module to verify. Type: string
@@ -105,10 +131,8 @@
| | ...
| | [Arguments] | ${module} | ${force_load}=${False}
| | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
-| | :FOR | ${dut} | IN | @{duts}
-| | | Kernel Module Verify | ${nodes['${dut}']} | ${module}
-| | | ... | force_load=${force_load}
+| | Verify Kernel Module on All DUTs | ${nodes} | ${module}
+| | ... | force_load=${force_load}
| Create base startup configuration of VPP on all DUTs
| | [Documentation] | Create base startup configuration of VPP to all DUTs.
@@ -270,6 +294,13 @@
| | :FOR | ${dut} | IN | @{duts}
| | | Run keyword | ${dut}.Add DPDK No Multi Seg
+| Add DPDK no PCI to all DUTs
+| | [Documentation] | Add DPDK no-pci to VPP startup configuration to all DUTs.
+| | ...
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | :FOR | ${dut} | IN | @{duts}
+| | | Run keyword | ${dut}.Add DPDK no PCI
+
| Add DPDK dev default RXD to all DUTs
| | [Documentation] | Add DPDK num-rx-desc to VPP startup configuration to all
| | ... | DUTs.