1 # Copyright 2015 Intel Corporation.
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
7 # http://www.apache.org/licenses/LICENSE-2.0
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.
15 # ############################
16 # Traffic gen configuration
17 # ############################
19 # log file for all traffic generator related commands
20 LOG_FILE_TRAFFIC_GEN = 'traffic-gen.log'
22 # TRAFFIC dictionary defines traffic parameters used by all traffic generators.
23 # Detailed description of TRAFFIC dictionary items follows:
25 # 'traffic_type' - One of the supported traffic types.
26 # E.g. rfc2544_throughput, rfc2544_back2back
27 # or rfc2544_continuous
29 # Default value: "rfc2544_throughput".
30 # 'bidir' - Specifies if generated traffic will be full-duplex (True)
31 # or half-duplex (False)
33 # Supported values: "True", "False"
34 # Default value: "False".
35 # 'frame_rate' - Defines desired percentage of frame rate used during
36 # continuous stream tests.
39 # 'multistream' - Defines number of flows simulated by traffic generator.
40 # Value 0 disables multistream feature
42 # Supported values: 0-65535
44 # 'stream_type' - Stream type is an extension of the "multistream" feature.
45 # If multistream is disabled, then stream type will be
46 # ignored. Stream type defines ISO OSI network layer used
47 # for simulation of multiple streams.
50 # "L2" - iteration of destination MAC address
51 # "L3" - iteration of destination IP address
52 # "L4" - iteration of destination port
53 # of selected transport protocol
54 # Default value: "L4".
55 # 'pre_installed_flows'
56 # - Pre-installed flows is an extension of the "multistream"
57 # feature. If enabled, it will implicitly insert a flow
58 # for each stream. If multistream is disabled, then
59 # pre-installed flows will be ignored.
60 # Note: It is supported only for p2p deployment scenario.
63 # "Yes" - flows will be inserted into OVS
64 # "No" - flows won't be inserted into OVS
65 # Default value: "No".
66 # 'flow_type' - Defines flows complexity.
69 # "port" - flow is defined by ingress ports
70 # "IP" - flow is defined by ingress ports
71 # and src and dst IP addresses
72 # Default value: "port"
73 # 'l2' - A dictionary with l2 network layer details. Supported
75 # 'srcmac' - Specifies source MAC address filled by traffic generator.
76 # NOTE: It can be modified by vsperf in some scenarios.
78 # Default value: "00:00:00:00:00:00".
79 # 'dstmac' - Specifies destination MAC address filled by traffic generator.
80 # NOTE: It can be modified by vsperf in some scenarios.
82 # Default value: "00:00:00:00:00:00".
83 # 'framesize' - Specifies default frame size. This value should not be
84 # changed directly. It will be overridden during testcase
85 # execution by values specified by list TRAFFICGEN_PKT_SIZES.
88 # 'l3' - A dictionary with l3 network layer details. Supported
90 # 'srcip' - Specifies source MAC address filled by traffic generator.
91 # NOTE: It can be modified by vsperf in some scenarios.
93 # Default value: "1.1.1.1".
94 # 'dstip' - Specifies destination MAC address filled by traffic generator.
95 # NOTE: It can be modified by vsperf in some scenarios.
97 # Default value: "90.90.90.90".
98 # 'proto' - Specifies deflaut protocol type.
99 # Please check particular traffic generator implementation
100 # for supported protocol types.
102 # Default value: "udp".
103 # 'l4' - A dictionary with l4 network layer details. Supported
105 # 'srcport' - Specifies source port of selected transport protocol.
106 # NOTE: It can be modified by vsperf in some scenarios.
108 # Default value: 3000
109 # 'dstport' - Specifies destination port of selected transport protocol.
110 # NOTE: It can be modified by vsperf in some scenarios.
112 # Default value: 3001
113 # 'vlan' - A dictionary with vlan encapsulation details. Supported
115 # 'enabled' - Specifies if vlan encapsulation should be enabled or
118 # Default value: False
119 # 'id' - Specifies vlan id.
120 # Data type: int (NOTE: must fit to 12 bits)
122 # 'priority' - Specifies a vlan priority (PCP header field).
123 # Data type: int (NOTE: must fit to 3 bits)
125 # 'cfi' - Specifies if frames can or cannot be dropped during
126 # congestion (DEI header field).
127 # Data type: int (NOTE: must fit to 1 bit)
130 'traffic_type' : 'rfc2544_throughput',
132 'bidir' : 'True', # will be passed as string in title format to tgen
134 'stream_type' : 'L4',
135 'pre_installed_flows' : 'No', # used by vswitch implementation
136 'flow_type' : 'port', # used by vswitch implementation
140 'srcmac': '00:00:00:00:00:00',
141 'dstmac': '00:00:00:00:00:00',
146 'dstip': '90.90.90.90',
160 #path to traffic generators directory.
161 TRAFFICGEN_DIR = os.path.join(ROOT_DIR, 'tools/pkt_gen')
163 # traffic generator to use in tests
164 #TRAFFICGEN = 'TestCenter'
166 #TRAFFICGEN = 'IxNet'
169 #TRAFFICGEN = 'Moongen'
171 # List of packet sizes to send.
172 # Expand like this: (64, 128, 256, 512, 1024)
173 TRAFFICGEN_PKT_SIZES = (64,)
175 TRAFFICGEN_DURATION = 30
177 TRAFFICGEN_RFC2544_TESTS = 1
178 TRAFFICGEN_RFC2889_TRIALS = 1
179 TRAFFICGEN_LOSSRATE = 0.0
181 ##############################
182 # DUMMY Configuration -- BEGIN
184 # By default, dummy traffic generator asks for "measured" values.
185 # Following dictionary allows to preconfigure these values and
186 # to avoid user interaction. It can be useful for automated
188 # Example of values for continuous traffic type:
189 # TRAFFICGEN_DUMMY_RESULTS{'frames rx': 500000,
190 # 'frames tx': 500000,
196 # 'avg latency': 2.5,
199 TRAFFICGEN_DUMMY_RESULTS = {}
201 # DUMMY Configuration -- END
202 ############################
204 #############################
205 # IXIA Configuration -- BEGIN
207 # path to 'ixos' install path
208 TRAFFICGEN_IXIA_ROOT_DIR = '/opt/ixos'
210 # network address of IXIA chassis
211 TRAFFICGEN_IXIA_HOST = ''
213 TRAFFICGEN_IXIA_CARD = ''
215 TRAFFICGEN_IXIA_PORT1 = ''
217 TRAFFICGEN_IXIA_PORT2 = ''
219 TRAFFICGEN_IXNET_LIB_PATH = '/opt/ixnetwork/lib/IxTclNetwork'
221 # IxNetwork host IP address
222 TRAFFICGEN_IXNET_MACHINE = ''
223 TRAFFICGEN_IXNET_PORT = ''
224 TRAFFICGEN_IXNET_USER = ''
225 TRAFFICGEN_IXNET_CHASSIS = ''
227 # The result directory on $TRAFFICGEN_IXNET_MACHINE
228 TRAFFICGEN_IXNET_TESTER_RESULT_DIR = ''
230 # The result directory on DUT. This needs to map to the same directory
231 # as the previous one
232 TRAFFICGEN_IXNET_DUT_RESULT_DIR = ''
234 # directory with 3rd party scripts generated by IXIA tools
235 TRAFFICGEN_IXIA_3RD_PARTY = os.path.join(ROOT_DIR, '3rd_party/ixia')
237 # default TCL script, which will be used for IXNETWORK configuration
238 TRAFFICGEN_IXNET_TCL_SCRIPT = 'ixnetrfc2544.tcl'
240 # IXIA Configuration -- END
241 ###########################
244 ###########################################
245 # Spirent TestCenter Configuration -- BEGIN
247 # Path to Python 2 executable
248 TRAFFICGEN_STC_PYTHON2_PATH = "/bin/python2.7"
250 # Path to the location of the TestCenter files
251 TRAFFICGEN_STC_TESTCENTER_PATH = os.path.join(ROOT_DIR, 'tools/pkt_gen/testcenter')
253 # Name of the TestCenter RFC2544 Tput helper python script
254 TRAFFICGEN_STC_RFC2544_TPUT_TEST_FILE_NAME = "testcenter-rfc2544-throughput.py"
256 # Name of the Testcenter RFC2899 Tput Helper Python Scripts
257 TRAFFICGEN_STC_RFC2889_TEST_FILE_NAME = "testcenter-rfc2889-rest.py"
259 # 2889 Port Locations
260 TRAFFICGEN_STC_RFC2889_LOCATION = ""
262 # The address of the Spirent Lab Server to use
263 TRAFFICGEN_STC_LAB_SERVER_ADDR = ""
265 # The address of the Spirent License Server in your environment
266 TRAFFICGEN_STC_LICENSE_SERVER_ADDR = ""
268 # The address of the TestCenter chassis that holds the east port
269 TRAFFICGEN_STC_EAST_CHASSIS_ADDR = ""
271 # The slot number of the card that holds the east port
272 TRAFFICGEN_STC_EAST_SLOT_NUM = ""
274 # The port number on the card that holds the east port
275 TRAFFICGEN_STC_EAST_PORT_NUM = ""
277 # The address of the TestCenter chassis that holds the west port
278 TRAFFICGEN_STC_WEST_CHASSIS_ADDR = ""
280 # The slot number of the card that holds the west port
281 TRAFFICGEN_STC_WEST_SLOT_NUM = ""
283 # The port number on the card that holds the west port
284 TRAFFICGEN_STC_WEST_PORT_NUM = ""
286 # The friendly name to identify the Spirent Lab Server test session
287 TRAFFICGEN_STC_TEST_SESSION_NAME = "RFC2544 Tput"
288 # The directory to copy results to
290 TRAFFICGEN_STC_RESULTS_DIR = os.path.join(ROOT_DIR, "Results")
291 # The prefix for the CSV results file
293 TRAFFICGEN_STC_CSV_RESULTS_FILE_PREFIX = "RFC2544_tput"
294 # The number of trials to execute during the test
296 TRAFFICGEN_STC_NUMBER_OF_TRIALS = "1"
298 # The duration of each trial executed during the test, in seconds
299 TRAFFICGEN_STC_TRIAL_DURATION_SEC = "60"
301 # The traffic pattern between endpoints, BACKBONE, MESH or PAIR
302 TRAFFICGEN_STC_TRAFFIC_PATTERN = "PAIR"
304 # The search mode used to find the throughput rate, COMBO, STEP or BINARY
305 TRAFFICGEN_STC_SEARCH_MODE = "BINARY"
307 # The learning mode used during the test, AUTO, L2_LEARNING, L3_LERNING, or NONE
308 TRAFFICGEN_STC_LEARNING_MODE = "AUTO"
310 # The minimum percent line rate that will be used during the test
311 TRAFFICGEN_STC_RATE_LOWER_LIMIT_PCT = "1.0"
313 # The maximum percent line rate that will be used during the test
314 TRAFFICGEN_STC_RATE_UPPER_LIMIT_PCT = "99.0"
316 # If SearchMode is BINARY, the percent line rate that will be used at the start of the test
317 TRAFFICGEN_STC_RATE_INITIAL_PCT = "99.0"
319 # When SearchMode is STEP, the percent increase in load per step
320 TRAFFICGEN_STC_RATE_STEP_PCT = "10.0"
322 # The minimum percentage of load adjustment between iterations
323 TRAFFICGEN_STC_RESOLUTION_PCT = "1.0"
325 # The frame size, in bytes
326 TRAFFICGEN_STC_FRAME_SIZE = "256"
328 # The maximum acceptable frame loss percent in any iteration
329 TRAFFICGEN_STC_ACCEPTABLE_FRAME_LOSS_PCT = "0.0"
331 # The address to assign to the first emulated device interface on the first east port
332 TRAFFICGEN_STC_EAST_INTF_ADDR = ""
334 # The gateway address to assign to the first emulated device interface on the first east port
335 TRAFFICGEN_STC_EAST_INTF_GATEWAY_ADDR = ""
337 # The address to assign to the first emulated device interface on the first west port
338 TRAFFICGEN_STC_WEST_INTF_ADDR = ""
340 # The gateway address to assign to the first emulated device interface on the first west port
341 TRAFFICGEN_STC_WEST_INTF_GATEWAY_ADDR = ""
343 # Print additional information to the terminal during the test
344 TRAFFICGEN_STC_VERBOSE = "True"
346 # Spirent TestCenter Configuration -- END
347 #########################################
349 #############################
350 # Xena Configuration -- BEGIN
352 # Xena traffic generator connection info
353 TRAFFICGEN_XENA_IP = ''
354 TRAFFICGEN_XENA_PORT1 = ''
355 TRAFFICGEN_XENA_PORT2 = ''
356 TRAFFICGEN_XENA_USER = ''
357 TRAFFICGEN_XENA_PASSWORD = ''
358 TRAFFICGEN_XENA_MODULE1 = ''
359 TRAFFICGEN_XENA_MODULE2 = ''
362 TRAFFICGEN_XENA_PORT0_IP = '192.168.199.10'
363 TRAFFICGEN_XENA_PORT0_CIDR = 24
364 TRAFFICGEN_XENA_PORT0_GATEWAY = '192.168.199.1'
365 TRAFFICGEN_XENA_PORT1_IP = '192.168.199.11'
366 TRAFFICGEN_XENA_PORT1_CIDR = 24
367 TRAFFICGEN_XENA_PORT1_GATEWAY = '192.168.199.1'
369 # Xena RFC 2544 options
370 # Please reference xena documentation before making changes to these settings
371 TRAFFICGEN_XENA_2544_TPUT_INIT_VALUE = '10.0'
372 TRAFFICGEN_XENA_2544_TPUT_MIN_VALUE = '0.1'
373 TRAFFICGEN_XENA_2544_TPUT_MAX_VALUE = '100.0'
374 TRAFFICGEN_XENA_2544_TPUT_VALUE_RESOLUTION = '0.5'
375 TRAFFICGEN_XENA_2544_TPUT_USEPASS_THRESHHOLD = 'false'
376 TRAFFICGEN_XENA_2544_TPUT_PASS_THRESHHOLD = '0.0'
378 # Xena Continuous traffic options
379 # Please reference xena documentation before making changes to these settings
380 TRAFFICGEN_XENA_CONT_PORT_LEARNING_ENABLED = True
381 TRAFFICGEN_XENA_CONT_PORT_LEARNING_DURATION = 3
383 # Xena Configuration -- END
384 ###########################
386 ###################################################
387 # MoonGen Configuration and Connection Info-- BEGIN
389 # Ex: TRAFFICGEN_MOONGEN_HOST_IP_ADDR = "192.10.1.1"
390 TRAFFICGEN_MOONGEN_HOST_IP_ADDR = ''
391 TRAFFICGEN_MOONGEN_USER = ''
392 TRAFFICGEN_MOONGEN_BASE_DIR = ''
393 TRAFFICGEN_MOONGEN_PORTS = ''
394 # Ex. 10 Gbps: TRAFFICGEN_MOONGEN_LINE_SPEED_GBPS = '10'
395 # Today only 10 Gbps is supported
396 TRAFFICGEN_MOONGEN_LINE_SPEED_GBPS = ''
398 # MoonGen Configuration and Connection Info-- END
399 ###################################################