Add L3 traffic management with Neutron routers
[nfvbench.git] / docs / testing / user / userguide / readme.rst
index 1cb8d6b..48c8b02 100644 (file)
@@ -18,6 +18,7 @@ NFVbench supports the following main measurement capabilities:
 - built-in loopback VNFs based on fast L2 or L3 forwarders running in VMs
 - configurable number of flows and service chains
 - configurable traffic direction (single or bi-directional)
+- can support optional VLAN tagging (dot1q) or VxLAN overlays
 
 
 NDR is the highest throughput achieved without dropping packets.
@@ -30,9 +31,9 @@ Results of each run include the following data:
 - Actual drop rate in %
 - Latency in usec (min, max, average in the current version)
 
-Built-in OpenStack support
---------------------------
-NFVbench can stage OpenStack resources to build 1 or more service chains using direct OpenStack APIs. Each service chain is composed of:
+Built-in OpenStack support (optional)
+-------------------------------------
+NFVbench can optionally stage OpenStack resources to build 1 or more service chains using direct OpenStack APIs. Each service chain is composed of:
 
 - 1 or 2 loopback VM instances per service chain
 - 2 Neutron networks per loopback VM
@@ -46,11 +47,21 @@ main purpose is to measure the performance of the NFVi infrastructure which is m
 
 External Chains
 ---------------
-NFVbench also supports settings that involve externally staged packet paths with or without OpenStack:
+NFVbench supports settings that involve externally staged packet paths with or without OpenStack:
 
 - run benchmarks on existing service chains at the L3 level that are staged externally by any other tool (e.g. any VNF capable of L3 routing)
 - run benchmarks on existing L2 chains that are configured externally (e.g. pure L2 forwarder such as DPDK testpmd)
 
+Direct L2 Loopback (Switch or wire loopback)
+--------------------------------------------
+NFVbench supports benchmarking of pure L2 loopbacks (see "--l2-loopback vlan" option)
+
+- Switch level loopback
+- Port to port wire loopback
+
+In this mode, NFVbench will take a vlan ID and send packets from each port to the other port
+(dest MAC set to the other port MAC) using the same VLAN ID on both ports.
+This can be useful for example to verify that the connectivity to the switch is working properly.
 
 Traffic Generation
 ------------------
@@ -103,20 +114,17 @@ PVVP Packet Path
 ^^^^^^^^^^^^^^^^
 
 This packet path represents a single service chain with 2 loopback VNFs in sequence and 3 Neutron networks.
-The 2 VNFs can run on the same compute node (PVVP intra-node):
+The 2 VNFs will only run on the same compute node (PVVP intra-node):
 
 .. image:: images/nfvbench-pvvp.png
 
-or on different compute nodes (PVVP inter-node) based on a configuration option:
-
-.. image:: images/nfvbench-pvvp2.png
-
 
 Multi-Chaining (N*PVP or N*PVVP)
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 Multiple service chains can be setup by NFVbench without any limit on the concurrency (other than limits imposed by available resources on compute nodes).
-In the case of multiple service chains, NFVbench will instruct the traffic generator to use multiple L3 packet streams (frames directed to each path will have a unique destination MAC address).
+In the case of multiple service chains, NFVbench will instruct the traffic generator to use multiple L3 packet streams (frames directed to each path will
+have a unique destination MAC address).
 
 Example of multi-chaining with 2 concurrent PVP service chains:
 
@@ -124,8 +132,11 @@ Example of multi-chaining with 2 concurrent PVP service chains:
 
 This innovative feature will allow to measure easily the performance of a fully loaded compute node running multiple service chains.
 
-Multi-chaining is currently limited to 1 compute node (PVP or PVVP intra-node) or 2 compute nodes (for PVVP inter-node).
-The 2 edge interfaces for all service chains will share the same 2 networks.
+Multi-chaining is currently limited to 1 compute node (VMs run on the same compute node).
+The 2 edge interfaces for all service chains can either share the same 2 networks or can use
+dedicated networks (based on a configuration option).
+The total traffic will be split equally across all chains.
+
 
 SR-IOV
 ^^^^^^
@@ -164,6 +175,8 @@ P2P (Physical interface to Physical interface - no VM) can be supported using th
 
 V2V (VM to VM) is not supported but PVVP provides a more complete (and more realistic) alternative.
 
+PVP chain with L3 routers in the path can be supported using PVP chain with L3 forwarding mode (l3_router option). See PVP L3 Router Internal Chain section for more details.
+
 
 Supported Neutron Network Plugins and vswitches
 -----------------------------------------------
@@ -181,5 +194,4 @@ NFVbench is agnostic of the virtual switch implementation and has been tested wi
 
 Limitations
 ***********
-NFVbench only supports VLAN with OpenStack.
-NFVbench does not support VxLAN overlays.
+VxLAN: latency measurement and per chain stats is not available in the first VxLAN release