# 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:
# Forwarder to use in nfvbenchvm image. Available options: ['vpp', 'testpmd']
vm_forwarder: testpmd
# 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
# `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']
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,
# `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)
tool: TRex
ip: 127.0.0.1
cores: 3
+ software_mode: false
interfaces:
- port: 0
switch_port:
# -----------------------------------------------------------------------------
# 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
# - 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
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: []