aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/InterfaceUtil.py
AgeCommit message (Collapse)AuthorFilesLines
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>
2019-07-09CSIT-1539 Aligning FUNC/PERF keywords - Phase IIIPeter Mikus1-0/+2
Change-Id: Ibd3e99390bf004173d3d126946b95ffe9ba8f196 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-06-19FIX: VXLAN scale testsJan Gelety1-293/+7
Change-Id: I9287d5ed6d7876b98add3fb3d523e9764094843b Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-06-25Align suite/test teardown/setupPeter Mikus1-3/+0
+ Phase II - aligning FUNC/PERF setup. + 2n/3n compatibility of suite setup. + Same structure of testcase for DEV/PERF. + DEVICE tests are now running VPP startup config in same way as PERF. + DEVICE is using COREKEEPER! - DEVICE tests are running topology compute twice for backward compatibility. TODO to remove. - Still phase III needed to align TAGS, LIBRARIES and remove OLD setup phase. Change-Id: Ib6e1b0ebf4abebf3cbe73b4fda5cac953c2a7270 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-06-18CSIT-1459: Migrate IP libraries from VAT to PAPIJan Gelety1-144/+0
Change-Id: Id84cf9c3afd53260b5bbf658a6a3870aa0c91333 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-06-14Add hsw drivers to topology and check against AVFVratko Polak1-0/+5
Change-Id: Ifcc1dcdb3a0b4a7c62e4a41e5b3d016b276e93be Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-05-31CSIT-1468: InterfaceUtil migration from VAT to PAPIJan Gelety1-486/+855
Change-Id: I0062710d58996be767a852dc00545fedd60a5c72 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-05-15Update of VPP_STABLE_VER files + quick fix for gre create tunnelJan Gelety1-19/+33
- use new vpp ref build - ubuntu 16.04: 19.08-rc0~212-gf6c7aec~b7060 - use new vpp ref build - ubuntu 18.04: 19.08-rc0~212-gf6c7aec95 - use new vpp ref build - centos7: 19.08-rc0~212_gf6c7aec~b6916 Change-Id: Ifd042fae1a46b07a5f463309f2b9cceb8054412f Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-04-17Clean up traffic_profile vs osi_layerVratko Polak1-7/+4
The two types were not well distinguished before. Error introduced in: https://gerrit.fd.io/r/#/c/17811/84/resources/libraries/robot/performance/performance_setup.robot@255 Error hotfixed in: https://gerrit.fd.io/r/#/c/18847/4/resources/libraries/robot/shared/default.robot@109 + Rename some arguments and improve method docstrings. Newly introduced argument name osi_layer should be dissimilar enough. Change-Id: Ie0f6f97dc010fc6477f09c54574970f1d15462e2 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-04-11Add notes for traffic_type argumentVratko Polak1-0/+2
To make this gerrit comment permanently visible in code: https://gerrit.fd.io/r/#/c/17811/50/resources/libraries/python/InterfaceUtil.py@1335 Change-Id: I2b763d88fcc8186c9479a0f0c3336d8eeb8aed95 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-04-08Upgrade autogen to NICs and search typesVratko Polak1-4/+6
+ All perf suites updated, as autogen change is backward incompatible. + Only x710 -ndrpdr suites remain in git repository. + Removed retry feature of run_tests. + Renamed topology_type and traffic_type to traffic_profile. + Renamed framesize to frame_size; nic_model to nic_name. + Reordered Variables table to start with nic_name and overhead. + Fixed wrong overhead value in some cbc-sha1 suites. + Fixed some suite tags. ++ Introduced tags to distinguish suites, such as IPSECINT. + Bound crypto hardware to NIC name. + Implemented NIC limit hiding. + Also search and teardown related arguments are now hidden. + Main measurement keywords updated to new arg handling. + Max rate related keywords moved to performance_limits.robot + Teardowns unified. + Generated tests are archived. ++ Generated directory is .gitignore-d. + Regenerator raises an exception on seeing non-compatible suite. ++ Relatively helpful message should be seen in exception. + Suite and template Documentation has generated parts. +- With short NIC names only. + Autogen checker also upgraded. + Tag expressions replaced with long files to ensure analogous tests. Change-Id: I60e9a999187e7da1f60d0eb4fb02afa14682aa46 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-03-27CSIT-1460: Add VPP-stats to PAPI ProviderTibor Frank1-3/+4
Change-Id: I2665700a4948c481585d66c987f94af748f102c3 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2019-03-06CSIT-1450: PAPI executorVratko Polak1-48/+28
Change-Id: I4c756cc4b29901184594a728f6184c30cadd9c1a Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-02-08FIX: Memif APIPeter Mikus1-2/+8
Change-Id: If755c06935a525c7a312e63f32f6035f08fdb893 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-02-04CSIT-1411 Implement manual rx-placement override for bug in VPPPeter Mikus1-0/+109
Change-Id: Ie3d2b1f40a607ce5190ccfea6a372bc072d0a3b9 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-10-25CSIT-1339 Create initial l2xc testPeter Mikus1-6/+11
- L2XC ping ICMPv4/ICMPv6 test Change-Id: I1c1708e8c1050f140a02d56012f63b683fc3eec1 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-10-10Add VXLAN scale perf testsJan Gelety1-25/+258
Jira: CSIT-1273 Change-Id: Ic2a41661c158384a5aaa7d4e73f30ffca13ddf82 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2018-10-02CSIT-1325 - FIX: AVF tests failing on unbindPeter Mikus1-1/+1
Currently there is and issue when consecutive AVF suites are trying to initialize AVF and bind VF to vfio-pci driver, there seems to be race condition if VPP has already VFs allocated. This patch should introduce safer contstrain to disable VPP prior AVF init. Change-Id: Id8839200f19d9e7a18d161b660cfb1e43a8ca379 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-09-06fix CSIT broken issue when numa_node value is -1 on single Socket platformYulong Pei1-2/+5
Single Socket platform e.g. Intel Atom cpu based SOC platform with Ubuntu 16.04.4(kernel 4.13.0-36-generic) or Centos 7.5 (kernel 3.10.0-862.el7), value of /sys/bus/pci/devices/<pci_device_id>/numa_node is -1, this will break CSIT performance test running, but for this kind of SOC platform, it can consider that is not NUMA based platform, numa_node=-1 is reasonable, so fix it at CSIT side, when numa_node=1 and the system's NUMA node count is 1, set numa_node=0. DPDK also did it as this way. Change-Id: I9ac23d3cece2f1489e38f05b50a462bb2ad9f661 Signed-off-by: Yulong Pei <yulong.pei@intel.com>
2018-09-05CSIT-1205 Create AVF driver testPeter Mikus1-13/+165
- Add L1 KWs for SR-IOV handling (init Vfs, remove Vfs, ...) - Cleanup L1 KWs for SR-IOV bind/unbind/pci_get/... - Add L2 KWs for Test Setup/Teardown, L2patch, Create AVF interface - Add sample L2patch test fox x710, xxv710 Change-Id: If17077877455a14043617d8ea0d06cbe47b469e3 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-09-05Fix various pylint violationsVratko Polak1-5/+4
+ SchedUtils.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + VatHistory.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + VppCounters.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + Memif.py: ++ Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Either all return statements in a function should return an expression, or none of them should. ++ Update :return: on possible None. + Classify.py: Unnecessary "else" after "return" + ContainerUtils.py: Useless super delegation in method '__init__' + CpuUtils.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + DropRateSearch.py: Either all return statements in a function should return an expression, or none of them should. + IPv4NodeAddress.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Also improve docstrings. + IPv4Setup.py: Useless super delegation in method '__init__' + IPv6Setup.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Also improve docstrings. + IPv6Setup.py: standard import "from ipaddress import IPv6Network" should be placed before "from robot.api import logger" + MacSwap.py: Trailing newlines + NATUtil.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + NodePath.py: Unnecessary "else" after "return" + Tap.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + topology.py: Either all return statements in a function should return an expression, or none of them should. + topology.py: Unnecessary "else" after "return" ++ Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Improve docstrings + DUTSetup.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Also do not compare int(ret_code) just to access zero-ness. + ssh.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + InterfaceUtil.py: Unnecessary "else" after "return" Change-Id: Iba4244aa79661ee7df15fed5c7c6dbf04dfa88b2 Signed-off-by: Vratko Polak <vrpolak@cisco.com>