license: Add license info to all project files
[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 # "Deployment": "p2p",             # One of the supported deployment scenarios.
23 # "Description": "Lorem ipsum..."  # Optional. A human-readable string
24 #                                  # describing the test.
25 # "Frame Modification": "vlan"     # One of the supported frame modifications:
26 #                                  # vlan, mpls, mac, dscp, ttl, ip_addr,
27 #                                  # ip_port.
28 # "Load": dictionary               # Optional. Configures background load
29 #                                  # during testcase execution.
30 #   Description of "Load" dictionary keys, their meanings and available values:
31 #
32 #   "tool": "stress"               # One of the supported load generators.
33 #   "load": 0-100                  # percentage of cores which should be
34 #                                  # utilized by load generator
35 #                                  # e.g. load = 70%, detected cpu cores = 14 =>
36 #                                  # round(14*0.7)=10, i.e. 10 instances of load
37 #                                  # generator will be executed
38 #   "reserved": 0- (Default 0)     # Optional. Defines number of cores reserved
39 #                                  # for vsperf
40 #                                  # e.g. load = 80%, detected cpu cores = 14,
41 #                                  # reserved = 4 => round((14-4)*0.8)=8,
42 #                                  # i.e. 8 load gen. instances will be executed
43 #   "pattern" : "c"                # stress/stress-ng specific; Number of 'c',
44 #                                  # 'm' and 'i' defines ratio between cpu, mem
45 #                                  # and io workers respectively
46 #                                  # e.g. "ccccmmi" => ratio among workers types
47 #                                  # will be 3:2:1, so in case that 12 stress
48 #                                  # instances should be executed, then 6 cpu,
49 #                                  # 4 memory and 2 io workers will be executed
50 #   "load_memory": 0-100           # Optional. Defines percentage of the system
51 #                                  # memory, which should be utilized by memory
52 #                                  # workers (if they are part of "pattern").
53 #                                  # if not specified then default stress(-ng)
54 #                                  # value will be used
55 #   "options": ""                  # Optional. Additional command line options
56 #                                  # to be passed to the load generator.
57 # "vSwitch" : "OvsVanilla"         # Defines vSwitch to be used for test execution.
58 #                                  # It will override any VSWITCH option stated
59 #                                  # in configuration files or value specified
60 #                                  # on command line through --vswitch parameter.
61 # "VNF" : "QemuVirtioNet"          # Defines VNF to be used for test execution.
62 #                                  # It will override any VNF option stated
63 #                                  # in configuration files or value specified
64 #                                  # on command line through --vnf parameter.
65 # "Trafficgen" : "Dummy"           # Defines traffic generator to be used for test
66 #                                  # execution. It will override any VNF option
67 #                                  # stated in configuration files or value
68 #                                  # specified on command line through --trafficgen
69 #                                  # parameter.
70 # "Parameters" : {'TRAFFICGEN_PKT_SIZES' : (512,)},
71 #                                  # Dictionary with testcase specific configuration
72 #                                  # environment. Specified parameters will be modified
73 #                                  # before the test execution and their original values will
74 #                                  # be restored after TC finishes. This dictionary will
75 #                                  # override any values defined by TEST_PARAMS option
76 #                                  # stated in configuration files or values specified
77 #                                  # on command line through --test-params parameter.
78 # "Test Modifier": [FrameMod|Other],
79 # "Dependency": [Test_Case_Name |None],
80
81 PERFORMANCE_TESTS = [
82     {
83         "Name": "phy2phy_tput",
84         "Deployment": "p2p",
85         "Description": "LTD.Throughput.RFC2544.PacketLossRatio",
86         "Parameters" : {
87             "TRAFFIC" : {
88                 "traffic_type" : "rfc2544_throughput",
89             },
90         },
91     },
92     {
93         "Name": "phy2phy_forwarding",
94         "Deployment": "p2p",
95         "Description": "LTD.Forwarding.RFC2889.MaxForwardingRate",
96         "Parameters" : {
97             "TRAFFIC" : {
98                 "traffic_type" : "rfc2889_forwarding",
99             },
100         },
101     },
102     {
103         "Name": "phy2phy_learning",
104         "Deployment": "p2p",
105         "Description": "LTD.AddrLearning.RFC2889.AddrLearningRate",
106         "Parameters" : {
107             "TRAFFIC" : {
108                 "traffic_type" : "rfc2889_learning",
109             },
110         },
111     },
112     {
113         "Name": "phy2phy_caching",
114         "Deployment": "p2p",
115         "Description": "LTD.AddrCaching.RFC2889.AddrCachingCapacity",
116         "Parameters" : {
117             "TRAFFIC" : {
118                 "traffic_type" : "rfc2889_caching",
119             },
120         },
121     },
122     {
123         "Name": "back2back",
124         "Deployment": "p2p",
125         "Description": "LTD.Throughput.RFC2544.BackToBackFrames",
126         "Parameters" : {
127             "TRAFFIC" : {
128                 "traffic_type" : "rfc2544_back2back",
129             },
130         },
131     },
132     {
133         "Name": "phy2phy_tput_mod_vlan",
134         "Deployment": "p2p",
135         "Frame Modification": "vlan",
136         "Description": "LTD.Throughput.RFC2544.PacketLossRatioFrameModification",
137         "Parameters" : {
138             "TRAFFIC" : {
139                 "traffic_type" : "rfc2544_throughput",
140             },
141         },
142     },
143     {
144         "Name": "phy2phy_cont",
145         "Deployment": "p2p",
146         "Description": "Phy2Phy Continuous Stream",
147         "Parameters" : {
148             "TRAFFIC" : {
149                 "traffic_type" : "rfc2544_continuous",
150                 "frame_rate" : 100,
151             },
152         },
153     },
154     {
155         "Name": "pvp_cont",
156         "Deployment": "pvp",
157         "Description": "PVP Continuous Stream",
158         "Parameters" : {
159             "TRAFFIC" : {
160                 "traffic_type" : "rfc2544_continuous",
161                 "frame_rate" : 100,
162             },
163         },
164     },
165     {
166         "Name": "pvvp_cont",
167         "Deployment": "pvvp",
168         "Description": "PVVP Continuous Stream",
169         "Parameters" : {
170             "TRAFFIC" : {
171                 "traffic_type" : "rfc2544_continuous",
172                 "frame_rate" : 100,
173             },
174         },
175     },
176     {
177         "Name": "pvpv_cont",
178         "Deployment": "pvpv",
179         "Description": "Two VMs in parallel with Continuous Stream",
180         "Parameters" : {
181             "TRAFFIC" : {
182                 "traffic_type" : "rfc2544_continuous",
183                 "frame_rate" : 100,
184             },
185         },
186     },
187     {
188         "Name": "phy2phy_scalability",
189         "Deployment": "p2p",
190         "Description": "LTD.Scalability.Flows.RFC2544.0PacketLoss",
191         "Parameters" : {
192             "TRAFFIC" : {
193                 "traffic_type" : "rfc2544_throughput",
194                 "multistream" : "8000",
195             },
196         },
197     },
198     {
199         "Name": "pvp_tput",
200         "Deployment": "pvp",
201         "Description": "LTD.Throughput.RFC2544.PacketLossRatio",
202         "Parameters" : {
203             "TRAFFIC" : {
204                 "traffic_type" : "rfc2544_throughput",
205             },
206         },
207     },
208     {
209         "Name": "pvp_back2back",
210         "Deployment": "pvp",
211         "Description": "LTD.Throughput.RFC2544.BackToBackFrames",
212         "Parameters" : {
213             "TRAFFIC" : {
214                 "traffic_type" : "rfc2544_back2back",
215             },
216         },
217     },
218     {
219         "Name": "pvvp_tput",
220         "Collector": "cpu",
221         "Deployment": "pvvp",
222         "Description": "LTD.Throughput.RFC2544.PacketLossRatio",
223         "Parameters" : {
224             "TRAFFIC" : {
225                 "traffic_type" : "rfc2544_throughput",
226             },
227         },
228     },
229     {
230         "Name": "pvvp_back2back",
231         "Collector": "cpu",
232         "Deployment": "pvvp",
233         "Description": "LTD.Throughput.RFC2544.BackToBackFrames",
234         "Parameters" : {
235             "TRAFFIC" : {
236                 "traffic_type" : "rfc2544_back2back",
237             },
238         },
239     },
240     {
241         "Name": "phy2phy_cpu_load",
242         "Deployment": "p2p",
243         "Description": "LTD.CPU.RFC2544.0PacketLoss",
244         "Load" : {
245             "tool" : "stress-ng",
246             "load" : 100,
247             "reserved" : 4,
248             "pattern" : "c",
249         },
250         "Parameters" : {
251             "TRAFFIC" : {
252                 "traffic_type" : "rfc2544_throughput",
253             },
254         },
255     },
256     {
257         "Name": "phy2phy_mem_load",
258         "Deployment": "p2p",
259         "Description": "LTD.Memory.RFC2544.0PacketLoss",
260         "Load" : {
261             "tool" : "stress-ng",
262             "load" : 50,
263             "pattern" : "m",
264             "load_memory" : 80,
265         },
266         "Parameters" : {
267             "TRAFFIC" : {
268                 "traffic_type" : "rfc2544_throughput",
269             },
270         },
271     },
272 ]