diff options
Diffstat (limited to 'conf/integration')
-rw-r--r-- | conf/integration/01_testcases.conf | 564 | ||||
-rw-r--r-- | conf/integration/01a_testcases_l34_vxlan.conf | 18 | ||||
-rw-r--r-- | conf/integration/01b_dpdk_regression_tests.conf | 115 | ||||
-rw-r--r-- | conf/integration/01c_trex_vm_tests.conf | 182 | ||||
-rw-r--r-- | conf/integration/02_vswitch.conf | 6 |
5 files changed, 454 insertions, 431 deletions
diff --git a/conf/integration/01_testcases.conf b/conf/integration/01_testcases.conf index bb2809b8..7daff217 100644 --- a/conf/integration/01_testcases.conf +++ b/conf/integration/01_testcases.conf @@ -1,4 +1,4 @@ -# Copyright 2015-2017 Intel Corporation. +# Copyright 2015-2018 Intel Corporation, Tieto and others. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,10 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# The 1st value of SUPPORTED_TUNNELING_PROTO is used as the default -# tunneling protocol for OP2P tests. -SUPPORTED_TUNNELING_PROTO = ['vxlan', 'gre', 'geneve'] - # # Generic test configuration options are described at conf/01_testcases.conf # @@ -39,7 +35,9 @@ SUPPORTED_TUNNELING_PROTO = ['vxlan', 'gre', 'geneve'] # Common TestSteps parts ("macros") # +# # P2P macros +# STEP_VSWITCH_P2P_INIT = [ ['vswitch', 'add_switch', 'int_br0'], # STEP 0 ['vswitch', 'add_phy_port', 'int_br0'], # STEP 1 @@ -52,6 +50,18 @@ STEP_VSWITCH_P2P_FINIT = [ ['vswitch', 'del_switch', 'int_br0'], ] +STEP_VSWITCH_P2P_CONNECTIONS_INIT = STEP_VSWITCH_P2P_INIT + [ + ['vswitch', 'add_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]'], + ['vswitch', 'add_connection', 'int_br0', '#STEP[2][0]', '#STEP[1][0]'], +] + +STEP_VSWITCH_P2P_CONNECTIONS_FINIT = [ + ['vswitch', 'dump_connections', 'int_br0'], + ['vswitch', 'del_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]'], + ['vswitch', 'del_connection', 'int_br0', '#STEP[2][0]', '#STEP[1][0]'], +] + STEP_VSWITCH_P2P_FINIT + +# P2P OVS specific macros STEP_VSWITCH_P2P_FLOWS_INIT = STEP_VSWITCH_P2P_INIT + [ ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}], ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[2][1]', 'actions': ['output:#STEP[1][1]'], 'idle_timeout': '0'}], @@ -63,7 +73,9 @@ STEP_VSWITCH_P2P_FLOWS_FINIT = [ ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[2][1]'}], ] + STEP_VSWITCH_P2P_FINIT -# PVP and PVVP macros +# +# PVP macros +# STEP_VSWITCH_PVP_INIT = STEP_VSWITCH_P2P_INIT + [ ['vswitch', 'add_vport', 'int_br0'], # STEP 3 vm1 ports ['vswitch', 'add_vport', 'int_br0'], # STEP 4 @@ -74,6 +86,22 @@ STEP_VSWITCH_PVP_FINIT = [ ['vswitch', 'del_port', 'int_br0', '#STEP[4][0]'], ] + STEP_VSWITCH_P2P_FINIT +STEP_VSWITCH_PVP_CONNECTIONS_INIT = STEP_VSWITCH_PVP_INIT + [ + ['vswitch', 'add_connection', 'int_br0', '#STEP[1][0]', '#STEP[3][0]'], + ['vswitch', 'add_connection', 'int_br0', '#STEP[4][0]', '#STEP[2][0]'], + ['vswitch', 'add_connection', 'int_br0', '#STEP[2][0]', '#STEP[4][0]'], + ['vswitch', 'add_connection', 'int_br0', '#STEP[3][0]', '#STEP[1][0]'], +] + +STEP_VSWITCH_PVP_CONNECTIONS_FINIT = [ + ['vswitch', 'dump_connections', 'int_br0'], + ['vswitch', 'del_connection', 'int_br0', '#STEP[1][0]', '#STEP[3][0]'], + ['vswitch', 'del_connection', 'int_br0', '#STEP[4][0]', '#STEP[2][0]'], + ['vswitch', 'del_connection', 'int_br0', '#STEP[2][0]', '#STEP[4][0]'], + ['vswitch', 'del_connection', 'int_br0', '#STEP[3][0]', '#STEP[1][0]'], +] + STEP_VSWITCH_PVP_FINIT + +# PVP OVS specific macros STEP_VSWITCH_PVP_FLOWS_INIT = STEP_VSWITCH_PVP_INIT + [ ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', 'actions': ['output:#STEP[3][1]'], 'idle_timeout': '0'}], ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[4][1]', 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}], @@ -89,6 +117,9 @@ STEP_VSWITCH_PVP_FLOWS_FINIT = [ ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[3][1]'}], ] + STEP_VSWITCH_PVP_FINIT +# +# PVVP macros +# STEP_VSWITCH_PVVP_INIT = STEP_VSWITCH_PVP_INIT + [ ['vswitch', 'add_vport', 'int_br0'], # STEP 5 vm2 ports ['vswitch', 'add_vport', 'int_br0'], # STEP 6 @@ -99,6 +130,26 @@ STEP_VSWITCH_PVVP_FINIT = [ ['vswitch', 'del_port', 'int_br0', '#STEP[6][0]'], ] + STEP_VSWITCH_PVP_FINIT +STEP_VSWITCH_PVVP_CONNECTIONS_INIT = STEP_VSWITCH_PVVP_INIT + [ + ['vswitch', 'add_connection', 'int_br0', '#STEP[1][0]', '#STEP[3][0]'], + ['vswitch', 'add_connection', 'int_br0', '#STEP[4][0]', '#STEP[5][0]'], + ['vswitch', 'add_connection', 'int_br0', '#STEP[6][0]', '#STEP[2][0]'], + ['vswitch', 'add_connection', 'int_br0', '#STEP[2][0]', '#STEP[6][0]'], + ['vswitch', 'add_connection', 'int_br0', '#STEP[5][0]', '#STEP[4][0]'], + ['vswitch', 'add_connection', 'int_br0', '#STEP[3][0]', '#STEP[1][0]'], +] + +STEP_VSWITCH_PVVP_CONNECTIONS_FINIT = [ + ['vswitch', 'dump_connections', 'int_br0'], + ['vswitch', 'del_connection', 'int_br0', '#STEP[1][0]', '#STEP[3][0]'], + ['vswitch', 'del_connection', 'int_br0', '#STEP[4][0]', '#STEP[5][0]'], + ['vswitch', 'del_connection', 'int_br0', '#STEP[6][0]', '#STEP[2][0]'], + ['vswitch', 'del_connection', 'int_br0', '#STEP[2][0]', '#STEP[6][0]'], + ['vswitch', 'del_connection', 'int_br0', '#STEP[5][0]', '#STEP[4][0]'], + ['vswitch', 'del_connection', 'int_br0', '#STEP[3][0]', '#STEP[1][0]'], +] + STEP_VSWITCH_PVVP_FINIT + +# PVVP OVS specific macros STEP_VSWITCH_PVVP_FLOWS_INIT = STEP_VSWITCH_PVVP_INIT + [ ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', 'actions': ['output:#STEP[3][1]'], 'idle_timeout': '0'}], ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[4][1]', 'actions': ['output:#STEP[5][1]'], 'idle_timeout': '0'}], @@ -118,192 +169,6 @@ STEP_VSWITCH_PVVP_FLOWS_FINIT = [ ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[3][1]'}], ] + STEP_VSWITCH_PVVP_FINIT -STEP_VSWITCH_P4VP_INIT = STEP_VSWITCH_PVVP_INIT + [ - ['vswitch', 'add_vport', 'int_br0'], # STEP 7 vm3 ports - ['vswitch', 'add_vport', 'int_br0'], # STEP 8 - ['vswitch', 'add_vport', 'int_br0'], # STEP 9 vm4 ports - ['vswitch', 'add_vport', 'int_br0'], # STEP 10 -] - -STEP_VSWITCH_P4VP_FINIT = [ - ['vswitch', 'del_port', 'int_br0', '#STEP[7][0]'], # vm3 ports - ['vswitch', 'del_port', 'int_br0', '#STEP[8][0]'], - ['vswitch', 'del_port', 'int_br0', '#STEP[9][0]'], # vm4 ports - ['vswitch', 'del_port', 'int_br0', '#STEP[10][0]'], -] + STEP_VSWITCH_PVVP_FINIT - -STEP_VSWITCH_P4VP_FLOWS_INIT = STEP_VSWITCH_P4VP_INIT + [ - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \ - 'actions': ['output:#STEP[3][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[4][1]', \ - 'actions': ['output:#STEP[5][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[6][1]', \ - 'actions': ['output:#STEP[7][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[8][1]', \ - 'actions': ['output:#STEP[9][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[10][1]', \ - 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[2][1]', \ - 'actions': ['output:#STEP[10][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[9][1]', \ - 'actions': ['output:#STEP[8][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[7][1]', \ - 'actions': ['output:#STEP[6][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[5][1]', \ - 'actions': ['output:#STEP[4][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[3][1]', \ - 'actions': ['output:#STEP[1][1]'], 'idle_timeout': '0'}], -] - -STEP_VSWITCH_P4VP_FLOWS_FINIT = [ - ['vswitch', 'dump_flows', 'int_br0'], - ['vswitch', 'del_flow', 'int_br0'], -] + STEP_VSWITCH_P4VP_FINIT - -STEP_VSWITCH_2PHY_2VM_INIT = STEP_VSWITCH_PVVP_INIT - -STEP_VSWITCH_2PHY_2VM_FINIT = STEP_VSWITCH_PVVP_FINIT - -STEP_VSWITCH_2_PARALLEL_VM_FLOWS_INIT = [ - # Setup Flows to reply ICMPv6 and similar packets, so to - # avoid flooding the internal port with their re-transmissions - ['vswitch', 'add_flow', 'int_br0', \ - {'priority': '1', 'dl_src': '00:00:00:00:00:01', \ - 'actions': ['output:#STEP[3][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', \ - {'priority': '1', 'dl_src': '00:00:00:00:00:02', \ - 'actions': ['output:#STEP[4][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', \ - {'priority': '1', 'dl_src': '00:00:00:00:00:03', \ - 'actions': ['output:#STEP[5][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', \ - {'priority': '1', 'dl_src': '00:00:00:00:00:04', \ - 'actions': ['output:#STEP[6][1]'], 'idle_timeout': '0'}], - # Forward UDP packets depending on dest port - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \ - 'dl_type': '0x0800', 'nw_proto': '17', 'udp_dst': '0', \ - 'actions': ['output:#STEP[3][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \ - 'dl_type': '0x0800', 'nw_proto': '17', 'udp_dst': '1', \ - 'actions': ['output:#STEP[5][1]'], 'idle_timeout': '0'}], - # Send VM outputs to phy port #2 - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[4][1]', \ - 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[6][1]', \ - 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}], -] - -STEP_VSWITCH_2PHY_4VM_INIT = STEP_VSWITCH_2PHY_2VM_INIT + [ - ['vswitch', 'add_vport', 'int_br0'], # STEP 7 vm3 ports - ['vswitch', 'add_vport', 'int_br0'], # STEP 8 - ['vswitch', 'add_vport', 'int_br0'], # STEP 9 vm4 ports - ['vswitch', 'add_vport', 'int_br0'], # STEP 10 -] - -STEP_VSWITCH_2PHY_4VM_FINIT = [ - ['vswitch', 'del_port', 'int_br0', '#STEP[7][0]'], # vm3 ports - ['vswitch', 'del_port', 'int_br0', '#STEP[8][0]'], - ['vswitch', 'del_port', 'int_br0', '#STEP[9][0]'], # vm4 ports - ['vswitch', 'del_port', 'int_br0', '#STEP[10][0]'], -] + STEP_VSWITCH_2PHY_2VM_FINIT - -STEP_VSWITCH_FLOWS_FINIT = [ - ['vswitch', 'dump_flows', 'int_br0'], - ['vswitch', 'del_flow', 'int_br0'], -] - -STEP_VSWITCH_4_PARALLEL_VM_FLOWS_INIT = [ - # Setup Flows to reply ICMPv6 and similar packets, so to - # avoid flooding the internal port with their re-transmissions - ['vswitch', 'add_flow', 'int_br0', \ - {'priority': '1', 'dl_src': '00:00:00:00:00:01', \ - 'actions': ['output:#STEP[3][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', \ - {'priority': '1', 'dl_src': '00:00:00:00:00:02', \ - 'actions': ['output:#STEP[4][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', \ - {'priority': '1', 'dl_src': '00:00:00:00:00:03', \ - 'actions': ['output:#STEP[5][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', \ - {'priority': '1', 'dl_src': '00:00:00:00:00:04', \ - 'actions': ['output:#STEP[6][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', \ - {'priority': '1', 'dl_src': '00:00:00:00:00:05', \ - 'actions': ['output:#STEP[7][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', \ - {'priority': '1', 'dl_src': '00:00:00:00:00:06', \ - 'actions': ['output:#STEP[8][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', \ - {'priority': '1', 'dl_src': '00:00:00:00:00:07', \ - 'actions': ['output:#STEP[9][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', \ - {'priority': '1', 'dl_src': '00:00:00:00:00:08', \ - 'actions': ['output:#STEP[10][1]'], 'idle_timeout': '0'}], - # Forward UDP packets depending on dest port - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \ - 'dl_type': '0x0800', 'nw_proto': '17', 'udp_dst': '0', \ - 'actions': ['output:#STEP[3][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \ - 'dl_type': '0x0800', 'nw_proto': '17', 'udp_dst': '1', \ - 'actions': ['output:#STEP[5][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \ - 'dl_type': '0x0800', 'nw_proto': '17', 'udp_dst': '2', \ - 'actions': ['output:#STEP[7][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \ - 'dl_type': '0x0800', 'nw_proto': '17', 'udp_dst': '3', \ - 'actions': ['output:#STEP[9][1]'], 'idle_timeout': '0'}], - # Send VM outputs to phy port #2 - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[4][1]', \ - 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[6][1]', \ - 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[8][1]', \ - 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[10][1]', \ - 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}], -] - -STEP_VSWITCH_2PHY_6VM_INIT = STEP_VSWITCH_2PHY_4VM_INIT + [ - ['vswitch', 'add_vport', 'int_br0'], # STEP 11 vm5 vhu8 - ['vswitch', 'add_vport', 'int_br0'], # STEP 12 vhu9 - ['vswitch', 'add_vport', 'int_br0'], # STEP 13 vm6 vhu10 - ['vswitch', 'add_vport', 'int_br0'], # STEP 14 vhu11 -] - -STEP_VSWITCH_6_PARALLEL_VM_FLOWS_INIT = STEP_VSWITCH_4_PARALLEL_VM_FLOWS_INIT + [ - ['vswitch', 'add_flow', 'int_br0', \ - {'priority': '1', 'dl_src': '00:00:00:00:00:09', \ - 'actions': ['output:#STEP[11][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', \ - {'priority': '1', 'dl_src': '00:00:00:00:00:0a', \ - 'actions': ['output:#STEP[12][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', \ - {'priority': '1', 'dl_src': '00:00:00:00:00:0b', \ - 'actions': ['output:#STEP[13][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', \ - {'priority': '1', 'dl_src': '00:00:00:00:00:0c', \ - 'actions': ['output:#STEP[14][1]'], 'idle_timeout': '0'}], - # Forward UDP packets depending on dest port - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \ - 'dl_type': '0x0800', 'nw_proto': '17', 'udp_dst': '4', \ - 'actions': ['output:#STEP[11][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', \ - 'dl_type': '0x0800', 'nw_proto': '17', 'udp_dst': '5', \ - 'actions': ['output:#STEP[13][1]'], 'idle_timeout': '0'}], - # Send VM outputs to phy port #2 - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[12][1]', \ - 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[14][1]', \ - 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}], -] - -STEP_VSWITCH_2PHY_6VM_FINIT = [ - ['vswitch', 'del_port', 'int_br0', '#STEP[11][0]'], # vm5 ports - ['vswitch', 'del_port', 'int_br0', '#STEP[12][0]'], - ['vswitch', 'del_port', 'int_br0', '#STEP[13][0]'], # vm6 ports - ['vswitch', 'del_port', 'int_br0', '#STEP[14][0]'], -] + STEP_VSWITCH_2PHY_4VM_FINIT - # # Definition of integration tests # @@ -327,7 +192,6 @@ INTEGRATION_TESTS = [ { "Name": "overlay_p2p_tput", "Deployment": "op2p", - "Tunnel Type": SUPPORTED_TUNNELING_PROTO[0], "Tunnel Operation": "encapsulation", "Description": "Overlay Encapsulation Throughput RFC2544 Test", "Parameters": { @@ -341,7 +205,6 @@ INTEGRATION_TESTS = [ { "Name": "overlay_p2p_cont", "Deployment": "op2p", - "Tunnel Type": SUPPORTED_TUNNELING_PROTO[0], "Tunnel Operation": "encapsulation", "Description": "Overlay Encapsulation RFC2544 Continuous Stream", "Parameters": { @@ -355,7 +218,6 @@ INTEGRATION_TESTS = [ { "Name": "overlay_p2p_decap_tput", "Deployment": "op2p", - "Tunnel Type": SUPPORTED_TUNNELING_PROTO[0], "Tunnel Operation": "decapsulation", "Description": "Overlay Decapsulation Throughput RFC2544 Test", "Parameters": { @@ -369,7 +231,6 @@ INTEGRATION_TESTS = [ { "Name": "overlay_p2p_decap_cont", "Deployment": "op2p", - "Tunnel Type": SUPPORTED_TUNNELING_PROTO[0], "Tunnel Operation": "decapsulation", "Description": "Overlay Decapsulation RFC2544 Continuous Stream", "Parameters": { @@ -449,9 +310,49 @@ INTEGRATION_TESTS = [ ] }, { + "Name": "vswitch_add_del_connection", + "Deployment": "clean", + "Description": "vSwitch - add and delete connection", + "TestSteps": [ + ['vswitch', 'add_switch', 'int_br0'], + ['vswitch', 'add_phy_port', 'int_br0'], + ['vswitch', 'add_phy_port', 'int_br0'], + ['vswitch', 'add_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]'], + ['vswitch', 'dump_connections', 'int_br0'], + ['vswitch', 'del_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]'], + ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'], + ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'], + ['vswitch', 'del_switch', 'int_br0'], + ] + }, + { + "Name": "vswitch_vports_add_del_connection", + "Deployment": "clean", + "Description": "vSwitch - add and delete connection", + "Description": "vSwitch - configure switch with vports, add and delete connection", + "TestSteps": [ + ['vswitch', 'add_switch', 'int_br0'], + ['vswitch', 'add_vport', 'int_br0'], + ['vswitch', 'add_vport', 'int_br0'], + ['vswitch', 'add_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]'], + ['vswitch', 'dump_connections', 'int_br0'], + ['vswitch', 'del_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]'], + ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'], + ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'], + ['vswitch', 'del_switch', 'int_br0'], + ] + }, + { + "Name": "vswitch_add_del_connections", + "Deployment": "clean", + "Description": "vSwitch - add and delete connections", + "TestSteps": STEP_VSWITCH_P2P_CONNECTIONS_INIT + + STEP_VSWITCH_P2P_CONNECTIONS_FINIT + }, + { "Name": "vswitch_add_del_flow", "Deployment": "clean", - "Description": "vSwitch - add and delete flow", + "Description": "OVS: vSwitch - add and delete flow", "TestSteps": [ ['vswitch', 'add_switch', 'int_br0'], ['vswitch', 'add_phy_port', 'int_br0'], @@ -466,7 +367,7 @@ INTEGRATION_TESTS = [ { "Name": "vswitch_vports_add_del_flow", "Deployment": "clean", - "Description": "vSwitch - configure switch with vports, add and delete flow", + "Description": "OVS: vSwitch - configure switch with vports, add and delete flow", "TestSteps": [ ['vswitch', 'add_switch', 'int_br0'], ['vswitch', 'add_vport', 'int_br0'], @@ -481,7 +382,7 @@ INTEGRATION_TESTS = [ { "Name": "vswitch_add_del_flows", "Deployment": "clean", - "Description": "vSwitch - add and delete flows", + "Description": "OVS: vSwitch - add and delete flows", "TestSteps": STEP_VSWITCH_P2P_FLOWS_INIT + STEP_VSWITCH_P2P_FLOWS_FINIT }, @@ -489,31 +390,31 @@ INTEGRATION_TESTS = [ "Name": "vswitch_p2p_tput", "Deployment": "clean", "Description": "vSwitch - configure switch and execute RFC2544 throughput test", - "TestSteps": STEP_VSWITCH_P2P_FLOWS_INIT + + "TestSteps": STEP_VSWITCH_P2P_CONNECTIONS_INIT + [ ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_throughput', 'bidir' : 'True'}], ] + - STEP_VSWITCH_P2P_FLOWS_FINIT + STEP_VSWITCH_P2P_CONNECTIONS_FINIT }, { "Name": "vswitch_p2p_back2back", "Deployment": "clean", "Description": "vSwitch - configure switch and execute RFC2544 back2back test", - "TestSteps": STEP_VSWITCH_P2P_FLOWS_INIT + + "TestSteps": STEP_VSWITCH_P2P_CONNECTIONS_INIT + [ ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_back2back', 'bidir' : 'True'}], ] + - STEP_VSWITCH_P2P_FLOWS_FINIT + STEP_VSWITCH_P2P_CONNECTIONS_FINIT }, { "Name": "vswitch_p2p_cont", "Deployment": "clean", "Description": "vSwitch - configure switch and execute RFC2544 continuous stream test", - "TestSteps": STEP_VSWITCH_P2P_FLOWS_INIT + + "TestSteps": STEP_VSWITCH_P2P_CONNECTIONS_INIT + [ ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', 'bidir' : 'True'}], ] + - STEP_VSWITCH_P2P_FLOWS_FINIT + STEP_VSWITCH_P2P_CONNECTIONS_FINIT }, { "Name": "vswitch_pvp", @@ -545,43 +446,43 @@ INTEGRATION_TESTS = [ "Name": "vswitch_pvp_tput", "Deployment": "clean", "Description": "vSwitch - configure switch, vnf and execute RFC2544 throughput test", - "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT + + "TestSteps": STEP_VSWITCH_PVP_CONNECTIONS_INIT + [ ['vnf', 'start'], ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_throughput', 'bidir' : 'True'}], ['vnf', 'stop'], ] + - STEP_VSWITCH_PVP_FLOWS_FINIT + STEP_VSWITCH_PVP_CONNECTIONS_FINIT }, { "Name": "vswitch_pvp_back2back", "Deployment": "clean", "Description": "vSwitch - configure switch, vnf and execute RFC2544 back2back test", - "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT + + "TestSteps": STEP_VSWITCH_PVP_CONNECTIONS_INIT + [ ['vnf', 'start'], ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_back2back', 'bidir' : 'True'}], ['vnf', 'stop'], ] + - STEP_VSWITCH_PVP_FLOWS_FINIT + STEP_VSWITCH_PVP_CONNECTIONS_FINIT }, { "Name": "vswitch_pvp_cont", "Deployment": "clean", "Description": "vSwitch - configure switch, vnf and execute RFC2544 continuous stream test", - "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT + + "TestSteps": STEP_VSWITCH_PVP_CONNECTIONS_INIT + [ ['vnf', 'start'], ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', 'bidir' : 'True'}], ['vnf', 'stop'], ] + - STEP_VSWITCH_PVP_FLOWS_FINIT + STEP_VSWITCH_PVP_CONNECTIONS_FINIT }, { "Name": "vswitch_pvp_all", "Deployment": "clean", "Description": "vSwitch - configure switch, vnf and execute all test types", - "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT + + "TestSteps": STEP_VSWITCH_PVP_CONNECTIONS_INIT + [ ['vnf', 'start'], ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_throughput', 'bidir' : 'True'}], @@ -589,7 +490,7 @@ INTEGRATION_TESTS = [ ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', 'bidir' : 'True'}], ['vnf', 'stop'], ] + - STEP_VSWITCH_PVP_FLOWS_FINIT + STEP_VSWITCH_PVP_CONNECTIONS_FINIT }, { "Name": "vswitch_pvvp", @@ -608,7 +509,7 @@ INTEGRATION_TESTS = [ "Name": "vswitch_pvvp_tput", "Deployment": "clean", "Description": "vSwitch - configure switch, two chained vnfs and execute RFC2544 throughput test", - "TestSteps": STEP_VSWITCH_PVVP_FLOWS_INIT + + "TestSteps": STEP_VSWITCH_PVVP_CONNECTIONS_INIT + [ ['vnf1', 'start'], ['vnf2', 'start'], @@ -616,13 +517,13 @@ INTEGRATION_TESTS = [ ['vnf1', 'stop'], ['vnf2', 'stop'], ] + - STEP_VSWITCH_PVVP_FLOWS_FINIT + STEP_VSWITCH_PVVP_CONNECTIONS_FINIT }, { "Name": "vswitch_pvvp_back2back", "Deployment": "clean", "Description": "vSwitch - configure switch, two chained vnfs and execute RFC2544 back2back test", - "TestSteps": STEP_VSWITCH_PVVP_FLOWS_INIT + + "TestSteps": STEP_VSWITCH_PVVP_CONNECTIONS_INIT + [ ['vnf1', 'start'], ['vnf2', 'start'], @@ -630,13 +531,13 @@ INTEGRATION_TESTS = [ ['vnf1', 'stop'], ['vnf2', 'stop'], ] + - STEP_VSWITCH_PVVP_FLOWS_FINIT + STEP_VSWITCH_PVVP_CONNECTIONS_FINIT }, { "Name": "vswitch_pvvp_cont", "Deployment": "clean", "Description": "vSwitch - configure switch, two chained vnfs and execute RFC2544 continuous stream test", - "TestSteps": STEP_VSWITCH_PVVP_FLOWS_INIT + + "TestSteps": STEP_VSWITCH_PVVP_CONNECTIONS_INIT + [ ['vnf1', 'start'], ['vnf2', 'start'], @@ -644,13 +545,13 @@ INTEGRATION_TESTS = [ ['vnf1', 'stop'], ['vnf2', 'stop'], ] + - STEP_VSWITCH_PVVP_FLOWS_FINIT + STEP_VSWITCH_PVVP_CONNECTIONS_FINIT }, { "Name": "vswitch_pvvp_all", "Deployment": "clean", "Description": "vSwitch - configure switch, two chained vnfs and execute all test types", - "TestSteps": STEP_VSWITCH_PVVP_FLOWS_INIT + + "TestSteps": STEP_VSWITCH_PVVP_CONNECTIONS_INIT + [ ['vnf1', 'start'], ['vnf2', 'start'], @@ -660,104 +561,48 @@ INTEGRATION_TESTS = [ ['vnf1', 'stop'], ['vnf2', 'stop'], ] + - STEP_VSWITCH_PVVP_FLOWS_FINIT - }, - { - "Name": "vswitch_p4vp", - "Description": "Just configure 4 chained vnfs", - "Deployment": "clean", - "TestSteps": STEP_VSWITCH_P4VP_FLOWS_INIT + - [ - ['vnf1', 'start'], - ['vnf2', 'start'], - ['vnf3', 'start'], - ['vnf4', 'start'], - ['vnf1', 'stop'], - ['vnf2', 'stop'], - ['vnf3', 'stop'], - ['vnf4', 'stop'], - ] + - STEP_VSWITCH_P4VP_FLOWS_FINIT + STEP_VSWITCH_PVVP_CONNECTIONS_FINIT }, { "Name": "vswitch_p4vp_tput", - "Description": "4 chained vnfs, execute RFC2544 throughput test", - "Deployment": "clean", - "TestSteps": STEP_VSWITCH_P4VP_FLOWS_INIT + - [ - ['vnf1', 'start'], - ['vnf2', 'start'], - ['vnf3', 'start'], - ['vnf4', 'start'], - ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_throughput', \ - 'bidir' : 'True'}], - ['vnf1', 'stop'], - ['vnf2', 'stop'], - ['vnf3', 'stop'], - ['vnf4', 'stop'], - ] + - STEP_VSWITCH_P4VP_FLOWS_FINIT + "Description": "4 chained vnfs, execute RFC2544 throughput test, deployment pvvp4", + "Deployment": "pvvp4", + "Parameters" : { + "TRAFFIC" : { + "traffic_type" : "rfc2544_throughput", + }, + }, }, { "Name": "vswitch_p4vp_back2back", - "Description": "4 chained vnfs, execute RFC2544 back2back test", - "Deployment": "clean", - "TestSteps": STEP_VSWITCH_P4VP_FLOWS_INIT + - [ - ['vnf1', 'start'], - ['vnf2', 'start'], - ['vnf3', 'start'], - ['vnf4', 'start'], - ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_back2back', \ - 'bidir' : 'True'}], - ['vnf1', 'stop'], - ['vnf2', 'stop'], - ['vnf3', 'stop'], - ['vnf4', 'stop'], - ] + - STEP_VSWITCH_P4VP_FLOWS_FINIT + "Description": "4 chained vnfs, execute RFC2544 back2back test, deployment pvvp4", + "Deployment": "pvvp4", + "Parameters" : { + "TRAFFIC" : { + "traffic_type" : "rfc2544_back2back", + }, + }, }, { "Name": "vswitch_p4vp_cont", - "Description": "4 chained vnfs, execute RFC2544 continuous stream test", - "Deployment": "clean", - "TestSteps": STEP_VSWITCH_P4VP_FLOWS_INIT + - [ - ['vnf1', 'start'], - ['vnf2', 'start'], - ['vnf3', 'start'], - ['vnf4', 'start'], - ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', \ - 'bidir' : 'True'}], - ['vnf1', 'stop'], - ['vnf2', 'stop'], - ['vnf3', 'stop'], - ['vnf4', 'stop'], - ] + - STEP_VSWITCH_P4VP_FLOWS_FINIT + "Description": "4 chained vnfs, execute RFC2544 continuous stream test, deployment pvvp4", + "Deployment": "pvvp4", + "Parameters" : { + "TRAFFIC" : { + "traffic_type" : "rfc2544_continuous", + }, + }, }, { "Name": "vswitch_p4vp_all", - "Description": "4 chained vnfs, execute RFC2544 throughput test", - "Deployment": "clean", - "TestSteps": STEP_VSWITCH_P4VP_FLOWS_INIT + + "Description": "4 chained vnfs, execute RFC2544 throughput tests, deployment pvvp4", + "Deployment": "pvvp4", + "TestSteps": [ - ['vnf1', 'start'], - ['vnf2', 'start'], - ['vnf3', 'start'], - ['vnf4', 'start'], - ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_throughput', \ - 'bidir' : 'True'}], - ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_back2back', \ - 'bidir' : 'True'}], - ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', \ - 'bidir' : 'True'}], - ['vnf1', 'stop'], - ['vnf2', 'stop'], - ['vnf3', 'stop'], - ['vnf4', 'stop'], - ] + - STEP_VSWITCH_P4VP_FLOWS_FINIT + ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_throughput'}], + ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_back2back'}], + ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous'}], + ] }, { # Topology: 2 Parallel PVP connections @@ -766,25 +611,13 @@ INTEGRATION_TESTS = [ # or add "Parameters" option to the test definition: # "Parameters" : {'GUEST_LOOPBACK' : ['linux_bridge'],}, "Name": "2pvp_udp_dest_flows", - "Description": "RFC2544 Continuous TC with 2 Parallel VMs, flows on UDP Dest Port", - "Deployment": "clean", + "Description": "RFC2544 Continuous TC with 2 Parallel VMs, flows on UDP Dest Port, deployment pvpv2", + "Deployment": "pvpv2", "Parameters" : { "TRAFFIC" : { - "multistream" : 2, - "stream_type" : "L4", + "traffic_type" : "rfc2544_continuous", }, }, - "TestSteps": STEP_VSWITCH_2PHY_2VM_INIT + - STEP_VSWITCH_2_PARALLEL_VM_FLOWS_INIT + [ - # Start 2 VMs - ['vnf1', 'start'], - ['vnf2', 'start'], - ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', 'bidir' : 'False'}], - ['vnf1', 'stop'], - ['vnf2', 'stop'], - # Clean up - ] + STEP_VSWITCH_FLOWS_FINIT + - STEP_VSWITCH_2PHY_2VM_FINIT }, { # Topology: 4 Parallel PVP connections @@ -793,29 +626,13 @@ INTEGRATION_TESTS = [ # or add "Parameters" option to the test definition: # "Parameters" : {'GUEST_LOOPBACK' : ['linux_bridge'],}, "Name": "4pvp_udp_dest_flows", - "Description": "RFC2544 Continuous TC with 4 Parallel VMs, flows on UDP Dest Port", - "Deployment": "clean", + "Description": "RFC2544 Continuous TC with 4 Parallel VMs, flows on UDP Dest Port, deployment pvpv4", + "Deployment": "pvpv4", "Parameters" : { "TRAFFIC" : { - "multistream" : 4, - "stream_type" : "L4", + "traffic_type" : "rfc2544_continuous", }, }, - "TestSteps": STEP_VSWITCH_2PHY_4VM_INIT + - STEP_VSWITCH_4_PARALLEL_VM_FLOWS_INIT + [ - # Start 4 VMs - ['vnf1', 'start'], - ['vnf2', 'start'], - ['vnf3', 'start'], - ['vnf4', 'start'], - ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', 'bidir' : 'False'}], - ['vnf1', 'stop'], - ['vnf2', 'stop'], - ['vnf3', 'stop'], - ['vnf4', 'stop'], - # Clean up - ] + STEP_VSWITCH_FLOWS_FINIT + - STEP_VSWITCH_2PHY_4VM_FINIT }, { # Topology: 6 Parallel PVP connections @@ -824,32 +641,13 @@ INTEGRATION_TESTS = [ # or add "Parameters" option to the test definition: # "Parameters" : {'GUEST_LOOPBACK' : ['linux_bridge'],}, "Name": "6pvp_udp_dest_flows", - "Description": "RFC2544 Continuous TC with 6 Parallel VMs, flows on UDP Dest Port", - "Deployment": "clean", + "Description": "RFC2544 Continuous TC with 6 Parallel VMs, flows on UDP Dest Port, deployment pvpv6", + "Deployment": "pvpv6", "Parameters" : { "TRAFFIC" : { - "multistream" : 6, - "stream_type" : "L4", + "traffic_type" : "rfc2544_continuous", }, }, - "TestSteps": STEP_VSWITCH_2PHY_6VM_INIT + - STEP_VSWITCH_6_PARALLEL_VM_FLOWS_INIT + [ - # Start VMs - ['vnf1', 'start'], - ['vnf2', 'start'], - ['vnf3', 'start'], - ['vnf4', 'start'], - ['vnf5', 'start'], - ['vnf6', 'start'], - ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', 'bidir' : 'False'}], - ['vnf1', 'stop'], - ['vnf2', 'stop'], - ['vnf3', 'stop'], - ['vnf4', 'stop'], - ['vnf5', 'stop'], - ['vnf6', 'stop'], - ] + STEP_VSWITCH_FLOWS_FINIT + - STEP_VSWITCH_2PHY_6VM_FINIT }, { # Testcase for verification of vHost User NUMA awareness feature @@ -979,23 +777,6 @@ INTEGRATION_TESTS = [ ['tools', 'assert', 'len(#STEP[-1][0])'], ] }, - { - "Name": "vswitch_vports_add_del_connection_vpp", - "Deployment": "clean", - "Description": "VPP: vSwitch - configure switch with vports, add and delete connection", - "vSwitch" : "VppDpdkVhost", - "TestSteps": [ - ['vswitch', 'add_switch', 'int_br0'], - ['vswitch', 'add_vport', 'int_br0'], - ['vswitch', 'add_vport', 'int_br0'], - ['vswitch', 'add_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]', True], - ['vswitch', 'dump_connections', 'int_br0'], - ['vswitch', 'del_connection', 'int_br0', '#STEP[1][0]', '#STEP[2][0]', True], - ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'], - ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'], - ['vswitch', 'del_switch', 'int_br0'], - ] - }, # # END of VPP tests used by VERIFY and MERGE jobs by OPNFV Jenkins # @@ -1027,9 +808,9 @@ INTEGRATION_TESTS = [ }, "TestSteps": [ # replace original flows with vlan ID modification - ['!vswitch', 'add_flow', 'br0', {'in_port': '1', 'actions': ['mod_vlan_vid:4','output:3']}], - ['!vswitch', 'add_flow', 'br0', {'in_port': '2', 'actions': ['mod_vlan_vid:4','output:4']}], - ['vswitch', 'dump_flows', 'br0'], + ['!vswitch', 'add_flow', '$VSWITCH_BRIDGE_NAME', {'in_port': '1', 'actions': ['mod_vlan_vid:4','output:3']}], + ['!vswitch', 'add_flow', '$VSWITCH_BRIDGE_NAME', {'in_port': '2', 'actions': ['mod_vlan_vid:4','output:4']}], + ['vswitch', 'dump_flows', '$VSWITCH_BRIDGE_NAME'], # verify that received frames have modified vlan ID ['VNF0', 'execute_and_wait', 'tcpdump -i eth0 -c 5 -w dump.pcap vlan 4 &'], ['trafficgen', 'send_traffic',{}], @@ -1055,14 +836,14 @@ _CAPTURE_P2P2P_SETUP = [ # create and configure two bridges to forward traffic through NIC under # the test and back to the traffic generator # 1st bridge: - ['vswitch', 'add_switch', 'br0'], + ['vswitch', 'add_switch', '$VSWITCH_BRIDGE_NAME'], ['tools', 'exec_shell', 'sudo ip addr flush dev $NICS[0]["device"]'], ['tools', 'exec_shell', 'sudo ip link set dev $NICS[0]["device"] up'], - ['tools', 'exec_shell', '$TOOLS["ovs-vsctl"] add-port br0 $NICS[0]["device"]'], + ['tools', 'exec_shell', '$TOOLS["ovs-vsctl"] add-port $VSWITCH_BRIDGE_NAME $NICS[0]["device"]'], ['tools', 'exec_shell', 'sudo $TOOLS["bind-tool"] --bind igb_uio $NICS[3]["pci"]'], - ['tools', 'exec_shell', '$TOOLS["ovs-vsctl"] add-port br0 dpdk0 -- ' + ['tools', 'exec_shell', '$TOOLS["ovs-vsctl"] add-port $VSWITCH_BRIDGE_NAME dpdk0 -- ' 'set Interface dpdk0 type=dpdk options:dpdk-devargs=$NICS[3]["pci"]'], - ['tools', 'exec_shell', '$TOOLS["ovs-ofctl"] add-flow br0 in_port=1,action=' + ['tools', 'exec_shell', '$TOOLS["ovs-ofctl"] add-flow $VSWITCH_BRIDGE_NAME in_port=1,action=' '$_CAPTURE_P2P2P_OVS_ACTION,output:2'], # 2nd bridge: ['vswitch', 'add_switch', 'br1'], @@ -1074,7 +855,7 @@ _CAPTURE_P2P2P_SETUP = [ ['tools', 'exec_shell', '$TOOLS["ovs-vsctl"] add-port br1 $NICS[1]["device"]'], ['vswitch', 'add_flow', 'br1', {'in_port': '1', 'actions': ['output:2']}], # log flow details - ['vswitch', 'dump_flows', 'br0'], + ['vswitch', 'dump_flows', '$VSWITCH_BRIDGE_NAME'], ['vswitch', 'dump_flows', 'br1'], ] INTEGRATION_TESTS += [ @@ -1108,7 +889,7 @@ INTEGRATION_TESTS += [ ['tools', 'exec_shell_background', 'tcpdump -i $NICS[2]["device"] -c 5 -w capture.pcap ' 'ether src $TRAFFIC["l2"]["srcmac"]'], ['trafficgen', 'send_traffic', {}], - ['vswitch', 'dump_flows', 'br0'], + ['vswitch', 'dump_flows', '$VSWITCH_BRIDGE_NAME'], ['vswitch', 'dump_flows', 'br1'], # there must be 5 captured frames... ['tools', 'exec_shell', 'tcpdump -r capture.pcap | wc -l', '|^(\d+)$'], @@ -1129,10 +910,11 @@ INTEGRATION_TESTS += [ "vSwitch" : "OvsDpdkVhost", # works also for Vanilla OVS "Parameters" : { "TRAFFICGEN" : "Trex", - "TRAFFICGEN_DURATION" : 5, + "TRAFFICGEN_TREX_LEARNING_MODE" : True, "TRAFFIC" : { - "traffic_type" : "rfc2544_continuous", + "traffic_type" : "burst", "frame_rate" : 100, + "burst_size" : 5, # enable capture of five RX frames 'capture': { 'enabled': True, @@ -1170,11 +952,11 @@ INTEGRATION_TESTS += [ # "VNF" : "QemuVirtioNet", # "Trafficgen": "IxNet", # "Parameters": {"GUEST_LOOPBACK" : ["linux_bridge"],}, -# "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT + +# "TestSteps": STEP_VSWITCH_PVP_CONNECTIONS_INIT + # [ # ['vnf', 'start'], # ['trafficgen', 'send_traffic', {'traffic_type' : 'rfc2544_continuous', 'bidir' : 'True'}], # ['vnf', 'stop'], # ] + -# STEP_VSWITCH_PVP_FLOWS_FINIT +# STEP_VSWITCH_PVP_CONNECTIONS_FINIT # }, diff --git a/conf/integration/01a_testcases_l34_vxlan.conf b/conf/integration/01a_testcases_l34_vxlan.conf index 17c0d6ff..b42a14d1 100644 --- a/conf/integration/01a_testcases_l34_vxlan.conf +++ b/conf/integration/01a_testcases_l34_vxlan.conf @@ -1,4 +1,4 @@ -# Copyright 2017 Intel Corporation. +# Copyright 2017-2018 Intel Corporation and Tieto. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -63,7 +63,6 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [ 'cmds.close()'], ['tools', 'exec_shell', "sudo $TOOLS['ovs-ofctl'] -O OpenFlow13 --bundle add-flows int_br0 /tmp/ovsofctl_cmds.txt"], ['trafficgen', 'send_traffic', {}], - ['vswitch', 'del_flow', 'int_br0'], ] + STEP_VSWITCH_P2P_FINIT }, @@ -93,7 +92,6 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [ 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0' }], ['trafficgen', 'send_traffic', {}], ['vswitch', 'dump_flows', 'int_br0'], - ['vswitch', 'del_flow', 'int_br0'], ] + STEP_VSWITCH_P2P_FINIT }, @@ -130,7 +128,6 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [ ['trafficgen', 'send_traffic', {}], ['vswitch', 'dump_flows', 'int_br0'], ['vnf', 'stop'], - ['vswitch', 'del_flow', 'int_br0'], ] + STEP_VSWITCH_PVP_FINIT }, { @@ -172,7 +169,6 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [ ['vswitch', 'dump_flows', 'int_br0'], ['vnf2', 'stop'], ['vnf1', 'stop'], - ['vswitch', 'del_flow', 'int_br0'], ] + STEP_VSWITCH_PVVP_FINIT }, @@ -213,7 +209,6 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [ ['tools', 'exec_shell', "sudo $TOOLS['ovs-ofctl'] -O OpenFlow13 --bundle " "add-flows int_br0 /tmp/ovsofctl_cmds.txt"], ['trafficgen', 'send_traffic', {}], - ['vswitch', 'del_flow', 'int_br0'], ] + STEP_VSWITCH_P2P_FINIT }, @@ -249,7 +244,6 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [ 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}], ['trafficgen', 'send_traffic', {}], ['vswitch', 'dump_flows', 'int_br0'], - ['vswitch', 'del_flow', 'int_br0'], ] + STEP_VSWITCH_P2P_FINIT }, @@ -293,7 +287,6 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [ ['trafficgen', 'send_traffic', {}], ['vswitch', 'dump_flows', 'int_br0'], ['vnf', 'stop'], - ['vswitch', 'del_flow', 'int_br0'], ] + STEP_VSWITCH_PVP_FINIT }, @@ -344,7 +337,6 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [ ['vswitch', 'dump_flows', 'int_br0'], ['vnf2', 'stop'], ['vnf1', 'stop'], - ['vswitch', 'del_flow', 'int_br0'], ] + STEP_VSWITCH_PVVP_FINIT }, @@ -888,13 +880,13 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [ }, }, "TestSteps": [ - ['vswitch', 'del_flow', 'br0', {'in_port': '1'}], - ['vswitch', 'add_flow', 'br0', + ['vswitch', 'del_flow', '$TUNNEL_INTEGRATION_BRIDGE', {'in_port': '1'}], + ['vswitch', 'add_flow', '$TUNNEL_INTEGRATION_BRIDGE', {'in_port': '1', 'dl_type': '0x800', 'nw_proto': '17', 'nw_dst': '$TRAFFICGEN_PORT2_IP/8', 'actions': ['output:2'], 'idle_timeout': '0'}], - ['vswitch', 'dump_flows', 'br0'], - ['vswitch', 'dump_flows', 'br-ext'], + ['vswitch', 'dump_flows', '$TUNNEL_INTEGRATION_BRIDGE'], + ['vswitch', 'dump_flows', '$TUNNEL_EXTERNAL_BRIDGE'], ], }, { diff --git a/conf/integration/01b_dpdk_regression_tests.conf b/conf/integration/01b_dpdk_regression_tests.conf index 2e63d677..abc56c28 100644 --- a/conf/integration/01b_dpdk_regression_tests.conf +++ b/conf/integration/01b_dpdk_regression_tests.conf @@ -1,4 +1,4 @@ -# Copyright 2017 Intel Corporation. +# Copyright 2017-2018 Intel Corporation., Tieto # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -170,9 +170,6 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [ ['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] show', '|Error attaching device.*$NICS[0]["pci"]'], ['tools', 'assert', 'not len(#STEP[-1])'], - # clean up - ['vswitch', 'del_port', 'int_br0', '#STEP[port2][0]'], - ['vswitch', 'del_switch', 'int_br0'], ] }, { @@ -344,14 +341,14 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [ # frame loss with small packets should be detected ['tools', 'assert', '#STEP[-1][0]["frame_loss_percent"] > 10'], # delete phy ports so they can be created with flow control - ['vswitch', 'del_flow', 'br0', {}], - ['vswitch', 'del_port', 'br0', 'dpdk0'], - ['vswitch', 'del_port', 'br0', 'dpdk1'], + ['vswitch', 'del_flow', '$VSWITCH_BRIDGE_NAME', {}], + ['vswitch', 'del_port', '$VSWITCH_BRIDGE_NAME', 'dpdk0'], + ['vswitch', 'del_port', '$VSWITCH_BRIDGE_NAME', 'dpdk1'], # turn on flow control - ['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk options:dpdk-devargs=$NICS[0]["pci"] options:rx-flow-ctrl=true'], - ['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] add-port br0 dpdk1 -- set Interface dpdk1 type=dpdk options:dpdk-devargs=$NICS[1]["pci"] options:rx-flow-ctrl=true'], - ['vswitch', 'add_flow', 'br0', {'in_port': '3', 'actions': ['output:4'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'br0', {'in_port': '4', 'actions': ['output:3'], 'idle_timeout': '0'}], + ['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] add-port $VSWITCH_BRIDGE_NAME dpdk0 -- set Interface dpdk0 type=dpdk options:dpdk-devargs=$NICS[0]["pci"] options:rx-flow-ctrl=true'], + ['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] add-port $VSWITCH_BRIDGE_NAME dpdk1 -- set Interface dpdk1 type=dpdk options:dpdk-devargs=$NICS[1]["pci"] options:rx-flow-ctrl=true'], + ['vswitch', 'add_flow', '$VSWITCH_BRIDGE_NAME', {'in_port': '3', 'actions': ['output:4'], 'idle_timeout': '0'}], + ['vswitch', 'add_flow', '$VSWITCH_BRIDGE_NAME', {'in_port': '4', 'actions': ['output:3'], 'idle_timeout': '0'}], ['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] show'], ['trafficgen', 'send_traffic', {}], ['trafficgen', 'get_results'], @@ -671,15 +668,17 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [ "TestSteps": [ # send traffic to verify correct PVP configuration ['trafficgen', 'send_traffic', {}], - ['vswitch', 'dump_flows', 'br0'], + ['vswitch', 'dump_flows', '$VSWITCH_BRIDGE_NAME'], # restart vswitchd, ovsdb is kept untouched, so ovs configuration # (except flows) will be restored ['vswitch', 'restart'], - ['vswitch', 'del_flow', 'br0'], - ['vswitch', 'add_flow', 'br0', {'in_port': '1', 'actions': ['output:3'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'br0', {'in_port': '3', 'actions': ['output:1'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'br0', {'in_port': '2', 'actions': ['output:4'], 'idle_timeout': '0'}], - ['vswitch', 'add_flow', 'br0', {'in_port': '4', 'actions': ['output:2'], 'idle_timeout': '0'}], + ['vswitch', 'del_flow', '$VSWITCH_BRIDGE_NAME', {}], + ['vswitch', 'dump_flows', '$VSWITCH_BRIDGE_NAME'], + ['vswitch', 'add_flow', '$VSWITCH_BRIDGE_NAME', {'in_port': '1', 'actions': ['output:3'], 'idle_timeout': '0'}], + ['vswitch', 'add_flow', '$VSWITCH_BRIDGE_NAME', {'in_port': '3', 'actions': ['output:1'], 'idle_timeout': '0'}], + ['vswitch', 'add_flow', '$VSWITCH_BRIDGE_NAME', {'in_port': '2', 'actions': ['output:4'], 'idle_timeout': '0'}], + ['vswitch', 'add_flow', '$VSWITCH_BRIDGE_NAME', {'in_port': '4', 'actions': ['output:2'], 'idle_timeout': '0'}], + ['vswitch', 'dump_flows', '$VSWITCH_BRIDGE_NAME'], # send traffic to verify that OVS works correctly after restart ['trafficgen', 'send_traffic', {}], ], @@ -718,13 +717,13 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [ "VSWITCH_VHOSTUSER_SERVER_MODE" : True, }, "TestSteps": [ - ['vswitch', 'add_switch', 'br0'], + ['vswitch', 'add_switch', '$VSWITCH_BRIDGE_NAME'], ['tools', 'exec_shell', 'sudo $TOOLS["ovs-vsctl"] set Open_vSwitch . ' 'other_config:vhost-sock-dir=test_dir'], # enforce vswitchd to read new configuration ['vswitch', 'restart'], ['tools', 'exec_shell', 'sudo mkdir $TOOLS["ovs_var_tmp"]/test_dir'], - ['vswitch', 'add_vport', 'br0'], + ['vswitch', 'add_vport', '$VSWITCH_BRIDGE_NAME'], ['tools', 'exec_shell', 'ls -1 $TOOLS["ovs_var_tmp"]/test_dir', '|dpdkvhostuser0'], ['tools', 'assert', 'len(#STEP[-1])'], @@ -1297,7 +1296,7 @@ _OVSDPDK_RATE_confirm_multiple_rate_limit_setup = \ # check that traffic rate is no longer limited ['trafficgen', 'get_results'], ['tools', 'assert', 'int(#STEP[-1][0]["throughput_rx_mbps"])>500'], - ['vswitch', 'dump_flows', 'br0'], + ['vswitch', 'dump_flows', '$VSWITCH_BRIDGE_NAME'], ] INTEGRATION_TESTS = INTEGRATION_TESTS + [ @@ -1603,8 +1602,8 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [ "Parameters" : {}, "TestSteps": [ # Setup switch,port and logs - ['vswitch', 'add_switch', 'br0'], - ['vswitch', 'add_vport', 'br0'], + ['vswitch', 'add_switch', '$VSWITCH_BRIDGE_NAME'], + ['vswitch', 'add_vport', '$VSWITCH_BRIDGE_NAME'], ['#LOG_MARK', 'tools', 'exec_shell', 'echo $((1+`wc -l $_OVSDPDK_VSWITCH_LOG | cut -d" " -f1`))', '(\d+)'], @@ -1633,8 +1632,8 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [ "Parameters" : {}, "TestSteps": [ # Setup switch,port and logs - ['vswitch', 'add_switch', 'br0'], - ['vswitch', 'add_vport', 'br0'], + ['vswitch', 'add_switch', '$VSWITCH_BRIDGE_NAME'], + ['vswitch', 'add_vport', '$VSWITCH_BRIDGE_NAME'], ['#LOG_MARK', 'tools', 'exec_shell', 'echo $((1+`wc -l $_OVSDPDK_VSWITCH_LOG | cut -d" " -f1`))', '(\d+)'], @@ -1686,4 +1685,72 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [ }, "TestSteps": _OVSDPDK_QOS_confirm_multiple_qos_setup }, + ############################################################ + # + # Custom statistics + # + ############################################################ + { + "Name": "ovsdpdk_custstat_check", + "Deployment": "clean", + "Description": "Test if custom statistics are supported.", + "vSwitch" : "OvsDpdkVhost", + "TestSteps": [ + # enable custom statistics + ['vswitch', 'add_switch', 'int_br0', [ + 'protocols=OpenFlow10,OpenFlow11,OpenFlow12,' + 'OpenFlow13,OpenFlow14,OpenFlow15']], + ['#port', 'vswitch', 'add_phy_port', 'int_br0'], + # check that custom statistics are available for given interface + ['tools', 'exec_shell', 'sudo $TOOLS["ovs-ofctl"] -O OpenFlow14 ' + 'dump-ports int_br0 #STEP[port][1]', + '|CUSTOM Statistics'], + ['tools', 'assert', 'len(#STEP[-1])'], + ['vswitch', 'del_port', 'int_br0', '#STEP[port][0]'], + ['vswitch', 'del_switch', 'int_br0'], + ] + }, + { + "Name": "ovsdpdk_custstat_rx_error", + "Deployment": "clean", + "Description": "Test bad ethernet CRC counter 'rx_crc_errors' exposed by custom statistics.", + "vSwitch" : "OvsDpdkVhost", + "Parameters" : { + "OVS_OFCTL_ARGS" : [], + "TRAFFICGEN" : "IxNet", + "TRAFFIC" : { + "traffic_type" : "rfc2544_continuous", + "frame_rate" : 10, + }, + "TRAFFICGEN_DURATION" : 10, + "TRAFFICGEN_IXNET_TCL_SCRIPT" : "ixnetrfc2544_bad_l2_crc.tcl", + }, + "TestSteps": [ + # enable custom statistics + ['vswitch', 'add_switch', 'int_br0', [ + 'protocols=OpenFlow10,OpenFlow11,OpenFlow12,' + 'OpenFlow13,OpenFlow14,OpenFlow15']], + ['#port1', 'vswitch', 'add_phy_port', 'int_br0'], + ['#port2', 'vswitch', 'add_phy_port', 'int_br0'], + ['vswitch', 'add_flow', 'int_br0', {'in_port': '1', 'actions': ['output:2']}], + ['vswitch', 'add_flow', 'int_br0', {'in_port': '2', 'actions': ['output:1']}], + ['#crc_old', 'tools', 'exec_shell', 'sudo $TOOLS["ovs-ofctl"] -O OpenFlow14 ' + 'dump-ports int_br0 #STEP[port1][1]', + '|rx_crc_errors=(\d+)'], + # frames will be dropped by NIC, so we have to suppress send_traffic validation + # to avoid test failure + ['!trafficgen', 'send_traffic', {}], + # check that custom statistics are available for given interface + ['#crc_new', 'tools', 'exec_shell', 'sudo $TOOLS["ovs-ofctl"] -O OpenFlow14 ' + 'dump-ports int_br0 #STEP[port1][1]', + '|rx_crc_errors=(\d+)'], + ['tools', 'assert', '#STEP[crc_new] > #STEP[crc_old]'], + # tear down the environment + ['vswitch', 'dump_flows', 'int_br0'], + ['vswitch', 'del_flow', 'int_br0', {}], + ['vswitch', 'del_port', 'int_br0', '#STEP[port1][0]'], + ['vswitch', 'del_port', 'int_br0', '#STEP[port2][0]'], + ['vswitch', 'del_switch', 'int_br0'], + ] + }, ] diff --git a/conf/integration/01c_trex_vm_tests.conf b/conf/integration/01c_trex_vm_tests.conf new file mode 100644 index 00000000..1bec4efd --- /dev/null +++ b/conf/integration/01c_trex_vm_tests.conf @@ -0,0 +1,182 @@ +# Copyright 2018 Intel Corporation. +# +# 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. + +# +# Testcases in this files use T-Rex running in VM as a traffic generator. +# + +# A set of options passed to the T-Rex stateless server +_TREX_OPTIONS="--no-scapy-server --no-watchdog --nc" +_TREX_SERVER_IP="192.168.35.2" +_TREX_BRIDGE_IP="192.168.35.1" +_TREX_IP_MASK="24" + +# Macro for initialization of T-Rex VM and execution of T-Rex server +# NOTE: It is expected that T-Rex will run in the LAST VM! +TREX_VM_INIT = [ + # configure T-Rex ports, which will be used for traffic generation + ['#trex_p1', 'vswitch', 'add_vport', 'int_br0'], + ['#trex_p2', 'vswitch', 'add_vport', 'int_br0'], + # configure IP access to T-Rex VM + ['vswitch', 'add_switch', 'trex_br'], + ['vswitch', 'add_flow', 'trex_br', {'actions': ['NORMAL']}], # turn on MAC learning mode + ['#trex_admin', 'vswitch', 'add_vport', 'trex_br'], + ['#trex_spare', 'vswitch', 'add_vport', 'trex_br'], # spare to have even number of NICs + ['tools', 'exec_shell', 'sudo ip addr flush dev trex_br'], + ['tools', 'exec_shell', 'sudo ip addr add $_TREX_BRIDGE_IP/$_TREX_IP_MASK dev trex_br'], + ['tools', 'exec_shell', 'sudo ip link set dev trex_br up'], + ['vnf_trex', 'start'], + ['vnf_trex', 'execute_and_wait', 'sudo ip addr flush dev eth2'], + ['vnf_trex', 'execute_and_wait', 'sudo ip addr add $_TREX_SERVER_IP/$_TREX_IP_MASK dev eth2'], + ['vnf_trex', 'execute_and_wait', 'sudo ip link set dev eth2 up'], + # preapre system for T-Rex execution + ['vnf_trex', 'execute_and_wait', 'sysctl vm.nr_hugepages=$GUEST_HUGEPAGES_NR[-1]'], + ['vnf_trex', 'execute_and_wait', 'mkdir -p /dev/hugepages'], + ['vnf_trex', 'execute_and_wait', 'mount -t hugetlbfs hugetlbfs /dev/hugepages'], + ['vnf_trex', 'execute_and_wait', 'grep -i huge /proc/meminfo'], + ['vnf_trex', 'execute_and_wait', 'iptables -F'], + # configure passwordless ssh access to VM with T-Rex server + ['tools', 'exec_shell', 'sshpass -p $GUEST_PASSWORD[-1] ssh-copy-id -o StrictHostKeyChecking=no $GUEST_USERNAME[-1]@$_TREX_SERVER_IP'], + # prepare T-Rex configuration + ['vnf_trex', 'execute_and_wait', 'echo \'- port_limit: 2\' > /etc/trex_cfg.yaml'], + ['vnf_trex', 'execute_and_wait', 'echo \' version: 2\' >> /etc/trex_cfg.yaml'], + ['vnf_trex', 'execute_and_wait', "echo \" interfaces: [ '$GUEST_NICS[-1][0]['pci']', '$GUEST_NICS[-1][1]['pci']' ]\" >> /etc/trex_cfg.yaml"], + # execute T-Rex stateless server and wait until it is up and running + ['vnf_trex', 'execute_and_wait', 'cd $TRAFFICGEN_TREX_BASE_DIR'], + ['#trex_pid', 'vnf_trex', 'execute_and_wait', 'nohup sudo bash -c "./t-rex-64 -i $_TREX_OPTIONS" &', '|\[1\] (\d+)$'], + ['vnf_trex', 'execute_and_wait', 'echo -ne "Starting T-Rex " ; while ! netstat -nl | grep 4501 &> /dev/null ; do echo -ne "."; sleep 1 ; done; echo', 300], +] + +# T-Rex VM teardown macro +TREX_VM_FINIT = [ + ['vnf_trex', 'execute_and_wait', 'sudo kill #STEP[trex_pid][0]'], + ['vnf_trex', 'execute_and_wait', 'sudo pkill t-rex-64'], + ['vnf_trex', 'stop'], + ['vswitch', 'del_port', 'trex_br', '#STEP[trex_admin][0]'], + ['vswitch', 'del_port', 'trex_br', '#STEP[trex_spare][0]'], + ['tools', 'exec_shell', 'sudo ip link set dev trex_br down'], + ['tools', 'exec_shell', 'sudo ip addr flush dev trex_br'], + ['vswitch', 'del_switch', 'trex_br'], +] + +# Configure T-Rex loopback test, where traffic from T-Rex is forwarded back via OVS flows +TREX_VM_TEST = [ + ['vswitch', 'add_switch', 'int_br0'], + ] + TREX_VM_INIT + [ + ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[trex_p1][1]', 'actions': ['output:#STEP[trex_p2][1]'], 'idle_timeout': '0'}], + ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[trex_p2][1]', 'actions': ['output:#STEP[trex_p1][1]'], 'idle_timeout': '0'}], + ['trafficgen', 'send_traffic', {}], + ['trafficgen', 'get_results'], + # cleanup + ] + TREX_VM_FINIT + +# Configure VM2VM test, where traffic from T-Rex VM is forwarded to 2nd VM with loopback app. +TREX_VM2VM_TEST = [ + ['vswitch', 'add_switch', 'int_br0'], + ['#vm_p1', 'vswitch', 'add_vport', 'int_br0'], + ['#vm_p2', 'vswitch', 'add_vport', 'int_br0'], + ['vnf', 'start'], + ] + TREX_VM_INIT + [ + ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[trex_p1][1]', 'actions': ['output:#STEP[vm_p1][1]'], 'idle_timeout': '0'}], + ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[vm_p1][1]', 'actions': ['output:#STEP[trex_p1][1]'], 'idle_timeout': '0'}], + ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[trex_p2][1]', 'actions': ['output:#STEP[vm_p2][1]'], 'idle_timeout': '0'}], + ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[vm_p2][1]', 'actions': ['output:#STEP[trex_p2][1]'], 'idle_timeout': '0'}], + ['trafficgen', 'send_traffic', {}], + ['trafficgen', 'get_results'], + ['vnf', 'stop'], + ['vswitch', 'dump_flows', 'int_br0'], + # cleanup + ] + TREX_VM_FINIT + +# +# A set of tests with T-Rex VM as a traffic generator. +# +INTEGRATION_TESTS = INTEGRATION_TESTS + [ + { + "Name": "trex_vm_cont", + "Deployment": "clean", + "Description": "T-Rex VM - execute RFC2544 Continuous Stream from T-Rex VM and loop it back through Open vSwitch.", + "Parameters" : { + "TRAFFIC" : { + "traffic_type" : "rfc2544_continuous", + }, + 'GUEST_LOOPBACK' : ['clean',], + 'GUEST_NICS_NR' : [4], + 'GUEST_SMP' : ['sockets=1,cores=3'], + 'GUEST_CORE_BINDING' : [['6', '7', '8'],], + 'TRAFFICGEN' : 'Trex', + 'TRAFFICGEN_TREX_HOST_IP_ADDR' : _TREX_SERVER_IP, + 'TRAFFICGEN_TREX_BASE_DIR' : '/root/trex/scripts/', + 'TRAFFICGEN_TREX_USER' : 'root', + }, + "TestSteps": TREX_VM_TEST + }, + { + "Name": "trex_vm_tput", + "Deployment": "clean", + "Description": "T-Rex VM - execute RFC2544 Throughput from T-Rex VM and loop it back through Open vSwitch.", + "Parameters" : { + "TRAFFIC" : { + "traffic_type" : "rfc2544_throughput", + }, + 'GUEST_LOOPBACK' : ['clean',], + 'GUEST_NICS_NR' : [4], + 'GUEST_SMP' : ['sockets=1,cores=3'], + 'GUEST_CORE_BINDING' : [['6', '7', '8'],], + 'TRAFFICGEN' : 'Trex', + 'TRAFFICGEN_TREX_HOST_IP_ADDR' : _TREX_SERVER_IP, + 'TRAFFICGEN_TREX_BASE_DIR' : '/root/trex/scripts/', + 'TRAFFICGEN_TREX_USER' : 'root', + }, + "TestSteps": TREX_VM_TEST + }, + { + "Name": "trex_vm2vm_cont", + "Deployment": "clean", + "Description": "T-Rex VM2VM - execute RFC2544 Continuous Stream from T-Rex VM and loop it back through 2nd VM.", + "Parameters" : { + 'GUEST_LOOPBACK' : ['testpmd', 'clean'], + 'GUEST_NICS_NR' : [2, 4], + 'GUEST_SMP' : ['sockets=1,cores=2', 'sockets=1,cores=3'], + 'GUEST_CORE_BINDING' : [['9', '10'],['6', '7', '8'],], + 'TRAFFICGEN' : 'Trex', + 'TRAFFICGEN_TREX_HOST_IP_ADDR' : _TREX_SERVER_IP, + 'TRAFFICGEN_TREX_BASE_DIR' : '/root/trex/scripts/', + 'TRAFFICGEN_TREX_USER' : 'root', + "TRAFFIC" : { + "traffic_type" : "rfc2544_continuous", + }, + }, + "TestSteps": TREX_VM2VM_TEST, + }, + { + "Name": "trex_vm2vm_tput", + "Deployment": "clean", + "Description": "T-Rex VM2VM - execute RFC2544 Throughput from T-Rex VM and loop it back through 2nd VM.", + "Parameters" : { + 'GUEST_LOOPBACK' : ['testpmd', 'clean'], + 'GUEST_NICS_NR' : [2, 4], + 'GUEST_SMP' : ['sockets=1,cores=2', 'sockets=1,cores=3'], + 'GUEST_CORE_BINDING' : [['9', '10'],['6', '7', '8'],], + 'TRAFFICGEN' : 'Trex', + 'TRAFFICGEN_TREX_HOST_IP_ADDR' : _TREX_SERVER_IP, + 'TRAFFICGEN_TREX_BASE_DIR' : '/root/trex/scripts/', + 'TRAFFICGEN_TREX_USER' : 'root', + "TRAFFIC" : { + "traffic_type" : "rfc2544_throughput", + }, + }, + "TestSteps": TREX_VM2VM_TEST, + }, +] diff --git a/conf/integration/02_vswitch.conf b/conf/integration/02_vswitch.conf index 63ffe1bc..9477a1d0 100644 --- a/conf/integration/02_vswitch.conf +++ b/conf/integration/02_vswitch.conf @@ -1,4 +1,4 @@ -# Copyright 2015-2016 Intel Corporation. +# Copyright 2015-2018 Intel Corporation., Tieto # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -16,8 +16,8 @@ VTEP_IP1 = '192.168.0.1/24' VTEP_IP2 = '192.168.240.10' VTEP_IP2_SUBNET = '192.168.240.0/24' -TUNNEL_INTEGRATION_BRIDGE = 'br0' -TUNNEL_EXTERNAL_BRIDGE = 'br-ext' +TUNNEL_INTEGRATION_BRIDGE = 'vsperf-br0' +TUNNEL_EXTERNAL_BRIDGE = 'vsperf-br-ext' TUNNEL_EXTERNAL_BRIDGE_IP = '192.168.240.1/24' # vxlan|gre|geneve |