Merge "teststeps: Improvements of step driven TC"
[vswitchperf.git] / conf / 03_traffic.conf
index 4931e97..3833a04 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 2015 Intel Corporation.
+# Copyright 2015-2017 Intel Corporation.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -39,7 +39,8 @@ LOG_FILE_TRAFFIC_GEN = 'traffic-gen.log'
 #    'multistream'   - Defines number of flows simulated by traffic generator.
 #                      Value 0 disables multistream feature
 #                      Data type: int
-#                      Supported values: 0-65535
+#                      Supported values: 0-65536 for 'L4' stream type
+#                                        unlimited for 'L2' and 'L3' stream types
 #                      Default value: 0.
 #    'stream_type'   - Stream type is an extension of the "multistream" feature.
 #                      If multistream is disabled, then stream type will be
@@ -53,10 +54,11 @@ LOG_FILE_TRAFFIC_GEN = 'traffic-gen.log'
 #                                of selected transport protocol
 #                      Default value: "L4".
 #    'pre_installed_flows'
-#                   -  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.
+#                   -  Pre-installed flows is an extension of the "multistream"
+#                      feature. If enabled, it will implicitly insert a flow
+#                      for each stream. If multistream is disabled, then
+#                      pre-installed flows will be ignored.
+#                      Note: It is supported only for p2p deployment scenario.
 #                      Data type: str
 #                      Supported values:
 #                         "Yes" - flows will be inserted into OVS
@@ -69,6 +71,18 @@ LOG_FILE_TRAFFIC_GEN = 'traffic-gen.log'
 #                         "IP"   - flow is defined by ingress ports
 #                                  and src and dst IP addresses
 #                      Default value: "port"
+#    'flow_control'  - Controls flow control support by traffic generator.
+#                      Supported values:
+#                         False  - flow control is disabled
+#                         True   - flow control is enabled
+#                      Default value: False
+#                      Note: Currently it is supported by IxNet only
+#    'learning_frames' - Controls learning frames support by traffic generator.
+#                      Supported values:
+#                         False  - learning freames are disabled
+#                         True   - learning freames are enabled
+#                      Default value: True
+#                      Note: Currently it is supported by IxNet only
 #    'l2'            - A dictionary with l2 network layer details. Supported
 #                      values are:
 #        'srcmac'    - Specifies source MAC address filled by traffic generator.
@@ -86,6 +100,10 @@ LOG_FILE_TRAFFIC_GEN = 'traffic-gen.log'
 #                      Default value: 64
 #    'l3'            - A dictionary with l3 network layer details. Supported
 #                      values are:
+#        'enabled'   - Specifies if l3 layer should be enabled or disabled.
+#                      Data type: bool
+#                      Default value: True
+#                      NOTE: Supported only by IxNet trafficgen class
 #        'srcip'     - Specifies source MAC address filled by traffic generator.
 #                      NOTE: It can be modified by vsperf in some scenarios.
 #                      Data type: str
@@ -101,6 +119,10 @@ LOG_FILE_TRAFFIC_GEN = 'traffic-gen.log'
 #                      Default value: "udp".
 #    'l4'            - A dictionary with l4 network layer details. Supported
 #                      values are:
+#        'enabled'   - Specifies if l4 layer should be enabled or disabled.
+#                      Data type: bool
+#                      Default value: True
+#                      NOTE: Supported only by IxNet trafficgen class
 #        'srcport'   - Specifies source port of selected transport protocol.
 #                      NOTE: It can be modified by vsperf in some scenarios.
 #                      Data type: int
@@ -133,18 +155,21 @@ TRAFFIC = {
     'stream_type' : 'L4',
     'pre_installed_flows' : 'No',           # used by vswitch implementation
     'flow_type' : 'port',                   # used by vswitch implementation
-
+    'flow_control' : False,                 # supported only by IxNet
+    'learning_frames' : True,               # supported only by IxNet
     'l2': {
         'framesize': 64,
         'srcmac': '00:00:00:00:00:00',
         'dstmac': '00:00:00:00:00:00',
     },
     'l3': {
+        'enabled': True,
         'proto': 'udp',
         'srcip': '1.1.1.1',
         'dstip': '90.90.90.90',
     },
     'l4': {
+        'enabled': True,
         'srcport': 3000,
         'dstport': 3001,
     },
@@ -166,6 +191,7 @@ TRAFFICGEN = 'Dummy'
 #TRAFFICGEN = 'Ixia'
 #TRAFFICGEN = 'Xena'
 #TRAFFICGEN = 'Moongen'
+#TRAFFICGEN = 'Trex'
 
 # List of packet sizes to send.
 # Expand like this: (64, 128, 256, 512, 1024)
@@ -374,6 +400,14 @@ TRAFFICGEN_XENA_2544_TPUT_VALUE_RESOLUTION = '0.5'
 TRAFFICGEN_XENA_2544_TPUT_USEPASS_THRESHHOLD = 'false'
 TRAFFICGEN_XENA_2544_TPUT_PASS_THRESHHOLD = '0.0'
 
+# Xena RFC 2544 final verification options
+TRAFFICGEN_XENA_RFC2544_VERIFY = False
+TRAFFICGEN_XENA_RFC2544_VERIFY_DURATION = 120 # in seconds
+# Number of verify attempts before giving up...
+TRAFFICGEN_XENA_RFC2544_MAXIMUM_VERIFY_ATTEMPTS = 10
+# Logic for restarting binary search, see documentation for details
+TRAFFICGEN_XENA_RFC2544_BINARY_RESTART_SMART_SEARCH = True
+
 # Xena Continuous traffic options
 # Please reference xena documentation before making changes to these settings
 TRAFFICGEN_XENA_CONT_PORT_LEARNING_ENABLED = True
@@ -395,4 +429,43 @@ TRAFFICGEN_MOONGEN_PORTS = ''
 TRAFFICGEN_MOONGEN_LINE_SPEED_GBPS = ''
 
 # MoonGen Configuration and Connection Info-- END
-###################################################
+#################################################
+
+################################################
+# Trex Configuration and Connection Info-- BEGIN
+
+# Example: TRAFFICGEN_TREX_HOST_IP_ADDR = "192.10.1.1"
+# Example: TRAFFICGEN_TREX_USER = 'root'
+# Example: TRAFFICGEN_TREX_BASE_DIR = '/traffic_gen/trex/'
+# Example: TRAFFICGEN_TREX_PORT1 = '00:00:00:00:00:00'
+TRAFFICGEN_TREX_HOST_IP_ADDR = ''
+TRAFFICGEN_TREX_USER = ''
+TRAFFICGEN_TREX_BASE_DIR = ''
+TRAFFICGEN_TREX_PORT1 = ''
+TRAFFICGEN_TREX_PORT2 = ''
+# RFC2544 Throughput execution will end after threshold below is reached.
+# It defines maximal difference between frame rate of successful (i.e. defined
+# frameloss reached) and unsuccessful (i.e. frameloss exceeded) iterations.
+TRAFFICGEN_TREX_RFC2544_TPUT_THRESHOLD = 0.05
+# Latency statistics are collected by separate stream created for each interface.
+# Parameter below defines frequency of packets used for latency measurement in PPS.
+# Value 0 will disable latency specific streams.
+TRAFFICGEN_TREX_LATENCY_PPS = 1000
+# Example 10 Gbps: TRAFFICGEN_TREXINE_SPEED_GBPS = '10'
+# Today only 10 Gbps is supported
+TRAFFICGEN_TREX_LINE_SPEED_GBPS = '10'
+# Enable of learning packets before sending test traffic
+TRAFFICGEN_TREX_LEARNING_MODE = True
+TRAFFICGEN_TREX_LEARNING_DURATION = 5
+# FOR SR-IOV or multistream layer 2 tests to work with T-Rex enable Promiscuous mode
+TRAFFICGEN_TREX_PROMISCUOUS = False
+PATHS['trafficgen'] = {
+    'Trex': {
+        'type' : 'src',
+        'src': {
+            'path': os.path.join(ROOT_DIR, 'src/trex/trex/scripts/automation/trex_control_plane/stl')
+    }
+  }
+}
+# TREX Configuration and Connection Info-- END
+##############################################