X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=nfvbench%2Fcfg.default.yaml;h=da6857156ec4ed5cac41818fad7236cd7c59b04f;hb=e17b4b5b35936c5032cbeb3ccf8efbbc4c59c686;hp=196e40a0655aa285fa959fe5ab58fe235f3f4628;hpb=fc235fbbee490dd19bdadc99dfb6e39587d05bb3;p=nfvbench.git diff --git a/nfvbench/cfg.default.yaml b/nfvbench/cfg.default.yaml old mode 100644 new mode 100755 index 196e40a..da68571 --- a/nfvbench/cfg.default.yaml +++ b/nfvbench/cfg.default.yaml @@ -18,22 +18,24 @@ # Fields that can be over-ridden at the command line are marked with the corresponding # option, e.g. "--interval" +# The OpenStack openrc file to use (must be a valid full pathname). If running +# in a container, this path must be valid in the container. +# +# The only case where this field can be empty is when measuring a system that does not run +# OpenStack or when OpenStack APIs are not accessible or OpenStack APis use is not +# desirable. In that case the EXT service chain must be used. +openrc_file: -# 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 +50,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 +117,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 @@ -129,6 +131,11 @@ sriov: false # Can be overriden by --no-int-config no_int_config: false +# Perform port to port loopback (direct or through switch) +# Should be used with EXT service chain and no ARP (no_arp: true) +# Can be overriden by --l2-loopback +l2_loopback: false + # Resources created by NFVbench will not be removed # Can be overriden by --no-cleanup no_cleanup: false @@ -154,6 +161,15 @@ traffic_generator: # `gateway_ip_addrs_step`: step for generating router gateway sequences. default is 0.0.0.1 # `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) + # `mac_addrs_left` & `mac_addrs_right`: Lists of MAC addresses corresponding to the number of chains + # specified for `service_chain_count`. + # - If both lists are empty the far end MAC of the traffic generator will be used for left and right + # - The MAC addresses will only be used when `service_chain` is EXT and `no_arp` is true. + # - The length of each list must match the number of chains being used. + # - The index of each list must correspond to the chain index to ensure proper pairing. + # - Below is an example of using two chains: + # - mac_addrs_left: ['00:00:00:00:01:00', '00:00:00:00:02:00'] + # - mac_addrs_right: ['00:00:00:00:01:01', '00:00:00:00:02:01'] ip_addrs: ['10.0.0.0/8', '20.0.0.0/8'] ip_addrs_step: 0.0.0.1 tg_gateway_ip_addrs: ['1.1.0.100', '2.2.0.100'] @@ -162,6 +178,8 @@ traffic_generator: gateway_ip_addrs_step: 0.0.0.1 udp_src_port: udp_dst_port: + mac_addrs_left: + mac_addrs_right: # Traffic Generator Profiles # In case you have multiple testbeds or traffic generators, @@ -172,6 +190,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 +205,7 @@ traffic_generator: tool: TRex ip: 127.0.0.1 cores: 3 + software_mode: false interfaces: - port: 0 switch_port: @@ -195,9 +218,6 @@ traffic_generator: # ----------------------------------------------------------------------------- # These variables are not likely to be changed -# The openrc file -openrc_file: - # Number of seconds to wait for VMs to pass traffic in both directions check_traffic_time_sec: 200 @@ -216,8 +236,8 @@ loop_vm_name: 'nfvbench-loop-vm' # - 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 +# +# 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 @@ -258,20 +278,25 @@ 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 generated and sent by the traffic generator -# Leave empty you do not want the traffic generator to insert the VLAN tag. This is +# 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). -# Default behavior of VLAN tagging is to retrieve VLAN IDs from OpenStack networks provided above. -# In case of VxLAN this setting is ignored and only vtep_vlan from traffic generator profile is used. +# Default behavior (empty list) is to retrieve VLAN IDs from OpenStack networks described in external_networks. +# This property is ignored in the case of l2-loopback # Example: [1998, 1999] vlans: [] @@ -372,20 +397,37 @@ debug: false # Defaults to disabled log_file: -# When enabled, all logs will be sent to a fluentd server at the requested IP and port -# The fluentd "tag" and "label" fields for every message will be set to "nfvbench" +# 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 (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: - # IP address of the server, defaults to loopback - ip: 127.0.0.1 + # 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: - # port # to use, by default, use the default fluentd forward port - port: 24224 + # 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: