NFVBENCH-178: Add a 'debug_mask' configuration parameter for development needs
[nfvbench.git] / nfvbench / cfg.default.yaml
old mode 100755 (executable)
new mode 100644 (file)
index 97f98cd..ac31d05
@@ -163,11 +163,17 @@ traffic_generator:
     # `ip_addrs_step`: step for generating IP sequence. Use "random" for random patterns, default is 0.0.0.1.
     ip_addrs: ['10.0.0.0/8', '20.0.0.0/8']
     ip_addrs_step: 0.0.0.1
+
+    #'ip_src_static': an attribute to precise the state of source IP during the generation of traffic, It indicates whether
+    #                the IP source variate or remain constant. Use True for constant IP and  False for varying IPs.
+    #                default value is  True
+    ip_src_static: True
+
     # `tg_gateway_ip_addrs` base IP for traffic generator ports in the left and right networks to the VNFs
     #                       chain count consecutive IP addresses spaced by tg_gateway_ip_addrs_step will be used
     # `tg_gateway_ip_addrs__step`: step for generating traffic generator gateway sequences. default is 0.0.0.1
-    tg_gateway_ip_addrs: ['1.1.0.100', '2.2.0.100']
-    tg_gateway_ip_cidrs: ['1.1.0.0/24','2.2.0.0/24']
+    tg_gateway_ip_addrs: ['192.168.1.100', '192.168.2.100']
+    tg_gateway_ip_cidrs: ['192.168.1.0/24','192.168.2.0/24']
     tg_gateway_ip_addrs_step: 0.0.0.1
     # `gateway_ip_addrs`: base IPs of VNF router gateways (left and right), quantity used depends on chain count
     #                     must correspond to the public IP on the left and right networks
@@ -175,12 +181,29 @@ traffic_generator:
     #                     must be the same subnet but not same IP as tg_gateway_ip_addrs.
     #                     chain count consecutive IP addresses spaced by gateway_ip_addrs_step will be used
     # `gateway_ip_addrs_step`: step for generating router gateway sequences. default is 0.0.0.1
-    gateway_ip_addrs: ['1.1.0.2', '2.2.0.2']
+    gateway_ip_addrs: ['192.168.1.1', '192.168.2.1']
     gateway_ip_addrs_step: 0.0.0.1
+
+    # UDP DEFINED VARIABLES
+    # TRex pick default UDP port (53) but the range of UDP source and destination ports are also
+    # defined from configuration file by using the following attributes:
+    #
     # `udp_src_port`: the source port for sending UDP traffic, default is picked by TRex (53)
     # `udp_dst_port`: the destination port for sending UDP traffic, default is picked by TRex (53)
+    # `udp_src_port` and `udp_dst_port` can be defined by a single port or a range. Example:
+    #   udp_src_port: 80
+    #   udp_dst_port: ['1024','65000']
+    # `udp_port_step`: the step between two generated ports, default is equal to '1'
+    #
+    # NOTICE:
+    # Following TRex functionalities, incrementation and decrementation of source port and destination
+    # port values occur simultaneously.
+    # So, in order to reach the highest possible number of packets, it's recommended that the range of source ports
+    # minus the range of destination ports should be different of 1
+    # i.e:  |range[source_port] - range[destination_port]| = 1
     udp_src_port:
     udp_dst_port:
+    udp_port_step: '1'
 
     # VxLAN only: optionally specify what VLAN tag to use for the VxLAN overlay
     # This is used if the vxlan tunnels are running on a specific VLAN.
@@ -308,6 +331,26 @@ restart: false
 # if empty defaults to the one specified in generator_profile.cores
 cores:
 
+# Simpler override for the interface speed
+# if empty, the current generator_profile.intf_speed parameter applies
+# if value = 'auto' the auto-detection is forced
+intf_speed:
+
+# 'cores' and 'intf_speed' parameters can be overriden themselves
+# by respective options --cores and --intf-speed on the command-line.
+
+# By default, the real ports line rate is detected and used as
+# the reference for computing the theoretical maximum traffic load (100%).
+# Note that specifying 'intf_speed' allows to artificially lower this
+# reference while not modifying the actual transmission bit rate.
+
+# The values of the following parameters are ignored on entry
+# they are defined here in order to appear in the reported configuration.
+# They will reflect the value active at run-time (after overriding or detection)
+cores_used:
+intf_speed_used:
+intf_speed_detected:
+
 # Add cache size in packet generation for TRex field engine (FE).
 # More information for TRex performance:
 # https://trex-tgn.cisco.com/trex/doc/trex_stateless.html#_tutorial_field_engine_significantly_improve_performance
@@ -315,6 +358,8 @@ cores:
 # If cache_size < 0: cache_size will be set to flow count value
 cache_size: 0
 # The cache size is actually limited by the number of 64B mbufs configured in the trex platform configuration (see Trex manual 6.2.2. Memory section configuration)
+# Note that the resulting value is finally clipped to 10000, whatever the requested size is (by design limitation).
+
 # Trex will use 1 x 64B mbuf per pre-built cached packet, assuming 1 pre-built cached packet per flow, it means for very large number of flows, the number of configured mbuf_64 will need to be set accordingly.
 mbuf_64:
 
@@ -325,6 +370,10 @@ mbuf_factor: 0.2
 # hdrh is enabled by default and requires TRex v2.58 or higher
 disable_hdrh: false
 
+# List of latency percentiles values returned using hdrh
+# elements should be int or float between 0.0 and 100.0
+lat_percentiles: [25, 75, 99]
+
 # -----------------------------------------------------------------------------
 # These variables are not likely to be changed
 
@@ -781,15 +830,28 @@ factory_class: 'BasicFactory'
 # Can be overriden by --user-label
 user_label:
 
-
-# THESE FIELDS SHOULD BE USED VERY RARELY
+# Custom information to be passed to results post-processing,
+# they will be included as is in the json report 'config' branch.
+# Useful for documenting or automating further treatments.
+# The value is any yaml object (=> open usage) - example:
+# |user_info:
+# |    status: explore
+# |    description:
+# |        generator: VM
+# |        attachment: direct
+# |        target: lab-pf
+# |        switch: qfx3500
+# Keys may be merged/overriden using the --user-info command line option
+# (the command-line parameter value is expressed as a json object string)
+user_info:
+
+# THESE FIELDS SHOULD BE USED VERY RARELY OR ON PURPOSE
 
 # Skip vswitch configuration and retrieving of stats
 # Can be overriden by --no-vswitch-access
 # Should be left to the default value (false)
 no_vswitch_access: false
 
-
 # Enable service mode for trafic capture from TRex console (for debugging purpose)
 # Can be overriden by --service-mode
 # Should be left to the default value (false)
@@ -809,3 +871,9 @@ no_latency_stats: false
 # Can be overriden by --no-latency-stream
 # Should be left to the default value (false)
 no_latency_streams: false
+
+# General purpose register (debugging flags)
+# Can be overriden by --debug-mask
+# Designed for development needs
+# The hexadecimal notation (0x...) is accepted.
+debug_mask: 0x00000000