aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/bash/function/device.sh
AgeCommit message (Collapse)AuthorFilesLines
2024-07-30feat(infra): Ubuntu 24.04 LTSpmikus1-2/+2
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: I7d672d07e6ed6bf6582888e8826bbc1cb6d94d17
2024-05-17feat(device): Reconfigurepmikus1-4/+6
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: I5ca0fc5832c249553c79dd9c5d4148ba64e61654
2024-03-04feat(device): cx6 update of 1n-alt device jobspecJuraj Linkeš1-5/+14
Update the jobspec according to the current Arm policy: 1. Run most of the tests on cx6, crypto coverage being the most important, 2. Match the cx6 ipv4 crypto coverage with x710 with the DPDK driver, 3. Run basic ipv4 and l2 tests with x710 with borh DPDK and native (avf) drivers. The above is the policy used in performance testing where time is a major constraint. The same is true for functional testing to some extent, so it makes sense to apply the same logic for choosing the tests. There are 10 tests which are failing on cx6 without an identified reason. They are disabled until we find the root cause and address it. In the meantime, the tests are enabled for x710 with the DPDK driver: ethip4-l2xcbase-eth-2memif-1dcr ethip4-l2bdbasemaclrn-eth-2memif-1dcr ethip4-l2bdbasemaclrn-eth-2tap ethip4-l2bdbasemaclrn ethip4-l2bdbasemaclrn-iacl1sf ethip4-l2bdbasemaclrn-iacl1sl ethip4-l2bdbasemaclrn-oacl1sf ethip4-l2bdbasemaclrn-oacl1sl ethip4-l2patch ethip4-l2xcbase When the cx6 issue has been resolved, these should be enabled for cx6 and disabled for x710, with the exception of ethip4-l2bdbasemaclrn, which should be running on both. Change-Id: Id48f450063e405b1faca57431676f91d62e829b9 Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
2024-01-23docs(infra): 1n-altpmikus1-4/+4
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: I1770a3f49e19d337d4ed6760fb062ba4d445574d
2023-10-30code and doc updates for vagrant VM dev/test environ setupNaveen Joy1-2/+2
Change-Id: I0e4e4758b3abbfc2fe2e18200b85477293de218b Signed-off-by: Naveen Joy <najoy@cisco.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2023-09-12feat(core): 1n_spr swap interfacespmikus1-1/+1
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: Icf68d2f244432f49f6b8fb0876807d694a1e8e31
2023-09-12fix(core): 1n_sprpmikus1-3/+3
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: Ia8067fb1683295fb711bbba81a35b0e6d18b084f
2023-09-11fix(core): 1n_sprpmikus1-1/+1
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I38aeb3d75793addafb44f407fabf6bac6705b682
2023-09-08feat(infra): Add 1n_sprpmikus1-1/+9
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I20e720302561f5f7d1f7a80a83548077a88025af
2022-08-17bash: fix catch-all pattern in csit model matchingJing Peng1-2/+2
Change-Id: Ic3c78f8f447f59bcd10fd8b88f50f93f7279430b Signed-off-by: Jing Peng <jing@meter.com> Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2022-01-19fix(vpp_device): pci address existence conditionJuraj Linkeš1-3/+5
The function get_pci_addr could check a different PCI_ADDR in case the netdev device directory doesn't exit. Move the check so that it always uses the proper PCI_ADDR and add a failure case when the netdev device directory doesn't exist. Change-Id: Ibadfea3fba34509cd3ea8f906ac5962c0f01dd17 Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
2021-11-08vpp_device: bind to vfio-pci before running testsJuraj Linkeš1-15/+101
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>
2021-09-22fix Device: Cleanup previous interfacespmikus1-2/+2
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I62deca750d4494427d2ea1916e0678c06dad7533
2021-08-30Infra: vpp_device NICspmikus1-2/+4
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I06d4012552eee918ae29e0bd789d3d316840ad4a
2021-08-19vpp_device: Multiple NICs (suitegen)pmikus1-2/+2
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I81958fbf6ef240d53a0fb8708ca882baf02f606c
2021-08-19vpp_device: Multiple NICs (infra)pmikus1-48/+137
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: Ie8662b6a485374b5df68dec9c82065cf59f28c8f
2021-06-10Infra: vpp_device -> Ubuntu 20.04pmikus1-2/+4
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: If24c385b93e1ba310ea258984c97494b4cab467c
2021-03-26ansible: update TX2 VPP Device hugepages and ifsJuraj Linkeš1-8/+2
These interfaces are not used, so remove them until we actually use them. Use less amount of hugepages since we don't need as much and the rest of the memory is more useful for build/host processes. Change-Id: I52b2d6e2812e5cadeab9e51a1bae3688794f414a Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
2021-01-11Infra: Increase shm-sizepmikus1-2/+2
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: Ib9dfb8623757fd23fd8b49b5e04ed86e202ada66
2020-12-04vpp_device: fix vpp device kernel driver bindingJuraj Linkeš1-9/+5
Attempt to unbind a driver from a device only if it is bound to a driver. Remove the dynamic addition of an existing device ID to a driver. From the docs [0]: Writing a device ID to this file will attempt to dynamically add a new device ID to a PCI device driver. Since we assume the VFs are bound to the kernel driver when VPP Device topology creation is done, it implies that the kernel driver supports the device ID of those VFs, removing the need to add the support. [0]: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-bus-pci Change-Id: I20f3ca071a5a84a06ff358ba514532248a8f9ad0 Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
2020-11-26vpp_device: disable IPv6 in containersJuraj Linkeš1-0/+3
Even with IPv6 nd disabled in VMs, there are IPv6 packets coming from DuT: --dut_if2_mac ba:dc:0f:fe:02:05 ... dst = 33:33:00:00:00:01 src = ba:dc:0f:fe:02:05 Docker disables IPv6 by default on interfaces it manages, which doesn't include VF interfaces. Disabling IPv6 in containers using sysctl may fix this. Change-Id: Idba506653442a3da2cd82e69cedddb3294d92788 Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
2020-10-07vpp_device: updates for 1n-tx2 testbedsJuraj Linkeš1-11/+7
One ThunderX2 9975 server (.69) was replaced with two ThunderX2 9980 (.70, .71) servers. Move the .69 server under ansible perf section in anticipation of repurposing it for that purpose. Update the ansible scripts with .70 and .71 config and rename port names in device.sh lib to reflect the NIC differences between .69 and .70 (and .71). Change-Id: I88b75648735243e5559175d3192ffcc8fc70071c Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
2020-01-10Autogen: Generate also NIC drivers.Vratko Polak1-2/+2
+ Disallowed -avf- (or -rdma-) as "template" suites. + GBP suite switched to DPDK driver in repo. + Each NIC has its own list of supported drivers, in Constants. + Updated tag expressions for daily jobs: + Feature, ipsec, memif, scale, srv6, tunnels, vhost and vts are tested only with vfio-pci. + Other (base, dot1q, dot1ad) tested with all drivers. + Setup actions currently depend on driver, generated. - The performance_rdma action is trivial for now. - Several tests fail, to be fixed later, e.g. by performance_rdma. + Reconf tests are also supported. + Added DRV_VFIO_PCI tags missing, mainly in density tests. - Vhost suites (density, reconf) are failing, but suites look good. - TCP suites do not support NIC drivers yet. - DPDK obviously not supported. + Use Python 3 in regenerate scripts. + Fix typos binded => bound. + File open modes set either u"rt" or u"wt" everywhere. + Remove a trailing space in an environment variable name. Change-Id: I290470675dc5c9e88b2eaa5ab6285ecd9ed7827a Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-12-16Vagrant: Introduce CentOS8Peter Mikus1-2/+2
+ Full ansible compatibility - Docker currently not working in Centos8 as it was not yet released Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I837091621db6bbebc9fee729496384cabe2f5357
2019-08-06VPPD: Dot1QPeter Mikus1-2/+32
Change-Id: I0d3c925ea4a6896a0df98db6ddaf4238e6291bf1 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-07-17Refactor VPP Device VM vhost testsjuraj.linkes1-0/+4
* replace the current VM image with kernel img * rework keyword usage to make it consistent with performance tests * remove resources/libraries/robot/shared/qemu.robot as it's not used anywhere anymore Change-Id: Ia5bc19e9e6ed9af031e4d9b5c0c89431fb49fd33 Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
2019-07-11CSIT-1477: add 1n_tx2 VPP Devicejuraj.linkes1-39/+49
- add 1n_tx2 testbed - update VF reservation to meet 1n_tx2 testbed needs - update ansible with 1n_tx2 Change-Id: Ia075a913d4859f537fd0e6bff731ea88aff01dd9 Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
2019-07-10Bash functions style cleanupVratko Polak1-12/+46
+ Update rst documentation for bash style + Command substitution: + Clarify when to use backticks. + Recommend avoiding nested command substitution. + Do not recommend putting command substitution results into quotes. + Function definition content: + Move "set -exuo pipefail" after comment only blocks. + Other set flags allowed for functions with good reasons. + Apply the new recommendations. - Blank lines unified in code but no written recommendation in rst. + Add missing references to functions called, variables read or set. + Add TODOs to where lists would be long. + Minor improvements to function descriptions. + Make "if" expressions more python-like. + Add missing "|| die" (or "|| true") where spotted. + Downgrade DEFAULT_NIC to a local variable. + Add TODO to list reasons for blacklisted tags. Change-Id: I05dce030a8c2cb1b3a242d8b977e8fe150d8ee20 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-04-09Add vagrant setup for testing VPP device locallyLudovit Mikula1-2/+2
Fixed trailing whitespaces Fixed tabs vs. spaces Removed dead code Changed network interface naming Changed default number of retries for VPP startup to 120 Updated number of hugepages during provisioning Externalized CSIT related sysctl settings to 90-csit.conf Removed hardcoded local docker image name. Added new interface required for honeycomb device testing. Change-Id: I5eb38c8b1a4d96e4220dbd2e202e94f1d47e804e Signed-off-by: Ludovit Mikula <ludovit.mikula@pantheon.tech>
2019-02-04Improve 1n-skx vpp_device mapping functionPeter Mikus1-6/+20
Improve mapping function for 1n-skx vpp_device to pickup available DUT1 net_dev and replace the name with TG net_dev prefix. This way we can eliminate situation, when pair with not equal VLANs are picked. Change-Id: If78329e730bfb4df34fb8d8924c8715d69a15e0c Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-02-04CSIT-1416 Remove installation of vpp from containersPeter Mikus1-25/+4
Use parent system (Host, Container) installation of VPP. This will save the internet bandwith by skip installing of prerequisites packages. It will also skip dpkg install and simplify the process of initializing VPP inside container. Previosly initialization of VPP in container takes about 55s. With this patch it is reduced to 2-3s. This patch removes the bloated VOLUME creation between container sidecars (a.k.a nested container) and fixes the hugepage allocation. Change-Id: Ifa2be532edb77354657e1b84568bdc34993b00d0 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-01-30FIX: Cleanup mechanics for vpp_devicePeter Mikus1-3/+10
Change-Id: Ice975127f8ecdd4cead418151cf37d61dfb218a0 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-01-23VPP_Device - add baseline tests - part IIb)Jan Gelety1-3/+25
CSIT-1372 Add following baseline tests to VPP_Device: - ip4 eth2p-ethip4-ip4base-eth-2memif-1dcr-dev - ip6 eth2p-ethip6-ip6base-eth-2memif-1dcr-dev - l2bd eth2p-eth-l2bdbasemaclrn-eth-2memif-1dcr-dev - l2xc eth2p-eth-l2xcbase-eth-2memif-1dcr-dev Change-Id: Ic4a3a01b62d800c528a9c9371891dcc26b875220 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-01-10VPP_Device - add baseline tests - part IIa)Jan Gelety1-1/+3
CSIT-1372 Add following baseline tests to VPP_Device: - ip4 eth2p-ethip4-ip4base-eth-2vhost-1vm-dev - ip6 eth2p-ethip6-ip6base-eth-2vhost-1vm-dev - l2bd eth2p-eth-l2bdbasemaclrn-eth-2vhost-1vm-dev - l2xc eth2p-eth-l2xcbase-eth-2vhost-1vm-dev + fix doc strings in all vpp_device tests Change-Id: Icc5ed801f3e8f6dedaa611779bd86fc20102fa74 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2018-10-24CSIT-1260 Create initial version of bootstrap including VF reservationPeter Mikus1-0/+570
Change-Id: I153d378849ea76444915b7fc219237db1b7bca1a Signed-off-by: Peter Mikus <pmikus@cisco.com>