aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python
AgeCommit message (Collapse)AuthorFilesLines
2022-09-30fix(soak): reduce scale coeffVratko Polak1-1/+1
After some experiments using simulator (based on real measurment data), coeff value of 5 gives nice balance between exploration and precision. Change-Id: I6c416ed5bf3796b2e952ae4d17ab6e6bce5e1b5f Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-09-30fix(soak): scale also rarityVratko Polak1-2/+2
Without this, far-off samples are considered too important leading to wrong integration. This should fix the symptom of secondary stats being too different. Change-Id: I66496ac25da95eae1f83154f32eb56f941cb20ce Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-09-30Add VPP wireguard async mode test suiteYulong Pei2-3/+7
Add VPP wireguard async mode test suite to use QAT device for crypto. Also change keyword ipsechw to cryptohw in suite_setup.robot since currently crypto device is not only used by IPSec. Signed-off-by: Yulong Pei <yulong.pei@intel.com> Signed-off-by: xinfeng zhao <xinfengx.zhao@intel.com> Change-Id: Ibdadb3b09c04b7181415ffd4a248abddc6289075
2022-09-30Add wireguard multiple tunnels test suitesYulong Pei1-37/+57
Signed-off-by: Yulong Pei <yulong.pei@intel.com> Change-Id: I7abd546e67fdbe481b204bb6a1ec7e9c654dcdae
2022-09-28telemetry: linux telemetry with perf-statViliam Luc1-0/+6
Signed-off-by: Viliam Luc <vluc@cisco.com> Change-Id: I17ced17a309cc0ac21c5fc94e570c89a456339e2
2022-09-22feat(dpdk): Move to 22.07pmikus1-1/+1
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: If898b07e7406bfe28a63e4a793cf2f4e08a53e9d
2022-08-30feat(core): Ubuntu Jammy IXPeter Mikus1-2/+2
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Ib3e9b9bb7937557f9880fb230856eb96534446d0
2022-08-30fix(core): Ubuntu Jammy VIIIPeter Mikus2-19/+7
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I12e7515f7dd04dd493c566ce85ed17f87e2563bb
2022-08-19feat(infra): Topology file for 3n-snrPeter Mikus1-0/+6
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I276e12e881a4db0a82d5e03107fe153d02a762c4
2022-08-18feat(papi): use newer API messagesVratko Polak4-25/+13
Updated for what is available in (last common ancestor of) 2206. (So newer messages such as ipsec_spd_entry_add_del_v2 are not used yet.) + Removed messgages documented as unused. - Did not check if more become unused. + Restored alphabetical order. Change-Id: I4191c3f8629106f52ce387d03f30f9f973ffbefe Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-08-15feat(jumpavg): speed up, use Python 3.8 featuresVratko Polak5-261/+213
+ The main speedup comes from abandoning copy.deepcopy(), doing shallow list copies (at most) and introcuding copy_fast(). + Turn into dataclasses whenever possible, use type hints. + Simplify the partition search code, + It is now clearer the time complexity is O(N*(N+n)), where N is number of samples, and n is the average size of the last group of the current record glist. + Used black for formatting, so no u"" anymore. + Update metadata for 0.3.0 release. Change-Id: I302203b4d42aeb22be1128e2fe72353a44eae5d0 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-07-27fix: start testpmd and l3fwd in 3 cyclesViliam Luc4-79/+183
Signed-off-by: Viliam Luc <vluc@cisco.com> Change-Id: I935ee5cf5bd7e760ef29fdc338f981e4e7cc333f
2022-06-28feat(telemetry): ReworkPeter Mikus5-8/+22
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I0a84ce88b318c488ba2d519b20237c88b9f9f1e6
2022-06-23chore(mtu): delete some unused keywords related to mtuVratko Polak1-25/+0
Change-Id: Id80b5611bb9a5d4398d4b2d00e92cda469949607 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-06-17fix: testpmd and l3fwd check stateViliam Luc3-2/+73
+ print testpmd and l3fwd pid after start Testpmd and l3fwd utility can be started but link might not be ready yet. This fix start the utility on all DUTs and do the check later. Signed-off-by: Viliam Luc <vluc@cisco.com> Change-Id: If476e22f206d9a6a0dd399879a88eafedca92bb6
2022-06-17Add ipsec policy test suites with flow director or rss acceleratedYulong Pei2-63/+127
The test scenario is about two private networks which communication was protected by ipsec. The test suites are to show performance impovement about ipsec esp flow lookup that offloaded by NIC flow director and rss. Verified on 3n-clx and Intel E810 NIC environment, with 64B ipsec packet flow, performance improved ~31% with 1C2T, ~110% with 2C4T, ~250% with 4C8T. Signed-off-by: xinfeng zhao <xinfengx.zhao@intel.com> Signed-off-by: Yulong Pei <yulong.pei@intel.com> Change-Id: I30aec8c5115e5a6fbef88c11d1bef2624029d1b9
2022-06-14fix(vlan): do not apply strip offloadVratko Polak1-14/+0
Some tests (bonding) are failing as VPP refuses startup.conf. That is because the config parameter support has been removed: https://gerrit.fd.io/r/c/vpp/+/34822 That is VPP commit 8c8531c15c9195c2c82695eff6e70887de67fd88. According to commit message, it was just a workaround for Cisco ENIC cards, which are no longer tested in CSIT. + Delete 1 robot and 1 python keyword as they become unused. Change-Id: If53e324a27cfbd4659e49ab8bcd03253642dde96 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-06-14fix(pylint): Some quick pylintsPeter Mikus1-3/+2
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Iba133914882485191ad962e36fae70b6fda0af98
2022-06-13feat(dpdk): Bump the version within VMPeter Mikus1-1/+1
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Ie358593f9977d04aca9e50a14e0d14158e1b0cf1
2022-06-10fix(core): T-Rex initializationPeter Mikus1-11/+30
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I53226ff6a345ac99c1e2e110712b2ff6197efe95
2022-06-09Add Test Suite for VPP WireGuardCui,Cheng1-0/+278
Signed-off-by: Cui,Cheng <cheng.cui@intel.com> Change-Id: I71e257e5f16a887a40ff83d782a9ebdee9d05c34 Signed-off-by: Cui,Cheng <cheng.cui@intel.com>
2022-05-31Framework: exclude env and .git when copyingJuraj Linkeš1-3/+4
The tarball is unnecessarily big, remove superflous directories. Change-Id: I55f6fae64973cfac34a1dc18cbdc688cd416e8b9 Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
2022-05-24fix(uti): Add TG type exportPeter Mikus5-14/+105
- This is actually bug not a feature. - AB to be added later - Tested on TREX and iPerf3 Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Ib6f2d13e3b9401a9fb5759e42a8a310ee11b9d41
2022-05-18Add gtpu flow offload test suiteYulong Pei2-1/+32
The implementation of GTPU offload rx is to use ip4_gtpu flow MARK action of NIC and vpp flow REDIRECT_TO_NODE and BUFFER_ADVANCE fuction to direct received gtpu flow to gtpu4-flow-input graph node, skipped ethernet-input, ip4-input, ip4-lookup, ip4-local, ip4-udp-lookup normal graph node processing. Verified on 3n-clx and Intel E810 NIC environment, single core with 64B packet, performance improve ~33% that compare with pure software way. Signed-off-by: xinfeng zhao <xinfengx.zhao@intel.com> Signed-off-by: Yulong Pei <yulong.pei@intel.com> Change-Id: I2af4589448bdb1729e4ce206a8cf3a1239c61af8 Signed-off-by: Yulong Pei <yulong.pei@intel.com>
2022-05-16feat(perf): T-Rex core usagePeter Mikus1-1/+1
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Id0e7d31dc1368140c2c829fb2fcab009fbbed26d
2022-05-16Core: T-rex 2.97pmikus1-8/+2
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: Id4d84aa7268080843b099fd7ab9851234612968b
2022-05-03feat(astf): Support framesizes for ASTFVratko Polak4-41/+78
- 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>
2022-04-26fix(tgtest): filter by TG NIC modelVratko Polak1-3/+9
The previous path computation code was only correct for tests with DUT (and TG). There, we only want to filter by DUT NICs, but not TG NICs (e.g. to allow testing E810 DUT with MLX TG). But for tests without DUT (still with TG), we do indeed want to filter by NICs on TG, so this patch does that. Change-Id: Ia482c6327af7bca26353ad6e503ae224d90cb3a4 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-04-07Revert "feat(core): Add dpdk log level"Peter Mikus2-4/+4
This reverts commit 22bfd741614145d86751df2d61ff77af9db63627. Reason for revert: OMFG this patch is causing 90% perf degradation on AWS Change-Id: Id081f61ae849678b6b877fbf03309c4b1b0c6df6 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2022-04-05VppConfigGenerator: disable vpp cli pagerDave Wallace1-1/+6
- Robot framework logs contain 'show pci' output from VPP that is truncated due to the VPP cli pager. Add UNIX cli-no-pager configuration to the default startup config to fix this issue. Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I80f2cd045063245098f22eb638a9796c5031fecf
2022-03-21feat(core): Add dpdk log levelPeter Mikus2-4/+4
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I8af9bae81ec83a3195ae83febd978882ebc2474d
2022-03-15Soak: Improve ordering and commentsVratko Polak1-10/+15
After the previous fix, the code was not straightforward enough. Change-Id: I4e2d872b3f86de2868d947ad038b5f0f2c7eebd7 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-02-22fix(uti): Fixing broken code part VIPeter Mikus1-5/+2
- Printing large sets makes no sense. Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Ia4bf411368ca2424ad313b8e7bb0fb76cb175988
2022-02-16chore(api): use the non-deprecated nat init callVratko Polak1-16/+5
Change-Id: Ic1949c46aa339e66a47a0ebbc428499c5cf9305e Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-02-15fix(nat): parse new show nat44 summary outputVratko Polak1-13/+54
+ Keep support for VPP 22.02 CLI output. + Keep tolerating "timed out" sessions for 2202 output. + Subtract timed-out sessions for post-2202 output. + Explain the logic differences in docstring. + Convert the return value to int. Change-Id: I8a119e1034848bfd0fb131cb633e2441b44634a2 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-02-08feat(autogen): generate gso suites for all nicsVratko Polak1-15/+16
Previously, only x710 was generated, but ICX has xxv710 instead. Nic drivers (tap or vhost) remain hardcoded. Change-Id: I0ed3abb60258d74622995a8910f67ae4500ace56 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-01-27fix(dpdk): JumboPeter Mikus2-5/+0
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I0e659937440e9ff7070f0d13b7a1db99f27cf2bb
2022-01-17fix(uti): Fixing broken code part VPeter Mikus2-5/+5
- UTI export breaks local execution - disabling useless tox rules Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I2f610b08f06f437e4482f291fa7b47cbb7b92984
2022-01-17fix(IPsec): fix policy testsJuraj Linkeš1-14/+35
Replace the hardcoded SPD inbound/outbound ranges with values derived from test inputs. Add the necessary routes now that the tunnel endpoints are not in the same subnet. Also add ip neighbor entry on DUT2 for the same reason. Also replace ipsec sa dump with show ipsec all in teardown of tests where both SAs and SPDs are configured to improve troubleshooting. Change-Id: I7d89a99fcf457a701c87bf6ac07364b62802677d Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
2022-01-14JumpAvg: Fix string formatVratko Polak1-2/+2
Change-Id: Id3975dfcca0040b799f31dcd14789d8c90993b14 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-01-10fix(core): Constants.pyPeter Mikus1-3/+3
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Ia5a097797b54c2e71acdcc8d72706e5540536252
2021-12-21feat(infra): DPDK 21.11pmikus1-1/+1
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: Ib52fab112d458decfecf39c77085bcd85f811eba
2021-12-15fix(dpdk): allowpmikus1-2/+2
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: Ic7f24767b60eef5ddb7cdf5f933d82930c625f5c
2021-12-15UTI: Export resultsVratko Polak12-30/+1253
+ Model version 1.0.0. - Only some result types are exported. + MRR, NDRPDR and SOAK. - Other result types to be added later. + In contrast, all test types are detected. + Convert custom classes to JSON-serializable equivalents. + Sort dict keys before converting to JSON. + Override the order for some known keys. + Export sets as sorted arrays. + Convert to info content from serialized raw content. + Also export outputs for suite setups and teardowns. + Info files for setup/teardown exist only temporarily. + The data is merged into suite.info.json file. + This simplifies presentation of total suite duration. + Define model via JSON schema: - Just test case, suite setup/teardown/suite to be added later. - Just info, raw to be added later. + Proper descriptions. + Json is generated from yaml. + This is a convenience for maintainers. + The officially used schema is the .json one. + TODOs written into a separate .txt file. + Validate exported instance against the schema. + Include format checking. + Update CSIT requirements for validation dependencies. + This needs python-dateutil==2.8.2, only a patch bump. + Compute bandwidth also for soak tests. + This unifies with NDRPDR to simplify schema definition. - PAL may need an update for parsing soak test message. + Include SSH log items, raw output only. + Generate all outputs in a single filesystem tree. + Move raw outputs into test_output_raw.tar.xz. + Rename existing tar with suites to generated_robot_files.tar.xz. Change-Id: I69ff7b330ed1a14dc435fd0ef008e753c0d7f78c Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2021-12-15Tox: Add checker for CSIT model versionVratko Polak2-0/+19
+ Implementation stub so checker can check already. + Also add documentation stub for the implemented model. + Checker checks also for bumps in documentation version. - Not comparing implementation and documentation version yet. Change-Id: I4d19c00315a1c171de325c4494c28f5210635f32 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2021-12-13doc: fixing documentation structureViliam Luc1-16/+17
When building documentation using sphinx we see ~1200 similar warnings [0] [0] - https://s3-logs.fd.io/vex-yul-rot-jenkins-1/csit-verify-tox-master-ubuntu2004-x86_64/3289/doc_verify.log.gz These warning are harmless and can be fixed later Signed-off-by: Viliam Luc <vluc@cisco.com> Change-Id: I1ac1099d38935971d47491dde905715345d3935c
2021-12-06PLRsearch: Update docscringsVratko Polak1-3/+11
Previous code changes updated code comments, but not docstring. Change-Id: I5be3fd07620cc97c9088efceb72c2f68ab103915 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2021-12-01feat(Performance): Add 2M/1G hugepagespmikus5-49/+40
+ Add ability to switch between hugepages. Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I84d8eae28ed414a32e5ba82e6c9ed10d7f0ef9cb
2021-11-25PAPI: Include more details in PAPI fail messageVratko Polak1-3/+4
This helps to distinguish different symptoms for PAL failure alerting. Change-Id: Idd8e8f4b427641fa055516bdf17715f6b967ca72 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2021-11-08vpp_device: bind to vfio-pci before running testsJuraj Linkeš1-3/+8
In rare cases, binding the whole /dev/vfio folder will result in unusable VFs: notice dpdk EAL: Cannot open /dev/vfio/151: Device or resource busy [0], section 4.3.1. provides some clues as to what's going on and how to avoid the failure. Mounting /dev/vfio reset the file descriptors of all devices under /dev/vfio. Vfio-pci creates a device when an interface is bound to it. The rare failure then occurs when /dev/vfio is mounted while a process is using the file descriptors result in that process using invalid file descriptors (or file descriptors belonging to a different VF). Fix the issue by binding i40e and ice VFs to vfio-pci before containers are created and make sure that the VFs are not unbound later in testing. Only bind DUT VFs since the TG uses the kernel driver. [0]: https://connect.redhat.com/sites/default/files/2021-03/Cloud Native Network Function Requirements.pdf Ticket: CSIT-1794 Change-Id: I83db91b29d16669fb034b141ad247f6f796fdf64 Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>