aboutsummaryrefslogtreecommitdiffstats
path: root/resources/tools/trex
AgeCommit message (Collapse)AuthorFilesLines
2020-05-06Separate files needing GPL licenseVratko Polak3-503/+0
+ Keep apache license for now, until this is completed: https://wiki.fd.io/view/TSC/Relicensing_Procedure + Add utilities for switching license comment blocks. - They do not preserve attributes, so executable flag is lost. + Move the affected files to GPL/. + Update paths so files are executed from the new location. + Change the way scripts are started to do not require executable flag. + Employ OptionString when constructing longer command lines. + Move also PacketVerifier.py and TrafficScriptArg.py as they are linked with traffic scripts. + That means the two files are outside "resources" package tree now. + Added __init__.py files so relative imports work in new package tree. + Start traffic scripts as python modules to allow relative imports. + Once again needed because they are outside the default PYTHONPATH. Change-Id: Ieb135629e890adbaf5b79497570f3be25b746f9f Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2020-04-27Performance: TRex approximatedDuration and approximateRatePeter Mikus2-13/+21
- API to provide duration for send and receive traffic Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Id186a200be66b7703348e6fd3099ffd405e915ae
2020-04-01Tweak TRex cores and RDMA pps limitVratko Polak1-1/+1
The previous values lead to duration stretching, which affects MRR results (making receive rate bigger than it really is). + Move timestamp for starting of traffic, the previous position was too conservative. Change-Id: Ie983f0d3eacf56d57caa551d1b7fbb87ece6c158 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2020-02-18Add option to run Trex with --force parameter to startMaros Mullner1-4/+11
regardless of ports state. Signed-off-by: Maros Mullner <maros.mullner@pantheon.tech> Change-Id: Iaafb5ff3a53a290ca79506bdb559a32d39570482
2020-01-08Track real(er) duration of trafficVratko Polak1-0/+7
+ Print duration. - Missing: Parse duration. - We do not have good formula to compensate, yet. Change-Id: I1c76ac35ce531b1994480d6aa0638f16992231f5 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2020-01-07T-Rex: Upgrade to 2.73 with DDP profile fixPeter Mikus3-3/+3
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Icaa99e0a71a19ba23697c21a4b5aa046813a718a
2019-11-28Python3: resources and librariesJan Gelety3-117/+124
Change-Id: I1392c06b1d64f62b141d24c0d42a8e36913b15e2 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-09-24Add support for HDRhistogramVratko Polak1-15/+17
+ Enable hdrh in trex server. + Append hdrh coded output after min/avg/max/. + Read (not show nor decode) hdrh value in PAL. + Also, remove old ndrpdrdisc code. Change-Id: I99d99f10386a621772b5419ca1f36080fa15aca7 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-09-24Reconf tests: Fix async measurementsVratko Polak2-6/+32
TRex does not zero the server counters. It copies the values to use as reference, and subtracts them when asked for results. But the reference is stored in the client (not the server). And CSIT uses different scripts to start and stop async traffic, which means different clients. This patch introduces a workaround. Async start will return xstats objects to use as reference, and async stop will use the objects to compute the correct results. The xstats objects are stored in TrafficGenerator instance. Sync measurement does not export the counters, to shorten logs. Other improvements: + Make stop_traffic_on_tg return measurement results directly. + Rename --async to --async_start as "async" is reserved in Python 3.7 + Minor pylint, docstring and typo fixes. Change-Id: I5fc56a0763afb7d62cfa7c0651f96b6867de3e15 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-09-12Support unidirection in all searchesVratko Polak1-24/+26
+ Rename bool unidirection to int traffic_directions. + Rename "untagged" to "initial" for bandwidth calculation. + Fix latency measurement for unidirectional traffic. + Remove duplicate colon in soak test message. + Edit PAL to accept both forms. + Fix minor documentation issues. Change-Id: I6c76f2dc090ae493f2fbd7e9ccd45229d2306dea Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-09-12TRex: 2.61Peter Mikus3-3/+3
- HDRhistogram can be rebased and used in separate patch. Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Ic7ce752344c6e1791af7cf7b7effde65ac2be680
2019-09-11Ansible: Trex installationPeter Mikus1-36/+0
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I5ab8fe05074a842301a511bbd3ab5e67f8d1a9f0
2019-08-23Introduce reconfig suites, for dot1q+ip4+vxlanVratko Polak1-13/+26
Ticket: CSIT-1551 + Config copied from other suites. + Layer keywords prepared for additional chains. + Renamed "create" argument to "vlan_per_chain". + TrafficGenerator result extraction improvements. + Also unified TG type and subtype checking. + Throughput estimated as PDR for zero PLR. + Actual Qemu start is skipped. + Parse xstats instead of stats in trex stop scipt. - Because stats are unconditionally cleared on each script connect. + Remember start values to get better ReceiveMeasurementResult at stop. + Expose loss count and time as appropriate test message. + Autogen support. + Multiple chain amounts and core densities. - Only 1 additional chain. + Proper TAGs. Documented. + Clarified min framesize tags are for TG-DUT. + Added a TODO concerning overhead values. + Added 118B tag. + Robot performance keywords improvements. + Added missing return value documentation. + Frame size as required test variable, not an explicit argument. + MLRsearch keyword to store result (not into test message). - TODO: De-duplicate: main keyword to measure, minor to set test message. - But implementation uses the fact default arguments are different. + Keywords for starting and stopping background traffic. - No checks whether start-stop pair is complete. + Multiple minor indentation and logging improvements. - Missing / TODOs: - Support also vlan_per_chain=True? - Support dot1q without vxlan? - Support also deletion? - How to package config steps so -reconf can be generated from -ndrpdr? Change-Id: If0270697f9ffa837c34ef802917220a53f156703 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-06-10Python3: TRex driverPeter Mikus3-45/+15
Change-Id: I25f7598b52c87ec1a2d4c6f22680d5200b583e2c Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-05-28FIX: Trex 2.54 resolve issue.Peter Mikus1-2/+1
Change-Id: I8ffb360411fe5a0304ba7568828588dc7cfad267 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-05-24CSIT-1425 Upgrade TRex to v2.54Tibor Frank3-53/+20
Change-Id: I71010c18210e88828ded0bc679997d76f34886cb Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-05-16Avoid !r format appending u on unicodeVratko Polak1-0/+4
Change-Id: I2c0877f4d8b6cad2694c43a4350998cd2b830680 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-05-10PLRsearch: Use stat trackers to shorten IntegratorVratko Polak1-3/+3
+ Extract several tracker classes and use them in Integrator. + Apply next_rate workarounds to focus more on critical region. + Rewrite stretch function, as the previous implementation was wrong. + Rework logging: ++ Use injected trace() function in Integrator. ++ Inject function that skips trace logging on default initialization. ++ Use the same multiprocessing-safe passing, but separate queue. + Set duration to 120m in Robot, but keep at 30m in Python. + Apply minor changes to make computations more reproducible: ++ Attempt to log everything needed by reproducibility in one line. ++ Log samples used, and make it settable as upper limit. ++ Use repr output in TRex scripts, to avoid rounding when copypasting. +- Numpy seems to be sharing PRNG between processes. +-- An edit to disable one thread is needed for full reproducibility. +-- Such an edit is prepared, but will not be merged anytime soon. Change-Id: Icf56429b34ab6de2d18a12e6c676e2d242b3ba4c Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-02-26De-duplicate unidirection supportVratko Polak1-221/+46
- Latency is now reported in both directions. -- For unidirection that means additional -1/-1/-1. + Changed function argument wrapping to save vertical space. + Changed trex command synthesys to save vertical space. + Fixed handling of command line arguments to avoid superfluous spaces. + More care distinguishing (0, 1) from (port_0, port_1). - Not renaming the original port arguments. Change-Id: I7b1736b594f6edea52eb07e5bc76ef52d0af92f8 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-01-08[V4] Add sending unidirectional traffic support for TG in CSITYulong Pei1-5/+205
Extend TG in CSIT to support to send unidirectional traffic, and then it can be used by unidirectional test cases e.g. Load balancer. Change-Id: Ie25bcdf7d4525a6d88d8ecd11a1b6d98275fa4d6 Signed-off-by: Yulong Pei <yulong.pei@intel.com>
2018-05-04CSIT-992: Add libraries for optimized searchVratko Polak1-9/+9
+ Place the libraries into resources/libraries/python/search/. + Except OptimizedTrexSearch in TrafficGenerator.py + Change traffic generator to support floats for duration and warmup. + Remove explicit type conversions where not needed. + Add robot keywords to performance_utils.robot + for calling the optimized search. + for reporting the resulting values. + for checking the minimal performance has been reached. + for running five second "Traffic should pass with no loss" after the search. - Add methodology documentation in subsequent Change. - Add simulator for testing algorithm correctness in a subsequent Change. - Add tests using the libraries in subsequent Change. Change-Id: Ia041008382ee4c9a562172099aea794c854d5f2f Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2018-01-04CSIT-885 Updagrade TRex to v2.35Peter Mikus4-4/+4
Change-Id: I82681fc9ea52d72323d48ac78507ef1c571ca712 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-01-02Upgrade to T-rex v2.34Tibor Frank4-9/+8
Change-Id: I7e18ba8beaac507af376a859821ef7d571cbff80 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2017-09-04CSIT-786 L2FIB scale testingPeter Mikus1-0/+3
L2FIB scale testing for 10k, 100k, 1m FIB entries ./l2: 10ge2p1x520-eth-l2bdscale10kmaclrn-ndrpdrdisc.robot 10ge2p1x520-eth-l2bdscale100kmaclrn-ndrpdrdisc.robot 10ge2p1x520-eth-l2bdscale1mmaclrn-ndrpdrdisc.robot 10ge2p1x520-eth-l2bdscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc 10ge2p1x520-eth-l2bdscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc 10ge2p1x520-eth-l2bdscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc Change-Id: I7e3884bd5ab5294c289030a3465ec5b6def83cf7 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2017-09-03Update T-rex to v2.29Peter Mikus4-4/+4
Change-Id: Id60525182cbe5870f40aebf165e8bd86c101d267 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2017-08-25Update T-rex to v2.28Peter Mikus4-4/+4
Change-Id: I506589c3785eec3a2eaa9fdb32bfc3375388d6f4 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2017-06-29CSIT-687: Directory structure reorganizationTibor Frank4-0/+500
Change-Id: I772c9e214be2461adf58124998d272e7d795220f Signed-off-by: Tibor Frank <tifrank@cisco.com> Signed-off-by: Maciek Konstantynowicz <mkonstan@cisco.com>