vpp.git
3 months agobuild: Explicitly use bash for shell scripts 14/40214/2
Tom Jones [Thu, 18 Jan 2024 14:51:44 +0000 (14:51 +0000)]
build: Explicitly use bash for shell scripts

VPP requires bash for all shell scripts. Align shebang lines in build
and test scripts to look up the location of bash rather than hard coding
'/bin/bash'.

Look up the location of bash for makefiles.

Type: improvement
Change-Id: I23b705d81d60389fa8af61c680cf0abd74f0ea24
Signed-off-by: Tom Jones <thj@freebsd.org>
3 months agoaf_xdp: Backport xdp-tools fix transposed calloc() arguments 13/40213/6
nucleo [Thu, 18 Jan 2024 14:48:35 +0000 (16:48 +0200)]
af_xdp: Backport xdp-tools fix transposed calloc() arguments

Fixes compilation error with GCC 14

'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument

Type: fix

Change-Id: Ie328ecc711976547df2cffe17325b786bc7a8849
Signed-off-by: nucleo <alekcejk@googlemail.com>
3 months agotests: preload api files 71/39871/11
Maxime Peim [Tue, 14 Nov 2023 14:26:41 +0000 (15:26 +0100)]
tests: preload api files

When sanity test is not done, API files are not loaded until the
first test case is run. Hence, it is not possible to use enums, etc.
outside of a test class.
By preloading API files before running any tests, it prevents its
issue.

Type: fix
Change-Id: I8730150374e6c5f8d6933ec037811372ac2a8da0
Signed-off-by: Maxime Peim <mpeim@cisco.com>
3 months agohs-test: use specific port for http3 test 07/40207/2
Filip Tehlar [Wed, 17 Jan 2024 20:45:28 +0000 (21:45 +0100)]
hs-test: use specific port for http3 test

curl sometimes uses 2 different source ports during the test.

Type: test

Change-Id: Ib27e9d22a9cc951f4729f4bd0ae99d80bf8d938b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
3 months agoocteon: native driver for Marvell Octeon SoC 04/39804/41
Damjan Marion [Mon, 23 Oct 2023 16:36:18 +0000 (18:36 +0200)]
octeon: native driver for Marvell Octeon SoC

Type: feature
Change-Id: I6898625c4e8854f777407dac3159e4c639a54860
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 months agovppinfra: change fchmod to umask for unix socket 62/39862/3
Georgy Borodin [Fri, 10 Nov 2023 15:31:09 +0000 (16:31 +0100)]
vppinfra: change fchmod to umask for unix socket

Setting g+w permission for unix sockets didn't work. There were
two problems:
1. new flag local_only wasn't set for all AF_UNIX sockets;
2. fchmod is not a good choice for sockets.

fchmod was replaced with couple of umasks, and local_only with
socket type check.

Type: fix
Fixes: 085757bb4930511928daa97f972cdca021e7a813
Change-Id: I8dc0fceb110a36bfa234f552bbdf182e09e55e27
Signed-off-by: Georgy Borodin <bor1-go@yandex-team.ru>
3 months agoaf_packet: set next0 for AF_PACKET_IF_MODE_ETHERNET mode 19/40119/2
Artem Glazychev [Tue, 19 Dec 2023 07:31:48 +0000 (14:31 +0700)]
af_packet: set next0 for AF_PACKET_IF_MODE_ETHERNET mode

Normally af_packet sets next0 = next_index on each cycle. It works for the most cases.
But if vlib_validate_buffer_enqueue_x1() changes the next_index (from NEXT_ETHERNET to NEXT_DROP for example)
then the following next0 will have the wrong value, and the correct packet will be dropped.

AF_PACKET_IF_MODE_IP handles this case, but AF_PACKET_IF_MODE_ETHERNET doesn't.

Type: fix

Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Change-Id: Ic742043e8b10a2abe56b314bb584277151a9c5eb

4 months agobuild: add vapi scripts to VPP_HOST_TOOLS_ONLY 86/40186/5
Guillaume Solignac [Thu, 11 Jan 2024 12:39:11 +0000 (13:39 +0100)]
build: add vapi scripts to VPP_HOST_TOOLS_ONLY

vapi generators were missing from the VPP_HOST_TOOLS_ONLY, which
prevents building an out-of-tree plugin with API files. We now
install them.

Type: improvement
Signed-off-by: Guillaume Solignac <gsoligna@cisco.com>
Change-Id: Ie613c8f64034e933124325242f2f8b3ac3955878

4 months agovnet: fix log_debug message format 55/40155/3
Georgy Borodin [Mon, 8 Jan 2024 21:00:59 +0000 (22:00 +0100)]
vnet: fix log_debug message format

debug+asan build will fail on initialisation when loglevel==debug

Type: fix
Fixes: 1cd0e5dd533f4209dde453eaa43215e52cd42985
Change-Id: I2005ebf9b95ec3b753c4e6d29337be460c77ffed
Signed-off-by: Georgy Borodin <bor1-go@yandex-team.ru>
4 months agovppinfra: fix memcpy test buffer size 52/40152/2
Dmitry Valter [Fri, 5 Jan 2024 17:02:55 +0000 (17:02 +0000)]
vppinfra: fix memcpy test buffer size

Fix dst buffer size in memcpy_x86_64 test.

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

4 months agodpdk: add ID for QAT 4xxx series VF support 00/40200/2
Kai Ji [Mon, 15 Jan 2024 16:44:37 +0000 (16:44 +0000)]
dpdk: add ID for QAT 4xxx series VF support

Type: feature

Enable use of 4th gen QAT series devices.

Change-Id: I890c1f1d305ff9b996322c29e9510cfe89d88d97
Signed-off-by: Kai Ji <kai.ji@intel.com>
4 months agodpdk: fix log_debug message format 54/40154/3
Georgy Borodin [Mon, 8 Jan 2024 20:34:24 +0000 (21:34 +0100)]
dpdk: fix log_debug message format

debug+asan build will fail on initialisation when log level==debug

Type: fix
Fixes: 549838c81bd0d995f2b8569955afc33132582c77
Change-Id: Ic64b376727d49f89790fb29bd03a0a2520625cdc
Signed-off-by: Georgy Borodin <bor1-go@yandex-team.ru>
4 months agovlib: remove unused code 90/40190/2
Damjan Marion [Fri, 12 Jan 2024 17:50:55 +0000 (17:50 +0000)]
vlib: remove unused code

Type: improvement
Change-Id: I2c54cb3eb41ed35f114eca75fb6e2be3eb3f4ca1
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 months agovppinfra: enable AES tests on ARM 98/40198/3
Damjan Marion [Mon, 15 Jan 2024 10:37:33 +0000 (11:37 +0100)]
vppinfra: enable AES tests on ARM

Type: improvement
Change-Id: I30f3b2924ab219a8bace87f358b1b823e8bc83bb
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 months agobuild: Provide clang-14 for Debian12 94/40194/3
Pim van Pelt [Mon, 15 Jan 2024 10:06:19 +0000 (11:06 +0100)]
build: Provide clang-14 for Debian12

checkstyle.sh assumes clang-format-11 but allows it to be overridden.
Debian12 ships with a minimal version of clang-14, so set the correct
version for checkstyle.

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

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

Type: make
Fixes: 712fc0308981c61444e593d6bcc2ad62102c726d
Change-Id: I0c58456477011397115810dab825865b5850d10d
Signed-off-by: pim@ipng.nl
4 months agostats: Add optional labels to prometheus metrics 99/40199/4
Pim van Pelt [Mon, 15 Jan 2024 13:46:00 +0000 (14:46 +0100)]
stats: Add optional labels to prometheus metrics

* Refactor the existing prometheus exporter to function print_metric_v1()
* Add a 'v2' flag which instead uses metric names with labels, example:
  nodes_clocks{node="ip4-lookup",index="0",thread="4"} 30198798628761
  nodes_vectors{node="ip4-lookup",index="0",thread="4"} 298176625181
  nodes_calls{node="ip4-lookup",index="0",thread="4"} 119789874274
  nodes_suspends{node="ip4-lookup",index="0",thread="4"} 0

  interfaces_rx_packets{interface="tap0",index="0",thread="1"} 79582338270
  interfaces_rx_bytes{interface="tap0",index="0",thread="1"} 16265349667188
* For stat names that we don't know, print their v1 equivalent, which
  keeps backwards compatibility.

Details in https://ipng.ch/s/articles/2023/04/09/vpp-stats.html

Type: improvement
Signed-off-by: pim@ipng.nl
Change-Id: I53ed3ede8cc7853eb46c354834d89eb788ece3b1

4 months agosession: avoid spurious disconnect and reset ntfs 80/40180/2
Florin Coras [Thu, 11 Jan 2024 16:56:04 +0000 (11:56 -0500)]
session: avoid spurious disconnect and reset ntfs

Type: fix

Change-Id: Icdc9d1c8b7b29827ce17920dae64a365bb8a4e40
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 months agodevices: add support to check host interface offload capabilities 78/39778/9
Mohsin Kazmi [Tue, 31 Oct 2023 12:29:04 +0000 (12:29 +0000)]
devices: add support to check host interface offload capabilities

Type: improvement

This patch implements support to check the host interface offload
capabilities.

NOTE: this check is only done once when interface is being created.
Any changes to the cap of host interface after that will not reflect
changes to af_packet interface in VPP.

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: Ibc9953131f64f3fb3e601d34036b9f453913692a

4 months agobuild: Add Debian12 environment 92/40192/2
Pim van Pelt [Sun, 14 Jan 2024 20:02:41 +0000 (21:02 +0100)]
build: Add Debian12 environment

Add clang-14 and libffi8 which ship with Debian Bookworm. The project
compiles cleanly with these versions.

Type: make
Change-Id: I17350aae30cec72987792d54d88231b3221b56b9
Signed-off-by: pim@ipng.nl
4 months agosession: fix app wrk free leak 91/40191/2
Florin Coras [Fri, 12 Jan 2024 18:10:17 +0000 (13:10 -0500)]
session: fix app wrk free leak

Type: fix

Change-Id: I9c48b163f174b824df1a76e75c272dc985386bf2
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 months agocrypto-native: add AES-CTR 81/40181/5
Damjan Marion [Thu, 11 Jan 2024 17:37:46 +0000 (17:37 +0000)]
crypto-native: add AES-CTR

Type: feature
Change-Id: Iab84226043d8042a99a507767b75e9d4a89cc5c6
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 months agovppinfra: native AES-CTR implementation 76/40176/8
Damjan Marion [Mon, 8 Jan 2024 19:05:40 +0000 (19:05 +0000)]
vppinfra: native AES-CTR implementation

Type: feature
Change-Id: I7ef3277edaeb266fbd3c8c9355d4443002ed2311
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 months agohttp: fix memory leak 85/40185/1
Filip Tehlar [Fri, 12 Jan 2024 10:18:57 +0000 (11:18 +0100)]
http: fix memory leak

Type: fix

Change-Id: I36905132a42d23e719bf0e82eeafa48f60f4887a
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 months agolibmemif: fix segfault and buffer overflow in examples 66/39266/4
Tianyu Li [Wed, 12 Jul 2023 05:51:42 +0000 (05:51 +0000)]
libmemif: fix segfault and buffer overflow in examples

- Fix buffer overflow caused by strncpy(dst, src, strlen(src)),
use sized buffer to ensure overflow safe.

- Fix test_app getopt usage

 When use example/icmp_responder in slave mode
- Fix segfault when buffer size is not specified
- Fix wrong packet send out.

Type: fix
Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: I5ed47fd8e630420d7ae0203a2605d2b9abd33d2a

4 months agolibmemif: fix for memif_init_queues slot math 77/40077/6
mbly [Wed, 6 Dec 2023 20:22:14 +0000 (12:22 -0800)]
libmemif: fix for memif_init_queues slot math

Increase slot variable to u32 to address combinations of num-queues and queue-size that cause slot variable to wrap when declared as u16, e.g. num-queues > 8 && queue-size is 2^12

Type: fix
Change-Id: I5bd6198d60395156a06f1a280ea2594824ceaa9d
Signed-off-by: mbly <mbly@ciena.com>
4 months agolibmemif: Fix for memif_buffer_alloc rewind logic 65/40065/10
mbly [Tue, 5 Dec 2023 17:36:49 +0000 (09:36 -0800)]
libmemif: Fix for memif_buffer_alloc rewind logic

Rewind logic was not supporting count = 1, where size was > memif_buffer_size and a rewind is required.
Fixed slot-->next_buf bug for !master as well.

Type: fix
Change-Id: I65cf0d3d0c105f37125412a613e5ff8c5da9a3a2
Signed-off-by: mbly <mbly@ciena.com>
4 months agolibmemif: added tests 53/37953/9
Daniel Béreš [Thu, 19 Jan 2023 09:19:27 +0000 (10:19 +0100)]
libmemif: added tests

This patch provides unit tests for libmemif written in Unity

Type: test

Signed-off-by: Daniel Béreš <dberes@cisco.com>
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I19116def6e6d28efd5f460c93911245474a11321

4 months agohs-test: add more asserts 79/40179/2
Filip Tehlar [Thu, 11 Jan 2024 16:17:33 +0000 (17:17 +0100)]
hs-test: add more asserts

Type: test

Change-Id: Ia285ff39d9b19464ea086ec847ceaf52c6c0195c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 months agocrypto: align host and VPP IPsec-mb lib 76/39976/16
Ranjan Raj [Mon, 20 Nov 2023 07:04:24 +0000 (07:04 +0000)]
crypto: align host and VPP IPsec-mb lib

Ensure alignment between the Intel IPsec-mb library on the
host and VPP targets.If the version of Intel ipsec-mb on the
host is misaligned with the targets,terminate the compilation
process to prevent potential library linkage issues.

Type: fix

Change-Id: I38864115d59ae09fb5556ad4a29e884ebace8155
Signed-off-by: Ranjan Raj <ranjanx.raj@intel.com>
4 months agohs-test: add tls proxy test 26/40026/5
Filip Tehlar [Wed, 29 Nov 2023 06:40:18 +0000 (07:40 +0100)]
hs-test: add tls proxy test

Type: test

Change-Id: I8f3f4c464907356bb1990ea53f0f46befc057acf
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 months agohs-test: retry command on test setup failure 70/40070/2
Filip Tehlar [Wed, 6 Dec 2023 10:35:11 +0000 (11:35 +0100)]
hs-test: retry command on test setup failure

Type: test

Change-Id: Iad744c4b3f79820e8bd0dd2ef9f18e4f7718e845
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 months agolinux-cp: fix route prefix construction 42/40142/4
Alexander Skorichenko [Tue, 26 Dec 2023 15:27:10 +0000 (16:27 +0100)]
linux-cp: fix route prefix construction

Prevent comparison ops for uninitialized IPv6 prefix bytes.

Type: fix

Change-Id: I440fea7f0725769406ad348eb3402a98c593dc3c
Signed-off-by: Alexander Skorichenko <askorichenko@netgate.com>
4 months agolinux-cp: Fix looping netlink messages 22/39622/9
Pim van Pelt [Fri, 6 Oct 2023 09:26:33 +0000 (11:26 +0200)]
linux-cp: Fix looping netlink messages

Signal when consuming a batch of netlink messages, in order to inhibit
lcp_sync from generating new netlink messages. This avoids link up/down
state changess from triggering an infinite loop.
Do this in the regular case of nl_route_process_msgs()
and in the special case of re-synchronizing in lcp_nl_recv_dump_replies().
Type: fix
Change-Id: I419d3f9aa350c119b3778b644c65165cb4cc1bef
Signed-off-by: Pim van Pelt <pim@ipng.nl>
4 months agourpf: add interface dump to API 86/40086/6
Pim van Pelt [Sun, 10 Dec 2023 20:07:38 +0000 (21:07 +0100)]
urpf: add interface dump to API

Add an urpf_interface_dump() API call, with optional sw_if_index.
If either a mode or a table is specified in any given interface
address family and direction, return it in a list, otherwise omit
it.

TESTED:
create loopback interface instance 0
create loopback interface instance 1
create loopback interface instance 2
create loopback interface instance 3
ip6 table add 8298
set urpf ip4 rx loose loop1
set urpf ip6 tx off loop2 table 8298

API call urpf_interface_dump(sw_if_index=~1) returns:
[
urpf_interface_details(_0=658, context=2, sw_if_index=2, is_rx=True, mode=<vl_api_urpf_mode_t.URPF_API_MODE_LOOSE: 1>, af=<vl_api_address_family_t.ADDRESS_IP4: 0>, table_id=0),
urpf_interface_details(_0=658, context=2, sw_if_index=3, is_rx=False, mode=<vl_api_urpf_mode_t.URPF_API_MODE_OFF: 0>, af=<vl_api_address_family_t.ADDRESS_IP6: 1>, table_id=8298)
]

Type: improvement
Change-Id: I1ded5c445dc07dab73ea41b817b5827b72ca79d4
Signed-off-by: pim@ipng.nl
4 months agosession: make app listener pool global 39/40139/15
Florin Coras [Fri, 22 Dec 2023 03:41:12 +0000 (19:41 -0800)]
session: make app listener pool global

One less pointer chase when accepting sessions.

Type: improvement

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

4 months agosession: support for cl port reuse 91/40091/22
Florin Coras [Tue, 12 Dec 2023 00:04:57 +0000 (16:04 -0800)]
session: support for cl port reuse

Adds support for connectionless listener port reuse. Until now, cl
listeners had fifos allocated to them and therefore only one app worker
could ever listen, i.e., a session cannot have multiple fifos.

To circumvent the limitation, this separates the fifos from the listener
by allocating new cl sessions for each app worker that reuses the app
listener. Flows are hashed to app worker cl sessions but, for now, this
is not a consistent/fixed hash.

Type: improvement

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

4 months agosession: avoid spurious closed notifications 96/40096/4
Florin Coras [Tue, 12 Dec 2023 22:01:43 +0000 (14:01 -0800)]
session: avoid spurious closed notifications

Type: fix

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

4 months agolibmemif: add name to maintainer file 78/39978/1
Mohsin Kazmi [Mon, 8 Jan 2024 13:45:52 +0000 (13:45 +0000)]
libmemif: add name to maintainer file

Type: docs

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I994d843a035e6afc4b72d06745d2be74cd81cd3a

4 months agoflowprobe: fix calling vlib_time_now() from worker threads 43/40143/2
Alexander Chernavin [Wed, 27 Dec 2023 11:17:23 +0000 (11:17 +0000)]
flowprobe: fix calling vlib_time_now() from worker threads

Currently, when flowprobe_export_send() calls vlib_time_now(), a pointer
to the main thread's vlib_main_t is always passed (the one cached in
flow_report_main). However, that code can also be executed from a worker
thread. And passing a pointer to the main thread's vlib_main_t to
vlib_time_now() from a worker thread may cause time synchronization
issues. Also, running a debug binary will cause an assertion failure in
vlib_time_now() in this case.

With this fix, flowprobe_export_send() passes the pointer to the current
thread's vlib_main_t to vlib_time_how().

This doesn't allow to remove @tag_fixme_vpp_workers from the unit tests
yet as they will be failing for other multi-worker related problems.

Type: fix
Change-Id: Ia35e3a4176777b88cf8ca8af8af7c42c495cbc6a
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
4 months agohttp: unify client/server state machines 10/37610/8
Filip Tehlar [Mon, 30 Oct 2023 07:21:36 +0000 (08:21 +0100)]
http: unify client/server state machines

Type: improvement

Change-Id: I57a816fbed8b681dec201edc8d5950a34a555a2b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 months agodocs: minor updates to the lxc container test writeup 46/40146/2
Dave Barach [Fri, 29 Dec 2023 16:15:34 +0000 (11:15 -0500)]
docs: minor updates to the lxc container test writeup

Fix minor differences between Ubuntu 18.04 LTS and Ubuntu 22.04 LTS when
using the scheme to test new code.

Type: docs

Change-Id: I5810b6f3d76d8d98fa764b61828b1ca32507bd91
Signed-off-by: Dave Barach <dave@barachs.net>
4 months agosession: add flag to track cless sessions 35/40135/7
Florin Coras [Thu, 21 Dec 2023 21:50:53 +0000 (13:50 -0800)]
session: add flag to track cless sessions

Type: improvement

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

4 months agohs-test: more proxy vars for docker builds 40/40140/2
Florin Coras [Sat, 23 Dec 2023 00:58:26 +0000 (19:58 -0500)]
hs-test: more proxy vars for docker builds

Type: improvement

Change-Id: Ica9d87abde7a1dc0b4007911a7e0abab46dfb75d
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 months agotests: Temporarily skip an unstable test 38/40138/3
adrianvillin [Fri, 22 Dec 2023 15:52:56 +0000 (16:52 +0100)]
tests: Temporarily skip an unstable test

Type: test

Change-Id: Idd608511ed350a8e13afff393e558e20d52627a0
Signed-off-by: adrianvillin <avillin@cisco.com>
4 months agohs-test: use prebuilt curl with http3 support 36/40136/5
Florin Coras [Fri, 22 Dec 2023 03:18:25 +0000 (19:18 -0800)]
hs-test: use prebuilt curl with http3 support

Type: improvement

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

4 months agoquic: seed random generator during init 37/40137/2
Filip Tehlar [Fri, 22 Dec 2023 13:04:29 +0000 (14:04 +0100)]
quic: seed random generator during init

Quic does not seed random value, so if the plugin is loaded
separately RAND_bytes will fail.

Type: fix

Change-Id: If600cbde1fef30afb6316fc1a355261b008c3191
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 months agosession: unset fifo evt to enqueue ack evt on tcp timewait 28/40128/7
emmanuel [Thu, 21 Dec 2023 09:55:41 +0000 (01:55 -0800)]
session: unset fifo evt to enqueue ack evt on tcp timewait

Incase the ack for the fin is lost twice or want to dup ack
packets with incorrect ack/seq # at different times and
session state is already closed, this fifo event is set for
the first ack that went out and prevents queuing of further events.

Type: fix
Change-Id: I102019fca26918a51e055a751db7209011bd43ad
Signed-off-by: emmanuel <emmanuelscaria11@gmail.com>
4 months agovlib: lowercase vmbus device names 20/40120/2
Alexander Skorichenko [Tue, 19 Dec 2023 12:08:13 +0000 (13:08 +0100)]
vlib: lowercase vmbus device names

Use lowercased hex in uuid in sysfs/vmbus names

Type: fix

Change-Id: Ic4b7b995441723dc1b29ff8a75346cc8ba7f85f1
Signed-off-by: Alexander Skorichenko <askorichenko@netgate.com>
4 months agovlib: add error checks to thread pinning 25/40125/4
hsandid [Wed, 20 Dec 2023 14:41:54 +0000 (15:41 +0100)]
vlib: add error checks to thread pinning

Type: fix

Added error checks around pthread_setaffinity_np
calls to stop vpp launch if pinning fails.

Change-Id: Iec391c485d1832b6c2ff20fbf789608f6bcf7b57
Signed-off-by: hsandid <halsandi@cisco.com>
4 months agobuild: fix 'make test' target to build with clang 27/40127/2
Dave Wallace [Thu, 21 Dec 2023 01:02:45 +0000 (20:02 -0500)]
build: fix 'make test' target to build with clang

- gmake set CC=cc as the default therefore the test/test-debug
  makefile targets will build using gcc (cc == gcc for debian/ubuntu
  distros) unless set explicitly to clang due to use of 'CC=$(CC)' in
  test macro.

  Note: the CI builds vpp images prior to running 'make test', thus
  the CI does test vpp built using clang.  This basically makes local
  runs of 'make test' build using clang as well.

Type: make

Change-Id: I7221098c200be23b53bb616e41a42a6d65a03699
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
4 months agobuild: add .cmake to gitignore 34/40134/2
Damjan Marion [Thu, 21 Dec 2023 19:00:26 +0000 (20:00 +0100)]
build: add .cmake to gitignore

Type: improvement
Change-Id: I3047b4a750581d68053f522479b23865e3da2505
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 months agobuffers: add vlib_buffer_unalloc_to_pool() 32/40132/3
Damjan Marion [Thu, 21 Dec 2023 14:52:46 +0000 (15:52 +0100)]
buffers: add vlib_buffer_unalloc_to_pool()

Change-Id: Icd616989a525ef0be6c73a2ad91ae4871cf3921d
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 months agodev: per-queue format callbacks 33/40133/1
Damjan Marion [Thu, 21 Dec 2023 14:54:14 +0000 (15:54 +0100)]
dev: per-queue format callbacks

Change-Id: Ia9fa6fab6288b4d0876022e72bf4f49bd00a19d2
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 months agofib: format deleted LB 30/40130/3
Nathan Skrzypczak [Thu, 21 Dec 2023 10:35:30 +0000 (11:35 +0100)]
fib: format deleted LB

This patch allows the formatting of deleted Load-balancer
objects. This is needed in the case a trace references a DPO
that went away in the interim.

Type: improvement

Change-Id: I6d67519b8d62f69aafde3c8fe3065bc85a7adbde
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 months agotests: memif interface tests using libmemif 19/39319/6
Naveen Joy [Fri, 28 Jul 2023 23:33:30 +0000 (16:33 -0700)]
tests: memif interface tests using libmemif

Type: test

Change-Id: I711dfe65ad542a45acd484f0b4e3e6ade9576f66
Signed-off-by: Naveen Joy <najoy@cisco.com>
4 months agovirtio: virtio_flags api use enumflag instead of enum 11/40111/2
Ole Troan [Fri, 15 Dec 2023 07:37:26 +0000 (08:37 +0100)]
virtio: virtio_flags api use enumflag instead of enum

In the API there is a difference between enum and enumflags.
The latter one allowing multiple set entitires, while enum
only allows one.

Type: fix
Change-Id: I5db88c15c85fc6c7130b7b35febcd1ea02ef8f76
Signed-off-by: Ole Troan <otroan@employees.org>
4 months agosrv6-mobile: Implement SRv6 mobile API funcs 04/40104/2
Takeru Hayasaka [Thu, 27 Oct 2022 19:26:05 +0000 (04:26 +0900)]
srv6-mobile: Implement SRv6 mobile API funcs

This merge request adds the feature to manipulate localsids and policies for SRv6 mobile via API.

Type: feature
Signed-off-by: Takeru Hayasaka <hayatake396@gmail.com>
Change-Id: Ibb46bf71ae1d9d4591ce2c8ccf66f520887dad70

5 months agodevices: add cli support to enable disable qdisc bypass 34/35934/8
Mohsin Kazmi [Mon, 11 Apr 2022 17:21:40 +0000 (17:21 +0000)]
devices: add cli support to enable disable qdisc bypass

Type: improvement

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: Ic124f44e64bd60f41e750b4118be3e8d1d1eb70b

5 months agohs-test: decrease docker image size 07/40107/3
Filip Tehlar [Thu, 14 Dec 2023 15:29:11 +0000 (16:29 +0100)]
hs-test: decrease docker image size

Type: test

Change-Id: Ic1ad2f1f983ad8f8e8e8813f941e11757930c92e
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
5 months agohs-test: remove unnecessary app ns configs 05/40105/2
Filip Tehlar [Thu, 14 Dec 2023 12:06:54 +0000 (13:06 +0100)]
hs-test: remove unnecessary app ns configs

Type: test

Change-Id: I0226227dc756a5a3af5e9d3b0d65a38c0aa55b3d
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
5 months agotests: Added bpf trace filter plugin test 75/40075/7
adrianvillin [Wed, 6 Dec 2023 18:21:49 +0000 (19:21 +0100)]
tests: Added bpf trace filter plugin test

Type: test

Change-Id: I026d9298fe1372d03f61b6ad57c82628bab4c831
Signed-off-by: adrianvillin <avillin@cisco.com>
5 months agordma: add rdma_create_v4 that handles flags properly 06/40106/6
Vratko Polak [Thu, 14 Dec 2023 16:11:38 +0000 (17:11 +0100)]
rdma: add rdma_create_v4 that handles flags properly

The _v3 was not handling endianness on flags (e.g. mode).
Marking _v3 as deprecated, but keeping it
as there might be users who learned to preprocess their flag values.

+ Also, format PCI product_name as a vector, not a string.

Type: fix

Change-Id: I50c4b44f3570f02518dbd9a43239c1a37612d24a
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
5 months agosession: add forced reset api to ct transport 08/40108/3
Florin Coras [Thu, 14 Dec 2023 19:46:11 +0000 (11:46 -0800)]
session: add forced reset api to ct transport

Type: improvement

Change-Id: Iebf9ee8275a92e962679e3d0d22d33ed0bd8b3ab
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 months agotls: no closed notify if no app session 03/40103/3
Florin Coras [Wed, 13 Dec 2023 22:26:19 +0000 (14:26 -0800)]
tls: no closed notify if no app session

Type: fix

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

5 months agobpf_trace_filter: allow use whithout classifier 84/40084/2
Mohammed Hawari [Fri, 8 Dec 2023 10:16:54 +0000 (11:16 +0100)]
bpf_trace_filter: allow use whithout classifier

Change-Id: I7ac5693ca547fe7249e7b6297bade70a6052b169
Type: improvement
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
5 months agotls: postpone ho cleanup if not fully established 56/40056/3
Florin Coras [Tue, 5 Dec 2023 04:29:52 +0000 (20:29 -0800)]
tls: postpone ho cleanup if not fully established

If ho cleans up on first worker before owner of established session
receives connected notification, the ho session is prematurely cleaned
up.

Wait for established ctx to be allocated before freeing ho.

Type: fix

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

5 months agocnat: undo fib_entry_contribute_forwarding 90/40090/3
Nathan Skrzypczak [Mon, 11 Dec 2023 17:54:21 +0000 (18:54 +0100)]
cnat: undo fib_entry_contribute_forwarding

Type: fix

Change-Id: I9df43a34328209c87177a534d08919dda0af6096
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
5 months agodpdk: bump rdma-core to 49.0 92/40092/2
Dave Wallace [Tue, 12 Dec 2023 02:31:09 +0000 (21:31 -0500)]
dpdk: bump rdma-core to 49.0

- Per dpdk 23.11 release notes (rdma-core >= 48.0)

Type: feature

Change-Id: I6f73fdfd2226c501d22cd16e5c47500ff05fbff3
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 months agoipsec: allow receiving encrypted IP packets with TFC padding 63/39163/9
Arthur de Kerhor [Fri, 16 Jun 2023 07:48:52 +0000 (09:48 +0200)]
ipsec: allow receiving encrypted IP packets with TFC padding

Type: feature
Change-Id: I7b29c71d3d053af9a53931aa333484bf43a424ca
Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 months agovppinfra : fix alignment issue 87/40087/1
hsandid [Mon, 11 Dec 2023 03:47:11 +0000 (04:47 +0100)]
vppinfra : fix alignment issue

Type: fix

Modified alignment cast causing crash issues

Change-Id: Iae3bb767ef2ba81466bf1567264a4c76ae45bb92
Signed-off-by: hsandid <halsandi@cisco.com>
5 months agodev: caps and rx/tx offload support 80/40080/3
Damjan Marion [Thu, 7 Dec 2023 15:40:02 +0000 (16:40 +0100)]
dev: caps and rx/tx offload support

Type: improvement
Change-Id: I7972f595444eacdb020f3fa2a60331c40766fc0b
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 months agodpdk: never override devname if set via config 57/40057/4
Peter Morrow [Tue, 5 Dec 2023 10:07:10 +0000 (10:07 +0000)]
dpdk: never override devname if set via config

Even if the device name is specified in the startup config it may
be appended to if the device is a switch domain member. This leads
to unexpected device naming if an explicit device name was requested.

Type: fix
Change-Id: Ib56b4ac41c17008db55dc69497721e3cb7d540c1
Signed-off-by: Peter Morrow <pdmorrow@gmail.com>
5 months agodpdk-cryptodev: fix crypto-dispatch node stats 52/40052/2
Piotr Bronowski [Mon, 4 Dec 2023 14:47:48 +0000 (14:47 +0000)]
dpdk-cryptodev: fix crypto-dispatch node stats

This patch introduces a fix for correcting a counter for the number
of processed vectors in the crypto-dispatch node.

Type: fix

Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: Icaeb925a352a9ac766652f43c4e752f6727cdeb9

5 months agomisc: fix tracedump `show graph` out-of-buffer 63/40063/4
Dmitry Valter [Tue, 5 Dec 2023 17:16:57 +0000 (17:16 +0000)]
misc: fix tracedump `show graph` out-of-buffer

Use the correct string type for vlib_get_node_by_name. Found by ASAN.

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

5 months agocrypto-ipsecmb: bump intel-ipsec-mb version to 1.5 77/39977/2
Ranjan Raj [Wed, 29 Nov 2023 05:47:44 +0000 (05:47 +0000)]
crypto-ipsecmb: bump intel-ipsec-mb version to 1.5

This patch update the Intel IPsec-MB lib to v1.5

Type: feature

Change-Id: Ib2b5d28866f52d428d9400318cffcae11f935c3f
Signed-off-by: Ranjan Raj <ranjanx.raj@intel.com>
5 months agovnet: allow format deleted swifidx 78/40078/3
Nathan Skrzypczak [Wed, 6 Dec 2023 16:34:57 +0000 (17:34 +0100)]
vnet: allow format deleted swifidx

This patch prevents the sw interfaces format
function to fail when the interface was deleted.
It also prints the swifindex alongside the 'DELETED'
keyword.

Printing deleted swifindex should not happen, but it is still
helpful to have these safeguards for troubleshooting in the case
invariants get corrupted (e.g. fib entry refcounts, ...)

Type: improvement

Change-Id: I66711049db2eebe0ad17e37c3a260ac81d1e5134
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
5 months agodpdk: bump to DPDK 23.11 67/40067/2
Kai Ji [Tue, 5 Dec 2023 23:38:39 +0000 (23:38 +0000)]
dpdk: bump to DPDK 23.11

This patch bumps DPDK version to 23.11

Type: feature

Change-Id: Id19fa6e2789ffa3264614a011656dfe2303173ab
Signed-off-by: Kai Ji <kai.ji@intel.com>
5 months agotests: tracedump test replace hardcoded value 69/40069/9
hsandid [Wed, 6 Dec 2023 10:14:19 +0000 (11:14 +0100)]
tests: tracedump test replace hardcoded value

Type: fix

Fetch 'pg-input' node index instead
of using a hardcoded value

Change-Id: I1ca27ddb54806530b546085d83e83b880acc4573
Signed-off-by: hsandid <halsandi@cisco.com>
5 months agoiavf: set max_pkt_size even for disabled queues to make i40e PF driver happy 59/40059/1
Damjan Marion [Tue, 5 Dec 2023 12:23:31 +0000 (13:23 +0100)]
iavf: set max_pkt_size even for disabled queues to make i40e PF driver happy

Type: improvement
Change-Id: I3daf6c32888a15c7ef1f32e729c1e23765d14dc6
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 months agol2: resolve l2 rewrite entry 'hit_count' always being 0 bug 43/39943/8
yanlong [Sun, 19 Nov 2023 14:19:42 +0000 (06:19 -0800)]
l2: resolve l2 rewrite entry 'hit_count' always being 0 bug

The hit_count does not implement the corresponding processing logic, and here the missing is fixed

Type: fix
Fixes: missing

Change-Id: I04a8e11d6b48c2a15c371cbeb2467fa89a9d82bb
Signed-off-by: yanlong <dyl_wlc@163.com>
5 months agohttp: fix coverity warning 48/40048/2
Filip Tehlar [Mon, 4 Dec 2023 08:57:00 +0000 (09:57 +0100)]
http: fix coverity warning

Type: fix

Change-Id: I659a67293763a6035cfa64a4057ebf716fe93ab4
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
5 months agoiavf: add missing cfg_change_validate callback 50/40050/2
Damjan Marion [Mon, 4 Dec 2023 14:25:12 +0000 (15:25 +0100)]
iavf: add missing cfg_change_validate callback

Type: fix
Fixes: 47447f1f
Change-Id: I438f5535bc48ca5397b8f5d3fbbd893ca6a511b4
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 months agoiavf: workaround for case when PF driver sends zero for max_mtu 49/40049/2
Damjan Marion [Mon, 4 Dec 2023 12:15:23 +0000 (12:15 +0000)]
iavf: workaround for case when PF driver sends zero for max_mtu

Type: improvement
Change-Id: Ie4b2b958a24cdde8c183b700d864fc6f5b0df08f
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 months agodev: mark API handlers as thread safe 24/40024/2
Damjan Marion [Wed, 29 Nov 2023 13:54:15 +0000 (13:54 +0000)]
dev: mark API handlers as thread safe

Type: improvement
Change-Id: I2acab04ddb6a46a637ed17c683fb37ed7bce3df6
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 months agosession: no segment handle on worker del 45/40045/2
Florin Coras [Sat, 2 Dec 2023 02:47:45 +0000 (18:47 -0800)]
session: no segment handle on worker del

Coverity report.

Type: fix

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

5 months agovcl: remove perror ldp call 44/40044/2
Florin Coras [Fri, 1 Dec 2023 21:23:35 +0000 (13:23 -0800)]
vcl: remove perror ldp call

Reported by coverity

Type: fix

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

5 months agoipsec: should use praddr_ instead of pladdr_ 28/39228/2
Dengfeng Liu [Thu, 13 Jul 2023 12:57:59 +0000 (20:57 +0800)]
ipsec: should use praddr_ instead of pladdr_

Type: fix

Change-Id: I982ef624226807d7c263e3ff83c108f7d31f61f1
Signed-off-by: Dengfeng Liu <liudf0716@gmail.com>
5 months agotests: Added tracedump plugin tests 61/39861/12
adrianvillin [Fri, 10 Nov 2023 11:48:16 +0000 (12:48 +0100)]
tests: Added tracedump plugin tests

Type: test

Change-Id: Ie054924eb5e5b2b146db8d2b63511c8b0400f045
Signed-off-by: adrianvillin <avillin@cisco.com>
5 months agoiavf: limit maximum number of queues to 32 30/40030/2
Damjan Marion [Thu, 30 Nov 2023 17:16:20 +0000 (17:16 +0000)]
iavf: limit maximum number of queues to 32

First genaration of AVF APIs we currently use doesn't support more...

Type: improvement
Change-Id: I1ae27f322403a2b455fcad8b028fa2004b449789
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 months agodev: use the endian reply macro 28/40028/2
Vratko Polak [Thu, 30 Nov 2023 16:42:25 +0000 (17:42 +0100)]
dev: use the endian reply macro

Checkstyle also forces the new indentation.

Type: fix
Fixes: ddf6cec37027547ff7cc61e15bb8080664d41514

Change-Id: Ife96928d6ca30ba94e1c423d557d6ed9d68eca2b
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
5 months agohs-test: add http prom test 21/40021/2
Filip Tehlar [Wed, 29 Nov 2023 11:59:05 +0000 (12:59 +0100)]
hs-test: add http prom test

Type: test

Change-Id: Ia15ecc3cf2c087a6959601ff02e187c32570ff60
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
5 months agosession: no reply on app del worker with sapi 17/40017/2
Florin Coras [Tue, 28 Nov 2023 23:28:16 +0000 (15:28 -0800)]
session: no reply on app del worker with sapi

With socket api, applications should not expect reply after worker del
msg. VCL in particular closes the socket after it enqueues the message.

Found by ASAN.

Type: fix

Signed-off-by: Dmitry Valter <d-valter@yandex-team.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I1be02a0cde6b96a96edb709f3fe30bbc01ff2d24

5 months agovcl: fix init of ldp workers 18/40018/4
Florin Coras [Wed, 29 Nov 2023 00:05:29 +0000 (16:05 -0800)]
vcl: fix init of ldp workers

LDP workers is used as vector but was initialized as a pool. There was
no side effect but ASAN does not properly unpoison memory and this
triggers false used-after-poison crashes.

Type: fix

Signed-off-by: Dmitry Valter <d-valter@yandex-team.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie769dad0e86ab970de9929800d0a4131f846e70e

5 months agotcp: fix rxt send of new data assert 19/40019/2
Florin Coras [Wed, 29 Nov 2023 07:21:18 +0000 (23:21 -0800)]
tcp: fix rxt send of new data assert

We might have less than 1 mss when attempting write but more after
write, as application could be actively enqueuing more data. Relax
assert.

Type: fix

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

5 months agopci: fix MSI-X vector length check 22/40022/1
Damjan Marion [Wed, 29 Nov 2023 12:32:54 +0000 (12:32 +0000)]
pci: fix MSI-X vector length check

Type: fix
Fixes: 38c6191
Change-Id: I7760947986dc56236f2494fb1c8c238321489ef6
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 months agotcp: allow unsent segments less than mss in recovery 11/40011/2
Florin Coras [Tue, 28 Nov 2023 00:03:26 +0000 (16:03 -0800)]
tcp: allow unsent segments less than mss in recovery

During recovery, send unsent data even if less than mss available as
application is not guaranteed to provide more.

This should speed up recovery when all data in flight was lost.

Type: improvement

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

5 months agotcp: add counter for accepted connections 16/40016/3
Florin Coras [Tue, 28 Nov 2023 19:30:42 +0000 (11:30 -0800)]
tcp: add counter for accepted connections

Type: improvement

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

5 months agosession: fix asan failure 15/40015/4
Georgy Borodin [Tue, 28 Nov 2023 15:04:27 +0000 (16:04 +0100)]
session: fix asan failure

fix asan failure when params number is less then 3:
functions that are set as format_half_open pointer values have
different number of arguments

Type: fix
Fixes: de9a849a18514f0b09bb5f57a73f6a57ee425c76
Change-Id: I6b6e1adf4ffc0c1ec847613f00fe269af640d42b
Signed-off-by: Georgy Borodin <bor1-go@yandex-team.ru>
5 months agotests: fix default node variant in tests 58/33758/3
Dmitry Valter [Sun, 19 Sep 2021 20:50:57 +0000 (23:50 +0300)]
tests: fix default node variant in tests

Pass a correct form of node variant config in tests

Type: fix
Signed-off-by: d-valter@yandex-team.ru
Change-Id: I8cdc240b18a1664e57a5814d6cd644891c99f515
Fixes: 8800f732f868bf54da8adba05e38bd2477895ca5

5 months agotests: Added NSIM plugin tests 00/39900/15
adrianvillin [Thu, 16 Nov 2023 09:03:00 +0000 (10:03 +0100)]
tests: Added NSIM plugin tests

Type: test

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