Merge "integration: Test vHost User numa awareness"
[vswitchperf.git] / conf / 01_testcases.conf
1 # Copyright 2015-2016 Intel Corporation.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #   http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 # This file describes a list of testcases.  Each testcase is described as a
16 # dictionary in a list of dictionaries.
17 #
18 # The dictionary keys, their meanings and available values are:
19 #
20 # "Name": "phy2phy_burst",         # A human-readable string identifying the
21 #                                  # test.
22 # "Traffic Type": "rfc2544",       # One of the supported traffic types.
23 #                                  # It can be overridden by cli option traffic_type.
24 #                                  # Default value is "rfc2544".
25 # "Deployment": "p2p",             # One of the supported deployment scenarios.
26 # "Description": "Lorem ipsum..."  # Optional. A human-readable string
27 #                                  # describing the test.
28 # "Frame Modification": "vlan"     # One of the supported frame modifications:
29 #                                  # vlan, mpls, mac, dscp, ttl, ip_addr,
30 #                                  # ip_port.
31 # "biDirectional": ["True"|"False"]
32 #                                  # Specifies if generated traffic will be
33 #                                  # full-duplex (True) or half-duplex (False)
34 #                                  # It can be overridden by cli option bidirectional.
35 #                                  # Default value is "False". Must be of type
36 #                                  # string.
37 # "MultiStream": 0-65535           # Optional. Defines number of flows simulated
38 #                                  # by traffic generator. Value 0 disables
39 #                                  # MultiStream feature
40 #                                  # It can be overridden by cli option multistream.
41 # "Stream Type": ["L2"|"L3"|"L4"]  # Optional. Stream Type is an extension
42 #                                  # of the "MultiStream" feature. If MultiStream
43 #                                  # is disabled, then Stream Type will be ignored.
44 #                                  # Stream Type defines ISO OSI network layer
45 #                                  # used for simulation of multiple streams.
46 #                                  # It can be overridden by cli option stream_type.
47 #                                  # Values:
48 #                                  #    "L2" - iteration of destination MAC address
49 #                                  #    "L3" - iteration of destination IP address
50 #                                  #    "L4" - iteration of destination port
51 #                                  #           of selected transport protocol
52 #                                  # Default value is "L4".
53 # "Pre-installed Flows": ["Yes"|"No"]
54 #                                  # Optional. Pre-installed Flows is an extension
55 #                                  # of the "MultiStream" feature. If MultiStream
56 #                                  # is disabled, then Pre-installed Flows will be
57 #                                  # ignored. It defines if stream specific flows
58 #                                  # will be inserted into OVS or not.
59 #                                  # It can be overridden by cli option
60 #                                  # pre-installed_flows
61 #                                  # Values:
62 #                                  #    "Yes" - flows will be inserted into OVS
63 #                                  #    "No"  - flows won't be inserted into OVS
64 #                                  # Default value is "No".
65 # "Flow Type": ["port"|"IP"]       # Optional. Defines flows complexity. In case
66 #                                  # it isn't specified, then "port" will be used.
67 #                                  # Values:
68 #                                  #    "port" - flow is defined by ingress ports
69 #                                  #    "IP"   - flow is defined by ingress ports
70 #                                  #             and src and dst IP addresses
71 # "iLoad": 0-100                   # Optional. Defines desired percentage
72 #                                  # of frame rate used during continuous stream
73 #                                  # tests. Can be overridden by cli option
74 #                                  # iload.
75 #                                  # Default value is 100.
76 # "Load": dictionary               # Optional. Configures background load
77 #                                  # during testcase execution.
78 #   Description of "Load" dictionary keys, their meanings and available values:
79 #
80 #   "tool": "stress"               # One of the supported load generators.
81 #   "load": 0-100                  # percentage of cores which should be
82 #                                  # utilized by load generator
83 #                                  # e.g. load = 70%, detected cpu cores = 14 =>
84 #                                  # round(14*0.7)=10, i.e. 10 instances of load
85 #                                  # generator will be executed
86 #   "reserved": 0- (Default 0)     # Optional. Defines number of cores reserved
87 #                                  # for vsperf
88 #                                  # e.g. load = 80%, detected cpu cores = 14,
89 #                                  # reserved = 4 => round((14-4)*0.8)=8,
90 #                                  # i.e. 8 load gen. instances will be executed
91 #   "pattern" : "c"                # stress/stress-ng specific; Number of 'c',
92 #                                  # 'm' and 'i' defines ratio between cpu, mem
93 #                                  # and io workers respectively
94 #                                  # e.g. "ccccmmi" => ratio among workers types
95 #                                  # will be 3:2:1, so in case that 12 stress
96 #                                  # instances should be executed, then 6 cpu,
97 #                                  # 4 memory and 2 io workers will be executed
98 #   "load_memory": 0-100           # Optional. Defines percentage of the system
99 #                                  # memory, which should be utilized by memory
100 #                                  # workers (if they are part of "pattern").
101 #                                  # if not specified then default stress(-ng)
102 #                                  # value will be used
103 #   "options": ""                  # Optional. Additional command line options
104 #                                  # to be passed to the load generator.
105 # "vSwitch" : "OvsVanilla"         # Defines vSwitch to be used for test execution.
106 #                                  # It will override any VSWITCH option stated
107 #                                  # in configuration files or value specified
108 #                                  # on command line through --vswitch parameter.
109 # "VNF" : "QemuVirtioNet"          # Defines VNF to be used for test execution.
110 #                                  # It will override any VNF option stated
111 #                                  # in configuration files or value specified
112 #                                  # on command line through --vnf parameter.
113 # "Trafficgen" : "Dummy"           # Defines traffic generator to be used for test
114 #                                  # execution. It will override any VNF option
115 #                                  # stated in configuration files or value
116 #                                  # specified on command line through --trafficgen
117 #                                  # parameter.
118 # "Parameters" : "pkt_sizes=512"   # Defines list of test parameters used for test
119 #                                  # execution. It will override any values defined
120 #                                  # by TEST_PARAMS option stated in configuration
121 #                                  # files or values specified on command line through
122 #                                  # --test-params parameter.
123 # "Test Modifier": [FrameMod|Other],
124 # "Dependency": [Test_Case_Name |None],
125
126 PERFORMANCE_TESTS = [
127     {
128         "Name": "phy2phy_tput",
129         "Traffic Type": "rfc2544",
130         "Deployment": "p2p",
131         "biDirectional": "True",
132         "Description": "LTD.Throughput.RFC2544.PacketLossRatio",
133     },
134     {
135         "Name": "phy2phy_forwarding",
136         "Traffic Type": "rfc2889",
137         "Deployment": "p2p",
138         "biDirectional": "True",
139         "Description": "LTD.Forwarding.RFC2889.MaxForwardingRate",
140     },
141     {
142         "Name": "back2back",
143         "Traffic Type": "back2back",
144         "Deployment": "p2p",
145         "biDirectional": "True",
146         "Description": "LTD.Throughput.RFC2544.BackToBackFrames",
147     },
148     {
149         "Name": "phy2phy_tput_mod_vlan",
150         "Traffic Type": "rfc2544",
151         "Deployment": "p2p",
152         "Frame Modification": "vlan",
153         "biDirectional": "False",
154         "Description": "LTD.Throughput.RFC2544.PacketLossRatioFrameModification"
155     },
156     {
157         "Name": "phy2phy_cont",
158         "Traffic Type": "continuous",
159         "Deployment": "p2p",
160         "Description": "Phy2Phy Continuous Stream",
161         "biDirectional": "True",
162         "iLoad": "100",
163     },
164     {
165         "Name": "pvp_cont",
166         "Traffic Type": "continuous",
167         "Deployment": "pvp",
168         "Description": "PVP Continuous Stream",
169         "biDirectional": "True",
170         "iLoad": "100",
171     },
172     {
173         "Name": "pvvp_cont",
174         "Traffic Type": "continuous",
175         "Deployment": "pvvp",
176         "Description": "PVVP Continuous Stream",
177         "biDirectional": "True",
178         "iLoad": "100",
179     },
180     {
181         "Name": "pvpv_cont",
182         "Traffic Type": "continuous",
183         "Deployment": "pvpv",
184         "Description": "Two VMs in parallel with Continuous Stream",
185         "biDirectional": "True",
186         "iLoad": "100",
187     },
188     {
189         "Name": "phy2phy_scalability",
190         "Traffic Type": "rfc2544",
191         "Deployment": "p2p",
192         "biDirectional": "True",
193         "Description": "LTD.Scalability.Flows.RFC2544.0PacketLoss",
194         "MultiStream": "8000",
195     },
196     {
197         "Name": "pvp_tput",
198         "Traffic Type": "rfc2544",
199         "Deployment": "pvp",
200         "Description": "LTD.Throughput.RFC2544.PacketLossRatio",
201         "biDirectional": "True",
202     },
203     {
204         "Name": "pvp_back2back",
205         "Traffic Type": "back2back",
206         "Deployment": "pvp",
207         "Description": "LTD.Throughput.RFC2544.BackToBackFrames",
208         "biDirectional": "True",
209     },
210     {
211         "Name": "pvvp_tput",
212         "Traffic Type": "rfc2544",
213         "Collector": "cpu",
214         "Deployment": "pvvp",
215         "Description": "LTD.Throughput.RFC2544.PacketLossRatio",
216         "biDirectional": "True",
217     },
218     {
219         "Name": "pvvp_back2back",
220         "Traffic Type": "back2back",
221         "Collector": "cpu",
222         "Deployment": "pvvp",
223         "Description": "LTD.Throughput.RFC2544.BackToBackFrames",
224         "biDirectional": "True",
225     },
226     {
227         "Name": "phy2phy_cpu_load",
228         "Traffic Type": "rfc2544",
229         "Deployment": "p2p",
230         "biDirectional": "True",
231         "Description": "LTD.CPU.RFC2544.0PacketLoss",
232         "Load" : {
233             "tool" : "stress-ng",
234             "load" : 100,
235             "reserved" : 4,
236             "pattern" : "c",
237         }
238     },
239     {
240         "Name": "phy2phy_mem_load",
241         "Traffic Type": "rfc2544",
242         "Deployment": "p2p",
243         "biDirectional": "True",
244         "Description": "LTD.Memory.RFC2544.0PacketLoss",
245         "Load" : {
246             "tool" : "stress-ng",
247             "load" : 50,
248             "pattern" : "m",
249             "load_memory" : 80,
250         }
251     },
252
253 ]