Multiple bugfixes for NFVbench
[nfvbench.git] / nfvbench / cfg.default.yaml
index 8766d53..bc8921d 100644 (file)
 # option, e.g. "--interval"
 
 
-# Name of the image to use for launching the loopback VMs. This name must be
-# the exact same name used in OpenStack (as shown from 'nova image-list')
-# Can be overridden by --image or -i
-image_name: 'nfvbenchvm'
 # Forwarder to use in nfvbenchvm image. Available options: ['vpp', 'testpmd']
 vm_forwarder: testpmd
 
-# NFVbench can automatically upload a VM image if the image named by
-# image_name is missing, for that you need to specify a file location where
-# the image can be retrieved
-#
-# To upload the image as a file, download it to preferred location
-# and prepend it with file:// like in this example:
-# file://<location of the image>
-# NFVbench (the image must have the same name as defined in image_name above).
+# By default (empty) NFVBench will try to locate a VM image file
+# from the package root directory named "nfvbench-<version>.qcow2" and
+# upload that file. The image name will be "nfvbench-<version>"
+# This can be overridden by specifying here a pathname of a file
+# that follows the same naming convention.
+# In most cases, this field should be left empty as the packaging should
+# include the proper VM image file
 vm_image_file:
 
 # Name of the flavor to use for the loopback VMs
@@ -48,7 +43,7 @@ flavor:
   # Number of vCPUs for the flavor
   vcpus: 2
   # Memory for the flavor in MB
-  ram: 8192
+  ram: 4096
   # Size of local disk in GB
   disk: 0
   # metadata are supported and can be added if needed, optional
@@ -115,7 +110,7 @@ service_chain_count: 1
 # value was configured. Must be even.
 # Every flow has packets with different IPs in headers
 # Can be overriden by --flow-count
-flow_count: 2
+flow_count: 10000
 
 # Used by PVVP chain to spawn VMs on different compute nodes
 # Can be overriden by --inter-node
@@ -172,6 +167,10 @@ traffic_generator:
     # `tool`: Traffic generator tool to be used (currently supported is `TRex`).
     # `ip`: IP address of the traffic generator.
     # `cores`: Specify the number of cores for TRex traffic generator. ONLY applies to trex-local.
+    # `software_mode`: Advice TRex to use software mode which provides the best compability. But
+    #                  note that TRex will not use any hardware acceleration technology under
+    #                  software mode, therefore the performance of TRex will be significantly
+    #                  lower. ONLY applies to trex-local.
     # `interfaces`: Configuration of traffic generator interfaces.
     # `interfaces.port`: The port of the traffic generator to be used (leave as 0 and 1 resp.)
     # `interfaces.switch_port`: Leave empty (reserved for advanced use cases)
@@ -183,6 +182,7 @@ traffic_generator:
           tool: TRex
           ip: 127.0.0.1
           cores: 3
+          software_mode: false
           interfaces:
             - port: 0
               switch_port:
@@ -198,6 +198,9 @@ traffic_generator:
 # The openrc file
 openrc_file:
 
+# Number of seconds to wait for VMs to pass traffic in both directions
+check_traffic_time_sec: 200
+
 # General retry count
 generic_retry_count: 100
 
@@ -255,14 +258,20 @@ internal_networks:
         segmentation_id:
         physical_network:
 
+# In the scenario of PVVP + SRIOV, there is choice of how the traffic will be
+# handled in the middle network. The default (false) will use vswitch, while
+# SRIOV can be used by toggling below setting.
+use_sriov_middle_net: false
+
 # EXT chain only. Names of edge networks which will be used to send traffic via traffic generator.
 external_networks:
     left: 'nfvbench-net0'
     right: 'nfvbench-net1'
 
-# Use 'true' to enable VLAN tagging of packets coming from traffic generator
-# Leave empty if VLAN tagging is enabled on switch or if you want to hook directly to a NIC
-# Else by default is set to true (which is the nominal use case with TOR and trunk mode to Trex)
+# Use 'true' to enable VLAN tagging of packets generated and sent by the traffic generator
+# Leave empty you do not want the traffic generator to insert the VLAN tag. This is 
+# needed for example if VLAN tagging is enabled on switch (trunk mode) or if you want to hook directly to a NIC
+# By default is set to true (which is the nominal use case with TOR and trunk mode to Trex)
 vlan_tagging: true
 
 # Specify only when you want to override VLAN IDs used for tagging with own values (exactly 2).
@@ -330,7 +339,7 @@ duration_sec: 60
 # Can be overridden by --interval
 interval_sec: 10
 
-# NDR / PDR configuration ZZ
+# NDR / PDR configuration
 measurement:
     # Drop rates represent the ratio of dropped packet to the total number of packets sent.
     # Values provided here are percentages. A value of 0.01 means that at most 0.01% of all
@@ -340,8 +349,13 @@ measurement:
     NDR: 0.001
     # Partial Drop Rate in percentage; NDR should always be less than PDR
     PDR: 0.1
-    # The accuracy of NDR and PDR load percentiles; The actual load percentile that match NDR
-    # or PDR should be within `load_epsilon` difference than the one calculated.
+    # The accuracy of NDR and PDR as a percnetage of line rate; The exact NDR
+    # or PDR should be within `load_epsilon` line rate % from the one calculated.
+    # For example, with a value 0.1, and a line rate of 10Gbps, the accuracy
+    # of NDR and PDR will be within 0.1% Of 10Gbps or 10Mbps.
+    # The lower the value the more iterations and the longer it will take to find the NDR/PDR.
+    # In practice, due to the precision of the traffic generator it is not recommended to
+    # set it to lower than 0.1
     load_epsilon: 0.1
 
 # Location where to store results in a JSON format. Must be container specific path.
@@ -359,6 +373,41 @@ std_json:
 # Can be overriden by --debug
 debug: false
 
+# Set to a valid path name if logging to file is to be enabled
+# Defaults to disabled
+log_file:
+
+# When enabled, all results and/or logs will be sent to a fluentd servers at the requested IPs and ports
+# A list of one or more fluentd servers identified by their IPs and  port numbers should be given.
+# For each recipient it is possible to enable both sending logs and performance
+# results, or enable either logs or performance results. For enabling logs or results logging_tag or
+# result_tag should be set.
+
+fluentd:
+      # by default (logging_tag is empty) nfvbench log messages are not sent to fluentd
+      # to enable logging to fluents, specify a valid fluentd tag name to be used for the
+      # log records
+    - logging_tag:
+
+      # by default (result_tag is empty) nfvbench results are not sent to fluentd
+      # to enable sending nfvbench results to fluentd, specify a valid fluentd tag name
+      # to be used for the results records, which is different than logging_tag
+      result_tag:
+
+      # IP address of the server, defaults to loopback
+      ip: 127.0.0.1
+
+      # port # to use, by default, use the default fluentd forward port
+      port: 24224
+
+      # by default (logging_tag is empty) nfvbench log messages are not sent to fluentd
+      # to enable logging to fluents, specify a valid fluentd tag name to be used for the
+      # log records
+
 # Module and class name of factory which will be used to provide classes dynamically for other components.
 factory_module: 'nfvbench.factory'
 factory_class: 'BasicFactory'
+
+# Custom label added for every perf record generated during this run.
+# Can be overriden by --user-label
+user_label: