aboutsummaryrefslogtreecommitdiffstats
path: root/conf/03_traffic.conf
diff options
context:
space:
mode:
authorMartin Klozik <martinx.klozik@intel.com>2016-12-14 14:02:43 +0000
committerMartin Klozik <martinx.klozik@intel.com>2017-01-16 08:50:02 +0000
commit4481df385ac03ece015ccb429201f96189dc5ae2 (patch)
treea959a804e7b1efd663dbb24a447609421e339211 /conf/03_traffic.conf
parentcafcb9f24b422a4b3a0b19ba00c83fe2819dcbaa (diff)
traffic: Configurable traffic details
Traffic generated by traffic generator is based on default values and their modifications specific to particular testing scenario. Traffic default values were defined inside VSPERF code and it was not possible to change them. This patch introduces new TRAFFIC dictionary inside 03_traffic.conf. Thus user can modify any of TRAFFIC values either in configuration file or by CLI or by 'Parameters' section of testcase definition. Following CLI options were obsoleted by this patch: 'bidirectional', 'traffic_type', 'iload', 'multistream', 'stream_type' and 'pre-installed_flows' Following CLI option was renamed to be consistent with other options: 'tunnel_type' => 'TUNNEL_TYPE' Following sections of testcase definition were obsoleted: "Traffic Type", "biDirectional", "MultiStream", "Stream Type", "Pre-installed Flows", "Flow Type" and "iLoad" New TRAFFIC dictionary should be used instead of old CLI options and old testcase definition sections. Testcase definitons, yardstick sample testcases and documentation were updated to reflect configuration changes. JIRA: VSPERF-433 Change-Id: I03a388c766491d5688e715f6d7b51e8e0377ec27 Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Bill Michalowski <bmichalo@redhat.com> Reviewed-by: Antonio Fischetti <antonio.fischetti@intel.com> Reviewed-by: <sridhar.rao@spirent.com>
Diffstat (limited to 'conf/03_traffic.conf')
-rw-r--r--conf/03_traffic.conf137
1 files changed, 137 insertions, 0 deletions
diff --git a/conf/03_traffic.conf b/conf/03_traffic.conf
index 87210b8d..72324660 100644
--- a/conf/03_traffic.conf
+++ b/conf/03_traffic.conf
@@ -19,6 +19,143 @@
# log file for all traffic generator related commands
LOG_FILE_TRAFFIC_GEN = 'traffic-gen.log'
+# TRAFFIC dictionary defines traffic parameters used by all traffic generators.
+# Detailed description of TRAFFIC dictionary items follows:
+#
+# 'traffic_type' - One of the supported traffic types.
+# E.g. rfc2544_throughput, rfc2544_back2back
+# or rfc2544_continuous
+# Data type: str
+# Default value: "rfc2544_throughput".
+# 'bidir' - Specifies if generated traffic will be full-duplex (True)
+# or half-duplex (False)
+# Data type: str
+# Supported values: "True", "False"
+# Default value: "False".
+# 'frame_rate' - Defines desired percentage of frame rate used during
+# continuous stream tests.
+# Data type: int
+# Default value: 100.
+# 'multistream' - Defines number of flows simulated by traffic generator.
+# Value 0 disables multistream feature
+# Data type: int
+# Supported values: 0-65535
+# Default value: 0.
+# 'stream_type' - Stream type is an extension of the "multistream" feature.
+# If multistream is disabled, then stream type will be
+# ignored. Stream type defines ISO OSI network layer used
+# for simulation of multiple streams.
+# Data type: str
+# Supported values:
+# "L2" - iteration of destination MAC address
+# "L3" - iteration of destination IP address
+# "L4" - iteration of destination port
+# 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.
+# Data type: str
+# Supported values:
+# "Yes" - flows will be inserted into OVS
+# "No" - flows won't be inserted into OVS
+# Default value: "No".
+# 'flow_type' - Defines flows complexity.
+# Data type: str
+# Supported values:
+# "port" - flow is defined by ingress ports
+# "IP" - flow is defined by ingress ports
+# and src and dst IP addresses
+# Default value: "port"
+# 'l2' - A dictionary with l2 network layer details. Supported
+# values are:
+# 'srcmac' - Specifies source MAC address filled by traffic generator.
+# NOTE: It can be modified by vsperf in some scenarios.
+# Data type: str
+# Default value: "00:00:00:00:00:00".
+# 'dstmac' - Specifies destination MAC address filled by traffic generator.
+# NOTE: It can be modified by vsperf in some scenarios.
+# Data type: str
+# Default value: "00:00:00:00:00:00".
+# 'framesize' - Specifies default frame size. This value should not be
+# changed directly. It will be overridden during testcase
+# execution by values specified by list TRAFFICGEN_PKT_SIZES.
+# Data type: int
+# Default value: 64
+# 'l3' - A dictionary with l3 network layer details. Supported
+# values are:
+# 'srcip' - Specifies source MAC address filled by traffic generator.
+# NOTE: It can be modified by vsperf in some scenarios.
+# Data type: str
+# Default value: "1.1.1.1".
+# 'dstip' - Specifies destination MAC address filled by traffic generator.
+# NOTE: It can be modified by vsperf in some scenarios.
+# Data type: str
+# Default value: "90.90.90.90".
+# 'proto' - Specifies deflaut protocol type.
+# Please check particular traffic generator implementation
+# for supported protocol types.
+# Data type: str
+# Default value: "udp".
+# 'l4' - A dictionary with l4 network layer details. Supported
+# values are:
+# 'srcport' - Specifies source port of selected transport protocol.
+# NOTE: It can be modified by vsperf in some scenarios.
+# Data type: int
+# Default value: 3000
+# 'dstport' - Specifies destination port of selected transport protocol.
+# NOTE: It can be modified by vsperf in some scenarios.
+# Data type: int
+# Default value: 3001
+# 'vlan' - A dictionary with vlan encapsulation details. Supported
+# values are:
+# 'enabled' - Specifies if vlan encapsulation should be enabled or
+# disabled.
+# Data type: bool
+# Default value: False
+# 'id' - Specifies vlan id.
+# Data type: int (NOTE: must fit to 12 bits)
+# Default value: 0
+# 'priority' - Specifies a vlan priority (PCP header field).
+# Data type: int (NOTE: must fit to 3 bits)
+# Default value: 0
+# 'cfi' - Specifies if frames can or cannot be dropped during
+# congestion (DEI header field).
+# Data type: int (NOTE: must fit to 1 bit)
+# Default value: 0
+TRAFFIC = {
+ 'traffic_type' : 'rfc2544_throughput',
+ 'frame_rate' : 100,
+ 'bidir' : 'True', # will be passed as string in title format to tgen
+ 'multistream' : 0,
+ 'stream_type' : 'L4',
+ 'pre_installed_flows' : 'No', # used by vswitch implementation
+ 'flow_type' : 'port', # used by vswitch implementation
+
+ 'l2': {
+ 'framesize': 64,
+ 'srcmac': '00:00:00:00:00:00',
+ 'dstmac': '00:00:00:00:00:00',
+ },
+ 'l3': {
+ 'proto': 'udp',
+ 'srcip': '1.1.1.1',
+ 'dstip': '90.90.90.90',
+ },
+ 'l4': {
+ 'srcport': 3000,
+ 'dstport': 3001,
+ },
+ 'vlan': {
+ 'enabled': False,
+ 'id': 0,
+ 'priority': 0,
+ 'cfi': 0,
+ },
+}
+
#path to traffic generators directory.
TRAFFICGEN_DIR = os.path.join(ROOT_DIR, 'tools/pkt_gen')