Ole Troan [Tue, 23 Jan 2024 17:56:23 +0000 (18:56 +0100)]
api: provide api definition over api
This patch allows a client to bootstrap itself by downloading the
JSON API definitions over the API itself.
This patch enables it for Python (probably need a dynamic language).
Call VPPApiClient with the new bootstrapapi=True parameter.
Example (Python):
from vpp_papi import VPPApiClient
vpp = VPPApiClient(bootstrapapi=True)
rv = vpp.connect("foobar")
assert rv == 0
print(f'SHOW VERSION: {vpp.api.show_version()}')
vpp.disconnect()
Type: feature
Change-Id: Id903fdccc82b2e22aa1994331d2c150253f2ccae
Signed-off-by: Ole Troan <otroan@employees.org>
Filip Tehlar [Wed, 24 Jan 2024 14:11:27 +0000 (15:11 +0100)]
hs-test: update docs on debugging
Type: docs
Change-Id: I3bd89feb53a35532c79283bcdac2c87635c60920
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Filip Tehlar [Wed, 24 Jan 2024 10:59:44 +0000 (11:59 +0100)]
hs-test: use relative paths for docker volumes
Type: test
Change-Id: I9d5c15662e50ceea08d2ccc653db36c5e3df869e
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Arthur de Kerhor [Mon, 8 Jan 2024 18:30:57 +0000 (19:30 +0100)]
ip: don't export useless error counters for ip6 rewrite
the error node is set to ip6_input in the inline funcition
associated with ip6_rewrite. Thus, error counters defined
for node ip6 rewrite are never used.
Type: fix
Change-Id: Id6bef633928b0fff9069498c2e39e9f5bea2cf9b
Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
adrianvillin [Wed, 24 Jan 2024 06:45:59 +0000 (01:45 -0500)]
hs-test: updated golang and packages
ioutil.ReadFile is deprecated, replaced with os.ReadFile
Type: test
Change-Id: I9f8075796d05d47ea4dddd7e986026a267a7fe0c
Signed-off-by: adrianvillin <avillin@cisco.com>
Florin Coras [Tue, 23 Jan 2024 17:40:45 +0000 (09:40 -0800)]
udp: update rx sw_if_index to ip-local selected one
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0afd1b9ddbc17825aab3bfa3e5f9c6c0fbc561ca
Andrew Yourtchenko [Wed, 24 Jan 2024 12:27:20 +0000 (12:27 +0000)]
misc: Initial 24.06-rc0 commit
Type: docs
Change-Id: Ia459d5ba6f7da3081192c6aba156e66fb2d6377c
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Dmitry Valter [Thu, 18 Jan 2024 09:09:12 +0000 (09:09 +0000)]
vppinfra: fix clib_array_mask_u32 OOB reads
Handle non-even n_elts for the larger array instead of reading past
the source buffer.
Type: fix
Fixes:
f62ed3f9c1ec3e8db36f63d6a54f46b7bea43723
Signed-off-by: Dmitry Valter <d-valter@yandex-team.com>
Change-Id: Ic1708a3f33fe71ca752345b5c77b6ae7a2d42bcd
Florin Coras [Tue, 23 Jan 2024 02:27:43 +0000 (18:27 -0800)]
tls: fix ho leak on tcp connect return
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I40345d635b8067dcffbbdd39d0a5b0c0934a6d54
Vratko Polak [Mon, 22 Jan 2024 13:56:02 +0000 (14:56 +0100)]
papi: support old style of providing apidir
77caeb1b193404e76beb27a1aa81321e8eb1cf1f has changed the behavior
in an incompatible way, breaking users (including CSIT).
The new behavior is more pythonic,
but the old behavior has to be supported
at least one release after publicly deprecating it.
Type: fix
Change-Id: I9dfdd2229065010216e49db80b14b856c545965c
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Florin Coras [Tue, 23 Jan 2024 02:38:08 +0000 (18:38 -0800)]
tls: overlap parent opaque with listener ctx
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0a0d0b8721f5a15da47c7ac0e58cd50e159b2f54
Florin Coras [Tue, 23 Jan 2024 02:06:41 +0000 (18:06 -0800)]
tls: set flag whenever app session is freed
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3d44ff851da00573343e15712284af3b9c3912e3
Florin Coras [Tue, 23 Jan 2024 01:04:36 +0000 (17:04 -0800)]
session: flag instead of state for filtering ntf
Avoid situations when notifications are delayed for long enough for
transports to start closing/cleaning up.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id35b0099adb5242108154a5e19d5ee15e6ca0058
Tom Jones [Thu, 18 Jan 2024 10:48:17 +0000 (10:48 +0000)]
build: Explicitly use gmake
VPP requires GNU Make to build, on GNU systems (such as Debian), GNU
Make is installed as 'make', typically with a symlink from 'gmake'.
On other systems (such as FreeBSD), 'make' is a BSD Make derriviative
and GNU Make is installed a 'gmake'.
Use $(MAKE) variable for make calls from within Makefiles. This
variable is set to the path of the calling make program, i.e.,
/usr/local/bin/gmake on a bsd system.
This is the recommended way to call make from Makefiles in the GNU Make
documentation.
Type: improvement
Change-Id: Id9162a34a0f8358f22090718087918dae31c0fce
Signed-off-by: Tom Jones <thj@freebsd.org>
Damjan Marion [Fri, 19 Jan 2024 20:19:57 +0000 (21:19 +0100)]
buffers: add compile-time option to set buffer alignment
Type: improvement
Change-Id: I88c4c45bed0bdd8686e17e4f77a7d32a08c995aa
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Fri, 19 Jan 2024 20:55:03 +0000 (21:55 +0100)]
build: disable plugins which require openssl if openssl is not available
Type: improvement
Change-Id: I4591fcb31dd28d1771b3d6e5afdaa14f29efe6ef
Signed-off-by: Damjan Marion <damarion@cisco.com>
Benoît Ganne [Fri, 19 Jan 2024 16:43:44 +0000 (17:43 +0100)]
build: fix default platform
When unsetting VPP_PLATFORM in cmake, it unmasks the cached value
instead, misleading the platform selection logic in src/cmake/cpu.cmake
Type: fix
Fixes:
01fe7ab88e
Change-Id: I676cd0af9ba28150f8ac07724c03df8ef24b640f
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Filip Tehlar [Mon, 15 Jan 2024 12:11:28 +0000 (13:11 +0100)]
hs-test: change convention for skipping tests
Also re-enable external echo QUIC test.
Type: test
Change-Id: I3973409c31fd7c42b97ac3ceae1a5cbad6f1b2b6
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Dmitry Valter [Fri, 5 Jan 2024 14:30:15 +0000 (14:30 +0000)]
vppinfra: fix test_bihash
Correctly wrap data indices in test_bihash.
Type: fix
Signed-off-by: Dmitry Valter <d-valter@yandex-team.com>
Change-Id: I740fa1cf9f8c382c12f01f607095c5995be6845f
Denys Haryachyy [Fri, 17 Nov 2023 09:57:18 +0000 (11:57 +0200)]
lldp: dump api
Introduce a dump api for LLDP plugin
Type: improvement
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
Change-Id: If67dedd329cced59227187284646d147ef6ef92c
Georgy Borodin [Mon, 11 Dec 2023 00:44:42 +0000 (01:44 +0100)]
vppinfra: fix bracket balance
fix bracket balance in pool_put_will_expand
Type: fix
Fixes:
66d4cb5a217d556aa7bd2471f02a39badb6d5cd2
Change-Id: I921366c0898cca39cc728b7c7ef4c4c725c6b87d
Signed-off-by: Georgy Borodin <bor1-go@yandex-team.ru>
Dmitry Valter [Fri, 5 Jan 2024 14:28:08 +0000 (14:28 +0000)]
vppinfra: fix vec_prepend use-after-free
Don't access free'd memory in vec_prepend.
Don't allow prepend when v1 == v2 as it also causes a use-after-free.
Found via ASAN.
Type: fix
Signed-off-by: Dmitry Valter <d-valter@yandex-team.com>
Change-Id: I21f8422c007d07d40d237e873b84c042be1fe8e8
Mohsin Kazmi [Wed, 17 Jan 2024 12:00:16 +0000 (12:00 +0000)]
memif: use VPP cacheline size for memif when compiling within VPP
Type: make
memif.h file is independent code which can be used outside of
VPP. Hence it uses its own cacheline size MACRO. This patch
sets the value of MEMIF_CACHELINE_SIZE in the cmake file for
memif plugin to VPP_CACHE_LINE_SIZE.
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I8185e78897f4571f1a0430dd7e758816e127444c
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>
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>
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>
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>
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>
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>
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
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
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>
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
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>
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>
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>
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>
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
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
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>
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
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
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>
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>
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>
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>
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
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>
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>
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
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>
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>
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>
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>
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>
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>
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
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
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
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
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
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>
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>
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>
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
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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
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>
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>
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>
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>
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>
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
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>
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
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>
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>
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>
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>
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>
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>
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
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
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>
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>
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>