aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/robot
diff options
context:
space:
mode:
authorKirill Rybalchenko <kirill.rybalchenko@intel.com>2016-12-21 12:16:29 +0000
committerPeter Mikus <pmikus@cisco.com>2017-04-10 04:34:04 +0000
commit4e421686933355ddc6ce0780efd15041c60de7e3 (patch)
tree1c8963efdd3fbaf0ea21411b0466414e92e2642f /resources/libraries/robot
parent2e115ad11cca45b11c0f1949fd8c42fec899bb68 (diff)
IPsec Multi-Tunnel performance test suite
Change-Id: I4b0ba83960e50089f29cab9a30ab760241c6f566 Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Diffstat (limited to 'resources/libraries/robot')
-rw-r--r--resources/libraries/robot/default.robot54
-rw-r--r--resources/libraries/robot/ipsec.robot2
-rw-r--r--resources/libraries/robot/performance.robot51
3 files changed, 100 insertions, 7 deletions
diff --git a/resources/libraries/robot/default.robot b/resources/libraries/robot/default.robot
index 88d9d04cd0..08315c32ef 100644
--- a/resources/libraries/robot/default.robot
+++ b/resources/libraries/robot/default.robot
@@ -80,6 +80,43 @@
| | :FOR | ${dut} | IN | @{duts}
| | | Set VPP Scheduling rr | ${nodes['${dut}']}
+| Verify Crypto Device On All DUTs
+| | [Documentation] | Verify if Crypto QAT device virtual functions are
+| | ... | initialized on all DUTs. If parameter force_init is set to True, then
+| | ... | try to initialize.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${force_init} - Try to initialize. Type: boolean
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Verify Crypto Device On All DUTs \| ${True} \|
+| | ...
+| | [Arguments] | ${force_init}=${False}
+| | ...
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | :FOR | ${dut} | IN | @{duts}
+| | | Crypto Device Verify | ${nodes['${dut}']} | force_init=${force_init}
+
+| Verify 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.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${module} - Module to verify. Type: string
+| | ... | - ${force_load} - Try to load module. Type: boolean
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Verify Kernel Module On All DUTs \| ${True} \|
+| | ...
+| | [Arguments] | ${module} | ${force_load}=${False}
+| | ...
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | :FOR | ${dut} | IN | @{duts}
+| | | Kernel Module Verify | ${nodes['${dut}']} | ${module}
+| | | ... | force_load=${force_load}
+
| Add '${m}' worker threads and rxqueues '${n}' in 3-node single-link topo
| | [Documentation] | Setup M worker threads and N rxqueues in vpp startup\
| | ... | configuration on all DUTs in 3-node single-link topology.
@@ -244,6 +281,22 @@
| | :FOR | ${dut} | IN | @{duts}
| | | Add Enable Vhost User Config | ${nodes['${dut}']}
+| Add Cryptodev to all DUTs
+| | [Documentation] | AddCryptodev to VPP startup configuration to all
+| | ... | DUTs
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${count} - Number of QAT devices. Type: integer
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Add Cryptodev to all DUTs \| ${4} \|
+| | ...
+| | [Arguments] | ${count}
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | :FOR | ${dut} | IN | @{duts}
+| | | Add Cryptodev Config | ${nodes['${dut}']} | ${count}
+
| Remove startup configuration of VPP from all DUTs
| | [Documentation] | Remove VPP startup configuration from all DUTs.
| | ...
@@ -252,6 +305,7 @@
| | | Remove All PCI Devices | ${nodes['${dut}']}
| | | Remove All CPU Config | ${nodes['${dut}']}
| | | Remove Socketmem Config | ${nodes['${dut}']}
+| | | Remove Cryptodev Config | ${nodes['${dut}']}
| | | Remove Heapsize Config | ${nodes['${dut}']}
| | | Remove Rxqueues Config | ${nodes['${dut}']}
| | | Remove No Multi Seg Config | ${nodes['${dut}']}
diff --git a/resources/libraries/robot/ipsec.robot b/resources/libraries/robot/ipsec.robot
index 92b292ede3..9c9980341f 100644
--- a/resources/libraries/robot/ipsec.robot
+++ b/resources/libraries/robot/ipsec.robot
@@ -16,7 +16,7 @@
| Library | resources.libraries.python.IPsecUtil
| Library | resources.libraries.python.NodePath
| Library | resources.libraries.python.TrafficScriptExecutor
-| Library | resources.libraries.python.IPv4Util
+| Library | resources.libraries.python.IPv4Util.IPv4Util
| Library | resources.libraries.python.InterfaceUtil
| Library | resources.libraries.python.Routing
| Library | String
diff --git a/resources/libraries/robot/performance.robot b/resources/libraries/robot/performance.robot
index 47c43d2a5c..ee662841c9 100644
--- a/resources/libraries/robot/performance.robot
+++ b/resources/libraries/robot/performance.robot
@@ -112,8 +112,8 @@
| | ... | - dut1_if1 - DUT1 interface towards TG.
| | ... | - dut1_if2 - DUT1 interface towards DUT2.
| | ... | - dut2 - DUT2 node
-| | ... | - dut2_if1 - DUT2 interface towards TG.
-| | ... | - dut2_if2 - DUT2 interface towards DUT1.
+| | ... | - dut2_if1 - DUT2 interface towards DUT1.
+| | ... | - dut2_if2 - DUT2 interface towards TG.
| | ...
| | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']}
| | ... | ${nodes['TG']}
@@ -244,6 +244,49 @@
| | Vpp Node Interfaces Ready Wait | ${dut1}
| | Vpp Node Interfaces Ready Wait | ${dut2}
+| IPsec initialized in a 3-node circular topology
+| | [Documentation]
+| | ... | Set UP state on VPP interfaces in path on nodes in 3-node circular
+| | ... | topology. Get the interface MAC addresses and setup ARP on all VPP
+| | ... | interfaces. Setup IPv4 addresses with /24 prefix on DUT-TG and
+| | ... | DUT1-DUT2 links. Set routing for encrypted traffic on both DUT nodes
+| | ... | with prefix /8 and next hop of neighbour DUT or TG interface IPv4
+| | ... | address.
+| | ...
+| | VPP Show Crypto Device Mapping | ${dut1}
+| | VPP Show Crypto Device Mapping | ${dut2}
+| | VPP interfaces in path are up in a 3-node circular topology
+| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
+| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
+| | ${dut1_if1_mac}= | Get Interface MAC | ${dut1} | ${dut1_if1}
+| | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2}
+| | ${dut2_if1_mac}= | Get Interface MAC | ${dut2} | ${dut2_if1}
+| | ${dut2_if2_mac}= | Get Interface MAC | ${dut2} | ${dut2_if2}
+| | Set Interface State | ${dut1} | ${dut1_if1} | up
+| | Set Interface State | ${dut1} | ${dut1_if2} | up
+| | Set Interface State | ${dut2} | ${dut2_if1} | up
+| | Set Interface State | ${dut2} | ${dut2_if2} | up
+| | Set Test Variable | ${tg_if1_mac}
+| | Set Test Variable | ${tg_if2_mac}
+| | Set Test Variable | ${dut1_if1_mac}
+| | Set Test Variable | ${dut1_if2_mac}
+| | Set Test Variable | ${dut2_if1_mac}
+| | Set Test Variable | ${dut2_if2_mac}
+| | IP addresses are set on interfaces | ${dut1} | ${dut1_if1} | ${dut1_if1_ip4}
+| | ... | 24
+| | IP addresses are set on interfaces | ${dut1} | ${dut1_if2} | ${dut1_if2_ip4}
+| | ... | 24
+| | IP addresses are set on interfaces | ${dut2} | ${dut2_if1} | ${dut2_if1_ip4}
+| | ... | 24
+| | IP addresses are set on interfaces | ${dut2} | ${dut2_if2} | ${dut2_if2_ip4}
+| | ... | 24
+| | Add arp on dut | ${dut1} | ${dut1_if1} | ${tg_if1_ip4} | ${tg_if1_mac}
+| | Add arp on dut | ${dut1} | ${dut1_if2} | ${dut2_if1_ip4} | ${dut2_if1_mac}
+| | Add arp on dut | ${dut2} | ${dut2_if2} | ${tg_if2_ip4} | ${tg_if2_mac}
+| | Add arp on dut | ${dut2} | ${dut2_if1} | ${dut1_if2_ip4} | ${dut1_if2_mac}
+| | Vpp Route Add | ${dut1} | ${laddr_ip4} | 8 | ${tg_if1_ip4} | ${dut1_if1}
+| | Vpp Route Add | ${dut2} | ${raddr_ip4} | 8 | ${tg_if2_ip4} | ${dut2_if2}
+
| IPv4 forwarding initialized in a 3-node circular topology
| | [Documentation]
| | ... | Set UP state on VPP interfaces in path on nodes in 3-node circular
@@ -1101,7 +1144,6 @@
| | Show vpp version on all DUTs
| | 2-node circular Topology Variables Setup with DUT interface model
| | ... | ${nic_model}
-| | Setup 2-node startup configuration of VPP on all DUTs
| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
| | ... | ${dut1} | ${dut1_if1} | ${dut1} | ${dut1_if2} | ${topology_type}
@@ -1129,7 +1171,6 @@
| | Show vpp version on all DUTs
| | 2-node circular Topology Variables Setup with DUT interface model
| | ... | ${nic_model}
-| | Setup 2-node startup configuration of VPP on all DUTs
| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
| | ... | ${dut1} | ${dut1_if1} | ${dut1} | ${dut1_if2} | ${topology_type}
| | ... | ${tg_if1_dest_mac} | ${tg_if2_dest_mac}
@@ -1154,7 +1195,6 @@
| | Show vpp version on all DUTs
| | 3-node circular Topology Variables Setup with DUT interface model
| | ... | ${nic_model}
-| | Setup default startup configuration of VPP on all DUTs
| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
| | ... | ${dut1} | ${dut1_if1} | ${dut2} | ${dut2_if2} | ${topology_type}
@@ -2324,7 +2364,6 @@
| Performance test setup
| | [Documentation] | Common test setup for performance tests.
| | ...
-| | Setup all DUTs before test
| | Reset VAT History On All DUTs | ${nodes}
| Performance test teardown