NFVBENCH-117 Streamline VxLAN vni config and use auto-indexing
[nfvbench.git] / nfvbench / cfg.default.yaml
index 3138420..fa3d807 100755 (executable)
@@ -157,13 +157,6 @@ traffic_generator:
     # Leave empty if there is no VLAN tagging required, or specify the VLAN id to use
     # for all VxLAN tunneled traffic
     vtep_vlan:
-    # VxLAN only: VNI range for VXLAN encapsulation [start_vni, end_vni]   [5000, 6000]
-    # VNI can have a value from range 5000-16777216
-    # For PVP, VNIs are allocated consecutively - 2 per each chain
-    # Chain 1: 5000, 5001; Chain 2: 5002, 5003; Chain X: 5000+x, 5000+x+1
-    # For PVVP scenario VNIs allocated consecutively - 3 per each chain
-    # Chain 1: 5000, 5001, 5002; Chain 2: 5003, 5004, 5005; Chain X: 5000+x, 5000+x+1, 5000+x+1
-    vnis:
     # VxLAN only: local/source vteps IP addresses for port 0 and 1 ['10.1.1.230', '10.1.1.231']
     src_vteps:
     # VxLAN only: remote IP address of the remote VTEPs that terminate all tunnels originating from local VTEPs
@@ -229,7 +222,7 @@ traffic_generator:
         - name: trex-local
           tool: TRex
           ip: 127.0.0.1
-          cores: 3
+          cores: 4
           software_mode: false
           interfaces:
             - port: 0
@@ -240,6 +233,13 @@ traffic_generator:
               switch_port:
           intf_speed:
 
+# Simpler override for trex core count and mbuf multilier factor
+# if empty defaults to the one specified in generator_profile.cores
+cores:
+
+# mbuffer ratio to use for TRex (see TRex documentation for more details)
+mbuf_factor: 0.2
+
 # -----------------------------------------------------------------------------
 # These variables are not likely to be changed
 
@@ -255,21 +255,28 @@ generic_poll_sec: 2
 # name of the loop VM
 loop_vm_name: 'nfvbench-loop-vm'
 
-# Default names, subnets and CIDRs for PVP/PVVP networks
+# Default names, subnets and CIDRs for PVP/PVVP networks (openstack only)
+#
 # 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
+# network_type must be 'vlan' (for VLAN and SRIOV) or 'vxlan' (for VxLAN)
+#              all 3 networks must use the same network type in this release
+# segmentation_id can be set to enforce a specific segmentation id (vlan ID or VNI if vxlan)
+#                 by default (empty) the segmentation id will be assigned by Neutron.
+#                 If specified, it must be unique for each network
+#                 For multi-chaining, see notes below
 # 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
+# SR-IOV: both physical_network and VLAN segmentation ID must be provided
+# VxLAN: the VNI must generally be provided (except special Neutron VxLAN implementations)
+#
+# For example to setup 1xPVP using 2 different SR-IOV ports, you must put the appropriate physnet
 # names under left.physical_network and right.physical_network.
+# For multi-chaining and non shared networks,
 # 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:
@@ -279,6 +286,34 @@ loop_vm_name: 'nfvbench-loop-vm'
 #    right:
 #        segmentation_id: 2001
 #        physical_network: phys_sriov1
+#
+# For multi-chaining and non shared network mode (VLAN, SRIOV, VxLAN):
+# - the segmentation_id field if provided must be a list of values (as many as chains)
+# - segmentation_id auto-indexing:
+#   the segmentation_id field can also be a single value that represents the base value from which
+#   values for each chain is derived using the chain ID as an offset. For example
+#   if 2000 is specified, NFVbench will use 2000 for chain 0, 2001 for chain 1 etc...
+#   The ranges of all the networks must not overlap.
+# - the physical_network can be a single name (all VFs to be allocated on same physnet)
+#   of a list of physnet names to use different PFs
+#
+# Example of 2-chain configuration:
+# internal_networks:
+#    left:
+#        segmentation_id: [2000, 2001]
+#        physical_network: phys_sriov0
+#    right:
+#        segmentation_id: [2010, 2011]
+#        physical_network: phys_sriov1
+#
+# Equivalent to (using auto-indexing):
+# internal_networks:
+#    left:
+#        segmentation_id: 2000
+#        physical_network: phys_sriov0
+#    right:
+#        segmentation_id: 2010
+#        physical_network: phys_sriov1
 
 internal_networks:
     left: