Merge "Tools: Improve Stability."
[vswitchperf.git] / conf / 03_traffic.conf
1 # Copyright 2015-2018 Intel Corporation., Tieto
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 # ############################
16 # Traffic gen configuration
17 # ############################
18
19 # log file for all traffic generator related commands
20 LOG_FILE_TRAFFIC_GEN = 'traffic-gen.log'
21
22 # TRAFFIC dictionary defines traffic parameters used by all traffic generators.
23 # Detailed description of TRAFFIC dictionary items follows:
24 #
25 #    'traffic_type'  - One of the supported traffic types.
26 #                      E.g. rfc2544_throughput, rfc2544_back2back,
27 #                      rfc2544_continuous or burst
28 #                      Data type: str
29 #                      Default value: "rfc2544_throughput".
30 #    'bidir'         - Specifies if generated traffic will be full-duplex (True)
31 #                      or half-duplex (False)
32 #                      Data type: str
33 #                      Supported values: "True", "False"
34 #                      Default value: "False".
35 #    'frame_rate'    - Defines desired percentage of frame rate used during
36 #                      continuous stream tests.
37 #                      Data type: int
38 #                      Default value: 100.
39 #    'burst_size'    - Defines a number of frames in the single burst, which is sent
40 #                      by burst traffic type. Burst size is applied for each direction,
41 #                      i.e. the total number of tx frames will be 2*burst_size in case of
42 #                      bidirectional traffic.
43 #                      Data type: int
44 #                      Default value: 100.
45 #    'multistream'   - Defines number of flows simulated by traffic generator.
46 #                      Value 0 disables multistream feature
47 #                      Data type: int
48 #                      Supported values: 0-65536 for 'L4' stream type
49 #                                        unlimited for 'L2' and 'L3' stream types
50 #                      Default value: 0.
51 #    'stream_type'   - Stream type is an extension of the "multistream" feature.
52 #                      If multistream is disabled, then stream type will be
53 #                      ignored. Stream type defines ISO OSI network layer used
54 #                      for simulation of multiple streams.
55 #                      Data type: str
56 #                      Supported values:
57 #                         "L2" - iteration of destination MAC address
58 #                         "L3" - iteration of destination IP address
59 #                         "L4" - iteration of destination port
60 #                                of selected transport protocol
61 #                      Default value: "L4".
62 #    'pre_installed_flows'
63 #                   -  Pre-installed flows is an extension of the "multistream"
64 #                      feature. If enabled, it will implicitly insert a flow
65 #                      for each stream. If multistream is disabled, then
66 #                      pre-installed flows will be ignored.
67 #                      Data type: str
68 #                      Supported values:
69 #                         "Yes" - flows will be inserted into OVS
70 #                         "No"  - flows won't be inserted into OVS
71 #                      Default value: "No".
72 #    'flow_type'     - Defines flows complexity.
73 #                      Data type: str
74 #                      Supported values:
75 #                         "port" - flow is defined by ingress ports
76 #                         "IP"   - flow is defined by ingress ports
77 #                                  and src and dst IP addresses
78 #                      Default value: "port"
79 #    'flow_control'  - Controls flow control support by traffic generator.
80 #                      Supported values:
81 #                         False  - flow control is disabled
82 #                         True   - flow control is enabled
83 #                      Default value: False
84 #                      Note: Currently it is supported by IxNet only
85 #    'learning_frames' - Controls learning frames support by traffic generator.
86 #                      Supported values:
87 #                         False  - learning freames are disabled
88 #                         True   - learning freames are enabled
89 #                      Default value: True
90 #                      Note: Currently it is supported by IxNet only
91 #    'l2'            - A dictionary with l2 network layer details. Supported
92 #                      values are:
93 #        'srcmac'    - Specifies source MAC address filled by traffic generator.
94 #                      NOTE: It can be modified by vsperf in some scenarios.
95 #                      Data type: str
96 #                      Default value: "00:00:00:00:00:00".
97 #        'dstmac'    - Specifies destination MAC address filled by traffic generator.
98 #                      NOTE: It can be modified by vsperf in some scenarios.
99 #                      Data type: str
100 #                      Default value: "00:00:00:00:00:00".
101 #        'framesize' - Specifies default frame size. This value should not be
102 #                      changed directly. It will be overridden during testcase
103 #                      execution by values specified by list TRAFFICGEN_PKT_SIZES.
104 #                      Data type: int
105 #                      Default value: 64
106 #    'l3'            - A dictionary with l3 network layer details. Supported
107 #                      values are:
108 #        'enabled'   - Specifies if l3 layer should be enabled or disabled.
109 #                      Data type: bool
110 #                      Default value: True
111 #                      NOTE: Supported only by IxNet trafficgen class
112 #        'srcip'     - Specifies source MAC address filled by traffic generator.
113 #                      NOTE: It can be modified by vsperf in some scenarios.
114 #                      Data type: str
115 #                      Default value: "1.1.1.1".
116 #        'dstip'     - Specifies destination MAC address filled by traffic generator.
117 #                      NOTE: It can be modified by vsperf in some scenarios.
118 #                      Data type: str
119 #                      Default value: "90.90.90.90".
120 #        'proto'     - Specifies protocol type.
121 #                      Please check particular traffic generator implementation
122 #                      for supported protocol types.
123 #                      Data type: str
124 #                      Default value: "udp".
125 #    'l4'            - A dictionary with l4 network layer details. Supported
126 #                      values are:
127 #        'enabled'   - Specifies if l4 layer should be enabled or disabled.
128 #                      Data type: bool
129 #                      Default value: True
130 #                      NOTE: Supported only by IxNet trafficgen class
131 #        'srcport'   - Specifies source port of selected transport protocol.
132 #                      NOTE: It can be modified by vsperf in some scenarios.
133 #                      Data type: int
134 #                      Default value: 3000
135 #        'dstport'   - Specifies destination port of selected transport protocol.
136 #                      NOTE: It can be modified by vsperf in some scenarios.
137 #                      Data type: int
138 #                      Default value: 3001
139 #    'vlan'          - A dictionary with vlan encapsulation details. Supported
140 #                      values are:
141 #        'enabled'   - Specifies if vlan encapsulation should be enabled or
142 #                      disabled.
143 #                      Data type: bool
144 #                      Default value: False
145 #        'id'        - Specifies vlan id.
146 #                      Data type: int (NOTE: must fit to 12 bits)
147 #                      Default value: 0
148 #        'priority'  - Specifies a vlan priority (PCP header field).
149 #                      Data type: int (NOTE: must fit to 3 bits)
150 #                      Default value: 0
151 #        'cfi'       - Specifies if frames can or cannot be dropped during
152 #                      congestion (DEI header field).
153 #                      Data type: int (NOTE: must fit to 1 bit)
154 #                      Default value: 0
155 #    'capture'       - A dictionary with traffic capture configuration.
156 #                      NOTE: It is supported only by T-Rex traffic generator.
157 #        'enabled'   - Specifies if traffic should be captured
158 #                      Data type: bool
159 #                      Default value: False
160 #        'tx_ports'  - A list of ports, where frames transmitted towards DUT will
161 #                      be captured. Ports have numbers 0 and 1. TX packet capture
162 #                      is disabled if list of ports is empty.
163 #                      Data type: list
164 #                      Default value: [0]
165 #        'rx_ports'  - A list of ports, where frames received from DUT will
166 #                      be captured. Ports have numbers 0 and 1. RX packet capture
167 #                      is disabled if list of ports is empty.
168 #                      Data type: list
169 #                      Default value: [1]
170 #        'count'     - A number of frames to be captured. The same count value
171 #                      is applied to both TX and RX captures.
172 #                      Data type: int
173 #                      Default value: 1
174 #        'filter'    - An expression used to filter TX and RX packets. It uses the same
175 #                      syntax as pcap library. See pcap-filter man page for additional
176 #                      details.
177 #                      Data type: str
178 #                      Default value: ''
179 #    'scapy'         - A dictionary with definition of a frame content for both traffic
180 #                      directions. The frame content is defined by a SCAPY notation.
181 #                      NOTE: It is supported only by the T-Rex traffic generator.
182 #                      Following keywords can be used to refer to the related parts of
183 #                      the TRAFFIC dictionary:
184 #                           Ether_src   - refers to TRAFFIC['l2']['srcmac']
185 #                           Ether_dst   - refers to TRAFFIC['l2']['dstmac']
186 #                           IP_proto    - refers to TRAFFIC['l3']['proto']
187 #                           IP_PROTO    - refers to upper case version of TRAFFIC['l3']['proto']
188 #                           IP_src      - refers to TRAFFIC['l3']['srcip']
189 #                           IP_dst      - refers to TRAFFIC['l3']['dstip']
190 #                           IP_PROTO_sport - refers to TRAFFIC['l4']['srcport']
191 #                           IP_PROTO_dport - refers to TRAFFIC['l4']['dstport']
192 #                           Dot1Q_prio  - refers to TRAFFIC['vlan']['priority']
193 #                           Dot1Q_id    - refers to TRAFFIC['vlan']['cfi']
194 #                           Dot1Q_vlan  - refers to TRAFFIC['vlan']['id']
195 #        '0'         - A string with the frame definition for the 1st direction.
196 #                      Data type: str
197 #                      Default value: 'Ether(src={Ether_src}, dst={Ether_dst})/'
198 #                                     'Dot1Q(prio={Dot1Q_prio}, id={Dot1Q_id}, vlan={Dot1Q_vlan})/'
199 #                                     'IP(proto={IP_proto}, src={IP_src}, dst={IP_dst})/'
200 #                                     '{IP_PROTO}(sport={IP_PROTO_sport}, dport={IP_PROTO_dport})'
201 #        '1'         - A string with the frame definition for the 2nd direction.
202 #                      Data type: str
203 #                      Default value: 'Ether(src={Ether_dst}, dst={Ether_src})/'
204 #                                     'Dot1Q(prio={Dot1Q_prio}, id={Dot1Q_id}, vlan={Dot1Q_vlan})/'
205 #                                     'IP(proto={IP_proto}, src={IP_dst}, dst={IP_src})/'
206 #                                     '{IP_PROTO}(sport={IP_PROTO_dport}, dport={IP_PROTO_sport})',
207 #    'latency_histogram'
208 #                    - A dictionary with definition of a latency histogram provision in results.
209 #        'enabled'   - Specifies if the histogram provisioning is enabled or not.
210 #        'type'      - Defines how histogram is provided. Currenty only 'Default' is defined.
211 #                         'Default' - Default histogram as provided by the Traffic-generator.
212 #    'imix'          - A dictionary for IMIX Specification.
213 #        'enabled'   - Specifies if IMIX is enabled or NOT.
214 #        'type'      - The specification type - denotes how IMIX is specified.
215 #                      Currently only 'genome' type is defined.
216 #                      Other types (ex: table-of-proportions) can be added in future.
217 #        'genome'    - The Genome Encoding of Pkt-Sizes and Ratio for IMIX.
218 #                      The ratio is inferred from the number of particular geneome characters.
219 #                      Genome encoding is described in RFC 6985. This specification is closest
220 #                      to the method described in section 6.2 of RFC 6985.
221 #                      Ex: 'aaaaaaaddddg' denotes ratio of 7:4:1 of packets sizes 64:512:1518.
222 #                      Note: Exact-sequence is not maintained, only the ratio of packets
223 #                      is ensured.
224 #                      Data type: str
225 #                      Default Value: 'aaaaaaaddddg'
226 TRAFFIC = {
227     'traffic_type' : 'rfc2544_throughput',
228     'frame_rate' : 100,
229     'burst_size' : 100,
230     'bidir' : 'True',  # will be passed as string in title format to tgen
231     'multistream' : 0,
232     'stream_type' : 'L4',
233     'pre_installed_flows' : 'No',           # used by vswitch implementation
234     'flow_type' : 'port',                   # used by vswitch implementation
235     'flow_control' : False,                 # supported only by IxNet
236     'learning_frames' : True,               # supported only by IxNet
237     'l2': {
238         'framesize': 64,
239         'srcmac': '00:00:00:00:00:00',
240         'dstmac': '00:00:00:00:00:00',
241     },
242     'l3': {
243         'enabled': True,
244         'proto': 'udp',
245         'srcip': '1.1.1.1',
246         'dstip': '90.90.90.90',
247     },
248     'l4': {
249         'enabled': True,
250         'srcport': 3000,
251         'dstport': 3001,
252     },
253     'vlan': {
254         'enabled': False,
255         'id': 0,
256         'priority': 0,
257         'cfi': 0,
258     },
259     'capture': {
260         'enabled': False,
261         'tx_ports' : [0],
262         'rx_ports' : [1],
263         'count': 1,
264         'filter': '',
265     },
266     'scapy': {
267         'enabled': False,
268         '0' : 'Ether(src={Ether_src}, dst={Ether_dst})/'
269               'Dot1Q(prio={Dot1Q_prio}, id={Dot1Q_id}, vlan={Dot1Q_vlan})/'
270               'IP(proto={IP_proto}, src={IP_src}, dst={IP_dst})/'
271               '{IP_PROTO}(sport={IP_PROTO_sport}, dport={IP_PROTO_dport})',
272         '1' : 'Ether(src={Ether_dst}, dst={Ether_src})/'
273               'Dot1Q(prio={Dot1Q_prio}, id={Dot1Q_id}, vlan={Dot1Q_vlan})/'
274               'IP(proto={IP_proto}, src={IP_dst}, dst={IP_src})/'
275               '{IP_PROTO}(sport={IP_PROTO_dport}, dport={IP_PROTO_sport})',
276     },
277     'latency_histogram': {
278         'enabled': False,
279         'type': 'Default',
280     },
281     'imix': {
282         'enabled': False,
283         'type': 'genome',
284         'genome': 'aaaaaaaddddg',
285     },
286 }
287
288 #path to traffic generators directory.
289 TRAFFICGEN_DIR = os.path.join(ROOT_DIR, 'tools/pkt_gen')
290
291 # traffic generator to use in tests
292 #TRAFFICGEN = 'TestCenter'
293 TRAFFICGEN = 'Dummy'
294 #TRAFFICGEN = 'IxNet'
295 #TRAFFICGEN = 'Ixia'
296 #TRAFFICGEN = 'Xena'
297 #TRAFFICGEN = 'Moongen'
298 #TRAFFICGEN = 'Trex'
299
300 # List of packet sizes to send.
301 # Expand like this: (64, 128, 256, 512, 1024)
302 TRAFFICGEN_PKT_SIZES = (64,)
303
304 TRAFFICGEN_DURATION = 30
305
306 TRAFFICGEN_RFC2544_TESTS = 1
307 TRAFFICGEN_RFC2889_TRIALS = 1
308 TRAFFICGEN_LOSSRATE = 0.0
309
310 ##############################
311 # DUMMY Configuration -- BEGIN
312
313 # By default, dummy traffic generator asks for "measured" values.
314 # Following dictionary allows to preconfigure these values and
315 # to avoid user interaction. It can be useful for automated
316 # integration tests.
317 # Example of values for continuous traffic type:
318 #   TRAFFICGEN_DUMMY_RESULTS{'frames rx': 500000,
319 #                            'frames tx': 500000,
320 #                            'rx rate %': 100,
321 #                            'tx rate %': 100,
322 #                            'frameloss %': 0,
323 #                            'min latency': 1,
324 #                            'max latency': 15,
325 #                            'avg latency': 2.5,
326 #                           }
327 #
328 TRAFFICGEN_DUMMY_RESULTS = {}
329
330 # DUMMY Configuration -- END
331 ############################
332
333 #############################
334 # IXIA Configuration -- BEGIN
335
336 # path to 'ixos' install path
337 TRAFFICGEN_IXIA_ROOT_DIR = '/opt/ixos'
338
339 # network address of IXIA chassis
340 TRAFFICGEN_IXIA_HOST = ''
341
342 TRAFFICGEN_IXIA_CARD = ''
343
344 TRAFFICGEN_IXIA_PORT1 = ''
345
346 TRAFFICGEN_IXIA_PORT2 = ''
347
348 TRAFFICGEN_IXNET_LIB_PATH = '/opt/ixnetwork/lib/IxTclNetwork'
349
350 # IxNetwork host IP address
351 TRAFFICGEN_IXNET_MACHINE = ''
352 TRAFFICGEN_IXNET_PORT = ''
353 TRAFFICGEN_IXNET_USER = ''
354 TRAFFICGEN_IXNET_CHASSIS = ''
355
356 # The result directory on $TRAFFICGEN_IXNET_MACHINE
357 TRAFFICGEN_IXNET_TESTER_RESULT_DIR = ''
358
359 # The result directory on DUT. This needs to map to the same directory
360 # as the previous one
361 TRAFFICGEN_IXNET_DUT_RESULT_DIR = ''
362
363 # directory with 3rd party scripts generated by IXIA tools
364 TRAFFICGEN_IXIA_3RD_PARTY = os.path.join(ROOT_DIR, '3rd_party/ixia')
365
366 # default TCL script, which will be used for IXNETWORK configuration
367 TRAFFICGEN_IXNET_TCL_SCRIPT = 'ixnetrfc2544.tcl'
368
369 # IXIA Configuration -- END
370 ###########################
371
372
373 ###########################################
374 # Spirent TestCenter Configuration -- BEGIN
375
376 # Path to Python 2 executable
377 TRAFFICGEN_STC_PYTHON2_PATH = "/bin/python2.7"
378
379 # Path to the location of the TestCenter files
380 TRAFFICGEN_STC_TESTCENTER_PATH = os.path.join(ROOT_DIR, 'tools/pkt_gen/testcenter')
381
382 # Name of the TestCenter RFC2544 Tput helper python script
383 TRAFFICGEN_STC_RFC2544_TPUT_TEST_FILE_NAME = "testcenter-rfc2544-throughput.py"
384
385 # Name of the Testcenter RFC2899 Tput Helper Python Scripts
386 TRAFFICGEN_STC_RFC2889_TEST_FILE_NAME = "testcenter-rfc2889-rest.py"
387
388 # 2889 Port Locations
389 TRAFFICGEN_STC_RFC2889_LOCATION = ""
390
391 # The address of the Spirent Lab Server to use
392 TRAFFICGEN_STC_LAB_SERVER_ADDR = ""
393
394 # The address of the Spirent License Server in your environment
395 TRAFFICGEN_STC_LICENSE_SERVER_ADDR = ""
396
397 # The address of the TestCenter chassis that holds the east port
398 TRAFFICGEN_STC_EAST_CHASSIS_ADDR = ""
399
400 # The slot number of the card that holds the east port
401 TRAFFICGEN_STC_EAST_SLOT_NUM = ""
402
403 # The port number on the card that holds the east port
404 TRAFFICGEN_STC_EAST_PORT_NUM = ""
405
406 # The address of the TestCenter chassis that holds the west port
407 TRAFFICGEN_STC_WEST_CHASSIS_ADDR = ""
408
409 # The slot number of the card that holds the west port
410 TRAFFICGEN_STC_WEST_SLOT_NUM = ""
411
412 # The port number on the card that holds the west port
413 TRAFFICGEN_STC_WEST_PORT_NUM = ""
414
415 # The friendly name to identify the Spirent Lab Server test session
416 TRAFFICGEN_STC_TEST_SESSION_NAME = "RFC2544 Tput"
417 # The directory to copy results to
418
419 TRAFFICGEN_STC_RESULTS_DIR = os.path.join(ROOT_DIR, "Results")
420 #  The prefix for the CSV results file
421
422 TRAFFICGEN_STC_CSV_RESULTS_FILE_PREFIX = "RFC2544_tput"
423 # The number of trials to execute during the test
424
425 TRAFFICGEN_STC_NUMBER_OF_TRIALS = "1"
426
427 # The duration of each trial executed during the test, in seconds
428 TRAFFICGEN_STC_TRIAL_DURATION_SEC = "60"
429
430 # The traffic pattern between endpoints, BACKBONE, MESH or PAIR
431 TRAFFICGEN_STC_TRAFFIC_PATTERN = "PAIR"
432
433 # The search mode used to find the throughput rate, COMBO, STEP or BINARY
434 TRAFFICGEN_STC_SEARCH_MODE = "BINARY"
435
436 # The learning mode used during the test, AUTO, L2_LEARNING, L3_LERNING, or NONE
437 TRAFFICGEN_STC_LEARNING_MODE = "AUTO"
438
439 # The minimum percent line rate that will be used during the test
440 TRAFFICGEN_STC_RATE_LOWER_LIMIT_PCT = "1.0"
441
442 # The maximum percent line rate that will be used during the test
443 TRAFFICGEN_STC_RATE_UPPER_LIMIT_PCT = "99.0"
444
445 # If SearchMode is BINARY, the percent line rate that will be used at the start of the test
446 TRAFFICGEN_STC_RATE_INITIAL_PCT = "99.0"
447
448 # When SearchMode is STEP, the percent increase in load per step
449 TRAFFICGEN_STC_RATE_STEP_PCT = "10.0"
450
451 # The minimum percentage of load adjustment between iterations
452 TRAFFICGEN_STC_RESOLUTION_PCT = "1.0"
453
454 # The frame size, in bytes
455 TRAFFICGEN_STC_FRAME_SIZE = "256"
456
457 # The maximum acceptable frame loss percent in any iteration
458 TRAFFICGEN_STC_ACCEPTABLE_FRAME_LOSS_PCT = "0.0"
459
460 # The address to assign to the first emulated device interface on the first east port
461 TRAFFICGEN_STC_EAST_INTF_ADDR = ""
462
463 # The gateway address to assign to the first emulated device interface on the first east port
464 TRAFFICGEN_STC_EAST_INTF_GATEWAY_ADDR = ""
465
466 # The address to assign to the first emulated device interface on the first west port
467 TRAFFICGEN_STC_WEST_INTF_ADDR = ""
468
469 # The gateway address to assign to the first emulated device interface on the first west port
470 TRAFFICGEN_STC_WEST_INTF_GATEWAY_ADDR = ""
471
472 # Print additional information to the terminal during the test
473 TRAFFICGEN_STC_VERBOSE = "True"
474
475 # Live Results Required?
476 TRAFFICGEN_STC_LIVE_RESULTS = "True"
477
478 # Live results file name
479 TRAFFICGEN_STC_LIVERESULTS_FILE = "stc-liveresults.dat"
480
481 # Spirent TestCenter Configuration -- END
482 #########################################
483
484 #############################
485 # Xena Configuration -- BEGIN
486
487 # Xena traffic generator connection info
488 TRAFFICGEN_XENA_IP = ''
489 TRAFFICGEN_XENA_PORT1 = ''
490 TRAFFICGEN_XENA_PORT2 = ''
491 TRAFFICGEN_XENA_USER = ''
492 TRAFFICGEN_XENA_PASSWORD = ''
493 TRAFFICGEN_XENA_MODULE1 = ''
494 TRAFFICGEN_XENA_MODULE2 = ''
495
496 # Xena Port IP info
497 TRAFFICGEN_XENA_PORT0_IP = '192.168.199.10'
498 TRAFFICGEN_XENA_PORT0_CIDR = 24
499 TRAFFICGEN_XENA_PORT0_GATEWAY = '192.168.199.1'
500 TRAFFICGEN_XENA_PORT1_IP = '192.168.199.11'
501 TRAFFICGEN_XENA_PORT1_CIDR = 24
502 TRAFFICGEN_XENA_PORT1_GATEWAY = '192.168.199.1'
503
504 # Xena RFC 2544 options
505 # Please reference xena documentation before making changes to these settings
506 TRAFFICGEN_XENA_2544_TPUT_INIT_VALUE = '10.0'
507 TRAFFICGEN_XENA_2544_TPUT_MIN_VALUE = '0.1'
508 TRAFFICGEN_XENA_2544_TPUT_MAX_VALUE = '100.0'
509 TRAFFICGEN_XENA_2544_TPUT_VALUE_RESOLUTION = '0.5'
510 TRAFFICGEN_XENA_2544_TPUT_USEPASS_THRESHHOLD = 'false'
511 TRAFFICGEN_XENA_2544_TPUT_PASS_THRESHHOLD = '0.0'
512
513 # Xena RFC 2544 final verification options
514 TRAFFICGEN_XENA_RFC2544_VERIFY = False
515 TRAFFICGEN_XENA_RFC2544_VERIFY_DURATION = 120 # in seconds
516 # Number of verify attempts before giving up...
517 TRAFFICGEN_XENA_RFC2544_MAXIMUM_VERIFY_ATTEMPTS = 10
518 # Logic for restarting binary search, see documentation for details
519 TRAFFICGEN_XENA_RFC2544_BINARY_RESTART_SMART_SEARCH = True
520
521 # Xena Continuous traffic options
522 # Please reference xena documentation before making changes to these settings
523 TRAFFICGEN_XENA_CONT_PORT_LEARNING_ENABLED = True
524 TRAFFICGEN_XENA_CONT_PORT_LEARNING_DURATION = 3
525
526 # Xena Configuration -- END
527 ###########################
528
529 ###################################################
530 # MoonGen Configuration and Connection Info-- BEGIN
531
532 # Ex: TRAFFICGEN_MOONGEN_HOST_IP_ADDR = "192.10.1.1"
533 TRAFFICGEN_MOONGEN_HOST_IP_ADDR = ''
534 TRAFFICGEN_MOONGEN_USER = ''
535 TRAFFICGEN_MOONGEN_BASE_DIR = ''
536 TRAFFICGEN_MOONGEN_PORTS = ''
537 # Ex. 10 Gbps: TRAFFICGEN_MOONGEN_LINE_SPEED_GBPS = '10'
538 # Today only 10 Gbps is supported
539 TRAFFICGEN_MOONGEN_LINE_SPEED_GBPS = ''
540
541 # MoonGen Configuration and Connection Info-- END
542 #################################################
543
544 ################################################
545 # Trex Configuration and Connection Info-- BEGIN
546
547 # Example: TRAFFICGEN_TREX_HOST_IP_ADDR = "192.10.1.1"
548 # Example: TRAFFICGEN_TREX_USER = 'root'
549 # Example: TRAFFICGEN_TREX_BASE_DIR = '/traffic_gen/trex/'
550 # Example: TRAFFICGEN_TREX_PORT1 = '00:00:00:00:00:00'
551 TRAFFICGEN_TREX_HOST_IP_ADDR = ''
552 TRAFFICGEN_TREX_USER = ''
553 TRAFFICGEN_TREX_BASE_DIR = ''
554 TRAFFICGEN_TREX_PORT1 = ''
555 TRAFFICGEN_TREX_PORT2 = ''
556 # RFC2544 Throughput execution will end after threshold below is reached.
557 # It defines maximal difference between frame rate of successful (i.e. defined
558 # frameloss reached) and unsuccessful (i.e. frameloss exceeded) iterations.
559 TRAFFICGEN_TREX_RFC2544_TPUT_THRESHOLD = 0.05
560 # Latency statistics are collected by separate stream created for each interface.
561 # Parameter below defines frequency of packets used for latency measurement in PPS.
562 # Value 0 will disable latency specific streams.
563 TRAFFICGEN_TREX_LATENCY_PPS = 1000
564 # Enablement of learning packets before sending test traffic
565 TRAFFICGEN_TREX_LEARNING_MODE = True
566 TRAFFICGEN_TREX_LEARNING_DURATION = 5
567 # FOR SR-IOV or multistream layer 2 tests to work with T-Rex enable Promiscuous mode
568 TRAFFICGEN_TREX_PROMISCUOUS = False
569 # Enable below options to force T-rex api to attempt to use speed specified on server
570 # side when pushing traffic. For 40G use 40000. For 25G use 25000.
571 TRAFFICGEN_TREX_FORCE_PORT_SPEED = False
572 TRAFFICGEN_TREX_PORT_SPEED = 10000 # 10G
573 TRAFFICGEN_TREX_LIVE_RESULTS = True
574 TRAFFICGEN_TREX_LC_FILE = "trex-liveresults-counts.dat"
575 TRAFFICGEN_TREX_LE_FILE = "trex-liveresults-errors.dat"
576
577
578 PATHS['trafficgen'] = {
579     'Trex': {
580         'type' : 'src',
581         'src': {
582             'path': os.path.join(ROOT_DIR, 'src/trex/trex/scripts/automation/trex_control_plane/interactive')
583     }
584   }
585 }
586 # TRex validation option for RFC2544
587 TRAFFICGEN_TREX_VERIFICATION_MODE = False
588 TRAFFICGEN_TREX_VERIFICATION_DURATION = 60
589 TRAFFICGEN_TREX_MAXIMUM_VERIFICATION_TRIALS = 10
590 # TREX Configuration and Connection Info-- END
591 ##############################################