# Copyright 2015-2016 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. # The 1st value of SUPPORTED_TUNNELING_PROTO is used as the default # tunneling protocol for OP2P tests. SUPPORTED_TUNNELING_PROTO = ['vxlan', 'gre', 'geneve'] # Required for OP2P tests # "Tunnel Type": ["vxlan"|"gre"|"geneve"] # Tunnel Type defines tunneling protocol to use. # # It can be overridden by cli option tunnel_type. # # Values: # # "vxlan" - iteration of destination MAC address # # "gre" - iteration of destination IP address # # "geneve" - iteration of destination UDP port # # Default value is "vxlan". # # biDirectional testing for OP2P is not yet supported. # biDirectional must be set to False. # # "TestSteps": [] # Definition of integration test steps. # # In case that this list is defined, then # # vsperf will execute defined test steps # # one by one. It can be used to configure # # vswitch, insert flows and transmit traffic. # # It is possible to refer to result of any # # previous step through #STEP[i][j] macro. # # Where i is a number of step (starts from 0) # # and j is index of result returned by step i. INTEGRATION_TESTS = [ { "Name": "overlay_p2p_tput", "Traffic Type": "rfc2544", "Deployment": "op2p", "biDirectional": False, "Tunnel Type": SUPPORTED_TUNNELING_PROTO[0], "Tunnel Operation": "encapsulation", "Description": "Overlay Encapsulation Throughput RFC2544 Test", }, { "Name": "overlay_p2p_cont", "Traffic Type": "continuous", "Deployment": "op2p", "biDirectional": False, "Tunnel Type": SUPPORTED_TUNNELING_PROTO[0], "Tunnel Operation": "encapsulation", "Description": "Overlay Encapsulation Continuous Stream", }, { "Name": "overlay_p2p_decap_tput", "Traffic Type": "rfc2544", "Deployment": "op2p", "biDirectional": False, "Tunnel Type": SUPPORTED_TUNNELING_PROTO[0], "Tunnel Operation": "decapsulation", "Description": "Overlay Decapsulation Throughput RFC2544 Test", }, { "Name": "overlay_p2p_decap_cont", "Traffic Type": "continuous", "Deployment": "op2p", "biDirectional": False, "Tunnel Type": SUPPORTED_TUNNELING_PROTO[0], "Tunnel Operation": "decapsulation", "Description": "Overlay Decapsulation Continuous Stream", }, { "Name": "vswitch_add_del_bridge", "Deployment": "clean", "Description": "vSwitch - add and delete bridge", "TestSteps": [ ['vswitch', 'add_switch', 'int_br0'], ['vswitch', 'del_switch', 'int_br0'], ] }, { "Name": "vswitch_add_del_bridges", "Deployment": "clean", "Description": "vSwitch - add and delete bridges", "TestSteps": [ ['vswitch', 'add_switch', 'int_br0'], ['vswitch', 'add_switch', 'int_br1'], ['vswitch', 'del_switch', 'int_br0'], ['vswitch', 'del_switch', 'int_br1'], ] }, { "Name": "vswitch_add_del_phy_port", "Deployment": "clean", "Description": "vSwitch - add and delete physical port", "TestSteps": [ ['vswitch', 'add_switch', 'int_br0'], ['vswitch', 'add_phy_port', 'int_br0'], ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'], ['vswitch', 'del_switch', 'int_br0'], ] }, { "Name": "vswitch_add_del_phy_ports", "Deployment": "clean", "Description": "vSwitch - add and delete physical ports", "TestSteps": [ ['vswitch', 'add_switch', 'int_br0'], ['vswitch', 'add_phy_port', 'int_br0'], ['vswitch', 'add_phy_port', 'int_br0'], ['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_vport", "Deployment": "clean", "Description": "vSwitch - add and delete virtual port", "TestSteps": [ ['vswitch', 'add_switch', 'int_br0'], ['vswitch', 'add_vport', 'int_br0'], ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'], ['vswitch', 'del_switch', 'int_br0'], ] }, { "Name": "vswitch_add_del_vports", "Deployment": "clean", "Description": "vSwitch - add and delete virtual ports", "TestSteps": [ ['vswitch', 'add_switch', 'int_br0'], ['vswitch', 'add_vport', 'int_br0'], ['vswitch', 'add_vport', 'int_br0'], ['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_flow", "Deployment": "clean", "Description": "vSwitch - add and delete flow", "TestSteps": [ ['vswitch', 'add_switch', 'int_br0'], ['vswitch', 'add_phy_port', 'int_br0'], ['vswitch', 'add_phy_port', 'int_br0'], ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}], ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[1][1]'}], ['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_flows", "Deployment": "clean", "Description": "vSwitch - add and delete flows", "TestSteps": [ ['vswitch', 'add_switch', 'int_br0'], ['vswitch', 'add_phy_port', 'int_br0'], ['vswitch', 'add_phy_port', 'int_br0'], ['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'}], ['vswitch', 'dump_flows', 'int_br0'], ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[1][1]'}], ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[2][1]'}], ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'], ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'], ['vswitch', 'del_switch', 'int_br0'], ] }, { "Name": "vswitch_throughput", "Deployment": "clean", "Description": "vSwitch - configure switch and execute RFC2544 throughput test", "TestSteps": [ ['vswitch', 'add_switch', 'int_br0'], ['vswitch', 'add_phy_port', 'int_br0'], ['vswitch', 'add_phy_port', 'int_br0'], ['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'}], ['trafficgen', 'send_traffic', {'traffic_type' : 'throughput', 'bidir' : True, 'frame_rate' : 100, 'multistream' : 0, 'stream_type' : 'L4'}], ['vswitch', 'dump_flows', 'int_br0'], ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[1][1]'}], ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[2][1]'}], ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'], ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'], ['vswitch', 'del_switch', 'int_br0'], ] }, { "Name": "vswitch_back2back", "Deployment": "clean", "Description": "vSwitch - configure switch and execute RFC2544 back2back test", "TestSteps": [ ['vswitch', 'add_switch', 'int_br0'], ['vswitch', 'add_phy_port', 'int_br0'], ['vswitch', 'add_phy_port', 'int_br0'], ['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'}], ['trafficgen', 'send_traffic', {'traffic_type' : 'back2back', 'bidir' : True, 'frame_rate' : 100, 'multistream' : 0, 'stream_type' : 'L4'}], ['vswitch', 'dump_flows', 'int_br0'], ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[1][1]'}], ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[2][1]'}], ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'], ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'], ['vswitch', 'del_switch', 'int_br0'], ] }, { "Name": "vswitch_continuous", "Deployment": "clean", "Description": "vSwitch - configure switch and execute continuous stream test", "TestSteps": [ ['vswitch', 'add_switch', 'int_br0'], ['vswitch', 'add_phy_port', 'int_br0'], ['vswitch', 'add_phy_port', 'int_br0'], ['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'}], ['trafficgen', 'send_traffic', {'traffic_type' : 'continuous', 'bidir' : True, 'frame_rate' : 100, 'multistream' : 0, 'stream_type' : 'L4'}], ['vswitch', 'dump_flows', 'int_br0'], ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[1][1]'}], ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[2][1]'}], ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'], ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'], ['vswitch', 'del_switch', 'int_br0'], ] }, ]