X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=nfvbench%2Fcfg.default.yaml;h=83dd5ac430015fdcaa63c37e5a5cfb92ce7796b3;hb=2166a5e747c76a61b54b71c880b75c8f9cd5f948;hp=8de983fb9c856e98716b7791825739c224f5f938;hpb=70e642c54ffbf50e860e87de3bdcb8fa65d8bac4;p=nfvbench.git diff --git a/nfvbench/cfg.default.yaml b/nfvbench/cfg.default.yaml index 8de983f..83dd5ac 100644 --- a/nfvbench/cfg.default.yaml +++ b/nfvbench/cfg.default.yaml @@ -19,21 +19,16 @@ # 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:// -# 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-.qcow2" and +# upload that file. The image name will be "nfvbench-" +# 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 @@ -198,6 +193,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 @@ -207,39 +205,63 @@ generic_poll_sec: 2 # name of the loop VM loop_vm_name: 'nfvbench-loop-vm' -# Default names, subnets and CIDRs for internal networks used by the script. +# Default names, subnets and CIDRs for PVP/PVVP networks # If a network with given name already exists it will be reused. +# - PVP only uses left and right +# - PVVP uses left, middle and right +# - for EXT chains, this structure is not relevant - refer to external_networks # Otherwise a new internal network will be created with that name, subnet and CIDR. +# +# segmentation_id can be set to enforce a specific VLAN id - by default (empty) the VLAN id +# will be assigned by Neutron. +# Must be unique for each network +# physical_network can be set to pick a specific phsyical network - by default (empty) the +# default physical network will be picked +# In the case of SR-IOV, both physical_network and segmentation ID must be provided +# For example to setup PVP using 2 different SR-IOV ports, you must put the appropriate physnet +# names under left.physical_network and right.physical_network. +# Example of override configuration to force PVP to run on 2 SRIOV ports (phys_sriov0 and phys_sriov1) +# using VLAN ID 2000 and 2001: +# internal_networks: +# left: +# segmentation_id: 2000 +# physical_network: phys_sriov0 +# right: +# segmentation_id: 2001 +# physical_network: phys_sriov1 + internal_networks: - # Required only when segmentation_id specified - physical_network: left: name: 'nfvbench-net0' subnet: 'nfvbench-subnet0' cidr: '192.168.1.0/24' network_type: 'vlan' segmentation_id: + physical_network: right: name: 'nfvbench-net1' subnet: 'nfvbench-subnet1' cidr: '192.168.2.0/24' network_type: 'vlan' segmentation_id: + physical_network: middle: name: 'nfvbench-net2' subnet: 'nfvbench-subnet2' cidr: '192.168.3.0/24' network_type: 'vlan' segmentation_id: + physical_network: # 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). @@ -307,7 +329,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 @@ -317,8 +339,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. @@ -336,6 +363,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: \ No newline at end of file