aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2020-11-12Report: Add NAT44 dataTibor Frank4-356/+164
- reorder NAT44 graphs Change-Id: Ied762a85fb1ee69c7d12971e3e15822571a18451 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-11-11Ansible: Remove vpp_device snergster dependencypmikus6-10/+39
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: Id14c3f2f4f8689256172dc2b3ebc4fbaed5de8d3
2020-11-11Report: Add comparison soak vs ndrTibor Frank1-2/+0
Change-Id: I19308ed936246be5b4e61c6e219591d16095cb56 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-11-11job-spec: update the runs durationsTibor Frank2-8/+8
Change-Id: I6de49b81bd4b75d40c792b044dc46024279d6651 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-11-10ASTF: Lessen L7 processing in UDP_CPS profilesVratko Polak5-40/+30
Change-Id: I8b154156120821adb24273db2a232fa82200c0fe Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2020-11-10TCP CPS: Count NAT sessionsVratko Polak1-2/+4
The previous code counted full TCP connections, which need one more packet, leading to worse results. Change-Id: Ifcf78356b6ed54819ea0bf5aa069d7d9cb951183 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2020-11-10Speed up test archive compressionVratko Polak1-1/+1
16 times faster setting at cost of 50% larger archive. Before: $ time ( cat tests.tar | xz -9e > tests.9e.tar.xz ) real 0m41.640s user 0m41.009s sys 0m0.602s $ wc -c tests.9e.tar.xz 913432 tests.9e.tar.xz After: $ time ( cat tests.tar | xz -3 > tests.3.tar.xz ) real 0m2.422s user 0m2.294s sys 0m0.161s $ wc -c tests.3.tar.xz 1556080 tests.3.tar.xz Change-Id: Ia5c86183d4e19db3cbf95dd84cf86ee720ef4051 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2020-11-05Update of VPP_STABLE_VER filesJan Gelety2-2/+2
- use new vpp ref build - ubuntu 18.04: 21.01-rc0~353-g40aa27ef7 - use new vpp ref build - centos7: 21.01-rc0~353_g40aa27e~b254 Change-Id: I35bd3d39182ad5f12793424818fc4eef55638e19 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-11-09job-specs: Align mrr-daily with report iter for 2n-clx and 2n-skxTibor Frank2-1288/+2
Change-Id: I783f0f055462daa1e8047c6905a17495b8473135 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-11-09Report: Add dataTibor Frank1-0/+2
Change-Id: Id59947b8c502e4bf7b7ce66ad326f481346c98d6 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-11-06PAL: Tests order in plotsTibor Frank1-73/+91
Change-Id: Ic9342f0f3deea3d7d175c437993289c86464bb99 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-11-06Report: Add NAT44 LatencyTibor Frank3-84/+163
Change-Id: I2c247c5362396bcb4c8b42b1b46a2601091ca968 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-11-05Report: Add NAT44, part 2Tibor Frank1-16/+278
Change-Id: I81c3b43407921ed7912b530bb93c725515d3d583 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-11-05Report: Configure rls2009.46Tibor Frank3-2/+19
Change-Id: I7886285de8edbf66e03e1b22d85c2e7a4c4d7224 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-11-04docs: nat44ed test spec for udp and tcp cps tests using trex astfMaciek Konstantynowicz1-0/+499
Change-Id: I277f462521273947d374e79a687e7f616ad1f13b Signed-off-by: Maciek Konstantynowicz <mkonstan@cisco.com>
2020-11-04job-spec: Split mrr daily from report iterativeTibor Frank6-240/+1526
- enable all NAT44 tests for report iterative Change-Id: Ifc820c3d0b657637bb4569f59ddaecd9aefb8d1d Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-11-03Report: Fix bugs in NAT44 graphsTibor Frank6-1371/+227
Change-Id: I6de094fc0cb2acdfb6eeb22e6d85a65d2e9f1478 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-11-02job-specs: Update the durationsTibor Frank16-64/+64
Change-Id: Ibed3ad934bc4fd03013404e18b5a0d6917499bf8 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-11-02Report: Add dataTibor Frank2-11/+27
Change-Id: I800273d04c3f956e58be727cbf5befa61377fa2b Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-10-25Update of VPP_STABLE_VER filesJan Gelety2-2/+2
- use new vpp ref build - ubuntu 18.04: 21.01-rc0~324-g62877029a - use new vpp ref build - centos7: 21.01-rc0~324_g6287702~b225 Change-Id: I86130eb1df9955395d4145f3ccdd0b07d6456fdf Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-11-02Report: Add dataTibor Frank2-3/+20
Change-Id: I99836894960f74f9dc283b812e1106ac512db3ae Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-11-01Report: NAT44 LatencyTibor Frank2-106/+61
Change-Id: Ifca9e4f5783eea37df30ddfedc80c988f2163ad8 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-11-01Report: Add dataTibor Frank1-4/+68
Change-Id: I1cf61c523d781db3dbeccf89077c50992cb03205 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-10-30Report: Add NAT44 dataTibor Frank2-52/+41
Change-Id: I463bf61d41484738ba5c614b473bcb5457e6abe1 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-10-30Report: Add NATT44 testsTibor Frank6-494/+1623
Change-Id: I3920f881286565029f35bcfa700f36c6701db457 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-10-30Report: Add dataTibor Frank1-0/+4
Change-Id: Iaa85aaa5179136281ab05325efcf0e91c234a774 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-10-29Support existing test types with ASTFVratko Polak159-2558/+6591
+ Add UDP_CPS, TCP_CPS, UDP_PPS and TCP_PPS suites. + Update existing cps traffic profiles. + Add missing traffic profiles. + UDP: + Single burst of 32 packets was confirmed as safe enough for TRex. + Maybe 64 could work, but not enough testing for that. + Multiple bursts have lead to reduced TRex performance, as overlaping bursts (from different client instances) tend to fill up the buffers. + TCP: + Data size set to 11111 bytes, completely arbitrarily. + Results look reasonable, so I have kept that. - MSS not set at all - No tested support for frame size other than 64B. - Frame size does not even factor into TCP profiles. + So other frame sizes are skipped in autogen. + Update tags in related suites. - HOSTS_{n} and SRC_USER_{n} should be unified. - Questionable clarification on difference between IP4BASE and SCALE. + Add NAT state resetters to tests that need them. + Resetter is called (if set) before each measurement. + If ramp-up is detected, resetter is not set. + Rename "mult" argument to "multiplier". + Abstracted from packets to transactions. + Transaction corresponds to profile. + TRex multiplier argument sets target rate in transactions per second. + The familiar STL traffic: + Bidirectional is considered to be 2 packets per transaction. + Unidirectional is considered to be 1 packet per transaction. + The newer ASTF traffic: + 4 subtypes, each has different number of packets per transaction. + For max rate computation: + Packets in the more numerous direction are considered. + Rely on TRex reported traffic duration for ASTF: + Use the server side value. - Client side value is higher by an overhead. - TRex is not sending traffic during that time. + Remove delays from traffic profiles. - Those delays would increase the reprted traffic time. + Support for scale lmited trials. + Only for ASTF profiles, each ASTF profile has limited scale. + Scale defined in suite variables. + For TRex to send all transactions provided duration value is ignored. + The appropriate value is computed in TrafficGenerator. + An ad-hoc time constant is added to match the TRex client side time overhead. + The profile driver receives the computed duration. + Measurement for PLRsearch add a sleep if the computed duration is smaller. + Alternative argument for search algos if scale is limited. + Both need higher timeout to accomodate big scales. + MLRsearch can afford fewer phases. + Added a parameter to optionally shorten the duration. + Use short duration for runtime stats trial and failure stats trial. + Use very large keepalive values in udp profiles to avoid ka packets. + No polling in ASTF profile driver. - Polling could eliminate the time overhead value. + But polling proved to introduce some loss, affecting the results. + Handle duration stretching in ASTF by stopping traffic. + The stop has several steps so that: + The traffic is really stopped entirely. + Late packets do not count (maybe as errors). + Stats are preserved to read for results (and cleared afterwards). + Several quantities added to ReceiveRateMeasurement: + Original target duration is preserved (algos need that). + Input estimate (tps) for early search iterations. + Output estimate (maybe pps) for MRR output. + Strict result (unsent counts as loss) for NDR. + Use L2 counters (opackets, ipackets) where possible. - TRex has trouble processing packets for the L7 ones at high loads. + Remove warmup from profile drivers and keywords. + Suites should call "Send ramp-up traffic" explicitly if needed. + Added parsing for few more counters. + Both to use in formulas or just for debug purposes. - Only 64B cases in autogen, framesize support to be added later. + Latency streams during search can be enabled via PERF_USE_LATENCY env var. + MLRsearch improvments: + Rename argument names to min_rate and max_rate. + Use relative receive rate in initial phase. + PLRsearch improvements: + Careful computation when output (pps) does not match input (tps). + Use geometric distribution (instead of Poisson). + Helps agains math errors. + This should improve estimate stability. - But in practice big losses still lead to significant jumps. + Traffic generator improvements: + send_traffic_on_tg now calls the full set_rate_provider_defaults. + _send_traffic_on_tg_internal for the logic without provider defaults. + As the internal function is re-used by measure() without affecting defaults. + Move _parse_traffic_results just before get_measurement_result. + As the latter uses fields set bu the former, it is now easier to read. + Multiple sources for approximate duration. + Tried from more precise to more available. + Includes logic for _pps tests (added in later change). + Move explicit type conversions to earlier occurences. + Profile driver output field uses semicolons to simplify parsing. + Performance Robot lib file split to several smaller ones. + performance_actions.robot: + Hosts Additional Statistics Action For * keywords. + performance_display.robot: + Hosts keyword for displaying and verifying results. + Change test message to use the correct unit (pps or cps). + performance_limits.robot renamed to performance_vars.robot + Added many keywords, mostly for accessing test variables. + Moved variables for Policer into a new keyword there. + Some keywords need sophisticated logic. - Other are basically Get Variable Value. + But in future more logic can be added, without editing callers. + Documentation for the new keywords acts as a documentation for test variables. + performance_utils.robot has the rest. + Eliminated arguments if the value is in test variable. + Small improvements to documentation. - Still not enough cleanup with respect to arguments and test variables. + Keywords are sorted alphabetically now in each one. + Suites: + Unified variables table: + No colons in comments. + ${n_hosts}, ${n_ports} and use them instead hardcoded numbers. + Add -cps to existing cps suite names. + Remove "trial data overwrite". + Compute max rate as in STL suites. + Each NAT suite has ip4base suite to compare results to. - Those act as indirect TRex calibration. - VPP does not lose packets in those. + Latency in ASTF suites is disabled hard. - As we do not support latency in ASTF profiles yet. + Unidirectional tests governed by suite variable, not an argument. + Write long argument lists vertically. + Prefer to use argument names. + In Python, also the last argument is followed by comma. + It makes renaming and reordering easier. + Similarly applies to prints with long lists of values. + A TODO to update api crc file comments. Change-Id: I84729355edbec051298a9de1162107f88ff5737d Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2020-10-29job-spec: Add all NAT44 testsTibor Frank10-458/+1791
- the specs: - docs/job_specs/report_iterative/2n-clx/vpp-mlr-00.md - docs/job_specs/report_iterative/2n-clx/vpp-mrr-00.md - docs/job_specs/report_iterative/2n-skx/vpp-mlr-00.md - docs/job_specs/report_iterative/2n-skx/vpp-mrr-00.md take too long. We should consider to remove some tests. - the coverage specs were split to three parts Change-Id: I39e2032c76266e159a781d1225cff1a5119d4c85 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-10-29tests: Add GSO enabled testsMartin Balaz10-25/+155
Change-Id: I409b060f64ae7c6787448ae519fd76d8384e9ffb Signed-off-by: Martin Balaz <martin.balaz@pantheon.tech>
2020-10-28PAL: Remove debug info from result parserTibor Frank1-6/+0
Change-Id: I9b6c2185e43ed0b33dbeafb3d2757656f9e49bc3 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-10-28PAL: Add processing of PPS and CPS testsTibor Frank3-39/+396
Change-Id: I7b15c69c923d47e83c2dc586cdc03ed4ebaeec74 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-10-28Report: Configure rls2009.45Tibor Frank3-2/+10
Change-Id: I8918f09411254b64abb65a165a0e284f735b306e Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-10-28Report: Add dataTibor Frank2-5/+7
Change-Id: I2394b42e177758a8f3ce4aeeb912b264cf3b457c Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-10-26Report: Add dataTibor Frank1-15/+32
Change-Id: Ib5acc321ac7d5db7598b30b9783cee06ee8c1462 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-10-23CSIT-1597 NAT44 API: dynamic configJan Gelety22-90/+80
- cover API changes in VPP: https://gerrit.fd.io/r/c/vpp/+/29463 - update vpp stable to version 21.01-rc0~283-g5f4f2081c Change-Id: I079c10e4537448c3b078f22c3fe4ed266a5e2e2c Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-10-23Report: Add dataTibor Frank1-0/+4
Change-Id: Iaa5fb969b699985da8ec3356aa32fc0cb757affb Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-10-22Report: Add dataTibor Frank1-14/+24
Change-Id: If03e4adf3672413016058fae85219ae5c7e922db Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-10-21Report: Configure 2009.44Tibor Frank3-2/+25
Change-Id: I7f7e50610e71af7f2b0dc1eed267a421ffd8aef0 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-10-21Report: Add dataTibor Frank1-5/+10
Change-Id: I657325a2c18a1003c8825037291f1c37962e2c67 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-10-20FIX: Namespace deletionpmikus2-4/+13
+ Not sure who was doing code. + Set interface up should have namespace version Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I1103cddb9dd11e25a8ab0ce3f5126b2db9444749
2020-10-20FIX: Ansible calibrationpmikus36-36/+0
Force check is doing its job but vt.handoff was deployed later. vt.handoff (vt = virtualterminal) is a kernel boot parameter unique to Ubuntu, and is not an upstream kernel boot parameter. Its purpose is to allow the kernel to maintain the current contents of video memory on a virtual terminal. So, when the operating system is booting up, when it moves past the boot loader, vt.handoff allows showing of an aubergine background, with Plymouth displaying a logo and progress indicator bar on top of this. Once the display manager comes up, it smoothly replaces this with a login prompt. Useless Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I9d6db8833ccbef680fab2b643e9c3525bc709244
2020-09-17VPP-DEVICE: Add check of vpp statistic commandsJan Gelety1-0/+104
Change-Id: I87f95c14034d89056f71ffaeccafc1d3b71ff933 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-10-20FIX: Ansible assertsPeter Mikus40-255/+256
Change-Id: Ib668674a2a267d2ceed458288d21181b2a937778 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2020-10-20Report: Add dataTibor Frank1-0/+2
Change-Id: I28cd6e2bfdf6617f7590907fc114681823a2979f Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-09-16Update of VPP_STABLE_VER filesJan Gelety2-2/+2
- use new vpp ref build - ubuntu 18.04: 21.01-rc0~225-gdfffdd7fa - use new vpp ref build - centos7: 21.01-rc0~225_gdfffdd7~b128 Change-Id: I20be4d66130b076abc85c24075e774e261ecd5e0 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-10-19FIX: disable sending IPv6 RA messages from VMsJuraj Linkeš9-21/+27
There were occasional Router Advertisement packets received in a Traffic Generator in VM testcases. Fix by adding config that disables sending IPv6 RA messages on interfaces in VM VPP config before enabling them. Also rename related keywords and change descriptions based on https://docs.fd.io/vpp/21.01/db/d4c/clicmd_src_vnet_ip6-nd.html#clicmd_ip6_nd Change-Id: I1c2a33337ac91f6039d287b4c2aac388e3a52383 Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
2020-10-19Trending: Remove GBP testsTibor Frank1-15/+0
merge after https://gerrit.fd.io/r/c/csit/+/28885 Change-Id: I657f4e219968a8d422af6f5d6fc4727facfafb20 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-10-19Tests: Remove GBPpmikus18-825/+8
- Specs - Tests - Library - TODO: PAL Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I8890940d56c7a9924d4a5f9365b6bb881610db14
2020-10-19Report: Add dataTibor Frank2-12/+38
Change-Id: I17c582de8fa24ffd55b163cfeb727f2951ec647f Signed-off-by: Tibor Frank <tifrank@cisco.com>
2020-10-16GPL: Replace contribution from LucianVratko Polak1-12/+19
We need to replace the contribution, because Lucian is not responding, and thus preventing us to use the new license on his code [0]. See the chain leading to [1] on how this reverts his contribution, and adds a new fix. Unfortunately we cannot merge that chain one-by-one, because Python version is different now, so verify fails for intermediate changes. This is the chain squashed into the single change, so it can be verified and merged. [0] https://gerrit.fd.io/r/c/csit/+/11530 [1] https://gerrit.fd.io/r/c/csit/+/29481/2 Change-Id: I00ab3786e1d9abc28fed778b36d814d293c49383 Signed-off-by: Vratko Polak <vrpolak@cisco.com>