aboutsummaryrefslogtreecommitdiffstats
path: root/tests/vpp/device
AgeCommit message (Collapse)AuthorFilesLines
2024-04-30feat(ipsec): Use strings instead of enums in RobotVratko Polak6-34/+18
Only related to enums appearing in ipsec suites. + Add conversion utility as enum_utils.py file. + Rename PolicyAction closer to ipsec_types.api: IpsecSpdAction. + Device and perf suites updated to use str in Variables table. - Perf suites are being tested. Change-Id: I3b1678c4d6cc303c590e5e3665ab1b05d104a121 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2023-07-14feat(crc): bump messages for cycle after 2306Vratko Polak6-12/+12
The supported VPP code is 380c62d7040bf285d449f1d05692141c40089470 which is the latest commit before stable/2306 diverged from master. + Separate messages into blocks with paths to .api sources. + Prepare memif for use_dma (currently always false). + Use srv6 test teardown action in srv6 device tests. - Do not use sr_policy_add_v2 from 37258 yet. - Leave a TODO to do it eventually, for now inputs are too different. - Do not use index based policer calls from 37873. - The policer_add_del is not deprecated yet and inputs are different. Change-Id: I350138f09542ec12ce4bec140203175940ccf9d4 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2023-05-10feat(infra): Remove system.d dependencypmikus1-2/+3
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: Icb7b6124dcba7bb57c18ceb91120284f6fe02c2e
2022-11-14CSIT-1879: Enable vxlan plugin in all vxlan test suitesSteven Luong2-2/+2
vxlan is going to a plugin. https://gerrit.fd.io/r/c/vpp/+/37511 Need to add vxlan_plugin.so to all vxlan test cases Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: Ie7f9c6c61eac4b85aeca769d467ddd0f7d5118f0 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-11-14CSIT-1880 - Enable vhost plugin in all vhost test suitesSteven Luong4-4/+4
vhost is going to a plugin. https://gerrit.fd.io/r/c/vpp/+/37488 Need to add vhost_plugin.so to all vhost test cases Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I5c79795c1ba5ffcdc9d10697faffbc0b49b22abb
2022-06-28feat(telemetry): ReworkPeter Mikus81-147/+147
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I0a84ce88b318c488ba2d519b20237c88b9f9f1e6
2021-12-15UTI: Export resultsVratko Polak1-2/+6
+ 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-13doc: fixing documentation structureViliam Luc64-741/+1005
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-10-08Add flow test suitesxinfeng zhao13-0/+1482
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-08-24Telemetry: vpp devicepmikus54-156/+157
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I80efb278cf824dd8b1d38bb3ff3df43366e7295a
2021-08-20FIX: job specspmikus4-4/+4
+ this is not checked by suite generator Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: Ib21cd50d6cc5e3d808fa34a3bb270277c7f36f88
2021-08-19vpp_device: Multiple NICs (suitegen)pmikus72-437/+436
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I81958fbf6ef240d53a0fb8708ca882baf02f606c
2021-08-19vpp_device: Multiple NICs (infra)pmikus56-112/+112
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: Ie8662b6a485374b5df68dec9c82065cf59f28c8f
2021-08-16Unmark 64B-avf-ethipv4-l2bdbasemaclrn-devVratko Polak1-1/+1
It is no longer expected to fail. Change-Id: I04e7f5ed3940ed93c253b5c31e2295a611858925 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2021-06-10Infra: vpp_device -> Ubuntu 20.04pmikus1-20/+19
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: If24c385b93e1ba310ea258984c97494b4cab467c
2021-05-28Framework: Telemetry retakepmikus1-16/+12
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I2f019a083916aec9f7816266f6ad5b92dcc31fa0
2021-05-26Perf: Add perfmon_plugin for telemetrypmikus57-105/+114
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I710af90aa5474381a82095c8a11ecf6c01c2483b
2021-03-31Device: Add stats test with AVFVratko Polak2-21/+88
+ Extract the stats keyword into a library. Change-Id: Icfaaa32c2a97d479ba0339acf34b865006949a89 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2021-02-22Ipsec: Always generate ikeyVratko Polak2-10/+10
Some tests use a crypto algorithm with no integrity algorithm. Generate empty binary strings as fake integrity keys to keep return values of low level methods consistent. + Add return_keys argument to avoid returning long lists. + Improve various docstrings. Change-Id: Idae1877bdde32d194ce4e3bb3053c8dba39d377a Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2021-01-21Tests: Temporarily disable IPv6 VM test that is randomly failingpmikus1-2/+2
- To be debugged Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I62ea2427d716f10dbf6af179edfaa41e73952db0
2021-01-20acl: add L2BD dev testsMartin Balaz5-0/+491
Signed-off-by: Martin Balaz <martin.balaz@pantheon.tech> Change-Id: I70127d8dd2241b70511f31842eb8a9e3cbafdc4b Signed-off-by: Jan Gelety <jgelety@cisco.com>
2021-01-04API: deprecated COP APIsTomas Alexy4-32/+32
Signed-off-by: Tomas Alexy <tomas.alexy@pantheon.tech> Change-Id: Ifb97088a26f3c2ab2ecee28ed43e6e957a844c64
2020-12-17PAPI: Cache connected client instancesVratko Polak3-3/+7
Disconnect+connect cycle is expensive and slow. This change tracks connected client instances so later "connect" to the same target uses it. Explicit disconnects are allowed (and executed before VPP ends), but once again disconnected instances are cached and reused, as creating a new instance is more expensive than just connect. + Add missing checks on interfaces being up to appropriate keyword. + Use appropriate keywords. + Add a comment explaining why a simpler keyword is not appropriate. + Improve VPP checks in containers. + Fix the vppctl check to actually work. + Add PAPI check to ensure VPP is really ready. + Delay/reorder checks to make them faster with multiple containers. + Leave some TODOs to improve various lifecycles later. + As we do not stop VPP in test/suite teardown: + One final disconnect is needed, added to __init__.robot teardowns. - Import of the final disconnect keyword is ugly, but it works. - We could use a hashable class for distinguishing node+socket pairs. - Are we connecting to VPP inside VMs? Change-Id: I49cd726740c3e8cae1591c7c84b85a447241228f Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2020-12-16API: deprecated IPSEC APIsJan Gelety6-6/+7
Jira: CSIT-1597 + add ipsec_sa tear down action Change-Id: I4d1e6f26c14e61e8ddc6f29fbf5528a034c84eb0 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-12-03vpp-device: GENEVE tunnel test, l3 modeJan Gelety1-0/+107
Jira: CSIT-1769 Change-Id: I98510cd8e627d7347f77d0032b7bac28f2e36c61 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-12-08Revert "vpp-device: GENEVE tunnel test, l3 mode"Peter Mikus1-107/+0
This reverts commit a9f54ca5080aeef17686f300a6807bf9b46b7c90. Reason for revert: DO NOT MERGE BROKEN TESTS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! https://logs.fd.io/production/vex-yul-rot-jenkins-1/csit-vpp-device-master-ubuntu1804-1n-skx/9918/archives/log.html.gz Change-Id: I2ce2970a43e5dd7487eeb54d1ccbb149e06cf8fa Signed-off-by: pmikus <pmikus@cisco.com>
2020-12-03vpp-device: GENEVE tunnel test, l3 modeJan Gelety1-0/+107
Jira: CSIT-1769 Change-Id: I0ab906966f760b809b8431530c010a8f0835d62c Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-10-29Support existing test types with ASTFVratko Polak2-8/+2
+ 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-23CSIT-1597 NAT44 API: dynamic configJan Gelety2-8/+2
- 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-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-19FIX: disable sending IPv6 RA messages from VMsJuraj Linkeš2-2/+2
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-19Tests: Remove GBPpmikus1-95/+0
- Specs - Tests - Library - TODO: PAL Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I8890940d56c7a9924d4a5f9365b6bb881610db14
2020-09-23Fix: use nat44 not snat44Jan Gelety4-8/+8
Change-Id: If141566f76d5b2f309953233e693c34fef8ee12f Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-09-22test: lisp moved to pluginJan Gelety5-5/+5
- lisp is moving to plugin: https://gerrit.fd.io/r/c/vpp/+/28972 Jira: CSIT-1597 Change-Id: I362f1931b5fc441da9c8a6dda933a66bfed8c4b8 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-09-07VPP-DEV API COV: Add NAT44-DET testsMartin Balaz2-0/+222
Jira: CSIT-1756 Signed-off-by: Martin Balaz <martin.balaz@pantheon.tech> Change-Id: Ia6fdc6df91f36ffcabd428326195bb9d8f967e52
2020-09-07VPP-DEV API COV: Add NAT44-ED testsJan Gelety2-0/+234
Jira: CSIT-1755 Change-Id: I34baa22a49f44da3fa80d91fa2f4132c982fe610 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-07-31Framework: Perf stat capturingPeter Mikus1-1/+1
Change-Id: I3bbe1fe0073ddeead5219993675f24955e8c3dfd Signed-off-by: Peter Mikus <pmikus@cisco.com>
2020-07-30Introduce per DUT configurable statspmikus1-2/+16
- test/suite/global - binary logic is not working Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: Ia3d81cbf2c5f04d1093a0a408c84a9ffc6f3eef0
2020-07-16Add ADL plugin to cop testsVratko Polak4-4/+4
The following VPP change renames and moves COP functionality into a brand new plugin: https://gerrit.fd.io/r/c/vpp/+/27916 In a subsequent change we should rename tests and start using the new API messages. This change is just a minimal edit to avoid test failures. Change-Id: I1c4b81060dd533ef447f3cc44443b71c5e524d59 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2020-06-09Remove leading tc[nn] from test namesJuraj Linkeš45-45/+45
The test names are unique without it and the information doesn't add anything extra. Change-Id: Idc7d6d1d21c8c05691e1757227a0a3787406d370 Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
2020-05-15Performance: Tests with virtio driver in VMPeter Mikus4-7/+7
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I20e01dfe83a961dc8202d33783a678d38e71cff2
2020-05-04VPP-DEV API Coverages: SRv6Jan Gelety6-0/+681
Jira: CSIT-1698 Change-Id: I6d9154284990df8877850e4014716510016e485b Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-04-28CSIT-1597 API cleanup: lispJan Gelety5-5/+5
- cover API changes in VPP: https://gerrit.fd.io/r/c/vpp/+/24663 - update vpp stable to version 20.05-rc0~637 - remove unused L1 and L2 lisp KWs Change-Id: I2672b6a375ad70c82f331dcc991c145e868108b9 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-04-17VPP-DEV API Coverages: IPSEC interfaceJan Gelety2-0/+202
+ some pylint fixies Change-Id: I650ce16282ae953a1a5ee96e810702c01f71efd6 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-04-06Improve pf layerPeter Mikus37-124/+206
+ Merge single/double link + Introduce _pf{n}[0] variables so we can access physical function same way as virtual function + Cleanup code by moving complex logic to python + Prepare code for multiple vf functions Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Ic2e74a38bfa146441357de8f0916aeb638941c49
2020-03-10Make RXQs/TXQs configurablePeter Mikus37-37/+148
Change-Id: Ib30bc4697fcba93a6723ee492a59a0523425f623 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2020-01-22FIX: policerJan Gelety1-2/+5
Change-Id: I23910b74c8720245b43067ac8c68880291b4b1c2 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-01-31T-Rex: CPU pinningPeter Mikus1-2/+1
+ Detect NUMA + Pin based on numa location Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Ife350f8c70e5437ac7c1413c7753f2a2f62777d9
2020-01-29IPSEC: Change plugin namingPeter Mikus4-4/+4
https://gerrit.fd.io/r/c/vpp/+/24574 Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Ic2b7c925ceba1e16de87c64003ecceeea69c681c
2020-01-10Support suite tags in autogenVratko Polak37-1/+38
+ Include a script to add suite tags to many suites at once. + Add suite tags also to device tests (not covered by autogen). Change-Id: I514ee6178e22999b43460028fe2696738b012f04 Signed-off-by: Vratko Polak <vrpolak@cisco.com>