Age | Commit message (Collapse) | Author | Files | Lines |
|
Following changes are added following first review
1. Descriptions in integration/01_testcases.conf
2. Comment in conf/01_testcases.conf
3. Checking all cases of traffic types in traffic_controller_rfc2544.py
4. Removing whitespaces
5. Missing changes (throughput->rfc2544_throughput)
6. Syntax error in core/traffic_controller_rfc2544.py
Currently the traffic-type values that are provided as part of the
test case definition needs some fix to support additional traffic
- apart from rfc2544. The Current and the proposed changed is summarized
in the below table:
|--------------------------------------------------------------------|
| Parameter | Existing traffic_type value | Changed to |
----------------------------------------------------------------------
| Throughput | rfc2544 OR throughput | rfc2544_throughput |
----------------------------------------------------------------------
| Back2Back | back2back | rfc2544_back2back |
----------------------------------------------------------------------
| Continuous | continuous | rfc2544_continuous |
----------------------------------------------------------------------
JIRA: VSPERF-420
Change-Id: I22bd897f6389d2b568a6a3735c67f0003e813445
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Rename LTD.Scalability.RFC2544.0PacketLoss to
LTD.Scalability.Flows.RFC2544.0PacketLoss to indicate what is being
scaled.
Change-Id: I398cbccf319fc09b621e7a68d7f81e4ff8d0b050
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
|
|
Both documentation and traffic generator API are updated
to match current code logic. Additional default values
are added into TRAFFIC_DEFAULTS dictionary. Constructor
of TestCase class uses default values from TRAFFIC_DEFAULTS
instead of magic numbers.
Change-Id: Id2f4983945e4b123adddbc9a2a832f4a735b27f6
JIRA: VSPERF-253
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>
|
|
Continuous testcases should be executed with 100% of frame rate
by default. Thus iLoad parameter of all continuous testcases
was updated to the value of 100.
Change-Id: Ia1c5a49c274d96a25ab7d9b8378ae7be6dc0b10c
JIRA: VSPERF-189
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
|
|
Support for multiple modes of VSPERF operation has been added.
These modes can be used for standalone execution of traffic
generator or for manual testing or for execution of unsupported
traffic generator. Supported modes are: "normal" - execute vSwitch,
VNF and traffic generator; "trafficgen" - execute only traffic
generator; "trafficgen-off" - execute vSwitch and VNF.
Normal mode is selected by default.
In case that trafficgen mode is selected, then various
--test-params could be specified to affect traffic generator
configuration. These parameters include traffic type, frame rate,
bidirectional and scalability settings. Selection of transport
protocol is not supported by IxNet yet (UDP is enforced), thus
modification of transport protocol from command line is not
supported too.
Fixes of testpmd and qemu warning patches are inclduded.
Change-Id: Idac10fe03e724075268a01ec3eb0817fba830aec
JIRA: VSPERF-173
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.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>
|
|
Streams used by scalability testcases can be simulated
at different network layers by modification of destination
MAC address (L2), destination IP address (L3) or destination
UDP port (L4). It is possible to define number and type
of the streams by testcase definition by options "MultiStream"
and "Stream Type" or by CLI parameters "multistream" and
"stream_type". CLI options override testcase definition.
Number of streams, their types, used transport protocol
and indication of pre-installed flows are written to both
result CSV file and MD file with test report.
Default transport protocol was changed to UDP because
IxNetwork configuration script doesn't support TCP yet.
Change-Id: I1ff9ab7756d38f65b1a7730397507c5a5ff5a3d1
JIRA: VSPERF-81
JIRA: VSPERF-82
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
|
|
Two sample contionous stream testcaes were introduced for PVP and PVVP
scenarios. Required frame rate percentage can be specified either by
tetcase configuration option "iLoad" or by command line option "iload".
Command line option take precendece to testcase option. By default 100%
linerate is used if not specified otherwise.
Change-Id: I95f7ae6081377a4c99ce70fc7504b6b542f9260b
JIRA: VSPERF-95
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>
Reviewed-by: Al Morton <acmorton@att.com>
|
|
Flow definition can be changed by testcase setup. By default
only ingress ports are used to route traffic, but flow can be
extended by src and dst IP addresses used by the traffic
generator.
Change-Id: I694714537ad2d818192a39f3235d8e6bf0f59a49
JIRA: VSPERF-90
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: 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>
|
|
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>
|
|
New sysmetrics implementation is based on pidstat command line tool
from sysstat package. Old non-functional implementation was removed.
Reporting was refactored to generate report after each TC from values
already available in memory.
Following files were affected:
modified: conf/01_testcases.conf
modified: conf/02_vswitch.conf
modified: conf/05_collector.conf
deleted: core/collector_controller.py
modified: core/component_factory.py
modified: docs/NEWS.rst
modified: packages.txt
modified: requirements.txt
modified: testcases/testcase.py
modified: tools/collectors/collector/collector.py
modified: tools/collectors/sysmetrics/__init__.py
deleted: tools/collectors/sysmetrics/linuxmetrics.py
new file: tools/collectors/sysmetrics/pidstat.py
modified: tools/report/report.jinja
modified: tools/report/report.py
modified: tools/systeminfo.py
modified: vsperf
JIRA: VSPERF-67
Change-Id: I25a79f2afef405b9ac46ae85c18044af167a62a4
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: Al Morton <acmorton@att.com>
Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
|
|
Only works for P2P. Other deployment scenarios will need to implement
the same kind of multi-table flow as P2P to enable frame modification.
Signed-off-by: Billy O'Mahony<billy.o.mahony@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Radek Zetik <radekx.zetik@intel.com>
Reviewed-by: Dino Madarang <dino.simeonx.madarang@intel.com>
Change-Id: I2fa35972b90b165c00f0d0a7515fa275d0f17aa4
|
|
LTD.CPU.RFC2544.0PacketLoss and LTD.Memory.RFC2544.0PacketLoss
Every testcase can be configured to run background load
on the DUT. Load is generated by chosen command line tool,
which must be installed according to the installation.md.
Currently 'stress' and 'stress-ng' tools are supported,
but support for new tool can be easily added.
Load can be configured by testcase configuration option 'load'.
Details about supported load generator options can be found
in conf/01_testcases.conf.
JIRA: VSPERF-23
JIRA: VSPERF-24
Change-Id: I3e1aebc0d41357f5a2764015c41ffc7e50fdbf8b
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: Al Morton <acmorton@att.com>
|
|
Enable booting of a VM with DPDK and run testpmd for
PVP testing.
* Added throughput and back2back tests with pvp deployment scenario in
01_testcases.conf
* PVP requires DPDK 2.0 with VHOST_USER enabled and QEMU 2.2.0
* Tested on CentOS7 and Fedora 20
* Fix conflict with change 1078
Recent Changes:
* Fix merge conflict (testcase.py and testcases.conf)
* Remove QEMU_DIR. User must set QEMU_BIN
* Set bidir traffic to True
* Add flow for bi-directional traffic
* Use working OVS_TAG ad2e649834be20dd01b1632799fe778106a96a2d
* Merge change 1096 (src: Add QEMU makefile)
* Set virtio-net-pci csum=off and other variables to off
* Move hardcoded values to conf/*
JIRA: VSPERF-56
Change-Id: I4ad184531064855493483d9833a7722c9f7d3576
Signed-off-by: Madarang, Dino Simeon <dino.simeonx.madarang@intel.com>
Signed-off-by: Meghan Halton <meghan.halton@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
|
|
This test adds a multistream config item,
taking the required number of flows to setup in the traffic,
to the existing testcase and then running the standard
2544 Throughput test. The config is plumbed through
from the 01_testcase.conf via ITraffic to the IxNet.
01_testcase.conf contains new parameter MultiStream
for 2544 Throughput test.
JIRA: VSPERF-19
Change-Id: I12e0e76a5f54dc13b854f3a65f3a4a0fe90ff885
Signed-off-by: Radek Zetik <radekx.zetik@intel.com>
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Eugene Snider <Eugene.Snider@huawei.com>
Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
|
|
Implement a simple performance test that sends a continuous
stream of traffic to the vSwitch at line rate for 30 seconds
and measures the throughput
Note: there is issue with calculating of the Tx Fps and Mbps
based on the results from the IxNetwork traffic generator.
This issue will be fixed in a later patch.
JIRA: VSPERF-27
Change-Id: Ic72225888735d33398a602462af159e901fb5957
Signed-off-by: Radek Zetik <radekx.zetik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
|
|
* Added a new standard set of flow table that defaults to routing phy1 to phy2
and vice-versa and allows frame modification and tuple matches to be added
independently of routing.
* Add a FrameMod testcase attribute - implement this for value 'vlan'
* With FrameMod == 'vlan' the reported tx_fps and rx_fps figures do not match
even for RFC2544 throughtput 0% packet loss - this is a pre-existing bug
and a fix will be done as a separate patch. The rx_fps figure is the
reliable figure.
JIRA: VSPERF-27
Change-Id: Idd137b7a101305e7aebb6fabdfb6a7a4dcf8661b
Signed-off-by: Billy O'Mahony<billy.o.mahony@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Eugene Snider <Eugene.Snider@huawei.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
|
|
This change introduces new parameter which sets the communication
between ports either uni-directional or bi-directional.
JIRA: VSPERF-27
Change-Id: I4eb06f5c91ef42147878cb68cbad24e69eb002c1
Signed-off-by: Radek Zetik <radekx.zetik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Meghan Halton <meghan.halton@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com>
|
|
Add RFC2544.BackToBackFrames test and fix pylint errors.
Remove irrelevant values of back to back test results.
JIRA: VSPERF-46
Change-Id: I7a0dfd9494b509c3be7bffc0678228838d3059a1
Signed-off-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Meghan Halton <meghan.halton@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Radek Zetik <radekx.zetik@intel.com>
Reviewed-by: Martin Klozik<martinx.klozik@intel.com>
Reviewed-by: Eugene Snider <Eugene.Snider@huawei.com>
Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
|
|
This commit adds the vSwitch Integration Test Framework whose
design, based off TOIT, is outlined in the HLD previously made
availiable to the community for review.
The design of this framework allows developers to add different
implementations of components, specifically vSwitches, Traffic
Generators, Metrics Collectors and VNFs, easily.
The goal of this design is that all testcases should run regardless of
what is "under the hood".
This commit adds support for running the framework for a phy to phy
RFC2544 testcase only. More testcases will be added by the community.
vSwitches supported at this time:
* Intel DPDK (r) accelerated OpenvSwitch
Traffic Generators supported at this time:
* IxNet - IxNetwork Implementation
* Ixia - IxExplorer Implementation
* Dummy - Manual Implementation
Metrics Collectors supported at this time:
* Linux Metrics
No VNFs are supported at this time but the framework outlines how they
should be integrated and provides APIs for them to adhere to.
JIRA: VSPERF-27
Change-Id: I312e1a1199487ffee8f824be06cd97d4f793eee0
Signed-off-by: Stephen Finucane <Stephen.Finucane@intel.com>
Signed-off-by: Meghan Halton <Meghan.Halton@intel.com>
Signed-off-by: Christopher Nolan <Christopher.Nolan@intel.com>
Signed-off-by: Maryam Tahhan <Maryam.Tahhan@intel.com>
Signed-off-by: Ciara Loftus <Ciara.Loftus@intel.com>
Signed-off-by: Mark Kavanagh <Mark.B.Kavanagh@intel.com>
Signed-off-by: Cian Ferriter <Cian.Ferriter@intel.com>
Signed-off-by: Timo Puha <TimoX.Puha@intel.com>
Signed-off-by: Billy O'Mahony <billy.o.mahony@intel.com>
Signed-off-by: Michal Weglicki <MichalX.Weglicki@intel.com>
Signed-off-by: Rory Sexton <Rory.Sexton@intel.com>
Signed-off-by: Ian Stokes <Ian.Stokes@intel.com>
Signed-off-by: Kevin Traynor <Kevin.Traynor@intel.com>
Signed-off-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com>
Reviewed-by: Eugene Snider <Eugene.Snider@huawei.com>
Reviewed-by: Aihua Li <aihua.li@huawei.com>
|