summaryrefslogtreecommitdiffstats
path: root/tools/pkt_gen
AgeCommit message (Collapse)AuthorFilesLines
2017-04-19ixia: Support of 1 NIC connection to trafficgenMartin Klozik1-2/+8
For some testcases it is useful to have only one connection between traffic generator and DUT. Thus IxNet class was extended to support such connection. Feature is enabled if both IXIA ports are set to the same value. New integration testcase ixnet_pvp_tput_1nic was created to demonstrate this feature. Unused code was removed from 3rd_party/ixia/ixnetrfc2544.tcl to simplify introduction of new features and to speed up IXIA configuration. JIRA: VSPERF-503 Change-Id: I92ab24fa58eeb1ccb7f00ac7f3530ffca7b99241 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-04-13Fix for multi-stream configurationMarco Varlese1-0/+3
The multistream configuration is not passed to the remote host where the traffic generator (MoonGen) runs. Change-Id: I3e9862553b5b064272f3bfffb788c06ebd3740ca Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2017-03-20vpp: Reporting update related to VPPMartin Klozik1-1/+1
VSPERF reports were updated to contain vSwitch name. In case of VPP, it is not possible to read its version if VPP is not running. Thus VSPERF was enhanced to support tool version check during its runtime. This mechanism can be enhanced to support e.g. VNF in the future. JIRA: VSPERF-496 Change-Id: I74b47505e35340eead165d9b588e9cc15c058bbf 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-02-28Xena_pylint_fix: Fix param call to changes made by pylint patchChristian Trautman1-4/+4
Missed this small issue when calling continuous streams caused by the param name change from the pylint patch in XenaDriver.py ca9c9275ed6d5d852987c69a378e88a3502cb2ab. Change-Id: Ic8ad86358f72e91edea34cb37207d7dc583128b4 Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-02-22pkt_gen: STC parameter reordering bug.Sridhar K. N. Rao2-5/+4
This patch fixes a bug caused due to wrong parameter ordering. stc_common_settings should come after rfc2544_common_settings. It also gets rid of 'Import' error for module 'conf' JIRA: VSPERF-491 Change-Id: I356294b4efdf9ebd0cea4492d3ed1cb8e04ec9b1 Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
2017-02-13pylint: Fixing pylint errors and warningsgoldammx8-78/+143
All python files must reach pylint score 10/10. This will be regularly verified by Jenkins jobs to keep constant code quality. VSPERF specific pylintrc file was updated according to the vsperf coding standards. Distro version included in reports will be slightly different, due to migration to new python package distro. Previously used platform.distro() will be deprecated since python 3.7. JIRA: VSPERF-487 Change-Id: I934120208b9624787a3567ccaa49e14d77d7a5bf Signed-off-by: Martin Goldammer <martinx.goldammer@intel.com> Reviewed-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Bill Michalowski <bmichalo@redhat.com> Reviewed-by: Antonio Fischetti <antonio.fischetti@intel.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
2017-01-27pkt_gen: STC - RFC 2889 Address Learning and Caching SupportSridhar K. N. Rao2-75/+236
This patch adds RFC-2889 address-learning-rate test and address-caching-capacity tests. The patch includes following changes 1. 01_testcases.conf: testcase definitions are added for new tests 2. results_constants.py: 3 new results constants are added, removed unsupported constants 3. testcenter-rfc2889-rest.py: Added support to these two new tests. Removed un-necessary synchronization of db-file. 5 new configuration parameters are added - which are explained in (4). 4. trafficgen.rst: Configuration description for rfc2889 tests are added. Stale information is removed. 5. testcenter.py: Support for two new tests are added. Separate functions for results analysis and parameter settings are added. 6. traffic_controller_rfc2889.py: Calls to functions in testcenter.py, based on the traffic_type, are added. Removed trailing whitespaces from trafficgen.rst JIRA: VSPERF-395 Change-Id: Ie6ca87519b7736e7410d7f0e60904579934af24a Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
2017-01-24Merge "xena_cont_accuracy_fix: Xena continuous traffic accuracy fixes"Martin Klozik1-7/+11
2017-01-23xena_cont_learning: Adds learning preemption to continuous trafficChristian Trautman2-0/+18
Adds a configurable learning preemptive option when running xena continuous traffic tests. This resolves a missing packet or two when running OVS tests at flow rates that should not drop packets. JIRA: VSPERF-473 Change-Id: I056578ed9c9181287d97aea55a002f09aac14e81 Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-01-23xena_cont_accuracy_fix: Xena continuous traffic accuracy fixesChristian Trautman1-7/+11
Second patch to help improve Xena continuous traffic accuracy. Increases delay before gathering statistics to allow packets in flight to be received. Changes bps and fps to be calculated based on total bytes and packets received versus capturing the data while port is transmitting from active statistics. Sets time limit on ports based on duration. JIRA: VSPerf-423 Change-Id: I574819694d3141edb539de64bc16dcd6c6fcf489 Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-01-16traffic: Configurable traffic detailsMartin Klozik8-145/+27
Traffic generated by traffic generator is based on default values and their modifications specific to particular testing scenario. Traffic default values were defined inside VSPERF code and it was not possible to change them. This patch introduces new TRAFFIC dictionary inside 03_traffic.conf. Thus user can modify any of TRAFFIC values either in configuration file or by CLI or by 'Parameters' section of testcase definition. Following CLI options were obsoleted by this patch: 'bidirectional', 'traffic_type', 'iload', 'multistream', 'stream_type' and 'pre-installed_flows' Following CLI option was renamed to be consistent with other options: 'tunnel_type' => 'TUNNEL_TYPE' Following sections of testcase definition were obsoleted: "Traffic Type", "biDirectional", "MultiStream", "Stream Type", "Pre-installed Flows", "Flow Type" and "iLoad" New TRAFFIC dictionary should be used instead of old CLI options and old testcase definition sections. Testcase definitons, yardstick sample testcases and documentation were updated to reflect configuration changes. JIRA: VSPERF-433 Change-Id: I03a388c766491d5688e715f6d7b51e8e0377ec27 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>
2017-01-05pkt_gen: STC - Handle Results DB file synchronization failures.Sridhar K. N. Rao2-4/+14
If the downloading of results-database file fails, the CSV file and corresponding results are not generated - eventhough the test was successful. This small patch handles such cases. Updated the logging to be more explicit. JIRA: VSPERF-435 Change-Id: I14bf519fbca2ea362777e29920bc1759494965e0 Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
2016-12-14conf: traffic type naming step2Martin Klozik1-1/+1
Update of the rest of old traffic type names. JIRA: VSPERF-420 Change-Id: Icf4bab7afad09f9b48ee25b9ff020c83cf2e02bd 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>
2016-12-01Merge "pkt_gen: MoonGen updated to keep parity with master"Martin Klozik1-2/+2
2016-11-30pkt_gen: MoonGen updated to keep parity with masterbmichalo1-2/+2
Need to make VSPERF's MoonGen codebase in parity with master emmerich MoonGen branch. JIRA: VSPERF-400 Change-Id: I8c50ed89c9e7b0080497107c1af826f49c1e82f0 Signed-off-by: bmichalo <bmichalo@redhat.com>
2016-11-30yardstick: CLI params support for yardstick TCsMartin Klozik1-1/+34
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>
2016-11-21Xena_cont_accuracy: Modify continuous from duration to packet limitChristian Trautman2-4/+46
First of a few patches planned to help increase Xena continuous traffic accuracy. Modifies port limits to packet calculated limits versus time based limits which can be wildly inaccurate. Also modifies some port settings to be more inline with how rfc2544 settings are applied on Xena. Increased time delay by one second to allow packets to finish transmitting before stat collection occurs. JIRA: VSPerf-423 Change-Id: I214b13d743a84a0733e885ccfc5bdd57812d7104 Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2016-11-11Merge "cli: Modify configuration via CLI"Martin Klozik1-7/+11
2016-11-09cli: Modify configuration via CLIMartin Klozik1-7/+11
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>
2016-11-04bugfix: Trafficgen Ixia does not workMartin Klozik1-4/+5
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>
2016-10-14licenses: Dedicated directory for non Apache filesMartin Klozik6-12514/+4
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>
2016-10-11vsperf: launch should not depend on current $PWDOtto Sabart2-2/+4
JIRA: VSPERF-392 Change-Id: I44866b7d3298617003b87b015eb08bf32c4014f7 Signed-off-by: Otto Sabart <osabart@redhat.com>
2016-09-21pkt_gen: Spirent Testcenter RFC 2889 SupportSridhar K. N. Rao2-0/+390
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>
2016-09-07pkt_gen: MoonGen code clean upbmichalo1-64/+54
MoonGen code optimizations and general clean up. No functionality changes. JIRA: VSPERF-351 Change-Id: Ida16f16eb218eb6f0a1c90594c38511bfbb2cf97 Signed-off-by: bmichalo <bmichalo@redhat.com>
2016-08-26pkt_gen: MoonGen Incorrect RX_MBPS Calculationbmichalo1-1/+1
Misplaced parenthesis regarding THROUGHPUT_RX_MBPS JIRA: VSPERF-381 Change-Id: Ie33cf6ca88164f0686a819715b5f9f7409072063 Signed-off-by: bmichalo <bmichalo@redhat.com>
2016-08-12pkt_gen: Spirent changes to Harmonize test/trial terminologysridharkn1-7/+9
Added changes to make use of the tests parameter. The change is minor. Prior to this the value was taken from configuration file. With this change, the tests value is used as passed. JIRA: VSPERF-367 Change-Id: I9d1553d3b53dd19a79428ddaaacadb55fc27324f Signed-off-by: Sridhar Rao <sridhar.rao@spirent.com>
2016-08-09Xena_2544_tput_options: Add options for rfc 2544 testingChristian Trautman2-0/+27
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>
2016-08-09Merge "pkt_gen: MoonGen should use class object for line rate calc"Maryam Tahhan1-1/+1
2016-08-09pkt_gen: MoonGen should use class object for line rate calcbmichalo1-1/+1
Instead of hard coding line speed numbers for rate calcuation, MoonGen should use its class object initialized at start time. JIRA: VSPERF-368 Change-Id: I68c688f8c244df16d98cfd15efabf491a317256b Signed-off-by: bmichalo <bmichalo@redhat.com>
2016-08-09Merge "bugfix: Harmonize test/trial RFC2544 terminology"Maryam Tahhan10-70/+79
2016-08-08pkt_gen: MoonGen incorrectly calculates rx/tx % statisticsbmichalo1-7/+16
For MoonGen, the final results parameters: throughput_rx_percent, throughput_tx_percent were incorrectly calculated when converting MoonGen to VSPERF format. In particular, this would occur when more than one data stream (single channel unidirectional traffic) was used in the test. When calculating these percentages, only aggregate throughput values equaling unidirectional traffic were used (for example, for 64 byte frames bidirectional traffic should use 29.76 Mpps, not 14.88 Mpps) JIRA: VSPERF-341 Change-Id: Ie62bded7aea023c287697f18c4172b58c320e050 Signed-off-by: bmichalo <bmichalo@redhat.com>
2016-08-08Merge "Xena: Modify aggregate_stats one port no stats when bi-direction"Maryam Tahhan1-2/+14
2016-08-05Merge "pkt_gen: MoonGen start rates not correct"Maryam Tahhan1-6/+21
2016-08-04bugfix: Harmonize test/trial RFC2544 terminologyMartin Klozik10-70/+79
VSPERF framework was updated to follow RFC2544 definition of 'test' and 'trial' terms. Test parameter 'rfc2544_trials' was replaced by new parameter 'rfc2544_tests'. Both code and documentation were updated to reflect these changes. JIRA: VSPERF-300 Change-Id: I144a28359fd06394f1f87ef324458bafd5aad45f 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>
2016-08-03Xena: Modify aggregate_stats one port no stats when bi-directionliting1-2/+14
Xena exception when no stats collected on receive on one port during bi-directional traffic. Modify aggregate_stats in the XenaDriver.py, add judge whether the two port both has stats, if one port has no stats, the result use the port's value which has stats. JIRA: VSPERF-327 Change-Id: I18c349d609a2834907f0383dbfbebd5cd281f541 Signed-off-by: liting <tli@redhat.com>
2016-08-03pkt_gen: MoonGen start rates not correctbmichalo1-6/+21
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>
2016-08-03Merge "docs: Enhancement of IxNetwork configuration guide"Maryam Tahhan1-3/+1
2016-08-02Merge "pkt_gen: Remove commas from MoonGen results"Martin Klozik1-18/+18
2016-08-02Merge "xena_deadlock: Fix xena2544.exe deadlock"Maryam Tahhan1-41/+62
2016-08-01pkt_gen: Remove commas from MoonGen resultsbmichalo1-18/+18
Results from other traffic generators are reported as pure numbers, i.e. 2477356.0000. These values are consumed and processed by other scripts (e.g. CI or OPNFV results visualization), so we should keep it consistent among various traffic generators. JIRA: VSPERF-342 Change-Id: I305421287eb632707038f2c8bc594fcb255ec939 Signed-off-by: bmichalo <bmichalo@redhat.com>
2016-07-27docs: Enhancement of IxNetwork configuration guideMartin Klozik1-3/+1
Configuration guide has been updated with description of IxNetwork specific configuration options. New section was added with description of test results sharing between IxNetwork and VSPERF. Additional changes: * wrong formatting inside installation.rst was fixed * description of IxNetwork configuration was updated inside ixnet.py JIRA: VSPERF-302 Change-Id: Ida0e086e69b82fd1f9821d16ea750b2dec1d5aa2 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>
2016-07-27pkt_gen: MoonGen incorrectly inserting VLAN tagbmichalo1-2/+3
MoonGen needs to take into account the VLAN tag 'enable' control knob defined within the VSPERF traffic profile and therefore only insert the VLAN tag when its 'True'. JIRA: VSPERF-329 Change-Id: Idbeed2f7e6411f0c28aa56a2d3e71bd7a79d975a Signed-off-by: bmichalo <bmichalo@redhat.com>
2016-07-21xena_deadlock: Fix xena2544.exe deadlockChristian Trautman1-41/+62
Fix Xena2544.exe execution with mono where sometimes the Xena process says complete, but the mono process doesn't exit. Changes call of Xena2544.exe from communicate thread lock to a wait try/catch block and checks the log periodically to see if a deadlock has occured and if so, the mono pid is terminated to prevent deadlock. * Fix one small issue with typecasting to int, changed to float JIRA: VSPERF-319 Change-Id: Ie7a86a2b9ff9cdfacba5a912ad17df6cc0581702 Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2016-07-20pkt_gen: Moongen class name not consistent with name in conf filesbmichalo1-24/+24
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>
2016-07-05Spirent-TestCenter: Code Cleanup.sridharkn1-276/+136
Removal of redunant code in testcenter.py. No logic Changes. Cosmetic changes - removing redundant code of 150+ lines. JIRA: VSPERF-308 Change-Id: I4766890cdc9f3d23103b2d2090285361ac4a5197 Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
2016-07-01Merge "Spirent Support for Continuous Traffic"Christian Trautman2-2/+129
2016-07-01Merge "pkt_gen: Adding MoonGen traffic generator"Christian Trautman2-0/+766
2016-06-30Xena: Modify the throughput result typecasts int issuetli1-4/+4
Modify the _create_throughput_result method typecasts int to typecasts to float JIRA: VSPERF-312 Change-Id: I45722251f3ca200373aa7b6958e62ea511c304f8 Signed-off-by: tli <tli@redhat.com>
2016-06-30Merge "xena_bug: Resolve baseconfig reporting option to work with new versions"Christian Trautman1-1/+1
2016-06-30pkt_gen: Adding MoonGen traffic generatorbmichalo2-0/+766
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>