# 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. # This file describes a list of testcases. Each testcase is described as a # dictionary in a list of dictionaries. # # The dictionary keys, their meanings and available values are: # # "Name": "phy2phy_burst", # A human-readable string identifying the # # test. # "Traffic Type": "rfc2544", # One of the supported traffic types. # # It can be overridden by cli option traffic_type. # # Default value is "rfc2544". # "Deployment": "p2p", # One of the supported deployment scenarios. # "Description": "Lorem ipsum..." # Optional. A human-readable string # # describing the test. # "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) # # It can be overridden by cli option bidirectional. # # 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 # # It can be overridden by cli option multistream. # "Stream Type": ["L2"|"L3"|"L4"] # Optional. Stream Type is an extension # # of the "MultiStream" feature. If MultiStream # # is disabled, then Stream Type will be ignored. # # Stream Type defines ISO OSI network layer # # used for simulation of multiple streams. # # It can be overridden by cli option stream_type. # # Values: # # "L2" - iteration of destination MAC address # # "L3" - iteration of destination IP address # # "L4" - iteration of destination port # # of selected transport protocol # # Default value is "L4". # "Pre-installed Flows": ["Yes"|"No"] # # Optional. Pre-installed Flows is an extension # # of the "MultiStream" feature. If MultiStream # # is disabled, then Pre-installed Flows will be # # ignored. It defines if stream specific flows # # will be inserted into OVS or not. # # It can be overridden by cli option # # pre-installed_flows # # Values: # # "Yes" - flows will be inserted into OVS # # "No" - flows won't be inserted into OVS # # Default value is "No". # "Flow Type": ["port"|"IP"] # Optional. Defines flows complexity. In case # # it isn't specified, then "port" will be used. # # Values: # # "port" - flow is defined by ingress ports # # "IP" - flow is defined by ingress ports # # and src and dst IP addresses # "iLoad": 0-100 # Optional. Defines desired percentage # # of frame rate used during continuous stream # # tests. Can be overridden by cli option # # iload. # # Default value is 100. # "Load": dictionary # Optional. Configures background load # # during testcase execution. # Description of "Load" dictionary keys, their meanings and available values: # # "tool": "stress" # One of the supported load generators. # "load": 0-100 # percentage of cores which should be # # utilized by load generator # # e.g. load = 70%, detected cpu cores = 14 => # # round(14*0.7)=10, i.e. 10 instances of load # # generator will be executed # "reserved": 0- (Default 0) # Optional. Defines number of cores reserved # # for vsperf # # e.g. load = 80%, detected cpu cores = 14, # # reserved = 4 => round((14-4)*0.8)=8, # # i.e. 8 load gen. instances will be executed # "pattern" : "c" # stress/stress-ng specific; Number of 'c', # # 'm' and 'i' defines ratio between cpu, mem # # and io workers respectively # # e.g. "ccccmmi" => ratio among workers types # # will be 3:2:1, so in case that 12 stress # # instances should be executed, then 6 cpu, # # 4 memory and 2 io workers will be executed # "load_memory": 0-100 # Optional. Defines percentage of the system # # memory, which should be utilized by memory # # workers (if they are part of "pattern"). # # if not specified then default stress(-ng) # # 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], PERFORMANCE_TESTS = [ { "Name": "phy2phy_tput", "Traffic Type": "rfc2544", "Deployment": "p2p", "biDirectional": "True", "Description": "LTD.Throughput.RFC2544.PacketLossRatio", }, { "Name": "back2back", "Traffic Type": "back2back", "Deployment": "p2p", "biDirectional": "True", "Description": "LTD.Throughput.RFC2544.BackToBackFrames", }, { "Name": "phy2phy_tput_mod_vlan", "Traffic Type": "rfc2544", "Deployment": "p2p", "Frame Modification": "vlan", "biDirectional": "False", "Description": "LTD.Throughput.RFC2544.PacketLossRatioFrameModification" }, { "Name": "phy2phy_cont", "Traffic Type": "continuous", "Deployment": "p2p", "Description": "Phy2Phy Continuous Stream", "biDirectional": "True", "iLoad": "100", }, { "Name": "pvp_cont", "Traffic Type": "continuous", "Deployment": "pvp", "Description": "PVP Continuous Stream", "biDirectional": "True", "iLoad": "100", }, { "Name": "pvvp_cont", "Traffic Type": "continuous", "Deployment": "pvvp", "Description": "PVVP Continuous Stream", "biDirectional": "True", "iLoad": "100", }, { "Name": "phy2phy_scalability", "Traffic Type": "rfc2544", "Deployment": "p2p", "biDirectional": "True", "Description": "LTD.Scalability.Flows.RFC2544.0PacketLoss", "MultiStream": "8000", }, { "Name": "pvp_tput", "Traffic Type": "rfc2544", "Deployment": "pvp", "Description": "LTD.Throughput.RFC2544.PacketLossRatio", "biDirectional": "True", }, { "Name": "pvp_back2back", "Traffic Type": "back2back", "Deployment": "pvp", "Description": "LTD.Throughput.RFC2544.BackToBackFrames", "biDirectional": "True", }, { "Name": "pvvp_tput", "Traffic Type": "rfc2544", "Collector": "cpu", "Deployment": "pvvp", "Description": "LTD.Throughput.RFC2544.PacketLossRatio", "biDirectional": "True", }, { "Name": "pvvp_back2back", "Traffic Type": "back2back", "Collector": "cpu", "Deployment": "pvvp", "Description": "LTD.Throughput.RFC2544.BackToBackFrames", "biDirectional": "True", }, { "Name": "phy2phy_cpu_load", "Traffic Type": "rfc2544", "Deployment": "p2p", "biDirectional": "True", "Description": "LTD.CPU.RFC2544.0PacketLoss", "Load" : { "tool" : "stress-ng", "load" : 100, "reserved" : 4, "pattern" : "c", } }, { "Name": "phy2phy_mem_load", "Traffic Type": "rfc2544", "Deployment": "p2p", "biDirectional": "True", "Description": "LTD.Memory.RFC2544.0PacketLoss", "Load" : { "tool" : "stress-ng", "load" : 50, "pattern" : "m", "load_memory" : 80, } }, ]