aboutsummaryrefslogtreecommitdiffstats
path: root/conf
AgeCommit message (Collapse)AuthorFilesLines
2018-07-27Logging: Enhance logging with separate files and timestampsSridhar K. N. Rao1-1/+4
This patch adds following: 1. overall.log file is change to vsperf-overall-timestamp.log files 2. The overall.log files will include timestamps too. 3. Separate log files for infrastructure metrics. 4. All timestamps of the logfiles for a given test will be same. 5. Store the timestamp in 'LOG_TIMESTAMP' 6. Create metrics-log only if 'COLLECTOR' is set to 'Collectd' JIRA: VSPERF-586 Change-Id: I35d373a66b1074f6ee1a440ffc82bc3db03f36e7 Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
2018-06-18Merge "connections: Introduction of generic API"Martin Klozik5-142/+149
2018-06-05ovs: Change default bridge namesMartin Klozik5-38/+40
Default names of OVS bridges used by vsperf were changed to avoid accidental collision with 3rd party bridges (e.g. linux bridges) already configured at DUT. Step driven testcases, which extend existing deployment scenarios, were updated to use appropriate configuration options instead of hardcoded bridge names. JIRA: VSPERF-580 Change-Id: I8c7eee6d8f6532485ec3a2cc06f26515e665fb7e Signed-off-by: Martin Klozik <martin.klozik@tieto.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Richard Elias <richard.elias@tieto.com>
2018-06-04vswitches/ovs: integration TCs refactoringElias Richard3-338/+38
Refactorization of the tests in for the new teardown functionality, that automatically deletes flows, ports and bridges when OVS stops. JIRA: VSPERF-578 Change-Id: Ibe18f89c59ca5474a638808ed072cccd811ee75d Signed-off-by: Richard Elias <richard.elias@tieto.com> Reviewed-by: Martin Klozik <martin.klozik@tieto.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
2018-05-28connections: Introduction of generic APIMartin Klozik5-142/+149
Redesign of vSwitch and vSwitch controller classes, to use generic connection methods for configuration of vSwitch. This API is more generic and vSwitch agnostic, thus deployment scenarios like P2P, PVP, PVVP (i.e. PVVPx) can be used for all (currently) supported vSwitches. Usage of new API will simplify an introduction of new vSwitches in the future. This patchset introduces following changes: * OVS: implementation of add_, del_, dump_ connection(s) and their validation methods * VPP: bidir parameter removed - it is up to the deployment scenario implementation to take care about bidirectional connections * P2P and PXP controllers were updated to use connection methods instead of flow related methods. Thus standard TCs will support both OVS and VPP. NOTE, PVPV is not supported for VPP (yet?). * refactoring of vSwitch interfaces and inherited classes * VPP step driven TCs were replaced by standard TCs with appropriate deployment scenarios. This is for backward compatibility with TC reporting. Once reporting of VPP TC results into results DB will be modified, this TCs can be removed. * OVS routing tables support was generalized to support P2P and PXP deployments and step driven TCs. Usage of OVS routing tables is now configurable (turned off by default) for better comparison of results among various vSwitches. * Multistream pre_installed_flows feature was generalized to support P2P and PXP deployments and step driven TCs. * IxNet: TRAFFIC['l4']['dstport'] will be used as a start value for port iteration if L4 multistream feature is enabled. * OVS: default flow template is now configurable via OVS_FLOW_TEMPLATE * OVS: support of TRAFFIC['flow_type']='ip' was generalized to work with connection methods (i.e. with P2P and PXP deployments and step driven TCs) * integration TCs: modification of integration TCs and their macros to utilize new generic connection based API * CI: list of TCs for VERIFY & MERGE jobs was changed to run the same generic tests for both OVS & VPP * documentation update * small fixes and improvements JIRA: VSPERF-579 Change-Id: If4e6e6037929eab9f16c2bbcb8a0fb30e5d6f9b0 Signed-off-by: Martin Klozik <martin.klozik@tieto.com> Reviewed-by: Richard Elias <richard.elias@tieto.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
2018-05-09Merge "ovsdpdk: Custom Statistics Tests"Sridhar Rao1-1/+69
2018-05-04integration: Tunneling protocols support updateMartin Klozik2-10/+6
Support of tunneling protocols by IxNet was limited to OP2P and PTUNP deployment scenarios. This patch adds generic support for generation of VXLAN, GRE and GENEVE frames by IxNet into integration testcases. As part of this patch, the processing of tunnel type settings was modified to follow VSPERF priority order during configuration parameter evaluation. JIRA: VSPERF-573 Change-Id: I7bf7d4a5545a6b130cc3ac252efaabe4b97bdb29 Signed-off-by: Martin Klozik <martin.klozik@tieto.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Cian Ferriter <cian.ferriter@intel.com> Reviewed-by: Richard Elias <richard.elias@tieto.com>
2018-04-25ovsdpdk: Custom Statistics TestsRichard Elias1-1/+69
Functional testcases for the validation of Custom Statistics support by OVS. The Custom Statistics feature allows Custom Statistics to be accessed by VSPERF. These statistics include for example rx_missed_errors, rx_errors, tx_errors, rx_mbuf_allocation_errors, rx_crc_errors. These testcases require DPDK v17.11, the latest Open vSwitch(v2.9.90) and the IxNet traffic-generator. JIRA: VSPERF-572 Change-Id: I30cbe6067d6bdd0fc2a262b86f306b66a77d085f Signed-off-by: Richard Elias <richardx.elias@intel.com> 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: Sridhar Rao <sridhar.rao@spirent.com>
2018-04-19Merge "conf/testcases: add new continuous tests"Sridhar Rao1-0/+24
2018-04-11Merge "trex: Add support for burst traffic type"Martin Klozik3-4/+24
2018-04-11Merge "trex: Support of SCAPY frame definition"Martin Klozik1-1/+40
2018-04-03Merge "python: Pylint 1.8.2 code conformity"Martin Klozik1-5/+5
2018-03-30conf/testcases: add new continuous testsJulien Meunier1-0/+24
Add new tests with continuous stream (multiple streams and VLAN) in order to measure the throughput of a vSwitch at the line rate. JIRA: VSPERF-568 Change-Id: I0e302ab611ba417cfb0a752e49de3212cb773a24 Signed-off-by: Julien Meunier <julien.meunier@6wind.com>
2018-03-29ovs: Configurable arguments of ovs-*ctlMartin Klozik1-0/+5
This patch introduces new configuration parameters OVS_OFCTL_ARGS, OVS_VSCTL_ARGS and OVS_APPCTL_ARGS, which specify default arguments passed to respective ovs-*ctl tools. So user can specify default arguments passed to these tools inside configuration file, testcase parameters or by --test-params option. For example OVS_OFCTL_ARGS can be modified to use different OpenFlow version by default. JIRA: VSPERF-567 Change-Id: Ie7448ea94a54b8044af12d0246d66514e057b7dc 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: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Richard Elias <richardx.elias@intel.com>
2018-03-23python: Pylint 1.8.2 code conformityRichard Elias1-5/+5
Updated master Python scripts to conform to the newer pylint 1.8.2 standard. JIRA: VSPERF-563 Change-Id: I19305a008a2e22c2f4841aa83fed85fbdc2d549c Signed-off-by: Richard Elias <richardx.elias@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: Sridhar Rao <sridhar.rao@spirent.com>
2018-03-22trex: Support of SCAPY frame definitionMartin Klozik1-1/+40
T-Rex implementation in vsperf was improved to support: * SCAPY frame definition, so additional network protocols can be generated by T-Rex and sent towards DUT * VLAN configuration defined by TRAFFIC['vlan'] * enable or disable L2, L3, L4 and VLAN protocols as configured by TRAFFIC dictionary VSPERF documentation was updated with examples of SCAPY frame definition usage. JIRA: VSPERF-565 Change-Id: Iff9baba47a1e83d321f6ba3c1c482965b9882241 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: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com> Reviewed-by: Richard Elias <richardx.elias@intel.com>
2018-03-22trex: Add support for burst traffic typeMartin Klozik3-4/+24
Support for burst traffic type was added into T-Rex. This traffic type is useful for tests, where a limited number of frames should be sent through DUT. JIRA: VSPERF-562 Change-Id: I03b7150e66a0210cce91b20c751b8624c16f951b 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: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Richard Elias <richardx.elias@intel.com>
2018-03-19vsperf: Performance Matrix functionality supportRichard Elias1-3/+24
The patch expands the vsperf --test-params argument with list functionality, which enables running multiple tests with different parameters. If more tests are run then parameters provided, the last parameters will be reused. Example: ./vsperf --test-params "['','TRAFFICGEN_PKTSIZE = (64,)']" phy2phy_cont phy2phy_cont CUMULATIVE_PARAMS if true, instead of using the default settings, each test will take the parameters of the previous test before applying it's own. The patch also adds the vsperf --matrix argument which analyzes and compares the results of all the tests run, printing it as a table, as well as saving it into a file in the results directory. MATRIX_METRIC metric used by Performance Matrix to compare tests. JIRA: VSPERF-554 Change-Id: I71530ddf110890612236a7e57039f249609c835b Signed-off-by: Richard Elias <richardx.elias@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: Sridhar Rao <sridhar.rao@spirent.com>
2018-03-16Merge "trex: Tests with T-Rex in VM"Martin Klozik2-0/+183
2018-03-12trex: Tests with T-Rex in VMMartin Klozik2-0/+183
Patch introduces a set of testcases with T-Rex running inside VM. JIRA: VSPERF-560 Change-Id: I5b0a0220a2d72428ae1210ee9590d39abdfb9c1d Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Signed-off-by: RadoslawX Glombiowski <radoslawx.glombiowski@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
2018-02-26Merge "Trex_speed_improvement: Add logic for dealing with high speed cards"Martin Klozik2-0/+9
2018-02-23Trex_speed_improvement: Add logic for dealing with high speed cardsChristian Trautman2-0/+9
Adds configuration options and logic to detect maximum supported speed of T-Rex server side cards. 1. Adds logic to pull maximum supported speed from port info 2. Adds forcable option to have user specify maximum speed 3. If logic cannot detect speed from port_info because it is not available or the forcable option is not set it will assume 10G speeds. 4. Tested on Intel XXV25G and Mellanox ConnectX-5 cards 5. Added packet structure logging to show packet info for better debugging capabilities 6. Adds core mask to take advantage of multiple cores if server is started with more than default number of cores 7. Adds packets lost logging to RFC2544 Throughput testing JIRA: VSPERF-559 Change-Id: I7fcfda7ccc408c30830950ee3668e01b8624c20a Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2018-02-13Merge "loadgen: Support for Stressor-VMs as a Loadgen"Martin Klozik1-1/+17
2018-01-31collector: Support for collectd as one of the collectors.Sridhar K. N. Rao1-1/+25
The changes include: 1. Configuration in 05_collector.conf. User can specify the metrics that are of their interest and also fine tune the same. 2. collectd_bucky.py: This is derived from python_bucky library. Formal approval for reuse is obtained. 3. collectd.py: This is the main file that receives the samples, stores the required ones, plots the values and saves the values in a data-file in results folder. 4. Fixed some pylint errors 5. Added required libraries to requirements.txt. hashlib is supported by default. However, matplotlib and numpy required 6. added __init__.py to overcome import errors. 7. Crypto needs pycrypto module 8. Builtin filter function usage return bad-builtin pylint warning. Rewrite to remove filter function. 9. Added support for reporting the ovs processes statistics. 10. Import order corrected according to pylint 11. Fixed copyright issues, removed python-3 checking, enhance to include VPP and qemu processes. 12. Removed pylint disables. 13. Added documentaion to describe sample information 14. Added @staticmethod to remove disable-no-self-use. 15. Fixed year in Copyright. 16. Updated print_results function to print the process values. 17. Removed example values form INTELRDT_XKEYS in conf file 18. Removed use of len(SEQUENCE) in loop and renamed data to pdata to avoid name clashes 19. Fixed issue with requirements.txt Note: A separate documentation covering all external tools will be provided. JIRA: VSPERF-505 Change-Id: Ieedcbe7b92e8933263d34df12b1e24be8447b524 Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
2018-01-29Merge "llc-management: Support for LLC management with RMD"Martin Klozik1-0/+62
2018-01-22bugfix: Define _EXECUTED_PIDS in config fileMartin Klozik1-0/+3
Add definition of internal _EXECUTED_PIDS list into generic configuration file. JIRA: VSPERF-556 Change-Id: I6c237cb563c0a37bf806561d1f841587796399b8 Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
2018-01-21llc-management: Support for LLC management with RMDSridhar K. N. Rao1-0/+62
This patch adds support for LLC-Last level cache management using RMD. The changes include: 1. 08_llcmanagement.conf: The configuration file to define cache allocation policy. 2. testcase.py: To trigger llc-allocation and cleanup before and after the test, respectively. 3. llc_management/rmd.py: The main file the performs the llc allocation and cleanup. 4. llc_management/resthttp.py: Generic utility to call rest APIs, with http. 5. Fixed a build error due to change in name mismatch. 6. Fixed pylint errors. Override built-in function error. 7. Added empty __init__.py to avoid import errors 8. Fixed deprecated functions errors 9. Fixed copyright issues, removed python-3 checking. 10. Removed pylint disables. 11. resthttp.py is already part of stcrestclient used in tools/pkt_gen/testcenter/ scripts. Hence, deleted from the source. 12. Year update from the license 13. Fixed some testcases.py collision issue JIRA: VSPERF-544 Change-Id: I7cbd155dd66f5a0cef544751841e71b95c9b6821 Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
2018-01-21loadgen: Support for Stressor-VMs as a LoadgenSridhar K. N. Rao1-1/+17
This patch adds support for stressor-VMs as a loadgen in VSPERF. The changes include: 1. 07_loadgen.conf: User can specify the stressor-VM specific configuration. It includes, image-name, path, nics, memory, etc. 2. loadgen/stressorvm/stressor_vm.py: This file implement ILoadGenerator interface. It implements all the necessary APIs for starting and stopping the loads. 3. Fixed Pylint Error 4. Removed the network device configuration from qemu-system-x86_64 command as stessor-vm mostly focus on CPU and memory stressing. 5. Moved the creation of loadgen after the VNFs are setup in testcase.py. 6. Fixed copyright issues. 7. Removed python-3 checking. Improved exception handling 8. Set Default loadgen as DummyLoadGen 9. Improved OSError Printing with directory name and error 10. Update the year in license. 2017-2018. JIRA: VSPERF-504 Change-Id: Iad6c0780c184f8e36eddcbcae2a580f41118e8dc Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
2018-01-12trex: Add support for traffic captureMartin Klozik2-0/+69
A support of traffic capture was added into T-Rex. It allows to write a functional tests, which will verify proper vSwitch functionality by inspection of packets received by T-Rex. A testcase example was added into integration testcases. JIRA: VSPERF-556 Change-Id: I5ad28479ca2ec29760b68f24510af1a6d74866ae 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: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com> Reviewed-by: Richard Elias <richardx.elias@intel.com>
2018-01-11capture: Traffic capture examplesMartin Klozik2-0/+134
Traffic can be captured also at DUT side. Two options are supported by vsperf: 1) Traffic is captured inside VM after it has been processed by vSwitch. This can be used for verification of vSwitch frame modification functionality, including HW offloading at ingress side. 2) Another NIC under the test (NIC2) is added into standard VSPERF DUT setup. Traffic is then forwarded from TGen through NIC and vSwitch to NIC2 and then over patch cable back to NIC2, the vSwitch, NIC and to the traffic generator. This setup supports also verification of HW offloading at egress side of NIC2 and thus it can be used for validation of smart NICS. Both options above are traffic generator agnostic if compared to direct support of traffic capture by traffic generator. This patch introduces example testcases for both options. Detailed documentation will be pushed as a standalone patch. JIRA: VSPERF-556 Change-Id: I23e12e45768ae4dbe9442f74d8391c3d5b2c7895 Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Richard Elias <richardx.elias@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-12-19Trex_2544_verification: Add verification functionality to Trex codeChristian Trautman2-8/+11
- Adds T-Rex verification step as implemented by other trafficgens - Adds check in rfc2544 loop for if no packets are received to fail test immediately - Refactors the trial code to support the verification option - Adds trial_run function - Removed unused line speed configuration setting JIRA: VSPERF-553 Change-Id: Ie324fe8fb6bf79fe0dc337b91af2bf83e901a8ab Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-12-13trex_learning: Add learning packet option to T-Rex testingChristian Trautman2-2/+8
Adds packet learning option which is available on other Traffic generators as a feature. This adds this feature to the Trex implementation inside of VSPerf. JIRA: VSPERF-547 Change-Id: Iaf4d0721b22eb780c25e29295c112d4fcb47b22c Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-11-20regression: OVS/DPDK regression testsMartin Klozik1-0/+1689
A set of regression tests for verification of OVS/DPDK features was introduced. Following features are tested: * DPDK NIC Support * DPDK Hotplug Support * RX Checksum Support * Flow Control Support * Multiqueue Support * Vhost User * Virtual Devices Support * NUMA Support * Jumbo Frame Support * Rate Limiting * Quality of Service JIRA: VSPERF-539 Change-Id: I6c83e9c38e29f197a5236ac68c88d7045fef775b Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Signed-off-by: Martin Goldammer <martinx.goldammer@intel.com> Signed-off-by: Richard Elias <richardx.elias@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-11-20ci: Skip VPP tests if neededMartin Klozik1-0/+11
If VPP can't be executed properly, then VPP tests will be skipped for VERIFY and MERGE jobs. It sometimes happens, that VPP can't be executed at builders used for VERIFY & MERGE jobs execution. These failures are not caused by patches themselves, but they are blocking standard review & merge process. Thus VPP tests will be suppressed in case that VPP can't be started at all. This change is not related to DAILY job, which is executed at POD dedicated to VSPERF project. It means that VPP tests are always executed by DAILY job. Change-Id: I4752601561b94a82482c403305bc3f24779f538b 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: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-11-20Merge "paths: Modify algorithm for PATHS verification"Martin Klozik1-1/+1
2017-11-15Merge "teststeps: Improvements and bugfixing of teststeps"Martin Klozik5-10/+31
2017-11-14vpp: Define vppctl socket nameMartin Klozik1-0/+1
Newer versions of VPP require an explicit definition of CLI socket file for proper functionality. Otherwise vppctl is not able to connect to running vpp process and thus vsperf is not able to configure and control vpp. Change-Id: Id0df75fd0894e22b1b4d7fa05e16f49efe20d3ab 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: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-11-09paths: Modify algorithm for PATHS verificationMartin Klozik1-1/+1
VSPERF verifies if PATHS to the tools (vSwitch, VNF, etc.) are valid. This check was modified to take into the account tools required by selected testcase. It will help to avoid runtime errors triggered by missing tools, which are not essential for testcase execution. Change-Id: Ifcfea983cad1bdbc8c1f08c7a0281001005410df 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: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-11-07Merge "load_gen: Supporting loading of load_gen via loader."Martin Klozik2-3/+27
2017-11-03load_gen: Supporting loading of load_gen via loader.Sridhar K. N. Rao2-3/+27
Currently all tools are loaded via loader utility, except load_gen. Load_gens were loaded directly through component_factory. This patch adds support to load load_gens through loader utility. The changes are as follows: 1. Configuration changes:The common.conf include configuration of directory. testcases.conf includes changes to load configuration, where tool is no more part of the load-configuration. The custom.conf has configuration of LOADGEN to be used - this configuration replaces the earlier 'tool' configuration parameter. 2. loader_utility_changes: In loader.py, loadgen_loader is defined, which is used in new get_loadgen function. 3. component_factory changes: in create_loadgen, similar to other tools, the function just retuns the object of loadgen_class. 4. Renaming of Dummy load_gen: Loader fails to load properly a dummy loadgen due to name-clash with dummy in pkt_gen. To avoid this name clash dummy is renamed to dummyloadgen. 5. testcase changes: create_loadgen is now called with output of loader's get_loadgen_class. 6. Fixed Pylint Errors and extra-space at the end. 7. Included CLI options support for --loadgen and --list-loadgens. Thanks to Martin K. 8. Added the missing loadgen parameter in testcases.conf. 9. Fixed the missing comma error. 10. Added CI change in build-vsperf.sh 11. Fixed configuration reading in stress/stress.py JIRA: VSPERF-533 Change-Id: I3fbb259618825a12fef55320a748a4f02509190b Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com> Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
2017-11-03teststeps: Improvements and bugfixing of teststepsMartin Klozik5-10/+31
This patch introduces several improvements and small bugfixes of teststeps. These changes were identified during implementation of OVS/DPDK regression tests. Patch content: * teststeps: step aliases were implemented * teststeps: improved filtering by regex for any step, which returns string or list of stings; filter will process all lines * teststeps: support for log object * teststeps: support for trafficgen get_results call * teststeps: configurable suppression of step validation * trafficgen: remove old results before traffic is executed * trafficgen: support for flow control on/off (IxNet) * trafficgen: support for configurable learning frames (IxNet) * trafficgen: support for runtime changes of TRAFFICGEN_PKT_SIZES, _DURATION and _LOSSRATE * vnf: flush pexpect output of previous commands * vnf: use execute_and_wait() to ensure correct cmds order * vnf: dpdk vHost User interface name set according to its type, e.g. dpdkvhostuserclient * vswitch: support for OVS restart * decap: simplify configuration of tunneling decapsulation tests * settings: values of all configuration options are restored after TC execution * modified formatting of test description used by --list * testcase name and description is logged before its execution * small bugfixes JIRA: VSPERF-539 Change-Id: I550ba0d897ece89abd3f33d6d66f545c4d863e7b 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: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-10-20Merge "trex_multistream: Add multistream support to T-Rex"Martin Klozik2-2/+2
2017-10-20trex_multistream: Add multistream support to T-RexChristian Trautman2-2/+2
Adds incremental source multi-stream functionality to T-Rex traffic generator code in VSPerf. JIRA: VSPERF-532 Change-Id: Ib5ba326699d89350ac1715c9a4276e5fa46a133e Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-10-19conf: Fix default VPP configurationMartin Klozik1-1/+2
Number of VPP workers (aka PMD threads) was not specified explicitly in default configuration file. Configuration has been fixed to use the same cores as OVS with DPDK. Change-Id: Icd3e5d6f429435fbc1ff580891f4b182d1c48729 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: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-09-25trex_prom: Add promiscuous option for trex for SRIOV testsChristian Trautman2-0/+4
Adds option to enable promiscuous mode for Trex traffic generator to allow for SR-IOV tests to work correctly. Trex by default only accepts packets based on destination MAC address matching what is configured on server in /etc/trex-cfg.yaml. This removes that limitation since SR-IOV tests require mac addresses to be modified in the generated packets to correctly route packets to the relevant VFs. JIRA: VSPERF-531 Change-Id: I19b64f364c8a1b656994c82c96f47a68b92486d8 Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-09-20trex: RFC2544 Throughput bugfixingMartin Goldammer1-0/+4
Changes introduced by patch: * Ensure that correct results with given lossreate are returned * Add threshold value to specify the accurancy of RFC2544 Throughput measurement. Default value is 0.05. JIRA: VSPERF-530 Change-Id: I8148deba9039c3a0feb6394d6671aa10c5afaf0a Signed-off-by: Martin Goldammer <martin.goldammer6@gmail.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: Trevor Cooper <trevor.cooper@intel.com>
2017-08-31trex: Add support Trex traffic generatorMartin Goldammer2-1/+57
Topology are two physical servers, on first is trex and second is VSPERF. Trex is running in stateless mode this means that on server where is located trex repo is running trex binary file and VSPERF working with server via python API. JIRA: VSPERF-528 Change-Id: Id8819495325ebc13fdce365f4af0e040ce68cd0e Signed-off-by: Martin Goldammer <martin.goldammer6@gmail.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: Trevor Cooper <trevor.cooper@intel.com>
2017-08-23opnfvresultdb: Update data reported to result DBMartin Klozik1-1/+1
Data reported to result DB were updated to comply with recent API version and requirements. JIRA: VSPERF-488 Change-Id: I6ab02ea54d99099e88b0d5ab6e9745ee8297f544 Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Signed-off-by: Mars Toktonaliev <mars.toktonaliev@nokia.com> Signed-off-by: Morgan Richomme <morgan.richomme@orange.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-08-14Merge "tests: L3, L4 and VxLAN tests for OVS & VPP"Martin Klozik3-17/+1026
2017-08-04tests: L3, L4 and VxLAN tests for OVS & VPPMartin Klozik3-17/+1026
A set of tests was introduced with focus on L3, L4 and VxLAN performance of OVS and VPP. New testcases were created for phy2phy network scenario. In case of PVP and PVVP, only OVS testcases are available. Notes: * two sets of OVS P2P testcases were created, one creates unique flow for each IP address involved in the test (performance sensitive); Second set inserts just one flow with large network mask (tests with _mask suffix). * three different types of VPP P2P L3 testcases were created to demonstrate performance impact of multi ARP entries or IP routes. * VPP multi ARP record based testcases use a set of "workarounds" to load a large number of ARP entries. It is not possible to use "set ip arp count" syntax, as it doesn't work well for large count values (e.g. 60K) * OVS VxLAN testcases utilize existing OP2P deployment scenario and thus it can be used also with GRE and GENEVE tunnel types. Tunnel type to be used is defined by test configuration option "Tunnel Type". JIRA: VSPERF-518 Change-Id: I65adad976f12d8625d918a1996eb42693c511ee1 Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com> Reviewed-by: Cian Ferriter <cian.ferriter@intel.com>