Age | Commit message (Collapse) | Author | Files | Lines |
|
All python files must reach pylint score 10/10. This will be
regularly verified by Jenkins jobs to keep constant code quality.
VSPERF specific pylintrc file was updated according to the vsperf
coding standards. Distro version included in reports will be
slightly different, due to migration to new python package distro.
Previously used platform.distro() will be deprecated since python 3.7.
JIRA: VSPERF-487
Change-Id: I934120208b9624787a3567ccaa49e14d77d7a5bf
Signed-off-by: Martin Goldammer <martinx.goldammer@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Bill Michalowski <bmichalo@redhat.com>
Reviewed-by: Antonio Fischetti <antonio.fischetti@intel.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
|
|
Adds installer script for CentOS 7.3. Modifications are
based on installation script for RHEL7.3.
Modified dpdk makefile to allow upstream dpdk to build.
Prevents upstream vanilla OVS from building due to kernel
incompatibilities.
JIRA: VSPERF-452
Change-Id: Iaf05de0cf2ad7f5636d9474f351d3c7d193123cf
Signed-off-by: Martin Goldammer <martinx.goldammer@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Bill Michalowski <bmichalo@redhat.com>
Reviewed-by: Antonio Fischetti <antonio.fischetti@intel.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
|
|
Adds installer scripts for RHEL 7.3 OS.
Modified dpdk makefile to allow upstream dpdk to build.
Prevents upstream OVS from building due to kernel incompatibilities.
Provides instructions on setting up RHEL 7.3 for usage with binary
OVS packages when testing with OVS Vanilla.
Tested under RHEL 7.3
JIRA: VSPerf-322
Change-Id: If294d465f28f60a1c514a7b661ce4696ac3b5b73
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
VSPERF by default requires allocation of hugepages with total
size of 10GB. However for MERGE and VERIFY jobs less memory is
required and default size of 10GB can cause issues. Thus amount
of memory was limited and other minor enhancements were introduced:
* sysstat system package is installed at nodes running VERIFY
and MERGE jobs
* WHITELIST_NICS was set to empty list by default to avoid
automatic bind of NICs to DPDK. Old default value could
cut off network connection to DUT.
* imports were fixed at both integration.py and testcase.py
JIRA: VSPERF-391
Change-Id: Ic07d68f4591ae697c1b8edeae6c0cffe47c065ce
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Bill Michalowski <bmichalo@redhat.com>
Reviewed-by: Antonio Fischetti <antonio.fischetti@intel.com>
|
|
Open vSwitch with DPDK can optimize memory usage
in case of NUMA architecture to avoid unnecessary
memory access across NUMA slots. In a nutshell,
PMD threads serving virtual NICs are co-located at
the same NUMA slot as QEMU instance, which is using
these NICs.
This patch adds new (functional) integration testcase,
which verifies OVS vHost User numa awareness feature.
Step driven test objects were updated to allow a call
of OS utilies and evaluation of conditions. Also the
documentation was updated with the list of supported
test objects and their methods.
JIRA: VSPERF-377
Change-Id: I184e71e066d27b5b9fc9e6a9f7e240e2d1b5a0fa
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Ciara Loftus <ciara.loftus@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Bill Michalowski <bmichalo@redhat.com>
Reviewed-by: Antonio Fischetti <antonio.fischetti@intel.com>
|
|
Adds option for configurable timeout for ovs commands.
JIRA: VSPERF-396
Change-Id: Ie73dfea1a088a5c92bef705f1fe874ddeeaec5a7
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
VSPERF was updated to use DPDK16.07 and OVS 2.6.90
by default. This change should improve a performance.
It will also solve failures of VSPERF verify and merge
jobs at OPNFV Jenkins, because newer OVS version is
compatible with Linux Kernel 4.4.
JIRA: VSPERF-378
Change-Id: I636dd96facd3f6357f215290eb2382c9cc16150e
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Bill Michalowski <bmichalo@redhat.com>
|
|
Currently VSPERF supports OVS, DPDK and QEMU built
from the source code only. In some cases it is required
to support installation of these tools from binary packages
available for given linux distribution. Thus VSPERF
configuration and code was modified to suport both source
and binary versions of tools. This can be configured perf
tool, so various combinations of source and binary version
are supported.
Together with new configuration also a handling of kernel
modules was modified to automatically detect and load module
dependencies.
JIRA: VSPERF-340
JIRA: VSPERF-339
Change-Id: I855cb438cbd8998bdc499613ea5e7de2526299d7
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Bill Michalowski <bmichalo@redhat.com>
Reviewed-by: Otto Sabart <osabart@redhat.com>
|
|
Support for deployment scenarios with any number of VMs
in both serial and parallel configuration. Detailed
content of the patch:
* VswitchControllerPXP class for multi VM support
* pvvpxx and pvpvxx deployments for xx VMs in
serial respective parallel configuration
* special GUEST_ options expansion to requested
number of VMs;
* support of GUEST_ options specific macros
#VMINDEX, #MAC(), #IP() and #EVAL()
* all GUEST specific options are turned to lists
to be VM specific
* support for VM with 1 NIC
* support for VM with multiple NIC pairs; traffic
is routed in serial or parallel between NIC paris
based on deployment scenario
* support for PVVP and PVPV scenarios using VMs
with different numbers of NICs
JIRA: VSPERF-361
Change-Id: I05bedbdfa9a81ea0166d9b03d83ae49d6cb8b19b
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Bill Michalowski <bmichalo@redhat.com>
Reviewed-by: Antonio Fischetti <antonio.fischetti@intel.com>
|
|
Support of vHost Cuse interface is not supported
by OVS anymore, so it was removed also from VSPERF.
Cuse can be used with older VSPERF release if needed.
JIRA: VSPERF-376
Change-Id: Id786bddf5fa9dce5706a93de7b089707a60317cd
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Bill Michalowski <bmichalo@redhat.com>
|
|
DPDK 16.07-rc5 has renamed script tools/dpdk_nic_bind.py
to tools/dpdk-devbind.py. VSPERF was updated to use wildcard
in the script name, which is backward compatible.
Function get_version() from tools/systeminfo was updated
to correctly parse version information for DPDK v16. Version
name includes a minor version as defined inside rte_version.h.
It means, that for tag v16.07-rc5 VSPERF will show v16.07.0-rc5
in the report.
JIRA: VSPERF-333
Change-Id: I61a4ab2d90304fffdfc4d22a5cbf0cb7295402b3
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: <bmichalo@redhat.com>
|
|
The current validation method for 'add_flow' commands
does not work properly with complex flows, like UDP flows.
It always returns that the flow was not set, even though
the add_flow command was successful.
JIRA: ONP-6579
Change-Id: Iaad77551326ff495cb68a033e1303450a99386bd
Signed-off-by: Antonio Fischetti <antonio.fischetti@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
|
|
|
|
Add basic functions to enable/disable spanning tree
protocols on the bridge.
Also adds bridge info function to retrieve other bridge
information.
JIRA: VSPERF-314
Change-Id: Ic72c5a2a9d16aab1b95428ce37042a5b536481aa
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
Update dpdk, ovs and qemu versions to overcome build errors on the vsperf commit gate.
Change-Id: I579d731756bb27c37b0f4e38ff91bf36a7bd06de
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
|
|
JIRA: VSPERF-267
This change adds optional burst mode to l2fwd module that makes use of
skb->xmit_more API available in Linux Kernel > 3.18 in order to batch
transmission of packets out of the NIC, increasing forwarding performance
significantly. By default burst mode is disabled. If a value greater than
1 is provided, burst mode is enabled to send that many packets at once.
Typical values would be burst=8 or burst=16.
Change-Id: I8ef5f86cf73d4cb5a8e4c618a86111ebf411dca8
Signed-off-by: Mesut Ali Ergin <mesut.a.ergin@intel.com>
Signed-off-by: Mallesh Koujalagi <malleshx.koujalagi@intel.com>
|
|
Configuration options modified by VSPERF were split
between config_base and config_linuxapp files. Makefile
was modified to reflect this change.
Additional changes:
* content of qemu shared dir is copied without preservation
of attributes to avoid compilation issues due misaligned
clocks => could produce broken igb_uio module
* added support of new testpmd "Bye.." message
* DPDK sources are copied from RTE_SDK_USER directory for all
VNF variants - this has been wrongly reverted by inttest patch
Change-Id: Id502a072c1f843258496decbf031e7ba7264d459
JIRA: VSPERF-297
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
Reviewed-by: Michal Weglicki <michalx.weglicki@intel.com>
|
|
|
|
Upgrade OVS version tested to 2.5. Tested with OVS with DPDK and stock
OVS.
JIRA: VSPERF-254
Change-Id: I78f6cdca0b96c5b13524cec3a662e55f49320f69
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
|
|
Add python path to ./configure arguments for QEMU to overcome build issue.
Change-Id: I6a29f471a27bc0088609bf78176120637709df21
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
|
|
Configuration of DPDK options in ovs-vswitchd has changed.
Previously used option --dpdk was deprecated and all DPDK
related options have to be configured through ovsdb via ovs-vsctl
calls. VSPERF was modified to detect and use correct version
of DPDK configuration. New configuration options should
be put into VSWITCHD_DPDK_CONFIG dictionary.
VSPERF classes specific to OVS were refactored.
Change-Id: Ia3fad5906221439f477638f1f9734289dbf737bb
JIRA: VSPERF-291
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
|
|
Cleanup phase of PVVP scenario sometimes causes server reboot.
Following updates were made to prevent reboots:
* better generic process termination procedure
* ovsdb is terminated after vswitchd termination
* vswitchd is terminated directly instead of parent sudo process
* already running VNFs are terminated in case of failure during
VNF start()
Change-Id: Ic09d60d7bfdea01c84a2685ede3d0316f0d09be7
JIRA: VSPERF-271
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
|
|
In the past DPDK, OVS and QEMU were copied and compiled for all
three OVS configurations, i.e. Vanilla OVS, OVS+DPDK with vHost Cuse
and OVS+DPK with vHost User. Later compilation of QEMU was triggered
just once and DPDK compilation was removed from OVS Vanilla dir.
However source code was still copied to all directories. Unnecessary
copy operations were removed.
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
Integration TC support has been enhanced to support PVP
and PVVP scenarios. Definition of integration testcases
have been modified to use a sort of macros for repetitive
parts.
Additional improvements were introduced:
* instances of testcases are created only for testcases
selected for execution
* new TC definition options allow to define test specific
vswitch, VNF, traffic generator and test options
* tests filter applied on pattern specified by --tests
allows to define negative filter only; In that case
list of all tests is used as base for negative filter.
* traffic values defined within teststep passed to send_traffic
is merged with default values; This is essential for execution
of TCs with linux_bridge or SRIOV support. It also simplifies
integration TC definition
* typos removed
Change-Id: Icb734a7afd7e5154f27a8ff25615a39e01f58c27
JIRA: VSPERF-213
JIRA: VSPERF-216
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
Generic support of SRIOV has been added. Virtual interfaces can be
used in multiplei scenarios instead of physical NICs. Virtual
functions can be directly accessed from VM by PCI passthrough method.
Another option is to use VFs with vSwtich to evaluate impact
on performance.
Additonal modifications:
* Automatic detection of NIC details has been added to simplify
configuration.
* Obsoleted configuration options have been removed.
* Logging usage within vsperf script was fixed.
* Vsperf main was refactored and final cleanup function added.
* Configurable forwarding mode of TestPMD executed inside VM.
JIRA: VSPERF-198
Change-Id: I4a0d5d262b245d433b12419de79399fb5825a623
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
Internal module manager is responsible for removal of all vsperf
specific kernel modules. Order of modules has been changed
to respect possible dependencies among modules. Manager has been
improved to detect modules automatically loaded by modprobe
to solve dependecies. These modules are automatically removed.
Code of module manager has been refactored.
Change-Id: I4484f3bea7d9900db688f96edd5c3c6d4a304742
JIRA: VSPERF-259
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
Generic support for integration testcases with first
set of tests for vswitch testing.
New test option "TestSteps" has been introduced
to define test step by step directly in configuration
file.
In case that this concept will be accepted, there
are plenty of possibilities for future improvements.
For example:
* use it also for performance tests without explicit
call of validation methods
* introduce step macros for repetitive scenarios,
so new tests can be easily written
* further generalization, which would go beyond
usage of controllers and will operate directly
with vswitch, vnf and trafficgen objects
Change-Id: Ifad166c8ef9cfbda6694682fe6b3421e0e97bbf2
JIRA: VSPERF-212
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
Several issues have been fixed to decrease a number of warning
and error messages written to the standard output. Error and
warning messages causes false build failure report by Jenkins,
in case that internal parsing of job output is enabled.
Fixed issues:
* qemu makefile updated
* shared directories between host and guests are forcibly deleted
before vsperf execution
* nonstop_tsc cpu flag is exported from host to the guest
* vloop-vnf help has been updated and changelog added
* TCL scripts updated to print info instead of warning
* vloop-vnf image updated to avoid snmpd related warnings
Change-Id: Id9ca014bae8fa34772b67d1ebab3431682682931
JIRA: VSPERF-206
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
|
|
Enable vfio_pci support for DPDK in the case where the end user
doesn't want to use igb_uio.
Changes:
* Use generic functions to strip the path and .ko extension from the
module to be inserted/removed.
* Removed debug line in Modules_Manager.
* Removed commented code.
* Fixed all pylint issues.
JIRA: VSPERF-249
Change-Id: I69c9077735879bcbf7ce5c970c1ec53c219e9f90
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
|
|
Update make install for DPDK to install to the appropriate DESTDIR.
Change-Id: I6e4f0707038c05eeb2e2849ce34300149d8c5410
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Ian Stokes <ian.stokes@intel.com>
Reviewed-by: Antonio Fischetti<antonio.fischetti@intel.com>
Reviewed-by: Radek Zetik <radekx.zetik@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
Reviewed-by: Al Morton <acmorton@att.com
|
|
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>
|
|
Update vsperf to use DPDK 2.2 and the OVS patch that enables DPDK 2.2
support.
Change-Id: Ibe9702b2934bc87fbcd91b941ae31a7295a65f4f
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Ian Stokes <ian.stokes@intel.com>
Reviewed-by: Antonio Fischetti<antonio.fischetti@intel.com>
Reviewed-by: Radek Zetik <radekx.zetik@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
Reviewed-by: Al Morton <acmorton@att.com>
|
|
Hugepages are used by both DPDK and Qemu. However they were mounted
only in case, that OVS with DPDK support was detected. Thus code
has been modified to mount hugepages in case that either DPDK usage
or QEMU usage is detected.
Change-Id: I662a6f0918b7b8d4fc38c2ce3d0d82bba0b8b2b0
JIRA: VSPERF-170
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
The purpose of using testpmd instead of OVS is to get the baseline
of the DUT when performing hardware offloading operations.
There are supported different checksum calculation
and txq flags settings.
Change-Id: I93c9b45dcb31eaa1f610b7e061f3dd5936b0e6ec
JIRA: VSPERF-193
Signed-off-by: Robert Wojciechowicz <robertx.wojciechowicz@intel.com>
Reviewed-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
Stream specific flows can be pre-installed into the vswitch
based on the value of testcase specific configuration option
"Pre-installed Flows". In case, it is set to 'Yes', then
specific flow for each stream will be inserted into the switch.
Otherwise only generic flows will be installed. Default value
of "Pre-installed Flows" is set to 'No'. Its value can be
overridden by CLI parameter pre-installed_flows.
This configuration parameter is an enhancement of "MultiSream"
feature and it is ignored if "MultiStream" is disabled.
Python module 'netaddr' is required by this implementation
and it has been added to requirements.txt file.
Change-Id: I8a17577a702bf2be2753134eb203b936a87fc2e5
JIRA: VSPERF-83
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
Remove the datapath that OVS creates, ovs-system, (can be viewed by ip link)
after running OVS vanilla tests.
Change-Id: I087c7b3f5afa546258227939ffcb38f0192f0d98
JIRA: VSPERF-175
Signed-off-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
Qemu 2.2 doesn't compile on Fedora 22 and ovs was set to track the head
of master. We need to fix this for OPNFV builds.
Change-Id: I05823f96b9347ac322831a0dd3f3d63dcf726beb
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
|
|
VSPERF will explicitly expand any '~' to the absolute path to the user's
home directory before call of subsystem.Popen method. Only calls,
which process configuration values are modified.
Change-Id: Ibd9399ae84bf4698c86bf8eff97ca6ce785fb3fb
JIRA: VSPERF-45
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
Reviewed-by: Al Morton <acmorton@att.com>
|
|
For PVP and PVVP deployments, traffic inside virtual machines must be
forwarded between its interfaces. There are several forwarding options
supported by VSPERF, including DPDK testpmd, Huawei l2fwd kernel module
and linux bridge. Another option is, that VM image has built in forwarding
functionality and vsperf doesn't configure it itself.
User can select VM loopback application by configuration option
GUEST_LOOPBACK (per VM) or by SCALAR cli option guest_loopback (global
settings).
Selected guest loopback application(s) will be written into test results
CSV file and test report MD file.
Default wildcarded guest login prompt was added. Guest startup guarding
timer can be configured. Path to OVS kernel module has been fixed.
Change-Id: If738da1ea09112f9cf2267afcbc99a6797f3a03a
JIRA: VSPERF-130
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
|
|
VSPERF used old version of OVS, which has supported DPDK 2.0.
With switch to DPDK 2.1, VSPERF can use recent OVS code again.
JIRA: VSPERF-124
Change-Id: I81f6b8887d795df08a2eb8959606f2a9a277f9e6
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Gene Snider <eugene.snider@huawei.com>
|
|
Automatic selection of OVS and DPDK directories must be performed
before initialization of modules is called. Otherwise modules will
use wrong values with unpredictable results.
Default directory values have been changed to point to sources build
by make.
Clean&sweep of directory usage was performed.
Configuration file for pylint has been renamed to follow pylint
naming convention.
Change-Id: I42c89f8890c021f0062b478a856ae0113f1245fb
JIRA: VSPERF-121
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
Reviewed-by: Gene Snider <eugene.snider@huawei.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
|
|
Update the rules for Make clean and distclean.
Update make not to clone the repositories if they are already
cloned, simply pull, checkout the tags and build.
Changes in this patch:
1. QEMU is built just once in .../src directory.
.../src_vanilla and .../src_cuse don't contain qemu anymore
2. 'make clean' deletes all built *.o files
3. 'make distclean' deletes all built and generated files
(distclean is used instead of cleanse now)
4. 'make' calls 'git pull' when repository is cloned already
JIRA: VSPERF-94
Change-Id: I80f9a135580b450fb4606cf947661049ff509548
Signed-off-by: Radek Zetik <radekx.zetik@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Gene Snider <eugene.snider@huawei.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
|
|
Create bridge and set datapath_type in 1 transaction to prevent OVS from
generating misleading error messages which jenkins considers as
build errors.
Update vswitch interface to include optional parameters.
Change-Id: I668f474ea909b284f3726807aab42d52ae2fb504
JIRA: VSPERF-122
Signed-off-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Gene Snider <eugene.snider@huawei.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Radek Zetik <radekx.zetik@intel.com>
|
|
Initial pylint config file has been created to follow current
code structure and design. A few issues have been fixed, so currently
56 of 67 files have rating 10/10. There are still issues to be fixed,
mainly TODOs/FIXMEs and missing impelentation of abstract class members.
Change-Id: Icf5b12c2150258f8ac657f8d50b47a697d1660a0
JIRA: VSPERF-91
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
Reviewed-by: Gene Snider <eugene.snider@huawei.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
Module manager has been enhanced to support both 'insmod' and 'modprobe'
commands for kernel module insertion. In case, that .ko suffix is detected
then insmod will be used otherwise modprobe will be called. This allows
user to specify full path to each module. For example vanilla ovs module
can be defined as "OVS_DIR_VANILLA + 'datapath/linux/openvswitch.ko'"
to load kernel module matching OVS vanilla source tree version.
Change-Id: Ib8d16eca84449ad34d6b307ab836f58d2f0d341b
JIRA: VSPERF-116
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
Technical Debt - Add appropriate build flags to the OVS makefiles to
build OVS for performance.
JIRA:VSPERF-92
Change-Id: I63d45ebe8ba41799158f97db892a94e16c7b3df5
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
Generic PVVP deployment support has been added. Two
new testcase scenarios for throughput and back2back
tests with PVVP deployment were added. Original
implementation of PVP has been refactored
Following files were affected:
modified: conf/01_testcases.conf
modified: conf/02_vswitch.conf
modified: conf/04_vnf.conf
modified: core/__init__.py
modified: core/component_factory.py
modified: core/loader/loader_servant.py
modified: core/vnf_controller.py
deleted: core/vnf_controller_p2p.py
deleted: core/vnf_controller_pvp.py
modified: core/vswitch_controller_p2p.py
modified: core/vswitch_controller_pvp.py
new file: core/vswitch_controller_pvvp.py
modified: docs/to-be-reorganized/NEWS.rst
modified: docs/to-be-reorganized/quickstart.rst
modified: src/dpdk/dpdk.py
modified: src/ovs/ofctl.py
modified: testcases/testcase.py
modified: tools/tasks.py
new file: vnfs/qemu/qemu.py
new file: vnfs/qemu/qemu_dpdk.py
modified: vnfs/qemu/qemu_dpdk_vhost_cuse.py
modified: vnfs/qemu/qemu_dpdk_vhost_user.py
modified: vnfs/vnf/vnf.py
modified: vswitches/ovs_dpdk_vhost.py
Change-Id: Ib6869a29337a184cb58c57fd96bba1183aba00ab
JIRA: VSPERF-68, VSPERF-69
Signed-off-by: Martin Klozik (martinx.klozik@intel.com)
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
Currently the VSPERF makefiles make just one variant
of vSwitch - OVS with DPDK-vhost-user. To make the other
variants the makefile has to be edited. And the make re-run.
The fix builds all required versions:
DPDK-vhost-user OVS (in src/)
Vanilla OVS (in src_vanilla/)
DPDK-vhost-cuse OVS (in src_cuse/)
HowTo:
- git clone vsperf
- cd .../src
- make
JIRA: VSPERF-85
Change-Id: I469baf8432f0b127cde785f35a6c57a2c778f23f
Signed-off-by: Radek Zetik <radekx.zetik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
|
|
JIRA: VSPERF-72
This change adds optional IPv4 DNAT support to l2fwd module for level two
forwarding. With this change the l2fwd module can be used for testing
complex IP configuration routing with virtual switches.
Other L2 forwarding modules provide only Level 2 pass through. These can be
used for complex IP chain processing but rely on port forwarding in the switch.
With this module each packet which is forwarded optionally gets a new
destination IP and source masquerade. So a test packet can be routed to eth1
and forwarded on eth2 with a different target IP and source address.
To use this module compile it for your kernel and use the 'insmod' command
to insert it.
With no arguments this will forward eth1 to eth2 without modification.
With 'net1=ethX net2=ethX' Level 2 forwarding can be done between arbitrary
ports.
With 'netX=ethX,XX.XX.XX.XX,xx:xx:xx:xx:xx:xx' the packets which are forwarded
on the target port will be given the new destination IP and mac address. One
or both ports may enable DNAT.
Change-Id: If24281a6841930a7a85e4536da96b980ed48df1b
Signed-off-by: Gene Snider <eugene.snider@huawei.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
|