aboutsummaryrefslogtreecommitdiffstats
path: root/tools/pkt_gen/xena/xena.py
AgeCommit message (Collapse)AuthorFilesLines
2018-06-18Xena_Flow_Fix: Fixes multistream of greater than 64k valuesChristian Trautman1-3/+15
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-11Merge "trex: Add support for burst traffic type"Martin Klozik1-2/+2
2018-04-03Merge "python: Pylint 1.8.2 code conformity"Martin Klozik1-4/+0
2018-03-26scapy: Fix conflict of scapy librariesMartin Klozik1-2/+4
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 Elias1-4/+0
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: Add support for burst traffic typeMartin Klozik1-2/+2
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>
2017-08-08xena2544_verify_fix: Fix Xena verify optionsChristian Trautman1-3/+22
Fixes issue when running multiple packets sizes and using the Xena verify option. Original values are restored to settings for each new packet size or test case. Also fixes a minor issue where if the test failed, the verify would run regardless. JIRA: VSPERF-515 Change-Id: I6b6ce5160b66e7ed4a3847711c4f05529ae8ca54 Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-05-25xena_cont_bug_fix: Fix duration issueChristian Trautman1-1/+1
Port duration is in microseconds. I broke this with a previous commit. Change-Id: Id2770149355f40107ab8ee0523482b5867e0e72a Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-05-15xena_pairs: Add pairs topology for 2544 testingChristian Trautman1-24/+32
Add xena pairs topology and port removal options for JSON files with RFC2544 testing. Refactored JSON code for better expansion later. Resolved pathing issues related to previous patch allowing for execution of VSPerf from any directory. JIRA: VSPERF-502 Change-Id: Ida60c1223ae0f45f8879351770ab7fdce859b59b Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-04-20xena_duration_fix: Revert xena continuous to port time limitsChristian Trautman1-8/+1
Revert xena continuous traffic to port based time limits as packet limits have an uppers bounds which could be reached with small packet sizes and longer durations. JIRA: VSPERF-507 Change-Id: I56986159643344f7872e311590f7d05ac02b038b Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-04-18xena_verify: Add final verification option to XenaChristian Trautman1-3/+78
Adds final verification option to Xena traffic generator inside VSPerf. Works by running the Xena2544.exe again after the initial run is complete with modified values inside the json file. If the final verify fails it will revert the settings and continue the in a pattern based on if the smart search is enabled. JIRA: VSPERF-506 Change-Id: Ic272628c489b88989f67549bd020af7354dc9b91 Signed-off-by: Christian Trautman <ctrautma@redhat.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-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 Trautman1-0/+9
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 Klozik1-18/+3
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>
2016-11-21Xena_cont_accuracy: Modify continuous from duration to packet limitChristian Trautman1-4/+18
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-08-09Xena_2544_tput_options: Add options for rfc 2544 testingChristian Trautman1-0/+11
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-04bugfix: Harmonize test/trial RFC2544 terminologyMartin Klozik1-12/+12
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-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-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-29Merge "xena_burst: Add Xena Burst traffic"Christian Trautman1-15/+11
2016-06-28Xena: Modify xena_json for back2back optionstli1-9/+16
Add method set_test_options_back2back in code to modify duration, iterations, and flowrate for back2back options in the json file. JIRA: VSPERF-305 Change-Id: I1337318e7519fbd7b5a71bb26a1c62fcd8c2b66c Signed-off-by: tli <tli@redhat.com>
2016-06-26xena_burst: Add Xena Burst trafficChristian Trautman1-15/+11
Add Xena burst traffic functionality. JIRA: VSPERF-263 Change-Id: I6336e5fcb33c0f66ee87f0f14f1b795937e3d00d Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2016-06-22Merge "xena_bug: Fix throughput stats with bi-directional traffic"Maryam Tahhan1-3/+5
2016-06-07xena_cont: Add Xena continuous traffic functionalityChristian Trautman1-34/+296
* Adds XenaDriver.py module to allow direct communication to Xena chassis through socket API and collect stats. * Adds implementation into xena.py for continuous traffic flow. JIRA: VSPERF-262 Change-Id: I6f975bc205e3c954215eb16466f11298e3fcdfaf Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2016-05-27xena_bug: Fix throughput stats with bi-directional trafficChristian Trautman1-3/+5
Fix xena throughput stats for bi directional traffic by taking the receive numbers from both ports instead of a single port. JIRA: VSPERF-303 Change-Id: I3898afe00f8c80f54e5b4c210831e1fc6cef3c20 Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2016-05-04bidirectional value: Fix inconsistency for bidir paramChristian Trautman1-1/+1
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>
2016-04-25xena_port_ip: Add port ip assignment for Xena traffic generatorChristian Trautman1-4/+10
Adds port ip set options as part of conf files. Allows for IPv4 address assignment. Adds ipv6 options for later implementation when available in framework. * Adds Xena to documentation area where available traffic gens are listed. JIRA: VSPERF-273 Change-Id: Ia4129222ea95f1d399d5cc0c589c9a99d7b1b81a Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2016-04-20xena_version: Add versioning info for report file from XenaChristian Trautman1-0/+2
Adds Xena version info to report files. Works by pulling the version info from the result file and adding it to the settings dictionary. JIRA: VSPERF-274 Change-Id: I2b7db30e5a621f32a7eaacfe48ab1bca498e4287 Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2016-04-19xena: Back 2 Back implementationChristian Trautman1-34/+54
Allows for execution of back 2 back tests by enabling back to back test scenario in json file when executing Xena2544.exe. Return results are the number of frames. Results for test execution can be found in the coresponding JIRA ticket. - Disabled throughput by default in json file. - Modified test params in baseconfig file for b2b test - Modified create_result method to use data in resulting xml file over using inspect strategy to detect test type - Added line to Xena installation guide for issue that was found locally after installation JIRA: VSPERF-264 Change-Id: I0ecd6e1ce750613c53fe308aea3f5a55cca69c20 Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2016-04-08xena: Throughput method implementation for Xena NetworksChristian Trautman1-0/+365
Add files for Xena Networks 2544 throughput implementation. This allows for Xena to execute tput tests from VSPerf. For information on how this works please see the JIRA ticket. Modify traffic gen guide on install instructions for Xena. Add in scapy to requirements file. Modify conf file for Xena chassis connection information. * Added license info to __init__.py / baseconfig.x2544 * Set initial rate to 10% line rate for tput testing * Modified default mac address xena_json->set_header_layer2 from aa:aa:aa:aa:aa:aa to cc:cc:cc:cc:cc:cc * Removed obsolete multistream params * Added traffic params to 03_traffic.conf * Comments to explain try/catch for latency values * Removed unused import * Rebased to fix merge conflict * Added Xena to available traffic gen list in conf files JIRA: VSPERF-261 Change-Id: I3c4b4a332fd532e10b6096e9ed97a4a39d410839 Signed-off-by: Christian Trautman <ctrautma@redhat.com>