Age | Commit message (Collapse) | Author | Files | Lines |
|
Vswitchperf specific class in yardstick was updated to reflect
new functionality of --test-params. These changes have impact
on vsperf documentation and yardstick samples.
As part of this fix following changes were made:
* trafficgen mode can be executed with default configuration
* yardstick specific TC samples were updated
* dummy traffic generator was enhanced to support back2back
* dummy traffic generator was enhanced to accept traffic
results from configuration
JIRA: VSPERF-422
JIRA: VSPERF-205
Change-Id: Ibeaa6ef46bde453e3ca5dee6e4568fc8c3853521
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>
Reviewed-by: <sridhar.rao@spirent.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>
|
|
|
|
In the past, only a few configuration parameters could be
modified via --test-params CLI argument and it was not easy
to find out their complete list.
This patch adds support for generic modification of any
configuration parameter via CLI argument --test-params
or by "Parameters" section of testcase definition.
Thus it is possible to customize a vsperf configuration
environment per testcase or for each vsperf execution.
Old CLI parameters duration, pkt_sizes, rfc2544_tests
and rfc2889_trials were renamed to TRAFFICGEN_DURATION,
TRAFFICGEN_PKT_SIZES, TRAFFICGEN_RFC2544_TESTS and
TRAFFICGEN_RFC2889_TRIALS to be consistent with
other configuration parameters.
JIRA: VSPERF-375
Change-Id: I50a1f4ff7250d754aa8af0295a9c7c1be8151175
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>
Reviewed-by: <sridhar.rao@spirent.com>
|
|
IXIA traffic generator can be controlled by two different
VSPERF's wrappers IxNet (preferred) and Ixia (legacy and
outdated). It has been found, that Ixia wrapper can't be used
because of missing "packetsize" traffic item. Also only
IXIA OS 6.60 was supported and never IXIA OS versions
were not working. Both limitations were fixed.
Also reported results were fixed to show correct values
for MBPS items.
JIRA: VSPERF-417
Change-Id: I191aa9fee2683877ce373b6aa7cd1c72e9847568
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: Christo Kleu <christo.kleu@netronome.com>
|
|
Adds uio_pci_generic and vfio_no_iommu options for guest
driver binding. In case of SR-IOV tests with guests attached
and uio_pci_generic is selected the option will be modified
to use igb_uio instead as uio_pci_generic is not supported.
JIRA: VSPERF-397
Change-Id: I56003addacc8bf0d024cce35d41b00dd0baa8cbc
signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
Verify and merge jobs will execute real vsperf TCs,
which won't require neither physical NICs nor traffic
generator. Script ./build-vsperf.sh will take care about
creation, update and activation of python virtual environment.
It will also install required system packages at nodes
running merge and verify jobs.
Additional improvements:
* set of simple sanity checks was added
* two new integration TCs were added; However test with
VNF is not used now, because it requires a VM image.
* detailed logs are shown in case of failure
JIRA: VSPERF-391
Change-Id: I33e75e762fdc62656de92dc34f0ad7a484623603
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: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
|
|
Testpmd has a lot of parameters and vsperf was able
to modify only a few of them through dedicated GUEST's
specific configuration options. Old configuration
options were replaced by one generic GUEST_TESTPMD_PARAMS,
which allows to modify any of existing testpmd parameters.
Detection of testpmd execution was changed to be independent
on TXQ flags setting.
Documentation was modified to reflect GUEST_TESTPMD change.
Also doc formatting was fixed at several places.
JIRA: VSPERF-380
Change-Id: Ie0bf290320f3b22ef6be6b55ed553235bbcb4aff
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>
|
|
All files, which do not comply to Apache 2.0 license,
are moved into dedicated 3rd_party directory. This will
simplify license checks performed on vsperf code.
It is not required to move l2fwd module from its
current location.
JIRA: VSPERF-413
Change-Id: I6b4bd6bb5542e6db9a7ef91ee3f5f2907f93e9b8
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>
|
|
JIRA: VSPERF-392
Change-Id: I44866b7d3298617003b87b015eb08bf32c4014f7
Signed-off-by: Otto Sabart <osabart@redhat.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>
|
|
The changes/additions, apart from spirent testcenter-specific, also
includes
to some files in conf (01_testcase and 03_traffic) and core (result-
constants, traffic_controller and component_factory) folders.
Currently, only RFC2889 Forwarding testcase is supported.
Incorporated following review suggestions:
1. Log level fixes
2. Removing unused function in results_constants.py
3. Added documentation to docs/configguide/trafficgen.rst. Userguide
will be updated once other RFC2889 tests are implemented.
4. string matching in component_factory.
5. Remove Trailing Whitespaces
JIRA: VSPERF-286
Change-Id: I0195720ab2f8cf2c3a5aa490d66166bdca0afcb0
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.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>
|
|
In cases with VHost user and non-jumbo frame scenarios we can
disable merge buffers on the guest NICS to improve performance.
This patch adds this option to the 04_vnf conf file.
JIRA: VSPERF-388
Change-Id: Ic1f776e90fdccaa5d5a0c952c96811a8747fe936
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
Implementation of RFC2544 throughput/back2back and
continuous testcases with 4 serial VMs.
Topology is: Phy1-VM0-VM1-VM2-VM3-Phy2.
This patch requires Patch VSPERF-326 "Integration test
implementation: Multi-PVP with explicit Flows".
v2: rebased to master to fix conflicts.
JIRA: VSPERF-364
Change-Id: Ib731bf6dc4634d6347b1c521bb82326db90a6c63
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>
|
|
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>
|
|
Adds multi-queue for vanilla OVS using virtio-net.
TunTap ports will use multi_queue parameter when ports are
created/deleted if guest nic queues are enabled and
vswitch is ovs vanilla. Virtio net will now add guest nic
queues to qemu command line if appropriate.
Reworked multi-queue documentation to reflect these changes.
Adds vhost net thread affinitization which is recommended
when performing vanilla ovs multi-queue.
Guests will require ethtool if using l2fwd or linux bridge
as the loopback application when vanilla ovs multi-queue
is enabled.
Modified dpdk setting in vswitch conf to be better worded
for separation from vanilla ovs multi-queue.
Updated release and installation doc for new vloop image
that includes required ethtool utility.
JIRA: VSPERF-373
Change-Id: Idb550515190b1a93390308c11f54da368f962512
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
Adds boot and mounted drive configuration options.
JIRA: VSPERF-379
Change-Id: Ic0673a9b9f7a3430d7ac4db5fb9bf4228872f501
signed-off-by: Christian Trautman <ctrautma@redhat.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>
|
|
|
|
Implementation of 3 testcases with multi-VMs in parallel.
Flows are explicitly set on UDP destination ports so that
each packet is sent to a specific VM.
Topology is: Phy1-VM1-Phy2, Phy1-VM2-Phy2,..
This patch requires change #16855 "ovs/ofctl: Fix validation
method for complex flows."
JIRA: VSPERF-326
Change-Id: I59d23354bc9c6db470a59faba13bdcd6f2beb19d
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>
|
|
The test case for verifying the vxlan tunneling feature without using any
ingress tunnel traffic. The virtual switch(OVS) is configured to mangle and
generate tunnel traffic in the deployment. The packet flow in the test case is
as follows
TRAFFIC-IN --> [ENCAP-PKT] --> [MOD-PKT] --> [DECAP-PKT] --> TRAFFIC-OUT
ENCAP-PKT - Encapsulate the ingress packet to a tunnel type.
MOD-PKT - Modify the tunnel header to match the following decap interface.
DECAP-PKT - Decapsulate the newly generated tunneled packet.
Change-Id: Ie24bacb3cb1c069bd60403e5a4ef8bcdf0e12e54
Signed-off-by: Sugesh Chandran <sugesh.chandran@intel.com>
|
|
Enables multi-queue option for OVS versions 2.5.0 or less with
dpdk. Instead of enabling MQ on a port by port basis this sets
the global MQ option after starting the ovs switch.
JIRA: VSPERF-372
Change-Id: I245c76779695518d0005122d8214bbf3f141bb96
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
|
|
Adds options to Xena for testing options when running RFC 2544
throughput testing.
JIRA: VSPERF-369
Change-Id: I3145bd1a4d697d7b06cafda4f9d77cce859d1839
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
Change the default number of allocated pages to the min 10GB. Deallocate
hugepages if we allocated them on the fly.
Change-Id: If9946cec423dd095c1ca1ab3bee3698e2f025047
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
|
|
|
|
Testpmd forwarding mode mac_retry was obsoleted in DPDK v16.07.
Retry option is supported by multiple forwarding modes now.
Former "mac_retry" mode can be replaced by "mac retry" construct.
JIRA: VSPERF-333
Change-Id: I1563427985966264f07d10b1a8351784fe999d74
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>
|
|
|
|
If no hugepages are available, try to allocate HUGEPAGE_RAM_ALLOCATION
amount of RAM for hugepages.
JIRA: VSPERF-290
Change-Id: I092b3831254579eeebbe45e85884828f9d749895
Signed-off-by: Mars Toktonaliev <mars.toktonaliev@nokia.com>
|
|
The VSPERF traffic profile for starting rate is in a
percentage of line rate. MoonGen programs its
starting rate as Mpps. Therefore the traffic profile
for VSPERF needs to be converted to a MoonGen format.
There was a hardcoding of 14.88 that was used for the
starting frame rate for all frame sizes. This needs
to be corrected to take into account all frame sizes.
JIRA: VSPERF-350
Change-Id: Ied71668a560d7d2b03483f9a1192dd2fb4965996
Signed-off-by: bmichalo <bmichalo@redhat.com>
|
|
Need to change naming to 'Moongen' for consistent naming
between conf files and class
JIRA: VSPERF-323
Change-Id: Ic580b68323a759b3c2ef7ca3c07006243a3acf7d
Signed-off-by: bmichalo <bmichalo@redhat.com>
|
|
This patch fixes a typo in the integration testcase example,
otherwise settings like
{"guest_loopback" : "linux_bridge"}
are ignored.
JIRA: ONP-6635
Change-Id: Iab61d36e70f96f4a6c1f98a506753dc7fa090140
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>
|
|
|
|
Adds support for the MoonGen packet generator.
The following traffic types are included:
* RFC 2544 Throughput: Synchronous Interface
* RFC 2544 Back 2 Back: Synchronous Interface
* Continous Flow: Synchronous Interface
JIRA: VSPERF-168
Sample log of execution can be found as an
attachment within JIRA VSPERF-168
Change-Id: I5bb84290945f4ba41bc962370e643bbbeff0e486
Signed-off-by: bmichalo <bmichalo@redhat.com>
|
|
Adds support for multi-queue using the following config.
* VNF = QemuDpdkVhostUser
* VSWITCH = OvsDpdkVhost
* Guest Loopback as testpmd
Adds CPU mask, nbcore, rxq, and txq options for testpmd.
Adds option for guest nic multi-queue.
Adds option for dpdkvhostuser and dpdk multi-queue enable
JIRA: VSPERF-309
Change-Id: I5296fc18b430eace598d8c51620fc27a6c46a65e
Signed-off-by: Christian Trautman <ctrautma@redhat.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>
|
|
|
|
Fixes bi-directional param and enforces string type in
testcase configuration. Modifies all instance where bi
directional value is used to string.
* Changes documentation to specify value type as needed
* Changes traffic defaults to use string for bidir value
* Fixes testcases configuration files to use bidir as str
* Change testcase conf documentation to note enforcement
of string type
* Sets bidir to title format to keep consitency in traffic
profile when passed to traffic generators
* Fix pvp/pvvp check for bidir value
* Raise exception if testcase configuration is not set
as str for bidir value
* Change Xena bi-dir check to string compare instead of
typecasting to boolean to compare.
JIRA: VSPERF-282
Change-Id: I7c91fcd7333a1d1e1371bfd31700c01d7da268b5
Signed-off-by: Christian Trautman <ctrautma@redhat.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>
|
|
|
|
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>
|
|
Adds port ip set options as part of conf files. Allows for IPv4
address assignment. Adds ipv6 options for later implementation
when available in framework.
* Adds Xena to documentation area where available traffic gens
are listed.
JIRA: VSPERF-273
Change-Id: Ia4129222ea95f1d399d5cc0c589c9a99d7b1b81a
Signed-off-by: Christian Trautman <ctrautma@redhat.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>
|