summaryrefslogtreecommitdiffstats
path: root/tools
AgeCommit message (Collapse)AuthorFilesLines
2019-02-20pkt_gen: T-Rex Live ResultsSridhar K. N. Rao1-1/+66
This patch add live-results from T-Rex TGen. T-Rex, when live-results enabled, will dump per-second flow-stats into the results-folder. Fixed few pylint issues. JIRA: VSPERF-524 Change-Id: I0caee49c5b34582bbcefbe217028e9e50d40da71 Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
2019-02-15Merge "pkt_gen: STC - Imix Genome Support"Sridhar Rao2-5/+50
2019-01-21pkt_gen: STC - Imix Genome SupportSridhar K. N. Rao2-5/+50
This patch adds Imix-Genome support to STC. 1. Imix, of type genome, is included in traffic configuration. 2. The genome is converted to appropriated weights and pkt-sizes. 3. Throughput test is run with imix-configuration. 4. genome configuration is added to results. 5. Added Reporting of Average-Frame-Size - if IMIX is configured. 6. Updated genome comments 7. Clarified the reference to RFC 6985. JIRA: VSPERF-521 Change-Id: I813efb66338ee1d1320a01ce5e0834180461120c Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
2018-12-05loadgen: Affinitize Stressor-VM Threads.Sridhar K. N. Rao1-1/+40
This patch affinitizes stressor-vm threads. The code is reused from vnfs/qemu/qemu.py Change-Id: I4a525b133bf0799a06d0961379961cfcc89c357a Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
2018-11-03Results: Default latency-histrogram with Spirent TestCenterSridhar K. N. Rao2-5/+101
The patch adds support to provide Latency histogram from Spirent traffic generator. 1. 03_traffic.conf: Enable histogram, and set type (default) 2. testcenter.py: If histogram enabled, call the script with right flag. 3. testcenter-rfc2544-rest.py: configure and write histogram to a separte file in the default results folder. 4. Fix PyLint Errors 5. Adding a patch to test the 'build-error-fix'. Increased the MAX_MEMSEG of in DPDK-config to 1024 6. Adding MAX_MEMSEG configuration at common_base didn't work. 7. Included packet sizes in the output. 8. Included description under spirent TGen 9. Removed MAX_MEMSEG configuration. Change-Id: I7787c1768d7ac650f0ce581f17ec78df7a964e31 JIRA: VSPERF-522 Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
2018-07-27Collectd: Additional metrics storing optionsSridhar K. N. Rao1-3/+32
In this patch, following options are added for collectd-metrics storing 1. Collect all the metrics written by collectd into csv file - a tar.gz file is created. The timestamp is retained in the tar.gz file. 2. Selected metrics are written into a log file. 3. Fix Pylint errors 4. Terminate collectd by PID. JIRA: VSPERF-588 Change-Id: Ib4d89d3dd6c622066fa0296b4415515fdca12252 Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
2018-06-18Xena_Flow_Fix: Fixes multistream of greater than 64k valuesChristian Trautman3-71/+203
Adds calculations to deal with values greater than 64k by doing a square root of the multistream value and using two mods to create the closet possible value that will work within the current implementation of multistream in VSPerf. JIRA: VSPERF-575 Change-Id: I9dab4bbac094a394a11ed74fe2cd88fbe7079fc7 Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2018-04-19Merge "sysmetrics/pidstat: monitor all threads"Sridhar Rao2-9/+43
2018-04-11ixia: Bugfixing and burst type enhancementMartin Klozik1-10/+15
A support for proper reporting of "Burst" traffic type was added. Several bugs were fixed: * RFC2544 Throughput - end of search condition was moved to avoid situation, that another iteration is executed but its results dropped * RFC2544 Throughput - pause after each iteration was added to ensure that all frames are cleared from buffers; It improves stability of results. Also "received" values are no longer higher then "sent" values. * VSPERF will report also the number of sent and received frames * VSPERF will correctly process send and received values - they were switched on several places JIRA: VSPERF-149 JIRA: VSPERF-562 Change-Id: I8a5caa6385a1ef86aa4bf4511d2753100ed0ab14 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-04-11Merge "trex: Add support for burst traffic type"Martin Klozik8-52/+102
2018-04-11Merge "trex: Support of SCAPY frame definition"Martin Klozik1-26/+84
2018-04-10sysmetrics/pidstat: monitor all threadsJulien Meunier2-9/+43
Since sysstat commit 52977c479d3d ("Introduce new SP_VALUE_100() macro and use it in pidstat"), pidstat can return a wrong CPU usage for all monitored PIDs. For example, if a process like ovs-vswitchd uses 2 threads, the CPU usage of each thread (TID) is equal to 100%, so the CPU usage of the main process (PID) must be equal at least to 200%. However, with this sysstat commit, the CPU usage is restricted to 100%. It is not possible to change this behavior. Now, pidstat is started in order to monitor all threads created by a process. As the output header has changed, readapt the existing code. In order to fix this issue, only the CPU usage is accumulated with all threads. For all other measures, main process should report correct values. JIRA: VSPERF-569 Change-Id: I98aa94f545d04f4de1b994c420fb5756c6f2a387 Signed-off-by: Julien Meunier <julien.meunier@6wind.com>
2018-04-04scapy: Fix scapy import in XenaMartin Klozik1-3/+0
Remove unnecessary scapy import, which is causing pylint error with recent pylint version. JIRA: VSPERF-566 Change-Id: I082de0e93242486248beaed6822a8d0f30fff7e5 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-03Merge "python: Pylint 1.8.2 code conformity"Martin Klozik20-82/+72
2018-03-26scapy: Fix conflict of scapy librariesMartin Klozik2-4/+23
T-Rex requires a modified version of SCAPY library for python3 to function properly. It doesn't work with vanilla version of scapy-python3 module, which is installed within vsperf environment by pip for Xena. Currently vanilla scapy is imported by Xena and enforced to T-Rex too, which causes following issues: * missing implementation of Dot1AD causes failures * broken multistream feature in T-Rex VSPERF loads all Traffic Generator classes and thus all imports performed at module level are performed. The solution would be to import SCAPY module by Xena only in case, that Xena traffic generator is really used. Please see JIRA for additional information. JIRA: VSPERF-566 Change-Id: I8018bc0126e752cc9f966252d17dadb6a5554b37 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-03-23python: Pylint 1.8.2 code conformityRichard Elias20-82/+72
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-26/+84
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 Klozik8-52/+102
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-0/+4
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-02-26Merge "Trex_speed_improvement: Add logic for dealing with high speed cards"Martin Klozik1-4/+49
2018-02-23Trex_speed_improvement: Add logic for dealing with high speed cardsChristian Trautman1-4/+49
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 Klozik2-0/+133
2018-01-31collector: Support for collectd as one of the collectors.Sridhar K. N. Rao3-0/+1051
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 Klozik2-0/+215
2018-01-22bugfix: Define _EXECUTED_PIDS in config fileMartin Klozik1-5/+2
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. Rao2-0/+215
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. Rao2-0/+133
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-19Merge "trex: Improve error handling"Martin Klozik1-3/+8
2018-01-18trex: Improve error handlingMartin Klozik1-3/+8
Print an error message in case, that vsperf is not able to connect to the T-Rex server. User is instructed to check if T-Rex server is up and running. Change-Id: I70c6d27fa8331921d43e25c5eaa3638ded6c015b Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Jose Lausuch <jalausuch@suse.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>
2018-01-18ixia: Add support of LISTs in TRAFFICMartin Klozik2-0/+16
The control script for Ixia (i.e. Ixia and IxNet classes) is written in TCL and thus VSPERF must translate TRAFFIC dictionary into TCL notation. The method for data type conversion was updated to correctly process new 'capture' settings, which uses python lists for tx and rx capture ports definition. JIRA: VSPERF-556 Change-Id: I639942b11ea11ce1b443a2a2e99c3da6619ba569 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-12trex: Add support for traffic captureMartin Klozik1-10/+49
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-3/+47
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 Trautman1-32/+87
- 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-14Merge "teststeps: Improvements of step driven TC"Martin Klozik1-6/+4
2017-12-13trex_learning: Add learning packet option to T-Rex testingChristian Trautman1-0/+18
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-12-12teststeps: Improvements of step driven TCMartin Klozik1-6/+4
This patch adds support of access to VMs deployed automatically by deployment scenario (e.g. pvp, pvvp4, etc.). It also modifies filter for checking output of executed commands to correctly handle different end of line encodings (i.e. \n vs. \n\r). JIRA: VSPERF-539 Change-Id: Ifc796d992b90e316bad5853aaefce79e439e294d 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-20trex_stat_packet_counts: Add packet counts to trex reportingChristian Trautman1-0/+4
Adds packet count totals for transmit and receive to reporting at the end of test execution. JIRA: VSPERF-546 Change-Id: I51027fae109d0ea794c0db03f5781ddb2fcbb941 Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-11-20Merge "paths: Modify algorithm for PATHS verification"Martin Klozik2-13/+30
2017-11-15Merge "teststeps: Improvements and bugfixing of teststeps"Martin Klozik3-8/+53
2017-11-09paths: Modify algorithm for PATHS verificationMartin Klozik2-13/+30
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 Klozik3-2/+4
2017-11-03load_gen: Supporting loading of load_gen via loader.Sridhar K. N. Rao3-2/+4
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 Klozik3-8/+53
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-20trex_multistream: Add multistream support to T-RexChristian Trautman1-2/+41
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-09-25trex_prom: Add promiscuous option for trex for SRIOV testsChristian Trautman1-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-13/+45
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-09-15trex: Enforce 10 iterations for RFC2544 tputMartin Klozik1-1/+3
This patch enforces 10 iterations during search for besti RFC2544 Throughput with 0% packet loss. Unless 0% packet loss is detected during first iteration with initial frame rate. JIRA: VSPERF-530 Change-Id: I99e49e9dbf4e1424253d0cfec804819516c00df8 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: Martin Goldammer <martin.goldammer6@gmail.com>
2017-09-01opnfvresultdb: Report failed TCs into result DBMartin Klozik1-24/+53
In following cases, TC will be reported as FAIL in result DB: * CSV file with VSPERF results is missing (e.g. execution of vSwitch, VNF or trafficgen has failed) * 0 RX FPS is detected for at least one packet size during RFC2544 Throughput test (e.g. vSwitch is not properly configured due insufficient hugepages size) JIRA: VSPERF-488 Change-Id: I453bbe32db87497644e1464e74ef597f0f0f323c Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Mars Toktonaliev <mars.toktonaliev@nokia.com> Reviewed-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-09-01Merge "trex: Add support Trex traffic generator"Martin Klozik3-0/+355
2017-08-31trex: Add support Trex traffic generatorMartin Goldammer3-0/+355
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>