diff options
Diffstat (limited to 'conf')
-rwxr-xr-x | conf/01_testcases.conf | 28 | ||||
-rw-r--r-- | conf/02_vswitch.conf | 35 | ||||
-rw-r--r-- | conf/03_traffic.conf | 29 | ||||
-rw-r--r-- | conf/04_vnf.conf | 20 | ||||
-rw-r--r-- | conf/10_custom.conf | 32 | ||||
-rw-r--r-- | conf/integration/01_testcases.conf | 328 |
6 files changed, 394 insertions, 78 deletions
diff --git a/conf/01_testcases.conf b/conf/01_testcases.conf index 46d00e5a..23a3ae57 100755 --- a/conf/01_testcases.conf +++ b/conf/01_testcases.conf @@ -28,10 +28,12 @@ # "Frame Modification": "vlan" # One of the supported frame modifications: # # vlan, mpls, mac, dscp, ttl, ip_addr, # # ip_port. -# "biDirectional": [true|false], # Specifies if generated traffic will be -# # full-duplex (true) or half-duplex (false) +# "biDirectional": ["True"|"False"] +# # Specifies if generated traffic will be +# # full-duplex (True) or half-duplex (False) # # It can be overridden by cli option bidirectional. -# # Default value is "false". +# # Default value is "False". Must be of type +# # string. # "MultiStream": 0-65535 # Optional. Defines number of flows simulated # # by traffic generator. Value 0 disables # # MultiStream feature @@ -100,6 +102,24 @@ # # value will be used # "options": "" # Optional. Additional command line options # # to be passed to the load generator. +# "vSwitch" : "OvsVanilla" # Defines vSwitch to be used for test execution. +# # It will override any VSWITCH option stated +# # in configuration files or value specified +# # on command line through --vswitch parameter. +# "VNF" : "QemuVirtioNet" # Defines VNF to be used for test execution. +# # It will override any VNF option stated +# # in configuration files or value specified +# # on command line through --vnf parameter. +# "Trafficgen" : "Dummy" # Defines traffic generator to be used for test +# # execution. It will override any VNF option +# # stated in configuration files or value +# # specified on command line through --trafficgen +# # parameter. +# "Parameters" : "pkt_sizes=512" # Defines list of test parameters used for test +# # execution. It will override any values defined +# # by TEST_PARAMS option stated in configuration +# # files or values specified on command line through +# # --test-params parameter. # "Test Modifier": [FrameMod|Other], # "Dependency": [Test_Case_Name |None], @@ -155,7 +175,7 @@ PERFORMANCE_TESTS = [ "Traffic Type": "rfc2544", "Deployment": "p2p", "biDirectional": "True", - "Description": "LTD.Scalability.RFC2544.0PacketLoss", + "Description": "LTD.Scalability.Flows.RFC2544.0PacketLoss", "MultiStream": "8000", }, { diff --git a/conf/02_vswitch.conf b/conf/02_vswitch.conf index f0475313..79f0afbd 100644 --- a/conf/02_vswitch.conf +++ b/conf/02_vswitch.conf @@ -31,14 +31,12 @@ VSWITCH_DIR = os.path.join(ROOT_DIR, 'vswitches') # DPDK target used when builing DPDK RTE_TARGET = 'x86_64-native-linuxapp-gcc' -# list of NIC HWIDs which will be bound to the 'igb_uio' driver on -# system init -WHITELIST_NICS = ['05:00.0', '05:00.1'] - -# list of NIC HWIDs which will be ignored by the 'igb_uio' driver on -# system init -BLACKLIST_NICS = ['0000:09:00.0', '0000:09:00.1', '0000:09:00.2', - '0000:09:00.3'] +# list of NIC HWIDs to which traffic generator is connected +# In case of NIC with SRIOV suport, it is possible to define, +# which virtual function should be used +# e.g. value '0000:05:00.0|vf1' will configure two VFs and second VF +# will be used for testing +WHITELIST_NICS = ['0000:05:00.0', '0000:05:00.1'] # for DPDK_MODULES the path is in reference to the build directory # To use vfio set @@ -71,10 +69,27 @@ VHOST_USER_SOCKS = ['/tmp/dpdkvhostuser0', '/tmp/dpdkvhostuser1', # ############################ # These are DPDK EAL parameters and they may need to be changed depending on # hardware configuration, like cpu numbering and NUMA. +# +# parameters used for legacy DPDK configuration through '--dpdk' option of ovs-vswitchd +# e.g. ovs-vswitchd --dpdk --socket-mem 1024,0 VSWITCHD_DPDK_ARGS = ['-c', '0x4', '-n', '4', '--socket-mem 1024,0'] -VSWITCHD_VANILLA_ARGS = ['--pidfile'] -VSWITCH_VANILLA_PHY_PORT_NAMES = ['', ''] +# options used for new type of OVS configuration via calls to ovs-vsctl +# e.g. ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem="1024,0" +VSWITCHD_DPDK_CONFIG = { + 'dpdk-init' : 'true', + 'dpdk-lcore-mask' : '0x4', + 'dpdk-socket-mem' : '1024,0', +} +# Note: VSPERF will automatically detect, which type of DPDK configuration should +# be used. + +# To enable multi queue modify the below param to the number of queues. +# 0 = disabled +VSWITCH_MULTI_QUEUES = 0 + +# parameters passed to ovs-vswitchd in case that OvsVanilla is selected +VSWITCHD_VANILLA_ARGS = [] # use full module path to load module matching OVS version built from the source VSWITCH_VANILLA_KERNEL_MODULES = ['libcrc32c', 'ip_tunnel', 'vxlan', 'gre', 'nf_conntrack', 'nf_defrag_ipv4', 'nf_defrag_ipv6', os.path.join(OVS_DIR_VANILLA, 'datapath/linux/openvswitch.ko')] diff --git a/conf/03_traffic.conf b/conf/03_traffic.conf index eb09bf09..01e3e5cf 100644 --- a/conf/03_traffic.conf +++ b/conf/03_traffic.conf @@ -27,6 +27,8 @@ TRAFFICGEN_DIR = os.path.join(ROOT_DIR, 'tools/pkt_gen') TRAFFICGEN = 'Dummy' #TRAFFICGEN = 'IxNet' #TRAFFICGEN = 'Ixia' +#TRAFFICGEN = 'Xena' +#TRAFFICGEN = 'MoonGen' # List of packet sizes to send. # Expand like this: (64, 128, 256, 512, 1024) @@ -160,3 +162,30 @@ TRAFFICGEN_STC_VERBOSE = "True" # Spirent TestCenter Configuration -- END ######################################### +# Xena traffic generator connection info +TRAFFICGEN_XENA_IP = '' +TRAFFICGEN_XENA_PORT1 = '' +TRAFFICGEN_XENA_PORT2 = '' +TRAFFICGEN_XENA_USER = '' +TRAFFICGEN_XENA_PASSWORD = '' +TRAFFICGEN_XENA_MODULE1 = '' +TRAFFICGEN_XENA_MODULE2 = '' + +# Xena Port IP info +TRAFFICGEN_XENA_PORT0_IP = '192.168.199.10' +TRAFFICGEN_XENA_PORT0_CIDR = 24 +TRAFFICGEN_XENA_PORT0_GATEWAY = '192.168.199.1' +TRAFFICGEN_XENA_PORT1_IP = '192.168.199.11' +TRAFFICGEN_XENA_PORT1_CIDR = 24 +TRAFFICGEN_XENA_PORT1_GATEWAY = '192.168.199.1' + +################################################### +# MoonGen Configuration and Connection Info-- BEGIN + +TRAFFICGEN_MOONGEN_HOST_IP_ADDR = '' +TRAFFICGEN_MOONGEN_USER = '' +TRAFFICGEN_MOONGEN_BASE_DIR = '' +TRAFFICGEN_MOONGEN_PORTS = '' + +# MoonGen Configuration and Connection Info-- END +################################################### diff --git a/conf/04_vnf.conf b/conf/04_vnf.conf index dc15fd15..0a80c1af 100644 --- a/conf/04_vnf.conf +++ b/conf/04_vnf.conf @@ -35,6 +35,9 @@ GUEST_IMAGE = ['', ''] # For 2 VNFs you may use [180, 180] GUEST_TIMEOUT = [180, 180] +# packet forwarding mode: io|mac|mac_retry|macswap|flowgen|rxonly|txonly|csum|icmpecho +GUEST_TESTPMD_FWD_MODE = 'csum' + # guest loopback application method; supported options are: # 'testpmd' - testpmd from dpdk will be built and used # 'l2fwd' - l2fwd module provided by Huawei will be built and used @@ -42,7 +45,7 @@ GUEST_TIMEOUT = [180, 180] # 'buildin' - nothing will be configured by vsperf; VM image must # ensure traffic forwarding between its interfaces # This configuration option can be overridden by CLI SCALAR option -# guest_loopback, e.g. --test-param "guest_loopback=l2fwd" +# guest_loopback, e.g. --test-params "guest_loopback=l2fwd" # For 2 VNFs you may use ['testpmd', 'l2fwd'] GUEST_LOOPBACK = ['testpmd', 'testpmd'] @@ -95,10 +98,25 @@ GUEST_SMP = ['2', '2'] # For 2 VNFs you may use [(4,5), (6, 7)] GUEST_CORE_BINDING = [(6, 7), (9, 10)] +# Queues per NIC inside guest for multi-queue configuration, requires switch +# multi-queue to be enabled. Set to 0 for disabled. +GUEST_NIC_QUEUES = 0 + GUEST_START_TIMEOUT = 120 GUEST_OVS_DPDK_DIR = '/root/ovs_dpdk' OVS_DPDK_SHARE = '/mnt/ovs_dpdk_share' +# Set the CPU mask for testpmd loopback. To bind to specific guest CPUs use -l +# GUEST_TESTPMD_CPU_MASK = '-l 0,1' +GUEST_TESTPMD_CPU_MASK = '-c 0x3' + +# Testpmd multi-core config. Leave at 0's for disabled. Will not enable unless +# GUEST_NIC_QUEUES are > 0. For bi directional traffic NB_CORES must be equal +# to (RXQ + TXQ). +GUEST_TESTPMD_NB_CORES = 0 +GUEST_TESTPMD_TXQ = 0 +GUEST_TESTPMD_RXQ = 0 + # IP addresses to use for Vanilla OVS PVP testing # Consider using RFC 2544/3330 recommended IP addresses for benchmark testing. # Network: 198.18.0.0/15 diff --git a/conf/10_custom.conf b/conf/10_custom.conf index be8244ec..4ffe470e 100644 --- a/conf/10_custom.conf +++ b/conf/10_custom.conf @@ -19,6 +19,8 @@ RTE_TARGET = '' # the relevant DPDK build target TRAFFICGEN = 'Dummy' #TRAFFICGEN = 'IxNet' #TRAFFICGEN = 'Ixia' +#TRAFFICGEN = 'Xena' +#TRAFFICGEN = 'MoonGen' ########################################### # Spirent TestCenter Configuration -- BEGIN @@ -60,8 +62,36 @@ TRAFFICGEN_IXNET_USER = '' TRAFFICGEN_IXNET_TESTER_RESULT_DIR = '' TRAFFICGEN_IXNET_DUT_RESULT_DIR = '' -TEST_PARAMS = {'packet_sizes':'64'} +# Xena traffic generator connection info +TRAFFICGEN_XENA_IP = '' +TRAFFICGEN_XENA_PORT1 = '' +TRAFFICGEN_XENA_PORT2 = '' +TRAFFICGEN_XENA_USER = '' +TRAFFICGEN_XENA_PASSWORD = '' +TRAFFICGEN_XENA_MODULE1 = '' +TRAFFICGEN_XENA_MODULE2 = '' +# Xena Port IP info +TRAFFICGEN_XENA_PORT0_IP = '192.168.199.10' +TRAFFICGEN_XENA_PORT0_CIDR = 24 +TRAFFICGEN_XENA_PORT0_GATEWAY = '192.168.199.1' +TRAFFICGEN_XENA_PORT1_IP = '192.168.199.11' +TRAFFICGEN_XENA_PORT1_CIDR = 24 +TRAFFICGEN_XENA_PORT1_GATEWAY = '192.168.199.1' + +################################################### +# MoonGen Configuration and Connection Info-- BEGIN + +# Ex: TRAFFICGEN_MOONGEN_HOST_IP_ADDR = "192.10.1.1" +TRAFFICGEN_MOONGEN_HOST_IP_ADDR = "" +TRAFFICGEN_MOONGEN_USER = "root" +TRAFFICGEN_MOONGEN_BASE_DIR = "/root/MoonGen" +TRAFFICGEN_MOONGEN_PORTS = "{0,1}" + +# MoonGen Configuration and Connection Info-- END +################################################### + +#TEST_PARAMS = {'pkt_sizes':'64'} OPNFV_INSTALLER = "Fuel" OPNFV_URL = "http://testresults.opnfv.org/testapi" PACKAGE_LIST = "src/package-list.mk" diff --git a/conf/integration/01_testcases.conf b/conf/integration/01_testcases.conf index fff148d4..2edbe08b 100644 --- a/conf/integration/01_testcases.conf +++ b/conf/integration/01_testcases.conf @@ -16,6 +16,13 @@ # tunneling protocol for OP2P tests. SUPPORTED_TUNNELING_PROTO = ['vxlan', 'gre', 'geneve'] +# +# Generic test configuration options are described at conf/01_testcases.conf +# + +# +# Options specific to integration testcases are described below: +# # 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. @@ -38,12 +45,98 @@ SUPPORTED_TUNNELING_PROTO = ['vxlan', 'gre', 'geneve'] # # Where i is a number of step (starts from 0) # # and j is index of result returned by step i. +# +# Common TestSteps parts ("macros") +# + +# P2P macros +STEP_VSWITCH_P2P_FLOWS_INIT = [ + ['vswitch', 'add_switch', 'int_br0'], # STEP 0 + ['vswitch', 'add_phy_port', 'int_br0'], # STEP 1 + ['vswitch', 'add_phy_port', 'int_br0'], # STEP 2 + ['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'}], +] + +STEP_VSWITCH_P2P_FLOWS_FINIT = [ + ['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'], +] + +# PVP and PVVP macros +STEP_VSWITCH_PVP_INIT = [ + ['vswitch', 'add_switch', 'int_br0'], # STEP 0 + ['vswitch', 'add_phy_port', 'int_br0'], # STEP 1 + ['vswitch', 'add_phy_port', 'int_br0'], # STEP 2 + ['vswitch', 'add_vport', 'int_br0'], # STEP 3 + ['vswitch', 'add_vport', 'int_br0'], # STEP 4 +] + +STEP_VSWITCH_PVP_FINIT = [ + ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'], + ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'], + ['vswitch', 'del_port', 'int_br0', '#STEP[3][0]'], + ['vswitch', 'del_port', 'int_br0', '#STEP[4][0]'], + ['vswitch', 'del_switch', 'int_br0'], +] + +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'}], + ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[2][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_PVP_FLOWS_FINIT = [ + ['vswitch', 'dump_flows', 'int_br0'], + ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[1][1]'}], + ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[4][1]'}], + ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[2][1]'}], + ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[3][1]'}], +] + STEP_VSWITCH_PVP_FINIT + +STEP_VSWITCH_PVVP_INIT = STEP_VSWITCH_PVP_INIT + [ + ['vswitch', 'add_vport', 'int_br0'], # STEP 5 + ['vswitch', 'add_vport', 'int_br0'], # STEP 6 +] + +STEP_VSWITCH_PVVP_FINIT = [ + ['vswitch', 'del_port', 'int_br0', '#STEP[5][0]'], + ['vswitch', 'del_port', 'int_br0', '#STEP[6][0]'], +] + STEP_VSWITCH_PVP_FINIT + +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'}], + ['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[2][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_PVVP_FLOWS_FINIT = [ + ['vswitch', 'dump_flows', 'int_br0'], + ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[1][1]'}], + ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[4][1]'}], + ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[6][1]'}], + ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[2][1]'}], + ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[5][1]'}], + ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[3][1]'}], +] + STEP_VSWITCH_PVVP_FINIT + +# +# Definition of integration tests +# INTEGRATION_TESTS = [ { "Name": "overlay_p2p_tput", "Traffic Type": "rfc2544", "Deployment": "op2p", - "biDirectional": False, + "biDirectional": 'False', "Tunnel Type": SUPPORTED_TUNNELING_PROTO[0], "Tunnel Operation": "encapsulation", "Description": "Overlay Encapsulation Throughput RFC2544 Test", @@ -52,7 +145,7 @@ INTEGRATION_TESTS = [ "Name": "overlay_p2p_cont", "Traffic Type": "continuous", "Deployment": "op2p", - "biDirectional": False, + "biDirectional": 'False', "Tunnel Type": SUPPORTED_TUNNELING_PROTO[0], "Tunnel Operation": "encapsulation", "Description": "Overlay Encapsulation Continuous Stream", @@ -61,7 +154,7 @@ INTEGRATION_TESTS = [ "Name": "overlay_p2p_decap_tput", "Traffic Type": "rfc2544", "Deployment": "op2p", - "biDirectional": False, + "biDirectional": 'False', "Tunnel Type": SUPPORTED_TUNNELING_PROTO[0], "Tunnel Operation": "decapsulation", "Description": "Overlay Decapsulation Throughput RFC2544 Test", @@ -70,7 +163,7 @@ INTEGRATION_TESTS = [ "Name": "overlay_p2p_decap_cont", "Traffic Type": "continuous", "Deployment": "op2p", - "biDirectional": False, + "biDirectional": 'False', "Tunnel Type": SUPPORTED_TUNNELING_PROTO[0], "Tunnel Operation": "decapsulation", "Description": "Overlay Decapsulation Continuous Stream", @@ -162,76 +255,187 @@ INTEGRATION_TESTS = [ "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'], - ] + "TestSteps": STEP_VSWITCH_P2P_FLOWS_INIT + + STEP_VSWITCH_P2P_FLOWS_FINIT }, { - "Name": "vswitch_throughput", + "Name": "vswitch_p2p_tput", "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'], - ] + "TestSteps": STEP_VSWITCH_P2P_FLOWS_INIT + + [ + ['trafficgen', 'send_traffic', {'traffic_type' : 'throughput', 'bidir' : 'True'}], + ] + + STEP_VSWITCH_P2P_FLOWS_FINIT }, { - "Name": "vswitch_back2back", + "Name": "vswitch_p2p_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'], - ] + "TestSteps": STEP_VSWITCH_P2P_FLOWS_INIT + + [ + ['trafficgen', 'send_traffic', {'traffic_type' : 'back2back', 'bidir' : 'True'}], + ] + + STEP_VSWITCH_P2P_FLOWS_FINIT }, { - "Name": "vswitch_continuous", + "Name": "vswitch_p2p_cont", "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'], - ] + "TestSteps": STEP_VSWITCH_P2P_FLOWS_INIT + + [ + ['trafficgen', 'send_traffic', {'traffic_type' : 'continuous', 'bidir' : 'True'}], + ] + + STEP_VSWITCH_P2P_FLOWS_FINIT + }, + { + "Name": "vswitch_pvp", + "Deployment": "clean", + "Description": "vSwitch - configure switch and one vnf", + "TestSteps": STEP_VSWITCH_PVP_INIT + + [ + ['vnf', 'start'], + ['vnf', 'stop'], + ] + + STEP_VSWITCH_PVP_FINIT + }, + { + "Name": "vswitch_pvp_tput", + "Deployment": "clean", + "Description": "vSwitch - configure switch, vnf and execute RFC2544 throughput test", + "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT + + [ + ['vnf', 'start'], + ['trafficgen', 'send_traffic', {'traffic_type' : 'throughput', 'bidir' : 'True'}], + ['vnf', 'stop'], + ] + + STEP_VSWITCH_PVP_FLOWS_FINIT + }, + { + "Name": "vswitch_pvp_back2back", + "Deployment": "clean", + "Description": "vSwitch - configure switch, vnf and execute RFC2544 back2back test", + "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT + + [ + ['vnf', 'start'], + ['trafficgen', 'send_traffic', {'traffic_type' : 'back2back', 'bidir' : 'True'}], + ['vnf', 'stop'], + ] + + STEP_VSWITCH_PVP_FLOWS_FINIT + }, + { + "Name": "vswitch_pvp_cont", + "Deployment": "clean", + "Description": "vSwitch - configure switch, vnf and execute continuous stream test", + "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT + + [ + ['vnf', 'start'], + ['trafficgen', 'send_traffic', {'traffic_type' : 'continuous', 'bidir' : 'True'}], + ['vnf', 'stop'], + ] + + STEP_VSWITCH_PVP_FLOWS_FINIT + }, + { + "Name": "vswitch_pvp_all", + "Deployment": "clean", + "Description": "vSwitch - configure switch, vnf and execute all test types", + "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT + + [ + ['vnf', 'start'], + ['trafficgen', 'send_traffic', {'traffic_type' : 'throughput', 'bidir' : 'True'}], + ['trafficgen', 'send_traffic', {'traffic_type' : 'back2back', 'bidir' : 'True'}], + ['trafficgen', 'send_traffic', {'traffic_type' : 'continuous', 'bidir' : 'True'}], + ['vnf', 'stop'], + ] + + STEP_VSWITCH_PVP_FLOWS_FINIT + }, + { + "Name": "vswitch_pvvp", + "Deployment": "clean", + "Description": "vSwitch - configure switch and two vnfs", + "TestSteps": STEP_VSWITCH_PVVP_INIT + + [ + ['vnf1', 'start'], + ['vnf2', 'start'], + ['vnf1', 'stop'], + ['vnf2', 'stop'], + ] + + STEP_VSWITCH_PVVP_FINIT + }, + { + "Name": "vswitch_pvvp_tput", + "Deployment": "clean", + "Description": "vSwitch - configure switch, two chained vnfs and execute RFC2544 throughput test", + "TestSteps": STEP_VSWITCH_PVVP_FLOWS_INIT + + [ + ['vnf1', 'start'], + ['vnf2', 'start'], + ['trafficgen', 'send_traffic', {'traffic_type' : 'throughput', 'bidir' : 'True'}], + ['vnf1', 'stop'], + ['vnf2', 'stop'], + ] + + STEP_VSWITCH_PVVP_FLOWS_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 + + [ + ['vnf1', 'start'], + ['vnf2', 'start'], + ['trafficgen', 'send_traffic', {'traffic_type' : 'back2back', 'bidir' : 'True'}], + ['vnf1', 'stop'], + ['vnf2', 'stop'], + ] + + STEP_VSWITCH_PVVP_FLOWS_FINIT + }, + { + "Name": "vswitch_pvvp_cont", + "Deployment": "clean", + "Description": "vSwitch - configure switch, two chained vnfs and execute continuous stream test", + "TestSteps": STEP_VSWITCH_PVVP_FLOWS_INIT + + [ + ['vnf1', 'start'], + ['vnf2', 'start'], + ['trafficgen', 'send_traffic', {'traffic_type' : 'continuous', 'bidir' : 'True'}], + ['vnf1', 'stop'], + ['vnf2', 'stop'], + ] + + STEP_VSWITCH_PVVP_FLOWS_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 + + [ + ['vnf1', 'start'], + ['vnf2', 'start'], + ['trafficgen', 'send_traffic', {'traffic_type' : 'throughput', 'bidir' : 'True'}], + ['trafficgen', 'send_traffic', {'traffic_type' : 'back2back', 'bidir' : 'True'}], + ['trafficgen', 'send_traffic', {'traffic_type' : 'continuous', 'bidir' : 'True'}], + ['vnf1', 'stop'], + ['vnf2', 'stop'], + ] + + STEP_VSWITCH_PVVP_FLOWS_FINIT }, ] +# Example of TC definition with exact vSwitch, VNF and TRAFFICGEN values. +# { +# "Name": "ovs_vanilla_linux_bridge_pvp_cont", +# "Deployment": "clean", +# "Description": "vSwitch - configure OVS Vanilla, QemuVirtioNet with linux bridge and execute continuous stream test", +# "vSwitch" : "OvsVanilla", +# "VNF" : "QemuVirtioNet", +# "Trafficgen": "IxNet", +# "Test Parameters": {"guest_loopback" : "linux_bridge"}, +# "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT + +# [ +# ['vnf', 'start'], +# ['trafficgen', 'send_traffic', {'traffic_type' : 'continuous', 'bidir' : 'True'}], +# ['vnf', 'stop'], +# ] + +# STEP_VSWITCH_PVP_FLOWS_FINIT +# }, |