aboutsummaryrefslogtreecommitdiffstats
path: root/GPL
AgeCommit message (Collapse)AuthorFilesLines
2024-05-31feat(profiles): Do not share seeds between streamsVratko Polak6-27/+27
Avoiding any predictable memory access patterns is more important than similarity between 2p and 6p profiles. + Seed values now match parts of IP source address. Change-Id: Ib1830cf9d3e7b329e54de19a92ecea77c8baeeb5 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2024-05-01Revert "feat(profiles): Do not repeat seeds in 6p profiles"Peter Mikus12-18/+66
This reverts commit b8f31fc3da4b0a6ab5805eea61af0fe7e869a453. Change-Id: I65f79bb323f48d9e7b3ed7a1990db1b1486da26e Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch>
2024-05-01Revert "style(scale): Apply black to new traffic profiles"Peter Mikus24-246/+246
This reverts commit 4e2635deff33db4bea476003ac222ffd9ab504b1. Change-Id: Idb9145fbf13e7943392a72f77ef9a1b479187732 Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch>
2024-04-30style(scale): Apply black to new traffic profilesVratko Polak24-246/+246
+ Add trailing commas to prevent black from collapsing argument lists. Change-Id: I8a2f2aca0df7a9271a073f87603f9abfa4870b11 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2024-04-30feat(profiles): Do not repeat seeds in 6p profilesVratko Polak12-66/+18
On one hand, using seed==1 for all W-E streams and seed=2 for all E-W streams would make 6p tests even more comparable with 2p tests. But current rnd profiles were mixing the two seed values. On the other hand, using unique seed values for each stream would ensure VPP is less likely to deviate from average preformance. As the second approach also results in smaller profile files, this patch applies that approach. Change-Id: If0f57282a2899a1a4fb154dd6ed810064cb5c212 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2024-04-30fix(profiles): Properly randomize in last profileVratko Polak1-7/+14
The file trex-stl-ethip6-ip6dst-rnd1000000-6p.py was not properly edited when converting from a non-random profile. Change-Id: I2fdf424176c69467dcf00cd4dc15f147c3576817 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2024-04-30cleanup(ip4scale): Delete recently orphaned rnd profilesVratko Polak3-418/+0
The rnd suites were already migrated to use the -2p profiles instead. The non-rnd traffic profiles (without -2p) are still used in trex suites and some ipsec suites, so they cannot be removed yet. Change-Id: Ibc97b039c218418701081d3838ef40987110ef64 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2024-04-26feat(profiles): IPv6 unseedpmikus1-3/+1
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: I72a91c6270bd43fd41b8d7389b759305d9a3d408
2024-04-25feat(profiles): Cleanup IPv6 profilespmikus12-987/+117
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: Ib9d1d819e59be768377f3a61578c22699a10f0a8
2024-04-25Revert "fix(ip6scale): Unify rnd profiles"Peter Mikus6-17/+34
This reverts commit b06f091ae65a7323231d84d188b863698169508b. Reason for revert: . Change-Id: I99b7c3365e7e74aadcf366c8ca284ad458dcc8e6 Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch>
2024-04-24fix(ip6scale): Unify rnd profilesVratko Polak6-34/+17
Some were not even using STLVmFlowVarRepeatableRandom. + Simplify seed calculation. Change-Id: If3211dd2336838ee1ad7137563ddf8cc90ebea00 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2024-04-11feat(tests): IPv6 scalepmikus15-3/+1514
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: I720b7c96a6ac9f328aff57437e51254364604911
2023-11-16fix(trex): Random Traffic Profilespmikus6-6/+6
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I1d6d32cf95fc518e5095c475c050fe626df8041a
2023-11-03feat(tests): 6p3nic ip4 testsoper-231106pmikus12-1/+1360
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: I69ee305b25b9e05d2305cb82aba71ef6418780ab
2023-10-26feat(trex): cleanup t-rex profilespmikus144-2267/+131
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: Ib93dc1552945fe91ab5346b9b759d56c7468debf
2023-10-25feat(core): Multilink TRex Sync mode IIpmikus3-27/+359
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: Idf4df372520d4a72c0738a89290d16710485f140
2023-10-18feat(MLRsearch): MLRsearch v7Vratko Polak1-2/+2
Replaces MLRv2, suitable for "big bang" upgrade across CSIT. PyPI metadata updated only partially (full edits will come separately). Pylint wants less complexity, but the differences are only minor. + Use the same (new CSIT) defaults everywhere, also in Python library. + Update also PLRsearch to use the new result class. + Make upper bound optional in UTI. + Fix ASTF approximate duration detection. + Do not keep approximated_receive_rate (for MRR) in result structure. Change-Id: I03406f32d5c93f56b527cb3f93791b61955dfd74 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2023-10-13feat(core): Multilink TRex ASTF Async modepmikus2-47/+27
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: I9e4eac451578c0f6b86b1dde237512184c163def
2023-10-12feat(core): Multilink TRex Sync mode I.pmikus1-53/+51
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: I9f579385299e69e4d5679ed451ae0b4c30406733
2023-10-11feat(core): Multilink TRex Async modepmikus2-47/+29
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I02468203f3eb4545b6662bad2ce9aa72ecd5a5f6
2023-05-26feat(core): T-Rex 3.03pmikus7-7/+7
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I58607f50e2889092e40ff831ed4f1515444e29f8
2023-02-09Add 1M flows test suites of VPP IP4 and VPP IP6Yulong Pei2-0/+277
VPP routing with one million fib rules also is a key indicator for performance benchmark Signed-off-by: xinfeng zhao <xinfengx.zhao@intel.com> Signed-off-by: Yulong Pei <yulong.pei@intel.com> Change-Id: I19b52f6b96bdc5ed1e76305d258825fb17bd3af9
2022-10-13feat(trex): Bump T-Rex to v3.00pmikus7-7/+7
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I9aa88fb094b03888fc30d84edc1deaa406075db4
2022-09-30Add wireguard multiple tunnels test suitesYulong Pei6-0/+920
Signed-off-by: Yulong Pei <yulong.pei@intel.com> Change-Id: I7abd546e67fdbe481b204bb6a1ec7e9c654dcdae
2022-08-08feat(pip): UpgradePeter Mikus2-57/+45
Due to some integration changes with upcoming Ubuntu 22.04 (and mainly python) bump, upgrading the full pip package list to latest version. Keyword 'BuiltIn.Run Keyword Unless' is deprecated - will be part of subsequent change Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Ie3bdc424c7c0efb4fe4f1fa7c73137b916c17116
2022-07-20fix(astf): avoid issues in pps tputVratko Polak5-45/+60
When more than 1 data packet is sent in the same chunk, TRex is sometimes not fully deterministic in its usage of delayed ACKs. This changes the "application protocol" to sent 5 chunks (1 data packet each), c2s and s2c interleaved, so each subsequent chunk acts as an ACK. The overall packet count remains the same, and even though this interleaved way may be more demanding on TRex CPU, preliminary results show NAT performance is still well below ip4base performance. As a side effect, the interleaved way seems to work also for 100B data frames, so we are avoiding two issues at once. Ticket: CSIT-1846 Ticket: CSIT-1830 Change-Id: Ia4dcfa7c89f2c08fc32bd6118e2e009316b33c25 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-06-14fix(stl_traffic): track both ports on unidirVratko Polak2-146/+130
Even if the suite asks for unidirectional stateless traffic, in some circumstances (e.g. reconf tests) stats from both ports are needed to determine overall loss. Enabling both ports unconditionally fixes that without any negative consequences. Latency info is still gathered only for one direction in unidir tests. Change-Id: Ifec6603d6103c9981fc0af02a81b0db215ccb77c Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-05-18fix(trex): use reset instead of clear_profileVratko Polak2-4/+3
Now sure why clear_profile gets stuck with v2.97 (unless block=False), but calling reset() works, and will be less risky next time we bump TRex version. - Only ASTF for now. Change-Id: Ib6906fb8ce269e888bf0e0438d3309931d5e9981 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-05-16Core: T-rex 2.97pmikus7-12/+12
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: Id4d84aa7268080843b099fd7ab9851234612968b
2022-05-03feat(astf): Support framesizes for ASTFVratko Polak22-642/+631
- No support for IMIX. + Fix a bad bug in padding (most ASTF profiles had wrong frame sizes). + Fix a big typo in TCP PPS profiles (s->c was not data, just RST). + Control transaction size via ASTF_N_DATA_FRAMES env variable. - Default value 5 leads to transactions smaller than before. + It ensures transaction is one burst (per direction) even for jumbo. + Edit autogen to set supported frame sizes based on suite id. + Both TCP and UDP use the same values: + 64B for CPS (exact for UDP, nominal for TCP). + 100B, 1518B and 9000B for TPUT and PPS. - TCP TPUT achievable minimum is 70B. + Used 100B to leave room for possible IPv6 ASTF tests. + Separate function for code reused by vpp and trex tests. - I do not really like the new "copy and edit" approach added here. + But it is a quick edit, better autogen refactor is low priority. + Consider both established and transitory sessions as valid. - Mostly for compatibility with 2202 behavior and to avoid ramp-ups. - Assuming both session states have similar enough VPP CPU overhead. + Added a TODO to investigate and maybe reconsider later. + Update the state timeout value to 240s. + That is the default for TCP (for transitory state). - UDP could keep using 300s. + But I prefer UDP and TCP to behave as similarly as possible. + Use TRex tunables to get the exact frame size (for data packets). - It is not clear why the recipe for MSS has to be this complicated. + Move code away from profile init, as frame size is not known there. + Change internal profile API, so values related to MSS are passed. + Lower ramp-up rate for TCP TPUT tests. + Because without lower rate, jumbo fails on packet loss in ramp-up. + UDP TPUT ramp-up rate also lowered (just to keep suites more similar). + Distinguish one-direction and aggregated average frame size. + Update keyword documentation where the distiction matters. + One-direction is needed for turning bandwidth limit to TPS limit. + Aggregated is needed for correct NDRPDR bandwidth result value. - TCP TPUT will always be few percent below bidirectional maximum. + That is unavoidable, as one direction sends more control packets. + Add runtime consistency checks so future refactors are safer. + Fail if padding requested would be negative. + Fail if suite claims unexpected values for packets per transaction. + Edit the 4 types of ASTF profiles to keep them similar to each other. + Move UDP TPUT limit value from a field back to direct argument. + Stop pretending first UDP packet is not data. + Apply small improvements where convenient. + Replace "aggregate" with "aggregated" where possible. + To lower probability of any future typos in variable names. + Avoid calling Set Numeric Frame Sizes twice. + Code formatting, keyword documentation, code comments, ... + Add TODOs for less important code quality improvements. - Postpone updating of methodology pages to a subsequent change. Change-Id: I4b381e5210e69669f972326202fdcc5a2c9c923b Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2021-10-08fix(Pylint): Small fixespmikus2-2/+2
+ Just few obvious one Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I9bbac293a56d6b2943bef03cb3b8943e967dae6b
2021-10-08Add flow test suitesxinfeng zhao1-0/+109
The comms DDP package needs to be installed to support all flow protocols Signed-off-by: xinfeng zhao <xinfengx.zhao@intel.com> Change-Id: I6ab1bd8beb9edb8c9889a0ed9a999080ca3cef3d
2021-06-17Traffic scripts: Move valid_ipv* to a libraryVratko Polak6-158/+63
No need to implement the same two functions in 5 places. Change-Id: I7bbcfaba18030a0520aaef5dcf06ed155bcf806b Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2021-06-17Traffic scripts: Fix docstringsVratko Polak5-10/+0
The IP address checking functions do not raise the exceptions listed, they except them and return False. Change-Id: I74e52b65bac99c8ca8679d4cc6395067ccc6a961 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2021-06-14FIX: vpp_device ignore packets listpmikus9-27/+97
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: Ifda8fcb102661e7c585bc5fe3a16113ae629d516
2021-06-14FIX: eval expressionpmikus2-0/+4
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I746a40af0a051978706e7c696d391a051133145f
2021-06-10FIX: Pylint reducepmikus62-162/+192
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I909942dbb920df7f0fe15c0c92cda92c3cd8d8ad
2021-06-10FIX: Add ICMPv6MLReport2 maskingpmikus9-24/+83
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I1183a0ffd13c6926b3963b78630954bb6356133b
2021-06-10Infra: vpp_device -> Ubuntu 20.04pmikus1-1/+5
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: If24c385b93e1ba310ea258984c97494b4cab467c
2021-06-01ASTF: Fix syntax error in stopVratko Polak1-2/+2
When ASTF suites were introduced, they already edited [0] actions to avoid explicit stop. Then a refactor [1] introduced the syntax error, but as stop never run, we didnot see it as a failure. Finally another refactor [2] caused the stop to be called again, exposing the syntax error. As a related issue, pylint script was not updated to check files in GPL directory until [3]. [0] https://gerrit.fd.io/r/c/csit/+/28205/8/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr.robot#84 [1] https://gerrit.fd.io/r/c/csit/+/28208/179/GPL/tools/trex/trex_astf_stop.py#102 [2] https://gerrit.fd.io/r/c/csit/+/32030/37/resources/libraries/robot/performance/performance_utils.robot#518 [3] https://gerrit.fd.io/r/c/csit/+/32504 Change-Id: Ibd20b43cb263170d9f17255ff1bcd20f09c42cb5 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2021-03-26STL traffic: Use the sleep+stop logicVratko Polak2-21/+33
+ PPS limit for AWS set to 1.2 Mpps. + The logic is very similar to that one in ASTF driver. + This helps for testbeds with high duration stretching (e.g. AWS). + Difference: No transaction scale, and we deal with floats. + Update loss counting to count unsent packets as lost. + Also count "unsent" transactions for other transaction types. + If nonzero, log the number of unsent packets/transactions. + Make STL and ASTF time overhead constant (called delay) configurable. + Subtract delay from approximated_duration, also for ASTF. Change-Id: I6ee6aa6fba4f110ba1636e1b0ff76cac64383e33 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2021-03-16Perf: Bump T-Rex to 2.88pmikus7-7/+7
+ Mellanox 4.6 is not for Ubuntu 20.04 + Mellanox for ubuntu 20.04 is 4.9+ + T-Rex 2.86 is not for Mellanox 4.6+ + T-Rex for Mellanox 5.2 is 2.88+ ================================== = Bump Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I902dfc2a43e6718b385e89f31a34260e09d61bd3
2021-02-26IPsec: add 2n crypto udir perf testsJuraj Linkeš12-0/+1261
Add unidirectional 2n crypto tests. Only one direction can be tested on a 2 node topology, since we can't use the same interface for both encrypted and unencrypted traffic. Add the following tests: * {n}tnlsw-ip4base-int ndrpdr tests * {n}tnlsw-1atnl-ip4base-int reconf tests * {n}tnlswasync-scheduler-ip4base-int ndrpdr tests Where n is the number of tunnels: 1, 4, 40, 400, 1000, 5000, 10000, 20000, 40000, 60000 for the first two 1, 2, 4, 8 for the async scheduler tests All of these with the following ecryption-auth algorithms: aes128gcm aes256gcm aes128cbc-hmac256sha aes128cbc-hmac512sha Also add the corresponding trex profiles: trex-stl-2n-ethip4-ip4dst{n}-udir.py Where n is the number of tunnels listed above. The profiles are shared among the tests. Change-Id: I22bb46e6ad59801581a78aa19310bee8a5293e56 Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
2021-02-19Add test suites for crypto sw scheduler engineYulong Pei2-0/+270
This patch is to add test suites for vpp plugin crypto_sw_scheduler, IPsec sync mode is to do crypto and packet forward work in same worker cores, crypto_sw_scheduler can schedule crypto work to other async crypto cores to improve whole crypto processing capability. This test suites configure fixed 1 rx queues per port, then measure IPsec performance with 1, 2, 3 crypto cores. This patchset include 1, 2, 4, 8 ipsec tunnels test cases. +Vratko help to change to count total physical cores instead of previous only count crypto cores in test cases. Change-Id: I0e67182e3d13273890a23703d838101900e25126 Signed-off-by: Yulong Pei <yulong.pei@intel.com> Signed-off-by: Vratko Polak <vrpolak@cisco.com> Signed-off-by: pmikus <pmikus@cisco.com>
2021-02-03UDP_PPS: Ensure keepalive is long enoughVratko Polak5-10/+10
Previously, it was long enough for the current performance, but not long enough for the theoretical worst case. See https://gerrit.fd.io/r/c/csit/+/29803/9/docs/report/introduction/methodology_nat44.rst#293 Change-Id: I3f57a834c77d93b38bca81fdbb714a6374b81bae Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2021-01-20Add suites with randomized ip6 profilesVratko Polak6-16/+25
+ Replace pair of traffic profiles (2n and 3n) with single nodeless one. + Compared to incremental suites, randomized ones add IP6_RND tag. Change-Id: I2f0dfc9e04bbcd0f88e95b92edf2da2c73faaab6 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2021-01-18Random flows: Use seeds again and increase limit.Vratko Polak3-45/+54
TRex does mix seeds when distributing over workers, but it is multiplicative [0], so zero is the only bad value. Limit restricts the cycle length of PRNG (by resetting [1] the seed). We want the cycle as long as possible. [0] https://github.com/cisco-system-traffic-generator/trex-core/blob/v2.73/src/stx/stl/trex_stl_stream_vm.h#L1616 [1] https://github.com/cisco-system-traffic-generator/trex-core/blob/v2.73/src/stx/stl/trex_stl_stream_vm.h#L313-L314 Change-Id: I33a29496f0853ef60d592c988f81a9d1109b5878 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2021-01-14perf: GENEVE tunnel test, l3 modeJan Gelety7-12/+1403
Jira: CSIT-1768 Change-Id: I888ae1a5754fa07297d4cdf65c2be0e3e49d89a5 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2021-01-13Add 3n ip4-rnd testsVratko Polak3-0/+0
+ Rename traffic profiles to avoid mentioning number of nodes. + Improve 2n rnd suite documentation slightly. Change-Id: I82d6fb6a99133163a58d56f2acf8a7b9568ee77c Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2021-01-12License: Wrap GPL block to 80 charactersVratko Polak184-367/+551
The original license block was adapted from https://wiki.fd.io/view/TSC/Proposed_Header_Python_Test_Scripts resulting in a line longer than 80 chars, but those are reported (although not blocked) by tox verify job. As the text from wiki was not used in verbatim (it uses c-style comment block), minor formatting change like this should not be a big deal. + Bump copyright year. Change-Id: I55e3a0232639b448b1a6d7b1f3af84d903a8d0a5 Signed-off-by: Vratko Polak <vrpolak@cisco.com>