summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--3rd_party/ixia/ixnetrfc2544.tcl4
-rwxr-xr-x3rd_party/ixia/ixnetrfc2544v2.tcl8
-rwxr-xr-xconf/01_testcases.conf4
-rw-r--r--conf/03_traffic.conf5
-rw-r--r--core/vswitch_controller_p2p.py8
-rw-r--r--docs/release/release-notes/index.rst17
-rw-r--r--docs/release/release-notes/release-notes.rst (renamed from docs/release/release-notes/vsperf-release.rst)9
-rw-r--r--docs/testing/developer/design/LICENSE (renamed from docs/configguide/LICENSE)0
-rw-r--r--docs/testing/developer/design/factory_and_loader.png (renamed from docs/design/factory_and_loader.png)bin25586 -> 25586 bytes
-rw-r--r--docs/testing/developer/design/traffic_controller.png (renamed from docs/design/traffic_controller.png)bin57868 -> 57868 bytes
-rw-r--r--docs/testing/developer/design/trafficgen_integration_guide.rst (renamed from docs/design/trafficgen_integration_guide.rst)0
-rw-r--r--docs/testing/developer/design/vsperf.png (renamed from docs/design/vsperf.png)bin93029 -> 93029 bytes
-rw-r--r--docs/testing/developer/design/vswitchperf_design.rst (renamed from docs/design/vswitchperf_design.rst)11
-rw-r--r--docs/testing/developer/index.rst (renamed from docs/index.rst)61
-rw-r--r--docs/testing/developer/requirements/LICENSE (renamed from docs/design/LICENSE)0
-rw-r--r--docs/testing/developer/requirements/ietf_draft/LICENSE (renamed from docs/requirements/ietf_draft/LICENSE)0
-rw-r--r--docs/testing/developer/requirements/ietf_draft/draft-ietf-bmwg-vswitch-opnfv-00.xml (renamed from docs/requirements/ietf_draft/draft-ietf-bmwg-vswitch-opnfv-00.xml)0
-rw-r--r--docs/testing/developer/requirements/ietf_draft/draft-ietf-bmwg-vswitch-opnfv-01.xml (renamed from docs/requirements/ietf_draft/draft-ietf-bmwg-vswitch-opnfv-01.xml)0
-rw-r--r--docs/testing/developer/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-00.xml (renamed from docs/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-00.xml)0
-rw-r--r--docs/testing/developer/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-01.xml (renamed from docs/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-01.xml)0
-rw-r--r--docs/testing/developer/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-02.xml (renamed from docs/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-02.xml)0
-rw-r--r--docs/testing/developer/requirements/vm2vm_alternative_benchmark.png (renamed from docs/requirements/vm2vm_alternative_benchmark.png)bin104244 -> 104244 bytes
-rw-r--r--docs/testing/developer/requirements/vm2vm_benchmark.png (renamed from docs/requirements/vm2vm_benchmark.png)bin80797 -> 80797 bytes
-rw-r--r--docs/testing/developer/requirements/vm2vm_hypervisor_benchmark.png (renamed from docs/requirements/vm2vm_hypervisor_benchmark.png)bin122975 -> 122975 bytes
-rw-r--r--docs/testing/developer/requirements/vm2vm_virtual_interface_benchmark.png (renamed from docs/requirements/vm2vm_virtual_interface_benchmark.png)bin99544 -> 99544 bytes
-rw-r--r--docs/testing/developer/requirements/vswitchperf_ltd.rst (renamed from docs/requirements/vswitchperf_ltd.rst)0
-rw-r--r--docs/testing/developer/requirements/vswitchperf_ltp.rst (renamed from docs/requirements/vswitchperf_ltp.rst)10
-rw-r--r--docs/testing/developer/results/results.rst (renamed from docs/results/results.rst)10
-rw-r--r--docs/testing/developer/results/scenario.rst (renamed from docs/results/scenario.rst)20
-rw-r--r--docs/testing/user/configguide/LICENSE (renamed from docs/requirements/LICENSE)0
-rw-r--r--docs/testing/user/configguide/TCLServerProperties.png (renamed from docs/configguide/TCLServerProperties.png)bin11667 -> 11667 bytes
-rw-r--r--docs/testing/user/configguide/index.rst51
-rw-r--r--docs/testing/user/configguide/installation.rst (renamed from docs/configguide/installation.rst)0
-rw-r--r--docs/testing/user/configguide/trafficgen.rst (renamed from docs/configguide/trafficgen.rst)0
-rw-r--r--docs/testing/user/configguide/upgrade.rst (renamed from docs/configguide/upgrade.rst)0
-rw-r--r--docs/testing/user/userguide/index.rst10
-rw-r--r--docs/testing/user/userguide/integration.rst (renamed from docs/userguide/integration.rst)0
-rw-r--r--docs/testing/user/userguide/teststeps.rst (renamed from docs/userguide/teststeps.rst)0
-rw-r--r--docs/testing/user/userguide/testusage.rst (renamed from docs/userguide/testusage.rst)0
-rw-r--r--docs/testing/user/userguide/yardstick.rst (renamed from docs/userguide/yardstick.rst)0
-rw-r--r--testcases/testcase.py2
-rw-r--r--tools/functions.py14
-rwxr-xr-xvsperf2
43 files changed, 154 insertions, 92 deletions
diff --git a/3rd_party/ixia/ixnetrfc2544.tcl b/3rd_party/ixia/ixnetrfc2544.tcl
index faab5a68..5dccae3f 100644
--- a/3rd_party/ixia/ixnetrfc2544.tcl
+++ b/3rd_party/ixia/ixnetrfc2544.tcl
@@ -1,7 +1,7 @@
#!/usr/bin/env tclsh
# Copyright (c) 2014, Ixia
-# Copyright (c) 2015-2016, Intel Corporation
+# Copyright (c) 2015-2017, Intel Corporation
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -120,8 +120,6 @@ proc startRfc2544Test { testSpec trafficSpec } {
if {($multipleStreams < 0)} {
set multipleStreams 0
- } elseif {($multipleStreams > 65535)} {
- set multipleStreams 65535
}
if {$multipleStreams} {
diff --git a/3rd_party/ixia/ixnetrfc2544v2.tcl b/3rd_party/ixia/ixnetrfc2544v2.tcl
index cc5a6946..5758f0e4 100755
--- a/3rd_party/ixia/ixnetrfc2544v2.tcl
+++ b/3rd_party/ixia/ixnetrfc2544v2.tcl
@@ -1,7 +1,7 @@
#!/usr/bin/env tclsh
# Copyright (c) 2014, Ixia
-# Copyright (c) 2015-2016, Intel Corporation
+# Copyright (c) 2015-2017, Intel Corporation
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -115,11 +115,7 @@ proc startRfc2544Test { testSpec trafficSpec } {
set numflows 64000
if {$multipleStreams} {
- if {($multipleStreams > 65535)} {
- set numflows 65535
- } else {
- set numflows $multipleStreams
- }
+ set numflows $multipleStreams
set multipleStreams increment
} else {
set multipleStreams singleValue
diff --git a/conf/01_testcases.conf b/conf/01_testcases.conf
index 4851b043..2d5ab93e 100755
--- a/conf/01_testcases.conf
+++ b/conf/01_testcases.conf
@@ -1,4 +1,4 @@
-# Copyright 2015-2016 Intel Corporation.
+# Copyright 2015-2017 Intel Corporation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -270,7 +270,7 @@ PERFORMANCE_TESTS = [
"Parameters" : {
"TRAFFIC" : {
"traffic_type" : "rfc2544_throughput",
- "multistream" : "8000",
+ "multistream" : 8000,
},
},
},
diff --git a/conf/03_traffic.conf b/conf/03_traffic.conf
index ccc98e3b..baded627 100644
--- a/conf/03_traffic.conf
+++ b/conf/03_traffic.conf
@@ -1,4 +1,4 @@
-# Copyright 2015 Intel Corporation.
+# Copyright 2015-2017 Intel Corporation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -39,7 +39,8 @@ LOG_FILE_TRAFFIC_GEN = 'traffic-gen.log'
# 'multistream' - Defines number of flows simulated by traffic generator.
# Value 0 disables multistream feature
# Data type: int
-# Supported values: 0-65535
+# Supported values: 0-65536 for 'L4' stream type
+# unlimited for 'L2' and 'L3' stream types
# Default value: 0.
# 'stream_type' - Stream type is an extension of the "multistream" feature.
# If multistream is disabled, then stream type will be
diff --git a/core/vswitch_controller_p2p.py b/core/vswitch_controller_p2p.py
index de3fcc0d..0d41b145 100644
--- a/core/vswitch_controller_p2p.py
+++ b/core/vswitch_controller_p2p.py
@@ -1,4 +1,4 @@
-# Copyright 2015 Intel Corporation.
+# Copyright 2015-2017 Intel Corporation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -147,7 +147,7 @@ class VswitchControllerP2P(IVswitchController):
if self._traffic['stream_type'] == 'L2':
# iterate through destimation MAC address
dst_mac_value = netaddr.EUI(self._traffic['l2']['dstmac']).value
- for i in range(int(self._traffic['multistream'])):
+ for i in range(self._traffic['multistream']):
tmp_mac = netaddr.EUI(dst_mac_value + i)
tmp_mac.dialect = netaddr.mac_unix_expanded
flow_template.update({'dl_dst':tmp_mac})
@@ -156,7 +156,7 @@ class VswitchControllerP2P(IVswitchController):
elif self._traffic['stream_type'] == 'L3':
# iterate through destimation IP address
dst_ip_value = netaddr.IPAddress(self._traffic['l3']['dstip']).value
- for i in range(int(self._traffic['multistream'])):
+ for i in range(self._traffic['multistream']):
tmp_ip = netaddr.IPAddress(dst_ip_value + i)
flow_template.update({'dl_type':'0x0800', 'nw_dst':tmp_ip})
# optimize flow insertion by usage of cache
@@ -164,7 +164,7 @@ class VswitchControllerP2P(IVswitchController):
elif self._traffic['stream_type'] == 'L4':
# read transport protocol from configuration and iterate through its destination port
proto = _PROTO_TCP if self._traffic['l3']['proto'].lower() == 'tcp' else _PROTO_UDP
- for i in range(int(self._traffic['multistream'])):
+ for i in range(self._traffic['multistream']):
flow_template.update({'dl_type':'0x0800', 'nw_proto':proto, 'tp_dst':i})
# optimize flow insertion by usage of cache
self._vswitch.add_flow(bridge, flow_template, cache='on')
diff --git a/docs/release/release-notes/index.rst b/docs/release/release-notes/index.rst
new file mode 100644
index 00000000..84f350c4
--- /dev/null
+++ b/docs/release/release-notes/index.rst
@@ -0,0 +1,17 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Intel Corporation and others.
+
+.. _vswitchperf-releasenotes:
+
+==================================================
+VSPERF Release Notes
+==================================================
+
+.. toctree::
+ :numbered:
+ :maxdepth: 2
+
+ release-notes.rst
+
+Build date: |today|
diff --git a/docs/release/release-notes/vsperf-release.rst b/docs/release/release-notes/release-notes.rst
index 52a01abc..c2dff390 100644
--- a/docs/release/release-notes/vsperf-release.rst
+++ b/docs/release/release-notes/release-notes.rst
@@ -2,9 +2,6 @@
.. http://creativecommons.org/licenses/by/4.0
.. (c) OPNFV, Intel Corporation, AT&T and others.
-********************
-VSPERF Release Notes
-********************
OPNFV Danube Release
====================
@@ -205,9 +202,3 @@ follow once the community has digested the initial release.
- Framework support for different VNFs
- Python3
- Support for biDirectional functionality for ixnet interface
-
-Missing
-=======
-
-- xmlunit output is currently disabled
-
diff --git a/docs/configguide/LICENSE b/docs/testing/developer/design/LICENSE
index 7bc572ce..7bc572ce 100644
--- a/docs/configguide/LICENSE
+++ b/docs/testing/developer/design/LICENSE
diff --git a/docs/design/factory_and_loader.png b/docs/testing/developer/design/factory_and_loader.png
index 290c0af6..290c0af6 100644
--- a/docs/design/factory_and_loader.png
+++ b/docs/testing/developer/design/factory_and_loader.png
Binary files differ
diff --git a/docs/design/traffic_controller.png b/docs/testing/developer/design/traffic_controller.png
index 598296ec..598296ec 100644
--- a/docs/design/traffic_controller.png
+++ b/docs/testing/developer/design/traffic_controller.png
Binary files differ
diff --git a/docs/design/trafficgen_integration_guide.rst b/docs/testing/developer/design/trafficgen_integration_guide.rst
index 382cedcb..382cedcb 100644
--- a/docs/design/trafficgen_integration_guide.rst
+++ b/docs/testing/developer/design/trafficgen_integration_guide.rst
diff --git a/docs/design/vsperf.png b/docs/testing/developer/design/vsperf.png
index 4af2ac62..4af2ac62 100644
--- a/docs/design/vsperf.png
+++ b/docs/testing/developer/design/vsperf.png
Binary files differ
diff --git a/docs/design/vswitchperf_design.rst b/docs/testing/developer/design/vswitchperf_design.rst
index da7ec6fd..aa7fb342 100644
--- a/docs/design/vswitchperf_design.rst
+++ b/docs/testing/developer/design/vswitchperf_design.rst
@@ -21,11 +21,11 @@ Usage
Example Connectivity to DUT
---------------------------
-Establish connectivity to the VSPERF DUT Linux host, such as the DUT in Pod 3,
-by following the steps in `Testbed POD3
-<https://wiki.opnfv.org/get_started/pod_3_-_characterize_vswitch_performance>`__
+Establish connectivity to the VSPERF DUT Linux host. If this is in an OPNFV lab
+following the steps provided by `Pharos <https://www.opnfv.org/community/projects/pharos>`_
+ to `access the POD <https://wiki.opnfv.org/display/pharos/Pharos+Lab+Support>`_
-The steps cover booking the DUT and establishing the VSPERF environment.
+The followign steps establish the VSPERF environment.
Example Command Lines
---------------------
@@ -305,7 +305,8 @@ Detailed description of ``TRAFFIC`` dictionary items follows:
'multistream' - Defines number of flows simulated by traffic generator.
Value 0 disables multistream feature
Data type: int
- Supported values: 0-65535
+ Supported values: 0-65536 for 'L4' stream type
+ unlimited for 'L2' and 'L3' stream types
Default value: 0.
'stream_type' - Stream type is an extension of the "multistream" feature.
If multistream is disabled, then stream type will be
diff --git a/docs/index.rst b/docs/testing/developer/index.rst
index 889d4ab6..c89f27fc 100644
--- a/docs/index.rst
+++ b/docs/testing/developer/index.rst
@@ -7,6 +7,7 @@
======
VSPERF
======
+
VSPERF is an OPNFV testing project.
VSPERF provides an automated test-framework and comprehensive test suite based on
@@ -27,64 +28,44 @@ setup of the network and/or for control of the test-generator and test execution
* Artifacts: https://artifacts.opnfv.org/vswitchperf.html
* Continuous Integration status: https://build.opnfv.org/ci/view/vswitchperf/
-******************************
-VSPERF Installation Guide
-******************************
-
-.. toctree::
- :caption: VSPERF Installation Guide
- :maxdepth: 5
- :numbered: 5
-
- ./configguide/installation.rst
- ./configguide/upgrade.rst
- ./configguide/trafficgen.rst
-******************************
-VSPERF User Guide
-******************************
+****************************
+VSPERF Developer Guide
+****************************
.. toctree::
- :caption: VSPERF User Guide
+ :caption: VSPERF Developer Guide
:maxdepth: 5
:numbered: 5
- ./userguide/testusage.rst
- ./userguide/teststeps.rst
- ./userguide/integration.rst
- Yardstick integration <./userguide/yardstick.rst>
+ ./design/trafficgen_integration_guide.rst
+ ./design/vswitchperf_design.rst
+
+ ./requirements/vswitchperf_ltd.rst
+ ./requirements/vswitchperf_ltp.rst
-**************
-VSPERF Design
-**************
+*****************************
+VSPERF - IETF Internet Draft
+*****************************
.. toctree::
- :caption: VSPERF Design
+ :caption: IETF Internet Draft
:maxdepth: 5
:numbered: 5
- ./design/vswitchperf_design.rst
- ./design/trafficgen_integration_guide.rst
+`Benchmarking Virtual Switches in OPNFV <https://tools.ietf.org/html/draft-ietf-bmwg-vswitch-opnfv-01>`_
-*******************
-VSPERF Requirements
-*******************
+Drafts (xml) are maintained in IETF repo. https://tools.ietf.org/html/
+
+********************************
+VSPERF Scenarios and CI Results
+********************************
.. toctree::
- :caption: VSPERF Requirements
+ :caption: VSPERF Scenarios & Results
:maxdepth: 5
:numbered: 5
- ./requirements/vswitchperf_ltp.rst
- ./requirements/vswitchperf_ltd.rst
-
-**************
-VSPERF Results
-**************
-
-.. toctree::
- :maxdepth: 3
-
./results/scenario.rst
./results/results.rst
diff --git a/docs/design/LICENSE b/docs/testing/developer/requirements/LICENSE
index 7bc572ce..7bc572ce 100644
--- a/docs/design/LICENSE
+++ b/docs/testing/developer/requirements/LICENSE
diff --git a/docs/requirements/ietf_draft/LICENSE b/docs/testing/developer/requirements/ietf_draft/LICENSE
index 7fc9ae14..7fc9ae14 100644
--- a/docs/requirements/ietf_draft/LICENSE
+++ b/docs/testing/developer/requirements/ietf_draft/LICENSE
diff --git a/docs/requirements/ietf_draft/draft-ietf-bmwg-vswitch-opnfv-00.xml b/docs/testing/developer/requirements/ietf_draft/draft-ietf-bmwg-vswitch-opnfv-00.xml
index 2259b23c..2259b23c 100644
--- a/docs/requirements/ietf_draft/draft-ietf-bmwg-vswitch-opnfv-00.xml
+++ b/docs/testing/developer/requirements/ietf_draft/draft-ietf-bmwg-vswitch-opnfv-00.xml
diff --git a/docs/requirements/ietf_draft/draft-ietf-bmwg-vswitch-opnfv-01.xml b/docs/testing/developer/requirements/ietf_draft/draft-ietf-bmwg-vswitch-opnfv-01.xml
index c8a3d99b..c8a3d99b 100644
--- a/docs/requirements/ietf_draft/draft-ietf-bmwg-vswitch-opnfv-01.xml
+++ b/docs/testing/developer/requirements/ietf_draft/draft-ietf-bmwg-vswitch-opnfv-01.xml
diff --git a/docs/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-00.xml b/docs/testing/developer/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-00.xml
index b5f7f833..b5f7f833 100644
--- a/docs/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-00.xml
+++ b/docs/testing/developer/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-00.xml
diff --git a/docs/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-01.xml b/docs/testing/developer/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-01.xml
index a9405a77..a9405a77 100644
--- a/docs/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-01.xml
+++ b/docs/testing/developer/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-01.xml
diff --git a/docs/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-02.xml b/docs/testing/developer/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-02.xml
index 9157763e..9157763e 100644
--- a/docs/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-02.xml
+++ b/docs/testing/developer/requirements/ietf_draft/draft-vsperf-bmwg-vswitch-opnfv-02.xml
diff --git a/docs/requirements/vm2vm_alternative_benchmark.png b/docs/testing/developer/requirements/vm2vm_alternative_benchmark.png
index d21334ba..d21334ba 100644
--- a/docs/requirements/vm2vm_alternative_benchmark.png
+++ b/docs/testing/developer/requirements/vm2vm_alternative_benchmark.png
Binary files differ
diff --git a/docs/requirements/vm2vm_benchmark.png b/docs/testing/developer/requirements/vm2vm_benchmark.png
index 3a85e51f..3a85e51f 100644
--- a/docs/requirements/vm2vm_benchmark.png
+++ b/docs/testing/developer/requirements/vm2vm_benchmark.png
Binary files differ
diff --git a/docs/requirements/vm2vm_hypervisor_benchmark.png b/docs/testing/developer/requirements/vm2vm_hypervisor_benchmark.png
index b5b76e8a..b5b76e8a 100644
--- a/docs/requirements/vm2vm_hypervisor_benchmark.png
+++ b/docs/testing/developer/requirements/vm2vm_hypervisor_benchmark.png
Binary files differ
diff --git a/docs/requirements/vm2vm_virtual_interface_benchmark.png b/docs/testing/developer/requirements/vm2vm_virtual_interface_benchmark.png
index 55294af6..55294af6 100644
--- a/docs/requirements/vm2vm_virtual_interface_benchmark.png
+++ b/docs/testing/developer/requirements/vm2vm_virtual_interface_benchmark.png
Binary files differ
diff --git a/docs/requirements/vswitchperf_ltd.rst b/docs/testing/developer/requirements/vswitchperf_ltd.rst
index e1372520..e1372520 100644
--- a/docs/requirements/vswitchperf_ltd.rst
+++ b/docs/testing/developer/requirements/vswitchperf_ltd.rst
diff --git a/docs/requirements/vswitchperf_ltp.rst b/docs/testing/developer/requirements/vswitchperf_ltp.rst
index 2b74d676..e5147bea 100644
--- a/docs/requirements/vswitchperf_ltp.rst
+++ b/docs/testing/developer/requirements/vswitchperf_ltp.rst
@@ -1295,13 +1295,9 @@ vsperf also identified an alternative configuration for the final step:
Environment/infrastructure
============================
-Intel is providing a hosted test-bed with nine bare-metal environments
-allocated to different OPNFV projects. Currently a number of servers in
-`Intel POD 3 <https://wiki.opnfv.org/display/pharos/Intel+Pod3>`__ are
-allocated to vsperf:
-
- * pod3-wcp-node3 and pod3-wcp-node4 which are used for CI jobs.
- * pod3-node6 which is used as a vsperf sandbox environment.
+VSPERF CI jobs are run using the OPNFV lab infrastructure as described by the
+'Pharos Project <https://www.opnfv.org/community/projects/pharos>`_ .
+A VSPERF POD is described here https://wiki.opnfv.org/display/pharos/VSPERF+in+Intel+Pharos+Lab+-+Pod+12
vsperf CI
---------
diff --git a/docs/results/results.rst b/docs/testing/developer/results/results.rst
index 1fd6d443..df9c52cb 100644
--- a/docs/results/results.rst
+++ b/docs/testing/developer/results/results.rst
@@ -2,12 +2,12 @@
.. http://creativecommons.org/licenses/by/4.0
.. (c) OPNFV, Intel Corporation, AT&T and others.
-OPNFV Brahmaputra Results
+OPNFV Test Results
=========================
-The vsperf CI jobs that were used to obtain the
-results can be found at https://wiki.opnfv.org/wiki/vsperf_results.
+VSPERF CI jobs are run daily and sample results can be found at
+https://wiki.opnfv.org/display/vsperf/Vsperf+Results
-The following table maps the results in the test dashboard to the appropriate
+The following example maps the results in the test dashboard to the appropriate
test case in the VSPERF Framework and specifies the metric the vertical/Y axis
is plotting. **Please note**, the presence of dpdk within a test name signifies
that the vswitch under test was OVS with DPDK, while its absence indicates that
@@ -34,5 +34,5 @@ pvvp_b2b_ovsdpdkuser pvvp_back2back Throughput (FPS) vhost-user
pvvp_b2b_ovsvirtio pvvp_back2back Throughput (FPS) virtio-net
===================== ===================== ================== ===============
-The loopback application in the VNF used for PVP and PVVP scenarios was DPDK
+The loopback application in the VNF was used for PVP and PVVP scenarios was DPDK
testpmd.
diff --git a/docs/results/scenario.rst b/docs/testing/developer/results/scenario.rst
index 49ff626a..a57d6a03 100644
--- a/docs/results/scenario.rst
+++ b/docs/testing/developer/results/scenario.rst
@@ -2,12 +2,13 @@
.. http://creativecommons.org/licenses/by/4.0
.. (c) OPNFV, Intel Corporation, AT&T and others.
-OPNFV Brahmaputra Scenarios
-===========================
-Available Tests and aspects of scenarios:
+VSPERF Test Scenarios
+=====================
+
+Predefined Tests run with CI:
===================== ===========================================================
- Framework Test Definition
+ Test Definition
===================== ===========================================================
phy2phy_tput :ref:`PacketLossRatio <PacketLossRatio>` for :ref:`Phy2Phy <Phy2Phy>`
back2back :ref:`BackToBackFrames <BackToBackFrames>` for :ref:`Phy2Phy <Phy2Phy>`
@@ -24,14 +25,14 @@ phy2phy_cpu_load :ref:`CPU0PacketLoss <CPU0PacketLoss>` for :ref:`Phy2Phy <
phy2phy_mem_load Same as :ref:`CPU0PacketLoss <CPU0PacketLoss>` but using a memory intensive app
===================== ===========================================================
-Supported deployment scenarios:
+Deployment topologies:
* :ref:`Phy2Phy <Phy2Phy>`: Physical port -> vSwitch -> Physical port.
* :ref:`PVP <PVP>`: Physical port -> vSwitch -> VNF -> vSwitch -> Physical port.
* :ref:`PVVP <PVVP>`: Physical port -> vSwitch -> VNF -> vSwitch -> VNF -> vSwitch ->
Physical port.
-Loopback applications in the Guest can be:
+Loopback applications in the Guest:
* `DPDK testpmd <http://dpdk.org/doc/guides/testpmd_app_ug/index.html>`_.
* Linux Bridge.
@@ -39,7 +40,8 @@ Loopback applications in the Guest can be:
Supported traffic generators:
+* Spirent Testcenter
* Ixia: IxOS and IxNet.
-* Spirent.
-* Dummy.
-
+* Xena
+* MoonGen
+* Dummy
diff --git a/docs/requirements/LICENSE b/docs/testing/user/configguide/LICENSE
index 7bc572ce..7bc572ce 100644
--- a/docs/requirements/LICENSE
+++ b/docs/testing/user/configguide/LICENSE
diff --git a/docs/configguide/TCLServerProperties.png b/docs/testing/user/configguide/TCLServerProperties.png
index 682de7c5..682de7c5 100644
--- a/docs/configguide/TCLServerProperties.png
+++ b/docs/testing/user/configguide/TCLServerProperties.png
Binary files differ
diff --git a/docs/testing/user/configguide/index.rst b/docs/testing/user/configguide/index.rst
new file mode 100644
index 00000000..4e082261
--- /dev/null
+++ b/docs/testing/user/configguide/index.rst
@@ -0,0 +1,51 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Intel Corporation, AT&T, Red Hat, Spirent, Ixia and others.
+
+.. OPNFV VSPERF Documentation master file.
+
+======
+VSPERF
+======
+
+VSPERF is an OPNFV testing project.
+
+VSPERF provides an automated test-framework and comprehensive test suite based on
+industry standards for measuring data-plane performance of Telco NFV switching
+technologies as well as physical and virtual network interfaces (NFVI). The VSPERF
+architecture is switch and traffic generator agnostic and provides full control of
+software component versions and configurations as well as test-case customization.
+
+The Danube release of VSPERF includes improvements in documentation and capabilities.
+This includes additional test-cases such as RFC 5481 Latency test and RFC-2889
+address-learning-rate test. Hardware traffic generator support is now provided for
+Spirent and Xena in addition to Ixia. The Moongen software traffic generator is also
+now fully supported. VSPERF can be used in a variety of modes for configuration and
+setup of the network and/or for control of the test-generator and test execution.
+
+* Wiki: https://wiki.opnfv.org/characterize_vswitch_performance_for_telco_nfv_use_cases
+* Repository: https://git.opnfv.org/vswitchperf
+* Artifacts: https://artifacts.opnfv.org/vswitchperf.html
+* Continuous Integration status: https://build.opnfv.org/ci/view/vswitchperf/
+
+******************************
+VSPERF User Guide
+******************************
+
+.. toctree::
+ :caption: VSPERF User Guide
+ :maxdepth: 5
+ :numbered: 5
+
+ ./installation.rst
+ ./upgrade.rst
+ ./trafficgen.rst
+
+ ../userguide/testusage.rst
+ ../userguide/teststeps.rst
+ ../userguide/integration.rst
+ ../userguide/yardstick.rst
+
+Indices
+=======
+* :ref:`search`
diff --git a/docs/configguide/installation.rst b/docs/testing/user/configguide/installation.rst
index 1965a8f5..1965a8f5 100644
--- a/docs/configguide/installation.rst
+++ b/docs/testing/user/configguide/installation.rst
diff --git a/docs/configguide/trafficgen.rst b/docs/testing/user/configguide/trafficgen.rst
index 4e42b2be..4e42b2be 100644
--- a/docs/configguide/trafficgen.rst
+++ b/docs/testing/user/configguide/trafficgen.rst
diff --git a/docs/configguide/upgrade.rst b/docs/testing/user/configguide/upgrade.rst
index cf92572c..cf92572c 100644
--- a/docs/configguide/upgrade.rst
+++ b/docs/testing/user/configguide/upgrade.rst
diff --git a/docs/testing/user/userguide/index.rst b/docs/testing/user/userguide/index.rst
new file mode 100644
index 00000000..5c6886bf
--- /dev/null
+++ b/docs/testing/user/userguide/index.rst
@@ -0,0 +1,10 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Intel Corporation, AT&T, Red Hat, Spirent, Ixia and others.
+
+.. OPNFV VSPERF Documentation master file.
+
+
+Indices
+=======
+* :ref:`search`
diff --git a/docs/userguide/integration.rst b/docs/testing/user/userguide/integration.rst
index 83b29da6..83b29da6 100644
--- a/docs/userguide/integration.rst
+++ b/docs/testing/user/userguide/integration.rst
diff --git a/docs/userguide/teststeps.rst b/docs/testing/user/userguide/teststeps.rst
index 870c3d80..870c3d80 100644
--- a/docs/userguide/teststeps.rst
+++ b/docs/testing/user/userguide/teststeps.rst
diff --git a/docs/userguide/testusage.rst b/docs/testing/user/userguide/testusage.rst
index c6037aaf..c6037aaf 100644
--- a/docs/userguide/testusage.rst
+++ b/docs/testing/user/userguide/testusage.rst
diff --git a/docs/userguide/yardstick.rst b/docs/testing/user/userguide/yardstick.rst
index b5e5c72d..b5e5c72d 100644
--- a/docs/userguide/yardstick.rst
+++ b/docs/testing/user/userguide/yardstick.rst
diff --git a/testcases/testcase.py b/testcases/testcase.py
index 5446d0d9..75ed1a5c 100644
--- a/testcases/testcase.py
+++ b/testcases/testcase.py
@@ -140,6 +140,8 @@ class TestCase(object):
self._traffic.update({'bidir': bidirectional,
'tunnel_type': self._tunnel_type,})
+ self._traffic = functions.check_traffic(self._traffic)
+
# Packet Forwarding mode
self._vswitch_none = S.getValue('VSWITCH').strip().lower() == 'none'
diff --git a/tools/functions.py b/tools/functions.py
index d00200d9..05bde54f 100644
--- a/tools/functions.py
+++ b/tools/functions.py
@@ -21,6 +21,8 @@ import glob
import shutil
from conf import settings as S
+MAX_L4_FLOWS = 65536
+
#
# Support functions
#
@@ -139,3 +141,15 @@ def settings_update_paths():
tools['dpdk_src'] = S.getValue('PATHS')['dpdk']['src']['path']
S.setValue('TOOLS', tools)
+
+def check_traffic(traffic):
+ """Check traffic definition and correct it if needed.
+ """
+ # in case of UDP ports we have only 65536 (0-65535) unique options
+ if traffic['multistream'] > MAX_L4_FLOWS and \
+ traffic['stream_type'] == 'L4':
+ logging.getLogger().warning('Requested amount of L4 flows %s is bigger than '
+ 'number of transport protocol ports. It was set '
+ 'to %s.', traffic['multistream'], MAX_L4_FLOWS)
+ traffic['multistream'] = MAX_L4_FLOWS
+ return traffic
diff --git a/vsperf b/vsperf
index e92a0dc1..6618bed5 100755
--- a/vsperf
+++ b/vsperf
@@ -626,6 +626,8 @@ def main():
# set traffic details, so they can be passed to traffic ctl
traffic = copy.deepcopy(settings.getValue('TRAFFIC'))
+ traffic = functions.check_traffic(traffic)
+
traffic_ctl = component_factory.create_traffic(
traffic['traffic_type'],
loader.get_trafficgen_class())