aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/InterfaceUtil.py
AgeCommit message (Collapse)AuthorFilesLines
2023-01-16feat(papi): add async mode, use it in scale callsVratko Polak1-2/+2
+ Introduce two explicit handling modes to save memory in scale test. + Connect in async mode for both handling modes (to avoid reconnects). + Support both pre- and post-37758 VPP PAPI async behavior. + Use control-ping in dumps to emulate sync mode. + Do not use it for single reply to avoid VPP-2033. + Fix call sites to get their replies with correct handling mode. + Drain enqueued replies to avoid subsequent errors. + Retry if read returns None too early. + Update docstrings. - Complexity issues reported by pylint postponed, needs larger refactor. - Explicit replace of VAT is done in subsequent changes. Ticket: CSIT-1547 CSIT-1671 Change-Id: I3c63fa5c578975cc4dd7fce0babe3ab04ec15ed3 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-08-18feat(papi): use newer API messagesVratko Polak1-1/+1
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-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-05-18Add gtpu flow offload test suiteYulong Pei1-1/+26
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>
2021-09-28fix(Core): Interface not recognizedpmikus1-0/+4
+ Make better error message. Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I2dbb9a50215bd6665c5c278653edd9324314e6b8
2021-09-14API: Use newer message versionsVratko Polak1-2/+3
Based on latest common ancestor of master and stable/2106: 1372178e0e674143bfec14b17050d5e92e4fcf1a Only ipsec_sad_entry_add_del_v3 needs non-trivial argument edits. Change-Id: I813367292a830e5a1fac765e9f24057b6b0192ee Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2021-08-02FIX: init_interface driver and sr-iovJuraj Linkeš1-2/+3
Add checks for not unbinding a driver that is not bound and not trying to remove VFs from interfaces not supporting SR-IOV. Change-Id: Iae7ce37aabeadbb541fe9eac8b83b4ee18d028e6 Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
2021-08-02FIX: init interfaces for rdma-core driverJuraj Linkeš1-0/+4
We're only initializing interfaces for avf and af_xdp VPP drivers. This causes issues for the rdma-core driver when the underlying mlnx kernel driver is not bound. Fix this so that all interfaces are properly bound to the kernel driver required by rdma-core. Change-Id: I204309a9bb61b56b96497a287178f0b1efe2f362 Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
2021-07-28CSIT-1782: 4c AVF tests are failingpmikus1-2/+13
+ Implement temporary ugly workaround as I cannot do driver upgrade now after discussions with PTL. Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I400e3b61bd831b9c9820b1fab8852118f2d48f0e
2021-07-21Perf: Enable af_xdp for Intel x500 seriespmikus1-2/+3
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: If45e592aeade12fe643791b431adc860a745be3d
2021-06-17Core: Rework CPU allocationpmikus1-24/+28
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I6826add7b3032041632c3952c45a3c64409400b0
2021-06-10Add gtpu sw performance test casesxinfeng zhao1-0/+43
Signed-off-by: xinfeng zhao <xinfengx.zhao@intel.com> Reviewed-by: Yulong Pei <yulong.pei@intel.com> Change-Id: Ibe4420529192559a3cdbb84e0a67859750a9e0d5
2021-06-04FIX: af_xdp L2 data pathspmikus1-1/+28
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: Ic5bc714b56c8bbd6884264a566eb8554a9735cba
2021-06-04Performance: Add AF_XDP testspmikus1-23/+155
- enabling for fortville, columbiaville - enabling experimental for mlx Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I1b7ceb54769f4a0089ac7309350499e60c5cca0a
2021-05-26rxq_ratio default value changed to 1viliam.luc1-0/+13
Change-Id: I0c973ceffc13f4f3c5f959d56cb0890b87091a82 Signed-off-by: Viliam Luc <viliam.luc@pantheon.tech>
2021-02-19Add test suites for crypto sw scheduler engineYulong Pei1-3/+32
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-19API: Use newer messagesVratko Polak1-4/+9
The mesages are the newest present in last common ancestor of master and rls2101 (so not yet ipsec_sad_entry_add_del_v3). Added a TODO for the RDMA create improvement, to be implemented in a separate change. Change-Id: I94bcd2f1bc109fb995c4dd6df44f8928865634f5 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2020-12-18API: deprecated bond APIsJan Gelety1-23/+28
Jira: CSIT-1597 Change-Id: I77b746584851331d46eca1caafd4468d18f1e78d Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-09-23Framework: AVFpmikus1-0/+22
Fix 1/3: Explicitly put PF interface up (this patch) Fix 2/3: Done on TB Fix 3/3: VPP bug displaying VF up if underlying PF is not up Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I45d66986ec76e6e14eebaad6828ef72724c626ab
2020-08-19Add Intel E810CQ 100G NIC configurationYulong Pei1-2/+2
for Intel E810CQ 100G NIC, kernel driver of PF is ice, kernel driver of VF is iavf, its VF hardware support VPP native avf driver. Signed-off-by: Yulong Pei <yulong.pei@intel.com> Change-Id: Ic8d86e5ee00057bbbcd09df619a38bd1371c8fd7
2020-04-27Performance: MLX best practicePeter Mikus1-2/+41
- Part II Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I869a3d7e051dcbae3a230d4646219e70e5de2e87
2020-04-23FIX: Mellanox jumbo framesPeter Mikus1-34/+9
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I84b3c07e22a313e96ac59fc7818960c502507651
2020-04-14FIX: RDMA typoPeter Mikus1-1/+1
Change-Id: Ie2f11cd5144daf249200fe07430b0809185bccce Signed-off-by: Peter Mikus <pmikus@cisco.com>
2020-04-08FIX: Add show log output when test failed.Peter Mikus1-0/+4
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I6bdce8156ba214be210c195a9f3effd718301a86
2020-03-16CSIT-1597 API cleanup: vxlanJan Gelety1-21/+13
- cover API changes in VPP: https://gerrit.fd.io/r/c/vpp/+/25569 - update vpp stable to version 20.05-rc0~345 - some pylint fixies in Policer.py Change-Id: Iba2c877d0e74526c69826c5ec4afd64ed2055d31 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-03-16Final changes for AWS.Maros Mullner1-9/+1
Modified cpuutils numa to work with aws 18xlarge instances. Added dmidecode package to calibration role as is not installed by default. Added required constants Signed-off-by: Maros Mullner <maros.mullner@pantheon.tech> Change-Id: I99608d9df3cff0b085ad26c30e339216b17581eb
2020-03-10Make RXQs/TXQs configurablePeter Mikus1-6/+16
Change-Id: Ib30bc4697fcba93a6723ee492a59a0523425f623 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2020-02-10FIX: set host physical interface mac address to rdma interfaceJan Gelety1-0/+24
Reason is that the traffic generator is initialized with MAC addresses of physical interfaces in the suite setup while rdma interfaces are created later. Change-Id: I2cf182cde20f14778624740a1f0467096c336306 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-02-04Add more reconf tests, for IPsecVratko Polak1-0/+2
- Not adding nf_density tests. - Not adding hardware ipsec tests. - Not adding -policy- tests. - Using old crypto_ia32_plugin.so plugin name. + Suitable for cherry-picking to rls2001. Change-Id: Ibf44d6d91e2afa2320637ecd9eb69d5d5dc364aa Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2020-01-31T-Rex: CPU pinningPeter Mikus1-82/+10
+ Detect NUMA + Pin based on numa location Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Ife350f8c70e5437ac7c1413c7753f2a2f62777d9
2020-01-23FIX: nfv_densityJan Gelety1-4/+6
- use correct osi_layer=L2 (so L2 spoofing check is switched off in case of avf driver) - add pci address information to eth interface in topology file - nfv_density chain_ipsec tests work only with DPDK in current implementation Change-Id: I233c6e5634a14581960c7459b87f11fcee8365bd Signed-off-by: Jan Gelety <jgelety@cisco.com>
2020-01-13CSIT-1597 API cleanup: rdmaJan Gelety1-4/+15
- cover API changes in VPP: https://gerrit.fd.io/r/c/vpp/+/24225 - update vpp stable to version 20.01-rc0~1011 Change-Id: Ibbfdbe867cf89715619efc5c5507859983025ece Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-12-13FIX: eth interfaces need numa_node information in topology fileJan Gelety1-14/+35
Change-Id: I9a3c6947da8ab5033e29b39833c97bcdafdc3ca9 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-11-28Python3: resources and librariesJan Gelety1-446/+427
Change-Id: I1392c06b1d64f62b141d24c0d42a8e36913b15e2 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-10-30Framework: Add show log as tear down actionPeter Mikus1-0/+3
+ We can see what is happening when debug level is increased + Big caveat of VPP is that it does not allow to configure default global level. Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I5ea1a618161cdb3170cab022d7451e52271f83c0
2019-10-25ADD: Mellanox RDMA interface supportPeter Mikus1-3/+54
+ Add functions for creating rdma interface + Fix traffic generator Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I81787b72ff5ee926ed652d350888c4f86da766f1
2019-10-04FIX: use int of sw_if_index in call of sw_interface_set_flags apiJan Gelety1-1/+1
- it will avoid situation that corresponding port is not up and its sw_if_index value in topology file is None that is interpreted as 0 in vpp api so it set flag for local0 interface Change-Id: I9145077d787ddde50a29bcd4091035e95077f946 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-09-11CSIT-1597: API cleanup: bondJan Gelety1-44/+36
Change-Id: I7c2a29cfe48eee521cce5fcc3506cef39d51d37b Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-08-20Interface API cleanupJan Gelety1-30/+110
CSIT code alignment with API changes in VPP introduced by patch https://gerrit.fd.io/r/c/vpp/+/18361 Change-Id: Ib0357bba79f55d297ef1086fbf3b760caca16cdb Signed-off-by: Jan Gelety <jgelety@cisco.com> Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-08-14FIX: Remove eth_avf and portX_vifY interfaces from topo in TC/TS tear downJan Gelety1-3/+3
Change-Id: I90901c4ab14dfa76dc3e1f786a4b986479e0ba47 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-08-14DO_NOT_MERGE CSIT-1194 - Framework easy pylint improvementsMiroslav Los1-1/+1
- force a python2 environment in tox for pylint - let pylint load some compiled modules for member checking - allow locally enabled pylint rules - ignore bad enum names - ignore complexity for code to be refactored by other tickets - broad excepts are acceptable sometimes Signed-off-by: Miroslav Los <miroslav.los@pantheon.tech> Change-Id: If4c3a1b85e8609f074e1de8ce91fc9c4fedbeb38
2019-08-07FIX: PylintPeter Mikus1-4/+2
- my bad Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I8c1f57f6b648b99338f3f6a6ff9ec943082e9bc4
2019-08-07CSIT-1473: Migrate Tap library from VAT to PAPIJan Gelety1-132/+79
Change-Id: Ibf4a4839c2e8b799b03eebd9dffae891d8f00dd4 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-08-06Add: Dot1Q + L2BD + GBPPeter Mikus1-2/+7
Change-Id: I0050f715011ecfa92b3ee88b301809a56abb7946 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-07-29Fix logic error in AVF compatibility checkVratko Polak1-3/+4
Change-Id: I7f1b47725648c8c26e21f42c305395ad620beea6 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-07-26Change: AVF can run also on i40evfPeter Mikus1-2/+2
Change-Id: I375b7c9f8fe81428cb16fea35128bddec089da1b Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-07-24NF_density dot1qip4udpvxlanPeter Mikus1-5/+32
+ NF_density compatible + Baseline VM tests compatible + Scalability NxM - 3n variant is missing in VXLAN and DOT1Q due to requests to have it asymmetrical - TODO Change-Id: Ia817d7be00622b594b451bc07756240d1a379e04 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-07-17Use PapiSocketProvider for most PAPI callsVratko Polak1-23/+23
Ticket: CSIT-1541 Ticket: VPP-1722 Ticket: CSIT-1546 + Increase timeout to hide x520 slownes of show hardware detail. - Install sshpass and update ssh client in virl bootstrap. + Added TODOs to remove when CSIT-1546 is fixed. + Enable default socksvr on any startup conf. + Improve OptionString init and repr. - The non-socket executor still kept for stats. + Remove everything unrelated to stats from non-socket executor. - Remove some debug-loooking calls to avoid failures. TODO: Introduce proper parsing to the affected keywords. + Reduce logging from PAPI code to level INFO. - Needs https://gerrit.fd.io/r/20660 to fully work. + Change default values for LocalExecution.run() + Return code check enabled by default. Code is more readable when rc!=0 is allowed explicitly, and the test code will now detect unexpected failures. + Logging disabled by default. Output XML is large already. Important logging can be enabled explicitly. + Restore alphabetical order in common.sh functions. Change-Id: I05882cb6b620ad14638f7404b5ad38c7a5de9e6c Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-07-12PapiExecutor always verifiesVratko Polak1-151/+102
Do not support returning unverified replies anymore. Basically, ".get_replies().verify_replies()" is now just ".get_replies()". This allows fairly large simplifications both at call sites and in PapiExecutor.py + Rename get_dumps to get_details. + Introduce get_reply and get_sw_if_index. + Rename variables holding get_*() value, + e.g. get_stats() value is stored to variable named "stats". + Rename "item" of subsequent loop to hint the type instead. + Rename "details" function argument to "verbose". + Process reply details in place, instead of building new list. - Except hybrid blocks which can return both list or single item. - Except human readable text building blocks. + Rename most similar names to sw_if_index. - Except "vpp_sw_index" and some function names. + Use single run_cli_cmd from PapiExecutor. + Do not chain methods over multiple lines. + Small space gain is not worth readability loss. + Include minor code and docstrings improvement. + Add some TODOs. Change-Id: Ib2110a3d2101a74d5837baab3a58dc46aafc6ce3 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-07-10Tolerate failures when setting MTUVratko Polak1-3/+8
Because some NICs are known to not allow jumbo frames. Change-Id: I45fe636e3a880c6640922468c170f50e85dd2ba2 Signed-off-by: Vratko Polak <vrpolak@cisco.com>