aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/bash/function/device.sh
AgeCommit message (Collapse)AuthorFilesLines
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>