vpp.git
7 months agohs-test: exit immediately if docker build fails 01/41201/2
Adrian Villin [Wed, 17 Jul 2024 13:03:42 +0000 (15:03 +0200)]
hs-test: exit immediately if docker build fails

Type: test

Change-Id: I299d023ce59b931697352c54e4796ba0af2ab1af
Signed-off-by: Adrian Villin <avillin@cisco.com>
7 months agovppinfra: Add macro for targeted prefetching 82/41182/2
Niyaz Murshed [Mon, 24 Jun 2024 20:38:11 +0000 (20:38 +0000)]
vppinfra: Add macro for targeted prefetching

In Arm platform, targeted prefetching[1] is supported. Adding this in infra
to use it in future optimisation.

[1] https://developer.arm.com/documentation/101458/2404/Optimize/Prefetching-with---builtin-prefetch

Type: improvement
Change-Id: Id3e2a274628289707840a6b2ba4b83c5e4add60b
Signed-off-by: Niyaz Murshed <niyaz.murshed@arm.com>
7 months agosession: memory leak on rule tag 69/41269/2
Steven Luong [Tue, 16 Jul 2024 21:23:41 +0000 (14:23 -0700)]
session: memory leak on rule tag

Type: fix

Change-Id: If07a6a420d467e6305f166ed250f84befe9f983d
Signed-off-by: Steven Luong <sluong@cisco.com>
7 months agosession: memory leaks on rule tag hash tables 70/41270/1
Steven Luong [Tue, 16 Jul 2024 22:33:35 +0000 (15:33 -0700)]
session: memory leaks on rule tag hash tables

Type: fix

Change-Id: Id8542ad74389eca4cc7903cd455f556743a5e0cf
Signed-off-by: Steven Luong <sluong@cisco.com>
7 months agotls: track app owner of transport session 56/41256/2
Florin Coras [Thu, 11 Jul 2024 12:15:47 +0000 (05:15 -0700)]
tls: track app owner of transport session

Allow other apps to own transport sessions for tls.

Type: improvement

Change-Id: Ida04cef1dc49acb7117cbed8657e26890bf43d2a
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 months agosession: crash in session_rule_add_del if session is not enable 39/41239/2
Steven Luong [Fri, 28 Jun 2024 20:15:33 +0000 (13:15 -0700)]
session: crash in session_rule_add_del if session is not enable

Invoking the API session_rule_add_del to add a rule causes VPP to crash
if session is not enable.

Type: fix

Change-Id: If8de83f1064bc60d20461e87889b7c3393ad2af1
Signed-off-by: Steven Luong <sluong@cisco.com>
7 months agosession: application namespace may reference a deleted vrf table 48/41248/10
Steven Luong [Mon, 8 Jul 2024 18:21:23 +0000 (11:21 -0700)]
session: application namespace may reference a deleted vrf table

lock the vrf table when adding an application namespace and
unlock the vrf table when deleting an application namespace.

Free the session table when no more application namespace
uses it anymore to avoid memory leaks.

Type: fix

Change-Id: I10422c9a3b549bd4403962c925e29dd61a058eb0
Signed-off-by: Steven Luong <sluong@cisco.com>
7 months agotests: more options for decoding pcaps 20/40920/4
Klement Sekera [Thu, 23 May 2024 09:19:51 +0000 (11:19 +0200)]
tests: more options for decoding pcaps

Introduce "none", "all" and "failed" options for --decode-pcaps
parameter. Keep "failed" as default to be consistent with current
behaviour. Add missing documentation to test/Makefile and passthrough to
Makefile.

Rationale: running tshark binary takes about 100-150ms and if there are
thousands of pcap files, it takes minutes to decode them. This might not
be desirable if rerunning the tests repeatedly during development.

Type: improvement
Change-Id: Ie033521d51d18b9d499b9bc40fe6eff21c94622d
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
7 months agoocteon: fix link down issue 92/41192/3
Alok Mishra [Mon, 24 Jun 2024 10:56:16 +0000 (15:56 +0500)]
octeon: fix link down issue

An issue is noticed when the link state of the ethernet interface is
toggled to down and again brought up. The link status shows "up" in the
"show interface", but shows "down" in "show hardware-interface".
This issue does not occur when the link is brought up for the first
time, but only manifests when the interface is brought down and up again.

This happens because the device status and VNET_HW_INTERFACE_FLAG_LINK_UP
aren't correctly updated during the port stop, preventing them from
being updated during the port start.

This patch fixes this issue in the port stop function.

Type: fix
Fixes: 01fe7ab88e

Signed-off-by: Alok Mishra <almishra@marvell.com>
Change-Id: Idbc5a6c31409a3d1c5b19e14a3c9509291175677

8 months agotests: skip more excluded plugin tests 03/40503/4
Dmitry Valter [Mon, 11 Mar 2024 10:38:46 +0000 (10:38 +0000)]
tests: skip more excluded plugin tests

Check and skip VPP_EXCLUDED_PLUGINS tests for most of plugins.

Type: improvement
Signed-off-by: Dmitry Valter <d-valter@yandex-team.com>
Change-Id: I23fd3666729251c639aa8da72a676058e3f5bb4e

8 months agobuild: overwrite clang-format version on Ubuntu 24.04 58/41258/1
Jay Wang [Fri, 12 Jul 2024 12:53:56 +0000 (12:53 +0000)]
build: overwrite clang-format version on Ubuntu 24.04

clang-format-11 is used by default in checkstyle.sh while it can be
overridden to higher clang-format version. On Ubuntu 24.04, the minimum
version of clang-format is version 14. Set the environment variable
explicitly in Makefile to overwrite the clang-format version.

Before:
$ make checkstyle
extras/scripts/checkstyle.sh: line 41: --version: command not found
make: *** [Makefile:775: checkstyle] Error 127

After:
$ make checkstyle
Ubuntu clang-format version 14.0.6
*******************************************************************
* CHECKSTYLE SUCCESSFULLY COMPLETED
*******************************************************************

Type: fix

Change-Id: Iba3e4739c9376701577b2f37e070d199b195e7d0
Signed-off-by: Jay Wang <jay.wang2@arm.com>
8 months agobuild: Fix crossbuilding definitions 66/41166/5
Renato Botelho do Couto [Thu, 20 Jun 2024 16:01:40 +0000 (11:01 -0500)]
build: Fix crossbuilding definitions

CMAKE_C_COMPILER_TARGET doesn't need to be set when it's not cross
compiling, and based on wrong identation of that line I suspect it was
intended to be inside CMAKE_CROSSCOMPILING conditional.

With this line moved inside, it ends up being the only place where
COMPILER_SUFFIX is used, so, move its declaration there as well.

It will not bring any change to currently supported systems but will
make it easier to build VPP on systems running musl libc.

Type: fix

Change-Id: Ia8e16d9e8ad9c987ddf246dd0e3f8636ccad1362
Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
8 months agobuild: ubuntu-24.04 install-deps package list 55/41255/3
Dave Wallace [Thu, 11 Jul 2024 02:04:42 +0000 (22:04 -0400)]
build: ubuntu-24.04 install-deps package list

- support for ubuntu-24.04 CI jobs

Type: make

Change-Id: I225d72e22207283de9979cce75d8d208ab99feb5
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
8 months agofib: fix covered_inherit_add 68/40368/11
Maxime Peim [Tue, 20 Feb 2024 11:27:38 +0000 (12:27 +0100)]
fib: fix covered_inherit_add

When a FIB entry has multiple sources installed by covering inheritance,
the first walk installs the covering source, which can be worse than the
already used one (hence the source is not activated). If a covering path
is added and a new fib cover walk is done, the deactivated source is
compared to itself. This operation calls for a reactivation of the source which was not activated in the first place.

Type: fix
Change-Id: I2639401bed14eb5a2cb003664c04d6c1f9130de9
Signed-off-by: Maxime Peim <mpeim@cisco.com>
8 months agoip6: fix icmp error on check fail 52/40452/8
Maxime Peim [Thu, 4 Apr 2024 09:09:26 +0000 (11:09 +0200)]
ip6: fix icmp error on check fail

Avoid to do fixup either if TTL or MTU check fails. It rewrites the
icmp header copied in case the ip6-icmp-error ran before.

Type: fix
Change-Id: If043d1cae35c41ebf70ba979883119604bee883d
Signed-off-by: Maxime Peim <mpeim@cisco.com>
8 months agofib: improve ipv6 fib scaling 45/40745/5
Benoît Ganne [Fri, 5 Apr 2024 07:45:29 +0000 (09:45 +0200)]
fib: improve ipv6 fib scaling

VPP IPv6 FIB relies on 2 bihash for all its VRFs: 1 for control plane
and one for data plane. Because of that, control plane VRF walks
time grows with the number of VRFs as it has to go through all the VRFs.
In order to improve control plane performance with large number of VRFs,
the control plane data structure is changed from a global bihash to a
per-VRF hashtable, similarly to IPv4. Contrary to IPv4, there is only 1
hashtable per VRF and not 1 hashtable per prefix-length per VRF, which
is a compromise between memory consumption and single VRF scaling.

Type: improvement

Change-Id: Ib738a44adb88e46c95c4c62c853ee1f1392c7187
Signed-off-by: Benoît Ganne <bganne@cisco.com>
8 months agofib: make mfib optional 46/40746/9
Benoît Ganne [Tue, 16 Apr 2024 07:36:05 +0000 (09:36 +0200)]
fib: make mfib optional

In some cases we do not need multicast support. Making it optional helps
scaling to high number of VRFs, by reducing the control plane operations
and memory consumption.

Type: improvement

Change-Id: Ib34ed3fe2806e2f4624981da4e4a3c49c69f70be
Signed-off-by: Benoît Ganne <bganne@cisco.com>
8 months agofib: log an error when destroying non-empty tables 25/39525/6
Benoît Ganne [Wed, 13 Sep 2023 15:21:04 +0000 (17:21 +0200)]
fib: log an error when destroying non-empty tables

Destroying a non-empty fib table can lead to difficult to diagnose bugs,
like dandling fib entries preventing entries to be inserting to the
mtrie.
Always log an error to help diagnose those issues.

Type: improvement

Change-Id: I2c771a80595035b440931b74cca4429af22161a2
Signed-off-by: Benoît Ganne <bganne@cisco.com>
8 months agohs-test: quick fix for CpuPinningSuite 99/41199/2
Adrian Villin [Wed, 10 Jul 2024 19:57:44 +0000 (21:57 +0200)]
hs-test: quick fix for CpuPinningSuite

Type: test

Change-Id: Iaed08fe23a63562c99012bd469ca3f3271be2564
Signed-off-by: Adrian Villin <avillin@cisco.com>
8 months agosession: deleting an application namespace cleaning up the wrong application 54/41254/2
Steven Luong [Wed, 10 Jul 2024 17:31:56 +0000 (10:31 -0700)]
session: deleting an application namespace cleaning up the wrong application

We call application_namespace_cleanup to remove the application which
has a reference to the application namespace when deleting an application
namespace. When we find the matching application namespace, we queue
the ns_index instead of app_index to look for the application.
This may lead to a crash.

Type: fix

Change-Id: I89c7f8d1681b4c7c1bcb16641217230a26dbe582
Signed-off-by: Steven Luong <sluong@cisco.com>
8 months agohs-test: Add CPU pinning test suite 76/41176/13
Hadi Rayan Al-Sandid [Mon, 24 Jun 2024 08:28:58 +0000 (10:28 +0200)]
hs-test: Add CPU pinning test suite

Type: test

Added suite to verify that VPP launches with provided
CPU pinning configurations. CPU configuration is
specified per-test.

Change-Id: Ic283339676d3b24636fc21156a09a192c1a8d8da
Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>
8 months agovppinfra: fix huge page alloc error on 5.19+ kernel 94/40994/3
Jay Wang [Fri, 19 Apr 2024 12:16:41 +0000 (12:16 +0000)]
vppinfra: fix huge page alloc error on 5.19+ kernel

Running VPP on a NUMA system with 5.19+ kernel outputs the following
error messages. 'show physmem' command confirms that VPP falls back to
using normal 4K pages instead of the preallocated 1G huge pages. The
root cause is that VPP uses move_pages()[1] to get the huge page node
information. However, this misbehaves on the 5.19+ kernel due to changes
introduced in its implementation[2].
Our proposed fix is retry obtaining NUMA node info with
get_mempolicy()[3] only if we see -ENOENT returned in status from
move_pages() and huge pages are used. Additionally, we use mincore()[4]
to check if pages are allocated and in memory to avoid the possibility
of get_mempolicy() falsely allocating a new page.

buffer  [warn  ]: numa[1] falling back to non-hugepage backed buffer pool ()

vpp# show physmem
 used-pages 2 reserved-pages 16 default-page-size 1G lookup-page-size 4K
   arena 'buffers-numa-0' pages 1 subpage-size 1G numa-node 0 shared fd 5
   arena 'buffers-numa-1' pages 1 subpage-size 4K numa-node 1 shared fd 6

[1] https://man7.org/linux/man-pages/man2/move_pages.2.html
[2] https://lore.kernel.org/linux-mm/91da2c3b-96f1-bb03-8fff-4c38f31cb9be@huawei.com/
[3] https://man7.org/linux/man-pages/man2/get_mempolicy.2.html
[4] https://man7.org/linux/man-pages/man2/mincore.2.html

Type: fix
Signed-off-by: Jay Wang <jay.wang2@arm.com>
Change-Id: Ia423745423bb080404292333ef95455a4950ce0a

8 months agotls: refactor vft functionsn to allow for reuse 27/41027/7
Florin Coras [Fri, 31 May 2024 19:04:41 +0000 (12:04 -0700)]
tls: refactor vft functionsn to allow for reuse

Type: refactor

Change-Id: I3d7ff64e2e54b113f8d4b26f2dbf5b9c67b80976
Signed-off-by: Florin Coras <fcoras@cisco.com>
8 months agosession: add api to program rx io evts 49/41249/2
Florin Coras [Mon, 8 Jul 2024 22:15:07 +0000 (15:15 -0700)]
session: add api to program rx io evts

Type: improvement

Change-Id: I5a4a33604ecb8a29ef6932cc5826835d3bec7f23
Signed-off-by: Florin Coras <fcoras@cisco.com>
8 months agohs-test: add missing packages to install-deps 88/41188/2
Dave Wallace [Wed, 26 Jun 2024 00:17:47 +0000 (20:17 -0400)]
hs-test: add missing packages to install-deps

Type: test

Change-Id: I2730debc7ea9256bf27208a2662f920edcd6826c
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
8 months agohs-test: CPU allocation improvements 70/40970/13
Adrian Villin [Mon, 17 Jun 2024 06:51:27 +0000 (08:51 +0200)]
hs-test: CPU allocation improvements

- Release build runs on numa node0, debug on node1.
  Using the last digit of a build number to reserve 4 cores per test
  mmeans we can run 20 jobs (10 release, 10 debug) on the same machine,
  assuming we have 111 cores available (not counting core 0).
  Can be increased if needed, there are still some cores left.
- Added separate numa aware cpu allocation
- Added CPU0=true|false (useful for users with 4c/8t)

Type: test

Change-Id: Iba8e492a4e01a7f457e49112303887a2a27f6af9
Signed-off-by: Adrian Villin <avillin@cisco.com>
8 months agosession: improve enable and disable handling 44/41244/3
Florin Coras [Tue, 2 Jul 2024 11:34:54 +0000 (04:34 -0700)]
session: improve enable and disable handling

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3c79d16f6a19767d990e8a4683c296219b559ccd

8 months agosession: handle multiple attempts to mark mq congested 43/41243/4
Florin Coras [Tue, 2 Jul 2024 08:38:47 +0000 (01:38 -0700)]
session: handle multiple attempts to mark mq congested

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iadc6ec58f5fc7fbff62e4fd31d509557b60395cb

8 months agoacl: cli addition to set macip rules 11/41111/7
Sanjyot Vaidya [Tue, 11 Jun 2024 19:05:22 +0000 (19:05 +0000)]
acl: cli addition to set macip rules

This change is used to add cli command for macip acl rules.
Cli commands added for addition and deletion of rule.

Type: improvement

Change-Id: I28adba0193a904f6c130c81cd19bb6de47f517a9
Signed-off-by: Sanjyot Vaidya <Sanjyot.Vaidya@arm.com>
8 months agotests: disable failing tests on Ubuntu 22.04 97/41197/3
Andrew Yourtchenko [Tue, 2 Jul 2024 16:02:09 +0000 (18:02 +0200)]
tests: disable failing tests on Ubuntu 22.04

Also rework the logic so the skipping of marked Ubuntu 22.04 occurs at framework level

Leave debian11 special cases as-is.

Type: fix
Change-Id: I481eb32cd1a0860935482e9f930ced409da653c9
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
8 months agosession: session disable crash if not enable 38/41238/3
Steven Luong [Fri, 28 Jun 2024 19:27:50 +0000 (12:27 -0700)]
session: session disable crash if not enable

If session is not enable, type in the CLI session disable cause VPP to crash.

Type: fix

Change-Id: Ib55b7430b7ce521a40025d58fa18b765f5129fd5
Signed-off-by: Steven Luong <sluong@cisco.com>
8 months agounittest: coverity woe 41/41241/1
Steven Luong [Sat, 29 Jun 2024 23:26:54 +0000 (16:26 -0700)]
unittest: coverity woe

check return value after strstr()

Type: fix

Change-Id: Ib6eb82b6a52c7e08785f6deb73e6cc7a10e7f61b
Signed-off-by: Steven Luong <sluong@cisco.com>
8 months agosession: memory leaks on various transports when session disable and enable 40/41240/1
Steven Luong [Fri, 28 Jun 2024 22:12:11 +0000 (15:12 -0700)]
session: memory leaks on various transports when session disable and enable

When toggling session disable and enable, memory leaks found on various
transports.

Don't create the timer wheels on enable when they are already creaded.
Don't create the spin locks when they are already created.
Add session enable disable test in session unit test.

Type: fix

Change-Id: I08988a96bbf2d67a67c743b50b63f5b1e27402a3
Signed-off-by: Steven Luong <sluong@cisco.com>
8 months agohs-test: cat summary file after a failed test run 75/40975/2
Adrian Villin [Wed, 26 Jun 2024 08:08:47 +0000 (10:08 +0200)]
hs-test: cat summary file after a failed test run

- as per Florin's request

Type: test

Change-Id: Id76fda0e2dfac7e58b703a8d6f096aa7b5be31c7
Signed-off-by: Adrian Villin <avillin@cisco.com>
8 months agomisc: VPP 24.06 Release Notes 16/41216/3
Andrew Yourtchenko [Mon, 24 Jun 2024 14:41:46 +0000 (16:41 +0200)]
misc: VPP 24.06 Release Notes

Type: docs
Change-Id: Id47dbab5e5661c76e6ff41237bbca5b5b15506c4
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 6e8b350a0154caee6e9f037ae4938b83fb5dcf20)

8 months agovppinfra: Improve code portability 71/41171/3
Renato Botelho do Couto [Fri, 21 Jun 2024 14:00:10 +0000 (14:00 +0000)]
vppinfra: Improve code portability

Use standard macros CPU_ISSET_S and CPU_ZERO_S and make code more
portable.

Type: improvement

Change-Id: I8e6a0fd79b90de8c6c33cad8882680eae2ca50ef
Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
8 months agolinux-cp: populate mapping vif-sw_if_index only for default-ns 79/40379/3
Denys Haryachyy [Fri, 17 Nov 2023 09:58:41 +0000 (11:58 +0200)]
linux-cp: populate mapping vif-sw_if_index only for default-ns

When custom netns is used we don't need to populate the mapping
ifindex->sw_if_index otherwise netlink events in default-ns can apply settings
to wrong interfaces. Most of the lcp functions however wasn't working for such
interfaces and neither it was fixed by this patch.

Type: fix
Change-Id: I74a8a4e332753f9a40fc291d489dfd7fc51cbef3
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
8 months agodev: move bus code to bus/ 85/41185/2
Damjan Marion [Tue, 25 Jun 2024 12:52:55 +0000 (12:52 +0000)]
dev: move bus code to bus/

Type: refactor
Change-Id: If3a195f1ea600bfd621717f333af1b1273ab0807
Signed-off-by: Damjan Marion <damarion@cisco.com>
8 months agosession: memory leak in mma rule table 80/41180/3
Steven Luong [Mon, 24 Jun 2024 15:18:38 +0000 (08:18 -0700)]
session: memory leak in mma rule table

When the rule table is allocated, the root node is allocated. But it
cannot be deleted by the add_del API, or the table is useless.

When the table is free, the root node is not free and there is memory
leak. Let's add pool_flush when the rule table is free.

Type: fix

Change-Id: I58c3e040cd101c7db501d99a373ad78d85321b8f
Signed-off-by: Steven Luong <sluong@cisco.com>
8 months agoipsec: enable ipv6 udp checksum offload 52/41152/2
Jeff Shaw [Mon, 17 Jun 2024 23:01:20 +0000 (16:01 -0700)]
ipsec: enable ipv6 udp checksum offload

RFC6935 section 5 states that, by default, the UDP checksum must be
computed when originating an IPv6 UDP packet. The default behavior
may be overridden when conditions defined by RFC6936 are satisfied.
However this implementation does not satisfy all the conditions so
the checksum must be computed.

After ESP encryption the packet is an IPv6 UDP packet so set the
l3_hdr_offset and l4_hdr_offset values, and set the UDP_CKSUM
offload flag in the buffer.

Type: improvement

Co-authored-by: Cian Ferriter <cian.ferriter@intel.com>
Change-Id: I9f8c434c9fe9dbddd8890d5ae366984bfcf34067
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
8 months agohs-test: return error if connecting to vpp fails 78/41178/2
Hadi Rayan Al-Sandid [Mon, 24 Jun 2024 08:48:54 +0000 (10:48 +0200)]
hs-test: return error if connecting to vpp fails

Type: fix

Fix case where no error code would be returned if vpp was launched,
but then exited due to invalid configuration.

Change-Id: I54d526629a2ee0206227615ffb6cb658779f93a0
Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>
8 months agocrypto: Add prefetching for src and dst 32/41032/4
Niyaz Murshed [Tue, 4 Jun 2024 02:35:46 +0000 (02:35 +0000)]
crypto: Add prefetching for src and dst

Adding prefetching to openssl plugin improves both sync and async mode
ipsec performance by more than 5% on N1 ampere.

Sync mode (1420b)
core count            old (MPPS)              new (MPPS)  %diff
    1c                  0.972                   1.01            3.90
    2c                  1.91                    2.02            5.87
    3c                  2.86                    3.04            6.03

Async mode (1420b)
core count            old (MPPS)              new (MPPS)        %diff
    1c 1.296                   1.37 5.70
    2c 2.58 2.753 6.70
    3c 3.74 3.9 4.27
    6c 7.52 7.832 4.14

Type: improvement
Change-Id: Ieef22c37e1330ac9f8b7e09a25c24162516b6c26
Signed-off-by: Niyaz Murshed <niyaz.murshed@arm.com>
8 months agohs-test: move nginx tests into one file 81/41181/1
Matus Fabian [Mon, 24 Jun 2024 17:05:38 +0000 (19:05 +0200)]
hs-test: move nginx tests into one file

Type: test

Change-Id: Ie525636c6299a8306cba45e72f8ee6c9da6d6e4f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
8 months agohs-test: added interrupt mode tests 73/40973/2
Adrian Villin [Mon, 24 Jun 2024 12:14:05 +0000 (08:14 -0400)]
hs-test: added interrupt mode tests

Type: test

Change-Id: I327fa1a4ea23a3af3aa33e5260367426a11e7b4f
Signed-off-by: Adrian Villin <avillin@cisco.com>
8 months agobuild: conditional dependency handling of depfile 73/41173/4
Ole Troan [Fri, 21 Jun 2024 15:17:09 +0000 (17:17 +0200)]
build: conditional dependency handling of depfile

Older distributions like Ubuntu 20.04 uses an old version
of cmake that does not handle absolute paths.
Leave .api dependency handling like before, i.e.
not handle interdependency between .api files for those older
builds.

Type: fix
Change-Id: I3f15a4506f6c95fca7a5b00893dc354cbed42a29
Signed-off-by: Ole Troan <otroan@employees.org>
8 months agoip: mark IP_ADDRESS_DUMP as mp-safe 15/40415/4
Vladislav Grishenko [Wed, 28 Jul 2021 18:33:00 +0000 (23:33 +0500)]
ip: mark IP_ADDRESS_DUMP as mp-safe

Since main thread is the only one thread that can modify address
hash, avoid barriers while IP_ADDRESS_DUMP api calls.

Type: improvement
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: I9c35400bdef9fb08e81d859c8f2e3bdaa5468f4b

8 months agohs-test: cache docker build in local filesystem 55/41155/12
Dave Wallace [Tue, 18 Jun 2024 21:10:07 +0000 (17:10 -0400)]
hs-test: cache docker build in local filesystem

- when running in the CI, cache the docker build layers
  in the local filesystem to allow docker executor images
  to contain cached docker build layers

Type: test
Change-Id: Ie728a8370d3fb8144d01dff566aaa846ca6fd81b
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
8 months agohttp_static: fix reply data leak 69/41169/1
Florin Coras [Thu, 20 Jun 2024 21:58:54 +0000 (14:58 -0700)]
http_static: fix reply data leak

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ica78044b044a78714dd9947620250f13c63320fb

8 months agoip6: fix ip6-michain trace function 27/40927/2
Maxime Peim [Fri, 24 May 2024 15:01:36 +0000 (17:01 +0200)]
ip6: fix ip6-michain trace function

Type: fix
Change-Id: I3a5c04b14bf1156376e2acece69f8256d00f261a
Signed-off-by: Maxime Peim <mpeim@cisco.com>
8 months agodpdk: xstats vecor stuck at 0 elements 63/41163/2
Ole Troan [Wed, 19 Jun 2024 19:07:37 +0000 (21:07 +0200)]
dpdk: xstats vecor stuck at 0 elements

Fixes: dd6fb60f1794fc08ec40598a67dc70f942c200d1
Type: fix
Change-Id: I2429715a954361ceea969191493c15bef21e2040
Signed-off-by: Ole Troan <otroan@employees.org>
8 months agohs-test: fix LDPreloadIperfVppTest 72/40972/4
Adrian Villin [Wed, 19 Jun 2024 10:20:00 +0000 (06:20 -0400)]
hs-test: fix LDPreloadIperfVppTest

- fixed ldpreload path (debug build)

Type: test

Change-Id: Ib2ab58b32ffd87a78189464b599f7bbc4f05c175
Signed-off-by: Adrian Villin <avillin@cisco.com>
8 months agohttp: fix app name formatting in template 58/41158/2
Matus Fabian [Wed, 19 Jun 2024 08:38:03 +0000 (10:38 +0200)]
http: fix app name formatting in template

app name is vector without null termination

Type: fix

Change-Id: Iaa50770c84f23a71165d76a63c29b76e90006ac6
Signed-off-by: Matus Fabian <matfabia@cisco.com>
8 months agobuild: vppapigen dependency handling 59/41159/2
Ole Troan [Wed, 19 Jun 2024 09:31:30 +0000 (11:31 +0200)]
build: vppapigen dependency handling

Add dependency generation to the vppapigen compiler, so that
when an API file depends on another, that's registered as a dependency
with the build system.

Add a build dependency on vppapigen submodules so that all api files
are regenerated if the compiler itself changes.

Type: improvement
Change-Id: I392853754129778ef15532d1b04813786b943b44
Signed-off-by: Ole Troan <otroan@employees.org>
8 months agofib: fix ip drop path crashes 23/40123/2
Dmitry Valter [Wed, 20 Dec 2023 10:47:35 +0000 (10:47 +0000)]
fib: fix ip drop path crashes

Do not mark drop paths as imported to avoid crashes on invalid table lookup.

```
vpp[8478]: /build/Vpp2310/source/src/vnet/fib/fib_table.c:35 (fib_table_get) assertion `! pool_is_free (ip4_main.fibs, _e)' fails
 #9  0x00007ff21785da1d in _clib_error () from /lib/x86_64-linux-gnu/libvppinfra.so.23.10
 #10 0x00007ff218087698 in fib_table_get (index=4294967295, proto=FIB_PROTOCOL_IP4) at /build/Vpp2310/source/src/vnet/fib/fib_table.c:35
 #11 0x00007ff218087a37 in fib_table_lookup_exact_match (fib_index=4294967295, prefix=0x7ff0eae0d354) at /build/Vpp2310/source/src/vnet/fib/fib_table.c:100
 #12 0x00007ff2180bc938 in fib_attached_export_import (fib_entry=0x7ff0eceac3e0, export_fib=4294967295) at /build/Vpp2310/source/src/vnet/fib/fib_attached_export.c:264
 #13 0x00007ff218098ade in fib_entry_post_flag_update_actions (fib_entry=0x7ff0eceac3e0, old_flags=FIB_ENTRY_FLAG_NONE, new_fib_index=4294967295) at /build/Vpp2310/source/src/vnet/fib/fib_entry.c:624
 #14 0x00007ff218098b90 in fib_entry_post_install_actions (fib_entry=0x7ff0eceac3e0, source=FIB_SOURCE_API, old_flags=FIB_ENTRY_FLAG_NONE) at /build/Vpp2310/source/src/vnet/fib/fib_entry.c:674
 #15 0x00007ff218098cce in fib_entry_create (fib_index=1, prefix=0x7ff0d3244d80, source=FIB_SOURCE_API, flags=FIB_ENTRY_FLAG_NONE, paths=0x7ff0eac15ab8) at /build/Vpp2310/source/src/vnet/fib/fib_entry.c:712
 #16 0x00007ff218088db4 in fib_table_entry_update (fib_index=1, prefix=0x7ff0d3244d80, source=FIB_SOURCE_API, flags=FIB_ENTRY_FLAG_NONE, paths=0x7ff0eac15ab8) at /build/Vpp2310/source/src/vnet/fib/fib_table.c:799
 #17 0x00007ff2180c026c in fib_api_route_add_del (is_add=1 '\001', is_multipath=0 '\000', fib_index=1, prefix=0x7ff0d3244d80, src=FIB_SOURCE_API, entry_flags=FIB_ENTRY_FLAG_NONE, rpaths=0x7ff0eac15ab8) at /build/Vpp2310/source/src/vnet/fib/fib_api.c:485
 #18 0x00007ff217d4b6dd in ip_route_add_del_t_handler (mp=0x7ff0eb08b998, stats_index=0x7ff0d3244dc8) at /build/Vpp2310/source/src/vnet/ip/ip_api.c:718
 #19 0x00007ff217d4b986 in vl_api_ip_route_add_del_t_handler (mp=0x7ff0eb08b998) at /build/Vpp2310/source/src/vnet/ip/ip_api.c:789
```

Type: fix
Fixes: 4b08632748727486e7ebfdcf4d992743595bc500
Signed-off-by: Dmitry Valter <d-valter@yandex-team.com>
Change-Id: I647899533771c35f44c9ecde517a30f111b36ad9

8 months agodpdk: expose xstats in stats segment 40/41140/7
Ole Troan [Thu, 13 Jun 2024 09:40:25 +0000 (11:40 +0200)]
dpdk: expose xstats in stats segment

Expose DPDK xstats in the stat segment.
Represented as a 2D array. Thread by sw_if_index.
Each counter has the same name as the corresponding xstats counter,
under /if/<driver-name>/<xstats-name>

Type: improvement
Change-Id: Icd34b46e2b4d708f1c9a7063d6afd4ced3dfa4f5
Signed-off-by: Ole Troan <otroan@employees.org>
8 months agovnet: move format_vl_api_address_union() from vpp to vnet 50/41150/2
Benoît Ganne [Mon, 17 Jun 2024 13:33:59 +0000 (15:33 +0200)]
vnet: move format_vl_api_address_union() from vpp to vnet

format_vl_api_address_union() is used by vnet, creating a linkage
dependency from vnet to vpp.

Type: fix

Change-Id: I298a90d521e51b7527ef140d66130062824e1d16
Signed-off-by: Benoît Ganne <bganne@cisco.com>
8 months agovppinfra: export os_exit and os_puts 51/41151/1
Benoît Ganne [Mon, 17 Jun 2024 13:32:12 +0000 (15:32 +0200)]
vppinfra: export os_exit and os_puts

os_exit() and os_puts() are not exported, preventing linkage with
libvppinfra if those are not defined.

Type: fix

Change-Id: I7e3b583147e1348f078afeac3f793fe150405009
Signed-off-by: Benoît Ganne <bganne@cisco.com>
8 months agotcp: make syn-rcvd timeout configurable 02/41102/4
Florin Coras [Mon, 10 Jun 2024 20:12:40 +0000 (13:12 -0700)]
tcp: make syn-rcvd timeout configurable

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic89570315a5c3c00e0e89c5535929313916869eb

8 months agohs-test: output docker build command for ci console log 44/41144/2
Dave Wallace [Fri, 14 Jun 2024 18:59:38 +0000 (14:59 -0400)]
hs-test: output docker build command for ci console log

- clean up shellcheck warnings
- rename extras/hs-test/test script
- add -x attribute to compress script for consistancy

Type: test

Change-Id: I5d1a9d16eeaff18562461b1e445e32ac696266d3
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
8 months agovapi: Add option to dispatch with timeout 05/41105/4
Dau Do [Tue, 11 Jun 2024 02:55:19 +0000 (19:55 -0700)]
vapi: Add option to dispatch with timeout

Type: improvement

Change-Id: I606efc90d9b1b8e2a2590a8b4e0021e2508642b2
Signed-off-by: Dau Do <daudo@yahoo.com>
8 months agohs-test: separate infra from tests 69/40969/4
Adrian Villin [Fri, 14 Jun 2024 07:32:39 +0000 (09:32 +0200)]
hs-test: separate infra from tests

- most functions and vars now start with a capital letter:
  needed to access them outside the package that declares
  them
- updated README.md
- very minor changes in MAKEFILE

Type: test

Change-Id: I4b5a194f08f09d59e372e57da6451fbb5a1de4da
Signed-off-by: Adrian Villin <avillin@cisco.com>
8 months agocrypto-native: fix CPU detection for SHA2 code 41/41141/3
Damjan Marion [Thu, 13 Jun 2024 10:08:03 +0000 (10:08 +0000)]
crypto-native: fix CPU detection for SHA2 code

Type: fix
Fixes: 9f2799f
Change-Id: Ib2b2df17507c536350ec92eeb1eea58f3a240c76
Signed-off-by: Damjan Marion <damarion@cisco.com>
9 months agovnet: export header files to build the plugins 39/41139/2
Dau Do [Thu, 13 Jun 2024 08:31:46 +0000 (01:31 -0700)]
vnet: export header files to build the plugins

Type: improvement

Change-Id: I86e8616a134829a66a9c9bb4313bbf95f835e7c0
Signed-off-by: Dau Do <daudo@yahoo.com>
9 months agohs-test: added cleanup target 68/40968/4
Adrian Villin [Thu, 13 Jun 2024 06:59:58 +0000 (08:59 +0200)]
hs-test: added cleanup target

- Also added checkstyle-go and fixstyle-go to 'make help'

Type: make

Change-Id: I5402efa02bbbc54a20db8f54b0488c58a62ffaa1
Signed-off-by: Adrian Villin <avillin@cisco.com>
9 months agohttp: return more than url to server app 76/41076/4
Matus Fabian [Tue, 4 Jun 2024 17:00:00 +0000 (19:00 +0200)]
http: return more than url to server app

Provide all bytes as received from transport as data in the http
message to server. Additionally provide offset and length of target
path, target query, headers and body. Offers apis for parsing of
headers, percent decoding, target path/query syntax verification.

Type: improvement

Change-Id: Idbe6f13afa378650cc5212ea7d3f9319183ebbbe
Signed-off-by: Matus Fabian <matfabia@cisco.com>
9 months agohs-test: improved suite teardown and replaced PIDs with PPIDs 64/40964/11
Adrian Villin [Thu, 6 Jun 2024 08:26:30 +0000 (04:26 -0400)]
hs-test: improved suite teardown and replaced PIDs with PPIDs

- Fixed an issue where containers wouldn't stop and get removed when
  a test run is interrupted
- Replaced PIDs with Ginkgo process indexes + PPIDs
- Fixed CPU allocation for envoy and nginx-ldp containers
- All container logs should now get saved properly

Type: test

Change-Id: I4c737c1d326390494c0dda1ec6d3fc1f04f51663
Signed-off-by: Adrian Villin <avillin@cisco.com>
9 months agosession: fix ho cleanup on forced reset 14/41114/1
Florin Coras [Wed, 12 Jun 2024 17:14:40 +0000 (10:14 -0700)]
session: fix ho cleanup on forced reset

Avoid double free if app forces reset while half-open is cleaning up.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2311fb763076aa8a263c193f5967793402eedb6a

9 months agohs-test: added go style targets 66/40966/4
Adrian Villin [Tue, 11 Jun 2024 08:32:08 +0000 (10:32 +0200)]
hs-test: added go style targets

- added checkstyle-go and fixstyle-go
- comments in stats_fs.go were missing a space

Type: make

Change-Id: I520acab5ff61eaf9d0ccfd9425bdc41f74559198
Signed-off-by: Adrian Villin <avillin@cisco.com>
9 months agosession: fix ho cleanup on active and passive close 10/41110/3
Florin Coras [Tue, 11 Jun 2024 19:17:04 +0000 (12:17 -0700)]
session: fix ho cleanup on active and passive close

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I9e7011ff45f14e17fc0d0d63800184f404c29093

9 months agoipsec: move ah packet processing in the inline function ipsec_ah_packet_process 79/39979/6
vinay tripathi [Fri, 12 Jan 2024 10:28:00 +0000 (10:28 +0000)]
ipsec: move ah packet processing in the inline function ipsec_ah_packet_process

This inline function is introduced to simplify code readability and consolidate AH packet
processing in separate API.

Type: improvement

Change-Id: Id98074d00aba277fed714ea9995655c9e84ec83b
Signed-off-by: vinay tripathi <vinayx.tripathi@intel.com>
9 months agoipsec: Add option to configure the hand-off worker queue size 06/41106/4
Dau Do [Mon, 29 Apr 2024 03:00:55 +0000 (03:00 +0000)]
ipsec: Add option to configure the hand-off worker queue size

Type: improvement

Change-Id: I252951d3ec01497c049ca0ffb7cb42aaf2efb965
Signed-off-by: Dau Do <daudo@yahoo.com>
9 months agopapi: more detailed packing error message 22/40622/2
Klement Sekera [Fri, 29 Mar 2024 14:04:49 +0000 (15:04 +0100)]
papi: more detailed packing error message

'struct.error: required argument is not an integer'

is quite useless itself, so let's raise an error from it at least
saying what was the thing getting packed

Type: improvement
Change-Id: Icb762fbab98446d1e1331315e6c337f789cbba95
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
9 months agoocteon: add clear counters for port and queues 05/40905/3
Monendra Singh Kushwaha [Mon, 20 May 2024 21:56:49 +0000 (03:26 +0530)]
octeon: add clear counters for port and queues

Type: feature

Change-Id: Ie36be41694e7bd5341b4239dcba2ae6834c4a73f
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
9 months agodev: add port and queue counter clear operation 04/40904/3
Monendra Singh Kushwaha [Mon, 20 May 2024 21:48:26 +0000 (03:18 +0530)]
dev: add port and queue counter clear operation

Type: feature

Change-Id: Ibd876c5251fc2f9d87816d235fff2de22be4b21c
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
9 months agohs-test: added filenames to test names 65/40965/4
Adrian Villin [Fri, 7 Jun 2024 10:45:48 +0000 (06:45 -0400)]
hs-test: added filenames to test names

- It is now possible to only run tests that are in a certain file

Type: test

Change-Id: I41665dd2bc0942c283be36a5af3e560fd65e9d03
Signed-off-by: Adrian Villin <avillin@cisco.com>
9 months agoquic: initialize ooo lookup on fifos 95/41095/3
Florin Coras [Fri, 7 Jun 2024 23:06:51 +0000 (16:06 -0700)]
quic: initialize ooo lookup on fifos

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I6a0493834c5b60bdb42865112c453157fdfeb87c

9 months agohs-test: HTTP download benchmarking 86/41086/3
Matus Fabian [Thu, 6 Jun 2024 09:24:36 +0000 (11:24 +0200)]
hs-test: HTTP download benchmarking

HttpTpsTest now use Gomega's gmeasure package and go internal http
client. With gmeasure you can create "Experiments" which can produce
reports to show the statistical distribution of measurement.
Potentially experiments can also be cached and used to identify
regression in performance.

Type: test

Change-Id: Id049fb0344d8ebed71b15e706b053b5c2a18e0de
Signed-off-by: Matus Fabian <matfabia@cisco.com>
9 months agobuild: Fix makefile syntax 82/41082/2
Renato Botelho do Couto [Wed, 5 Jun 2024 17:49:09 +0000 (17:49 +0000)]
build: Fix makefile syntax

Type: fix

Change-Id: I29f679ffbc14242d9e7e5284b698b86a70fbbef6
Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
9 months agobuild: Use $(MAKE) instead of direct call to make 83/41083/2
Renato Botelho do Couto [Wed, 5 Jun 2024 18:11:46 +0000 (18:11 +0000)]
build: Use $(MAKE) instead of direct call to make

No functional changes, just make it to respect original make binary
name used to start building

Type: improvement

Change-Id: Ic8568237fbb39c6a0d3b7405a9670e9410aeb752
Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
9 months agovlib: fix gdb_show_traces() 90/41090/2
Benoît Ganne [Thu, 6 Jun 2024 08:46:50 +0000 (10:46 +0200)]
vlib: fix gdb_show_traces()

When using gdb_show_traces() in debug mode, don't assert if workers are
not parked, as it is typically called from gdb.

Type: fix

Change-Id: Iabf175d96dc152da4d1abfbce9ccc9020d0b5d61
Signed-off-by: Benoît Ganne <bganne@cisco.com>
9 months agoocteon: add support for vnet generic flow type 15/40615/7
Sriram Vatala [Tue, 12 Mar 2024 04:22:00 +0000 (04:22 +0000)]
octeon: add support for vnet generic flow type

This patch adds vnet generic flow type support in OCTEON plugin, which
extends the existing vnet flow types supported. It allows users to
configure additional match patterns like 802.1q tag fields, 802.1ad tag
fields, MPLS fields, IP DSCP etc., if supported by the underlying hardware.
On OCTEON various match patterns including user defined custom protocol
types can be supported depending on the programmable classification profile.
Generic flows operate based on hexadecimal strings representing packet
data bytes and corresponding mask data bytes. The mask data bytes, with
bits set to '1', selectively identify the data bytes used for hardware
flow matching.

To configure generic flow rules, packetforge tool is recommended which
accepts inputs in a user readable and friendly format. This tool is
available in VPP tree under `extras/packetforge`. Detailed instructions
can be found in the documentation under `extras/packetforge`. Additionally
user can use existing vnet flow CLI and binary API interfaces to
configure rules manually.

Type: feature

Change-Id: I8198536cf1fe0a4719542a8b54c599230c7852e9
Signed-off-by: Sriram Vatala <svatala@marvell.com>
9 months agoocteon: add counters support for port and queue 93/40893/2
Monendra Singh Kushwaha [Thu, 16 May 2024 08:45:40 +0000 (14:15 +0530)]
octeon: add counters support for port and queue

Type: feature

Change-Id: I5d52d78a93c7d0a12b9cee16fe7ebabdc2b19f0a
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
9 months agodev: fix counter_start in counter clear routine 92/40892/2
Monendra Singh Kushwaha [Thu, 16 May 2024 06:54:37 +0000 (12:24 +0530)]
dev: fix counter_start in counter clear routine

This patch fixes counter_start value, as it should hold the cumulative
counter value whenever counter clear routine is called.

Type: fix
Fixes: 38c619115b

Change-Id: I50bf8ddcde419caf1170dfacdea03ff3d93a3327
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
9 months agoocteon: update trace to use qid instead of q 14/40914/4
Monendra Singh Kushwaha [Wed, 22 May 2024 08:47:21 +0000 (14:17 +0530)]
octeon: update trace to use qid instead of q

This patch updates trace to use "qid" keywords instead of "q".

Type: feature

Change-Id: Ib0f41a8a1a93cbbbf8c59304924d4e68efff48fd
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
9 months agoocteon: enable vf device promiscuous mode feature 98/41098/1
Harish Malik [Fri, 7 Jun 2024 11:34:46 +0000 (17:04 +0530)]
octeon: enable vf device promiscuous mode feature

This patch enables promiscuous mode on vf devices except SDP vf
and LBK devices

Type: feature

Change-Id: I2e18c63590f22f99c69500f10b42b64d899249ce
Signed-off-by: Kommula Shiva Shankar <kshankar@marvell.com>
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
9 months agobuild: bump octeon-roc version to 0.5 97/41097/1
Monendra Singh Kushwaha [Mon, 3 Jun 2024 12:03:41 +0000 (17:33 +0530)]
build: bump octeon-roc version to 0.5

This patch enables vf device promiscuous mode feature in
octeon-roc except SDP vf and LBK devices.

Type: feature

Change-Id: I221f64ba0bb768191e2228dab132166a8a3326c3
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
9 months agohs-test: more debug output in http3 test 85/41085/1
Florin Coras [Thu, 6 Jun 2024 07:08:27 +0000 (03:08 -0400)]
hs-test: more debug output in http3 test

Type: test

Change-Id: I4d2b949f5ef5446c04ca6f35b0bd659ce389170f
Signed-off-by: Florin Coras <fcoras@cisco.com>
9 months agohs-test: keep ab/wrk containers alive until teardown 63/40963/2
Adrian Villin [Wed, 5 Jun 2024 09:53:50 +0000 (05:53 -0400)]
hs-test: keep ab/wrk containers alive until teardown

- Fixes errors while obtaining container logs on test failure
  (NginxPerf tests), ab/wrk containers are now stopped on test teardown
  like other containers.

Type: test

Change-Id: Ic336fcd3ed6bf68dd345d378262cb28eb5efc789
Signed-off-by: Adrian Villin <avillin@cisco.com>
9 months agotests: organize test coverage report generation 01/40201/5
Dave Wallace [Tue, 16 Jan 2024 18:12:27 +0000 (13:12 -0500)]
tests: organize test coverage report generation

- Remove code from test report that is effectively
  untested and categorize based on reason for lack
  of testing.

Type: test

Change-Id: I6ca5444055b3a81a4880945b6845afc867556277
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
9 months agobuffers: support per-numa-domain buffer size 35/41035/3
Lukas Stockner [Tue, 4 Jun 2024 14:14:55 +0000 (16:14 +0200)]
buffers: support per-numa-domain buffer size

Currently, buffers-per-numa is used for all NUMA domains, and there's
no way to allocate different amounts for each domain.

Therefore, this adds a per-NUMA-domain buffer config section, which
currently has a single option to set the number of buffers.

If it's not specified or set to zero, the code falls back to
buffers-per-numa as before.

Type: improvement
Change-Id: If35d7a9eff6f8d1d78063ea7873dbf50780d0ec3
Signed-off-by: Lukas Stockner <lstockner@genesiscloud.com>
9 months agohs-test: fix coverage integration 62/40962/3
Adrian Villin [Tue, 4 Jun 2024 12:59:58 +0000 (08:59 -0400)]
hs-test: fix coverage integration

- fixed 'make test-cov' not generating gcda files

Type: test

Change-Id: I9745c6501a97248ab343a5dbb39dddcc75f715fd
Signed-off-by: Adrian Villin <avillin@cisco.com>
9 months agoipsec: fix missing udp port check 28/40928/8
Fan Zhang [Fri, 24 May 2024 15:46:00 +0000 (16:46 +0100)]
ipsec: fix missing udp port check

Type: fix

This patch fixes the missing UDP port check in IPsec NAT-T
case. As of RFC3948 UDP encapped ESP traffic should have
destination port ID of 4500, which was missing.

The related tests are updated with this port ID, too.

Change-Id: I73ecc6a93de8d0f4b642313b0f4d9c2f214a7790
Signed-off-by: Fan Zhang <fanzhang.oss@gmail.com>
9 months agoip: add support for drop route through vpp CLI 19/40719/3
Mohsin Kazmi [Fri, 19 Apr 2024 11:02:28 +0000 (11:02 +0000)]
ip: add support for drop route through vpp CLI

Type: improvement

Change-Id: Ib822f36ff7b3ecda162fc99bf3892f912d0649f0
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
9 months agofib: set the value of the sw_if_index for DROP route 18/40718/3
Mohsin Kazmi [Fri, 19 Apr 2024 09:10:46 +0000 (09:10 +0000)]
fib: set the value of the sw_if_index for DROP route

Type: fix

fib_api_path_decode() is utilized by the IP route API call
to translate the path from the API to the fib_route_path_t
structure. The ip_route_add_del_handler_t function initializes
the fib_route_path_t structure to zeros, consequently setting
the sw_if_index value to 0, which is a valid value in VPP.
Typically, the default VRF (Virtual Routing and Forwarding)
has a local interface at index 0, leading to normal functionality.
However, a custom VRF table without any interface will result
in a crash.

The issue arises because the DROP route in fib_api_path_decode()
does not override the sw_if_index value with the one provided
in vl_api_fib_path_t. Subsequently, when this sw_if_index is
attempted to be resolved in the VRF table where the interface
does not exist, it leads to a crash.

This patch addresses the problem by setting the sw_if_index of
fib_route_path_t to the sw_if_index value of the API path.

To reproduce the issue, please remove the fix and run the following command:
make test-debug TEST=test_ip4.TestIPv4RouteLookup.test_exact_match

Change-Id: I5d72e91e5c701e749a92873941bee7b7b5eabd41
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
9 months agohs-test: add libunwind dependency to nginx dockerfile 61/40961/1
Adrian Villin [Mon, 3 Jun 2024 08:58:58 +0000 (04:58 -0400)]
hs-test: add libunwind dependency to nginx dockerfile

- Libunwind was missing in Dockerfile.nginx, causing some tests to fail.
  Tests that were temporarily disabled because of that issue
  are now re-enabled.

Type: test

Change-Id: I3f544be483784e8a7a1f22737cafca615b9f836b
Signed-off-by: Adrian Villin <avillin@cisco.com>
9 months agovlib: clean up r2 plugin registration relocator 28/41028/1
Dave Barach [Sat, 1 Jun 2024 12:44:28 +0000 (08:44 -0400)]
vlib: clean up r2 plugin registration relocator

Thanks, Eliot!

Type: fix
Change-Id: I3737f62d08d5cd2db803af86285f9a2e456bab72
Signed-off-by: Dave Barach <vpp@barachs.net>
9 months agohs-test: temp skip some tests 60/40960/2
Adrian Villin [Fri, 31 May 2024 14:11:34 +0000 (10:11 -0400)]
hs-test: temp skip some tests

- Some tests are broken in the CI, skipping them
  for now

Type: test

Change-Id: I3d4efeee63b819956e5ffa1b3920e81962a2fcc9
Signed-off-by: Adrian Villin <avillin@cisco.com>
9 months agohs-test: container logging improvements 59/40959/1
Adrian Villin [Fri, 31 May 2024 10:46:52 +0000 (06:46 -0400)]
hs-test: container logging improvements

- Reduced the amount of error messages while obtaining container logs
  when a test fails by keeping track of started containers. NginxPerf
  tests still have those error messages, because wrk/ab containers shut
  themselves down before the test ends.

Type: test

Change-Id: I40a193345e5b46aec1834774f23aebc822eee885
Signed-off-by: Adrian Villin <avillin@cisco.com>
9 months agohs-test: add libunwind dependency to vpp dockerfile 16/41016/3
Dave Wallace [Thu, 30 May 2024 18:27:35 +0000 (14:27 -0400)]
hs-test: add libunwind dependency to vpp dockerfile

- missing from https://gerrit.fd.io/r/c/vpp/+/40929 due to hst not running in CI yet.

Type: fix

Change-Id: Ib5d9b877725624ef7de9f2be5e517609aec7c5a1
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
9 months agohs-test: added targets to makefiles to get coverage from HS tests 77/40177/10
adrianvillin [Thu, 11 Jan 2024 10:59:47 +0000 (11:59 +0100)]
hs-test: added targets to makefiles to get coverage from HS tests

Type: make

Change-Id: Iae7998692890264dfeea98c165617d0efa024d42
Signed-off-by: adrianvillin <avillin@cisco.com>