aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorDino Simeon Madarang <dino.simeonx.madarang@intel.com>2015-10-19 14:55:06 +0100
committerMaryam Tahhan <maryam.tahhan@intel.com>2016-02-03 10:17:04 +0000
commitf463c563912abb806fe0d2fe85a4cf6825f416cc (patch)
tree0c588b1390b3333ecf262b4e39460ca2fc9d1d21 /docs
parent9685088224d2fe542026a6ecbc31a212e3dca3e9 (diff)
Add OVS tunnel encapsulation performance test
Measure OVS DPDK and native VXLAN/GRE/GENEVE encapsulation performance. This patch creates a new deployment scenario, Overlay_P2P. The DUT is configured as a TEP (Tunnel Endpoint) which performs encapsulation of frames and sends traffic to the 2nd traffic generator port. The traffic generator in this case receives an encapsulated frame. No decapsulation is performed in this testcase. Introduce a vsperf param, --run-integration, to filter tests to integration tests. When running integration tests, variables defined in the directory conf/integration/*conf as well as the conf/*.conf are available. This test case requires DPDK 2.1.0 and OVS master - 6bb4a18 or newer. Change-Id: Ide2f418909d647119388df9b30d0d0a3656b4e53 JIRA: VSPERF-180 Signed-off-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com> Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Al Morton <acmorton@att.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/configguide/index.rst1
-rw-r--r--docs/userguide/index.rst1
-rwxr-xr-xdocs/userguide/integration.rst97
3 files changed, 99 insertions, 0 deletions
diff --git a/docs/configguide/index.rst b/docs/configguide/index.rst
index 3aaf238f..7ea39cd1 100644
--- a/docs/configguide/index.rst
+++ b/docs/configguide/index.rst
@@ -8,3 +8,4 @@ VSPERF Installation Guide
installation.rst
trafficgen.rst
+ integration.rst
diff --git a/docs/userguide/index.rst b/docs/userguide/index.rst
index 1e02eb21..ff4e7b52 100644
--- a/docs/userguide/index.rst
+++ b/docs/userguide/index.rst
@@ -7,3 +7,4 @@ VSPERF User Guide
:maxdepth: 3
quickstart.rst
+ integration.rst
diff --git a/docs/userguide/integration.rst b/docs/userguide/integration.rst
new file mode 100755
index 00000000..65b86468
--- /dev/null
+++ b/docs/userguide/integration.rst
@@ -0,0 +1,97 @@
+Integration tests
+=================
+
+VSPERF includes a set of integration tests defined in conf/integration.
+These tests can be run by specifying --run-integration as a parameter to vsperf.
+Current tests in conf/integration are Overlay tests.
+
+
+Executing Tunnel encapsulation tests
+------------------------------------
+
+VSPERF supports VXLAN, GRE and GENEVE tunneling protocols.
+Testing of these protocols is limited to unidirectional traffic and
+P2P (Physical to Physical scenarios).
+
+The VXLAN OVS DPDK encapsulation tests requires IPs, MAC addresses,
+bridge names and WHITELIST_NICS for DPDK.
+
+Default values are already provided. To customize for your environment, override
+the following variables in you user_settings.py file:
+
+# Variables defined in conf/integration/02_vswitch.conf
+# Tunnel endpoint for Overlay P2P deployment scenario
+# used for br0
+VTEP_IP1 = '192.168.0.1/24'
+
+# Used as remote_ip in adding OVS tunnel port and
+# to set ARP entry in OVS (e.g. tnl/arp/set br-ext 192.168.240.10 02:00:00:00:00:02
+VTEP_IP2 = '192.168.240.10'
+
+# Network to use when adding a route for inner frame data
+VTEP_IP2_SUBNET = '192.168.240.0/24'
+
+# Bridge names
+TUNNEL_INTEGRATION_BRIDGE = 'br0'
+TUNNEL_EXTERNAL_BRIDGE = 'br-ext'
+
+# IP of br-ext
+TUNNEL_EXTERNAL_BRIDGE_IP = '192.168.240.1/24'
+
+# vxlan|gre|geneve
+TUNNEL_TYPE = 'vxlan'
+
+# Variables defined conf/integration/03_traffic.conf
+# For OP2P deployment scenario
+TRAFFICGEN_PORT1_MAC = '02:00:00:00:00:01'
+TRAFFICGEN_PORT2_MAC = '02:00:00:00:00:02'
+TRAFFICGEN_PORT1_IP = '1.1.1.1'
+TRAFFICGEN_PORT2_IP = '192.168.240.10'
+
+
+To run VXLAN encapsulation tests:
+
+ .. code-block:: console
+
+ ./vsperf --conf-file user_settings.py --run-integration --test-param 'tunnel_type=vxlan' overlay_p2p_tput
+
+To run GRE encapsulation tests:
+
+ .. code-block:: console
+
+ ./vsperf --conf-file user_settings.py --run-integration --test-param 'tunnel_type=gre' overlay_p2p_tput
+
+To run GENEVE encapsulation tests:
+
+ .. code-block:: console
+
+ ./vsperf --conf-file user_settings.py --run-integration --test-param 'tunnel_type=geneve' overlay_p2p_tput
+
+To run OVS NATIVE tunnel tests (VXLAN/GRE/GENEVE):
+
+1. Install the OVS kernel modules
+
+ .. code:: console
+
+ cd src/ovs/ovs
+ sudo -E make modules_install
+
+2. Set the following variables:
+
+ .. code-block:: console
+
+ VSWITCH = 'OvsVanilla'
+ VSWITCH_VANILLA_PHY_PORT_NAMES = ['nic1name', 'nic2name']
+ # Specify vport_* kernel module to test.
+ VSWITCH_VANILLA_KERNEL_MODULES = ['vport_vxlan',
+ 'vport_gre',
+ 'vport_geneve',
+ os.path.join(OVS_DIR_VANILLA, 'datapath/linux/openvswitch.ko')]
+
+3. Run tests:
+
+ .. code-block:: console
+
+ ./vsperf --conf-file user_settings.py --run-integration --test-param 'tunnel_type=vxlan' overlay_p2p_tput
+
+