Benoît Ganne [Wed, 6 Mar 2024 18:02:18 +0000 (19:02 +0100)]
fib: fix off-by-one error in rewrite length check
The rewrite string can be up to max_size, and max_size can be up to
VNET_REWRITE_TOTAL_BYTES. Don't waste the last byte.
Type: fix
Change-Id: I2fb7e9873b6b4c1e6a55b172c7f753f3c5910802
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Vladislav Grishenko [Wed, 24 Jan 2024 11:17:23 +0000 (16:17 +0500)]
mpls: fix default mpls lb hash config
In case of multiple path within tunnel, mpls lookup node
computes lb hash with mpls_compute_flow_hash config value 0,
so only mpls label and l4 ports gets accounted, not 5-tuple.
This leads to flow traffic polarization and disbalance over
mpls paths.
Use mpls hash config from lb instead, usually it'll be
MPLS_FLOw_HASH_DEFAULT with 5-tuple plus flowlabel.
As optimization, fix flow hash reuse from the previous lookup
node if present, like ip_lookup does. Previously mpls lookup
always calcs the hash.
Test lb distribution for both cases.
Also, use the same flow hash hex format in ip4/ip6 and mpls
traces for easier reading, most code changes is due fixstyle
formatting.
Type: fix
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: Ib89e1ab3edec14269866fe825a3e887d6c817b7c
Pim van Pelt [Fri, 8 Mar 2024 08:27:40 +0000 (09:27 +0100)]
vnet: fix ARP for unnumbered
On unnumbered interfaces, ARP fails because there is no attached route.
Allow replies to peer-to-peer addresses on unnumbered interfaces:
eg. 192.0.2.1/32 <-> 192.0.2.2/32
Type: fix
Change-Id: Ibeb8d8ebc8d58d5bfb0724739a17694e0217356e
Signed-off-by: Pim van Pelt <pim@ipng.nl>
Florin Coras [Fri, 5 Apr 2024 21:50:10 +0000 (14:50 -0700)]
tls: fix session state update on accept
Only set state to ready if session is not already closing.
Type: fix
Change-Id: Ic95667f43ed09d693f1cf7c9f1c16f7f995ea2d8
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dmitry Valter [Wed, 6 Mar 2024 22:43:27 +0000 (22:43 +0000)]
vppinfra: fix mask compare and compress OOB reads
Use mask_load_zero to avoid out-of-buffer reads in vectorized
function versions.
Type: fix
Signed-off-by: Dmitry Valter <d-valter@yandex-team.com>
Change-Id: I12bcb817ccf2db210c1c99fdfa444dc3f540035b
Damjan Marion [Fri, 29 Mar 2024 20:33:03 +0000 (21:33 +0100)]
octeon: fix memory ordering issue in tx batch free
Type: fix
Fixes:
01fe7ab
Change-Id: I4425e809f0977521ddecf91b58b26fe4519dd6e0
Signed-off-by: Damjan Marion <damarion@cisco.com>
Florin Coras [Fri, 5 Apr 2024 05:09:58 +0000 (22:09 -0700)]
session: fix cleanup for refused sessions
Type: fix
Change-Id: I739b7129c7e5a3fccefcdeeaf7f4a298223dd8eb
Signed-off-by: Florin Coras <fcoras@cisco.com>
Damjan Marion [Sat, 30 Mar 2024 13:56:51 +0000 (14:56 +0100)]
octeon: fix buffer free on full tx ring
Type: fix
Fixes:
01fe7ab
Change-Id: I4419107c4bcb7f85b76addfc62178b6e75e10a52
Signed-off-by: Damjan Marion <damarion@cisco.com>
Klement Sekera [Tue, 2 Apr 2024 10:51:10 +0000 (12:51 +0200)]
api: fix [un]formatting in vpp/api/types.c
vl_api_prefix_t.len is 1 byte only, but unformat %d writes 4 bytes
add helper functions unformat_u(8|16) which don't write more than
appropriate amount of bytes
fix other similar errors in vpp/api/types.c
Type: fix
Change-Id: I74a61a377147c373f8c25ed083052b2287763c39
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Maxime Peim [Thu, 4 Apr 2024 09:41:04 +0000 (11:41 +0200)]
ip6: fix icmp trace flag copy
Type: fix
Change-Id: I56c1a2717f197c889425449b37f51b0f2cc89ea5
Signed-off-by: Maxime Peim <mpeim@cisco.com>
Dave Wallace [Wed, 3 Apr 2024 16:31:42 +0000 (12:31 -0400)]
tests: upgrade python packages
Type: test
Change-Id: I01500466f3d15c79e38028677ce7e5c75d427fdc
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Matthew Smith [Tue, 2 Apr 2024 18:27:19 +0000 (18:27 +0000)]
tests: figure out correct version of sed to run
In run_in_venv_with_cleanup.sh, sed was changed to gsed to allow the
script to run properly on FreeBSD because the sed script uses an
expression that is specific to the gnu sed. Gnu sed is available to
be invoked as gsed on FreeBSD systems, but there is no executable or
symlink which allows sed to be run by the name gsed on ubuntu 22.04.
Check for the existence of gsed. If it's found, use it. Otherwise, just
use sed.
Type: fix
Fixes:
b3c863eae4
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Change-Id: I487197e486f500711aa3e87ec7ba899a53606b40
Florin Coras [Tue, 2 Apr 2024 02:51:22 +0000 (19:51 -0700)]
session: fix closing ntfs handling for refused sessions
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I1464e93cd3020eaa26068df558924e39dd255ccb
Dave Wallace [Tue, 23 Jan 2024 04:05:39 +0000 (23:05 -0500)]
fib: coverity 335348 out-of-bounds access
- also fix memory leak in adj_glean_walk_proto()
Type: fix
Change-Id: I3cd72b14506e6bfc9d8d77a65d7b9b2703992367
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Dmitry Valter [Wed, 6 Mar 2024 17:17:54 +0000 (17:17 +0000)]
vppinfra: fix array_mask_u32 underrun
Properly handle small buffers in the AVX256 version of array_mask_u32.
Type: fix
Signed-off-by: Dmitry Valter <d-valter@yandex-team.com>
Fixes:
f62ed3f9c1ec3e8db36f63d6a54f46b7bea43723
Change-Id: Idf1cb43ccf37bd7c439d11e4f68fe30064c6d09a
Vladislav Grishenko [Sat, 13 Mar 2021 10:17:03 +0000 (15:17 +0500)]
api: fix rx timeout thread busy loop after reconnect
After memclnt api client disconnect, read timeout is set to zero
and stays the same even after same client reconnect. It causes
client process to spin in timeout loop up to 100% cpu.
Fix it by resetting timeout process state upon every (re)connect.
Type: fix
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: I56812972a69c343f869eebbdfebdcbefd3d201e0
Dan Geist [Wed, 13 Mar 2024 15:24:05 +0000 (11:24 -0400)]
map: BR rule lookup update
Update to the MAP rule lookup (in IPv6) based on the rule's source
prefix instead of DMR
Type: improvement
Per RFC, the DMR is allowed to serve multiple MAP Basic Mapping Rules, but this
capability was prevented by the above logic.
Updates to the code include populating a new hash table based on the MAP rule
ip6 prefix and length, changing several functions to reference this new table,
and slight alterations to a few functions regarding pre-lookup bitmasking.
All changes are commented with [dgeist] and are in need of peer review,
especially the bitmask alterations.
An attempt was made at generating an additonal MAP rule in the test_map_br test
harness, but the coding appears very much oriented towards testing just one
rule. I would appreciate suggestions on how to test multi-rule cases.
Issue: VPP-2111
Change-Id: Id1fea280eba625e23cd893575d9b63aac7f48405
Signed-off-by: Dan Geist <dan@polter.net>
Dave Wallace [Fri, 15 Mar 2024 01:41:00 +0000 (21:41 -0400)]
misc: in crcchecker.py, don't check for uncommitted changes in CI
Type: fix
Change-Id: I63260a953e54518b3084b62fccdb4af81315b229
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Klement Sekera [Mon, 25 Mar 2024 14:23:55 +0000 (15:23 +0100)]
vapi: avoid memory leak
Erase removed elements to avoid memory leaks.
Type: fix
Change-Id: I1605bea8df7e08455691364efb0a12eb0d9dae93
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Georgy Borodin [Wed, 25 Oct 2023 23:44:12 +0000 (01:44 +0200)]
lb: fix using vip after free
fix use of vip after it was deleted
Type: fix
Fixes:
041eacc81656d2ed5bc01b96b15a7d03a1700f13
Change-Id: I5723485c5da7507fbc6c86ff6eb9f77127439f67
Signed-off-by: Georgy Borodin <bor1-go@yandex-team.ru>
Tom Jones [Wed, 7 Feb 2024 13:36:53 +0000 (13:36 +0000)]
tests: Use gnu sed explicitly in test setup/tear down
Type: improvement
Change-Id: Ie79fd8a5bcfd72a97bf460ef6437913ac34f439c
Signed-off-by: Tom Jones <thj@freebsd.org>
Tom Jones [Wed, 7 Feb 2024 13:26:41 +0000 (13:26 +0000)]
tests: Add missing socket imports in tests
Type: fix
Change-Id: I646f96517d3bda5c0f5644e6bb89ade7818fc466
Signed-off-by: Tom Jones <thj@freebsd.org>
Vladislav Grishenko [Wed, 24 Jan 2024 15:33:12 +0000 (20:33 +0500)]
l2: fix vxlan src port entropy with mpls payload
l2 tunnels like vxlan, gtpu, geneva use vnet_l2_compute_flow_hash() to
compute flow hash for udp src port entropy. In case of inner mpls tunnels
to the same lsr ethernet src and dst macs are the same, so l2 flow hash
is also the same leading to no src port entropy and the only rss queue
overflow on receiver side.
Fix it for all the possible vnet_l2_compute_flow_hash callers by making
mpls playload hash in additon to ip4/ip6. Visible performance impact is
not expected as it's only one check for mpls ethertype for common cases.
Type: fix
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: I69153d42fb3d7c094a670c674fac8d14039c626a
Vladislav Grishenko [Sat, 7 Oct 2023 18:04:03 +0000 (23:04 +0500)]
linux-cp: add support for tap num queues config
This change allows to limit lcp interface queues
to be used by explicit host interface workers.
Type: improvement
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: I0626f66021e5a5f251470156231dc44ddaea5ee6
Jon Loeliger [Fri, 22 Mar 2024 17:22:36 +0000 (12:22 -0500)]
fib: add early config support for IP and IP6 default FIB table names
Type: improvement
Change-Id: I8c248d9e224bd069b641a174da57d448371470af
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Tom Jones [Thu, 8 Feb 2024 14:59:03 +0000 (14:59 +0000)]
vhost: Only enable plugin on Linux
Type: improvement
Change-Id: I6cf5adbd609d911e15dcc6d976cda4ad21ce89ad
Signed-off-by: Tom Jones <thj@freebsd.org>
lijinhui [Thu, 22 Feb 2024 03:16:10 +0000 (11:16 +0800)]
vlib: fix counter_index check
Ensure counter index is valid before using it to lookup
the counter.
Type: fix
Change-Id: I423c7a6aa6b65f6367b18d8e99cf40f52e06b416
Signed-off-by: lijinhui <lijh_7@chinatelecom.cn>
Damjan Marion [Wed, 27 Mar 2024 21:53:21 +0000 (22:53 +0100)]
octeon: specify pool when alloc buffers
Type: fix
Fixes:
01fe7ab
Change-Id: I72fdaca250468d91a31efcce2fb447c97ba49dc7
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Wed, 27 Mar 2024 21:19:15 +0000 (22:19 +0100)]
octeon: refill even if nothing dequeued from rx queue
It may happen that rx queue is empty of free buffers due to previous
alloc failure.
Type: fix
Fixes:
01fe7ab
Change-Id: I344dcda11525444bd1358b3d36ffdf8ab9aa2677
Signed-off-by: Damjan Marion <damarion@cisco.com>
Kai Ji [Thu, 28 Mar 2024 17:21:37 +0000 (17:21 +0000)]
ipsec: fix clang compile issue
Type: fix
Change-Id: Ic015b37e18a43c49c3fb3dbff284a17fa2c5fd99
Signed-off-by: Fan Zhang <fanzhang.oss@gmail.com>
Signed-off-by: Kai Ji <kai.ji@intel.com>
Florin Coras [Fri, 29 Mar 2024 22:39:58 +0000 (15:39 -0700)]
tls: fix rescheduling when no data available
Don't force tx rescheduling of tls session if no forward progress is
made. The session will still be rescheduled by the session infra if
there's pending tx data.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic57b6ee79969055cec782938668c054bcc39f206
Florin Coras [Sat, 30 Mar 2024 01:28:35 +0000 (18:28 -0700)]
session: fix api coverity warnings
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ieb4e9d9e39b937ad4c7316b3955b3ca296f0a191
Florin Coras [Fri, 22 Mar 2024 23:29:09 +0000 (16:29 -0700)]
session: add new api for enq tx io events
Type: improvement
Change-Id: Iefe5c2e610a26241a88ca783ac548fd8f2317bb0
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Fri, 29 Mar 2024 03:07:31 +0000 (20:07 -0700)]
session: use custom types for session flags and state
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I04f836d09a1cbd5a5b55dc64359d2d761dfc4988
Florin Coras [Fri, 4 Aug 2023 23:14:01 +0000 (16:14 -0700)]
session: improve use of session handles
First step towards moving to an 8 byte struct instead of u64.
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Idd0b95520ab7158e175b9af1702fc09c0613a4bb
hsandid [Mon, 25 Mar 2024 16:51:31 +0000 (17:51 +0100)]
vlib: improve automatic core pinning
Type: feature
Auto core pinning now fetches vpp cpu affinity list
using pthread api. This enables us to do core-pinning in
environments where the host cpu list does not necessarily align
with cpus available to vpp
Change-Id: Ife8c2a2351c08c5c6c4fdf7c729eeff2697bc39a
Signed-off-by: hsandid <halsandi@cisco.com>
hsandid [Tue, 26 Mar 2024 17:44:19 +0000 (18:44 +0100)]
misc: deprecate lawful-intercept
Type: refactor
Change-Id: Ifd7f5b351401cdcaaaf57fefc5dbbfdaf235054e
Signed-off-by: hsandid <halsandi@cisco.com>
Mohammed Hawari [Thu, 14 Mar 2024 21:51:55 +0000 (22:51 +0100)]
acl: rework headers to enable out-of-tree usage
Change-Id: I1f8adf1f5650ab6c04e03c95d7a8d0bfa39b5f2d
Type: improvement
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Florin Coras [Wed, 27 Mar 2024 02:47:27 +0000 (19:47 -0700)]
tls: init session for accepted ctx
Make sure session is marked as invalid.
Type: improvement
Change-Id: I1c861645de95ef15a24acd4fe6dd5364a55b4fb8
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Fri, 22 Mar 2024 23:12:53 +0000 (16:12 -0700)]
tcp: avoid fr segments less than mss if possible
Type: improvement
Change-Id: I958e059384db3c13a29f64be96877f57617bbae2
Signed-off-by: Florin Coras <fcoras@cisco.com>
Tom Jones [Wed, 7 Feb 2024 13:29:51 +0000 (13:29 +0000)]
tests: Add support for getting corefile patterns on FreeBSD
Type: improvement
Change-Id: I960edc05a9a77eb55f67cb1ec01d2b3122298ef8
Signed-off-by: Tom Jones <thj@freebsd.org>
Tom Jones [Wed, 7 Feb 2024 13:27:44 +0000 (13:27 +0000)]
tests: Add platform handling for FreeBSD
FreeBSD doesn't have an easy mechanism to discover CPU features
currently. For tests declare we don't support anything we are asked
about.
Add the FreeBSD spelling of amd64 while we are here.
Type: improvement
Change-Id: I3eb5db856ee5cbc71250e47eee619e2f620de33a
Signed-off-by: Tom Jones <thj@freebsd.org>
Tom Jones [Wed, 7 Feb 2024 13:26:58 +0000 (13:26 +0000)]
tests: Add missing struct import
Type: fix
Change-Id: I957877d7a82dea437c072e493561894f11321aaf
Signed-off-by: Tom Jones <thj@freebsd.org>
Tom Jones [Wed, 7 Feb 2024 13:28:58 +0000 (13:28 +0000)]
tests: Use errno value rather than a specific int
For portability we use errno defines rather than explicit int values
when checking for errors.
Type: improvement
Change-Id: Ib5fc1db357da150d008d5a11bef5dbc7ec354cfb
Signed-off-by: Tom Jones <thj@freebsd.org>
Tom Jones [Wed, 7 Feb 2024 13:34:56 +0000 (13:34 +0000)]
tests: Add a socket timeout
On FreeBSD a races seems to occur between the states socket connecting
and VPP accepting the connection and calling getpeername. The recv_fd
call here will fail with no fds before the VPP process has time to
handle the connection.
Introducing a socket timeout removes this failure on FreeBSD and allows
the test suite to run. Add a timeout on all platforms to try to avoid
this race everywhere.
Type: improvement
Change-Id: I96f77f924a9491222bc213b534cb17001d081f3f
Signed-off-by: Tom Jones <thj@freebsd.org>
Tom Jones [Wed, 7 Feb 2024 13:17:17 +0000 (13:17 +0000)]
build: Detect number of CPUs for build processes on FreeBSD
Type: improvement
Change-Id: Ia3a00266f47f0c3e567efa143ef08bf4e8cffe35
Signed-off-by: Tom Jones <thj@freebsd.org>
Tom Jones [Wed, 7 Feb 2024 13:31:50 +0000 (13:31 +0000)]
papi: Use CMSG_SPACE for sizing ancillary buffer space
CMSG_LEN provides the length required to store an ancillary item, but it
does not consider padding. RFC 3542 requires portable applications to
use CMSG_SPACE(), this is documented in the python API:
https://docs.python.org/3/library/socket.html#socket.CMSG_LEN
Type: improvement
Change-Id: I0eab470585f2f39bea38639db95d6b0e047d2cff
Signed-off-by: Tom Jones <thj@freebsd.org>
Tom Jones [Tue, 30 Jan 2024 16:47:27 +0000 (16:47 +0000)]
nat: Include platform specific headers on FreeBSD
Type: improvement
Change-Id: I43f59037181ec6b76499e8ee1d82c04670119dc9
Signed-off-by: Tom Jones <thj@freebsd.org>
luoyaozu [Mon, 25 Mar 2024 12:32:26 +0000 (20:32 +0800)]
vrrp: fix vrrp_garp_or_na_send()'s memory leak
need free bi after send packets
Type: fix
Signed-off-by: luoyaozu <luoyaozu@foxmail.com>
Change-Id: I98d03820366c3d106df212c4eb353ec6a228e20e
Florin Coras [Mon, 18 Mar 2024 19:25:38 +0000 (12:25 -0700)]
vcl: add api to retrieve num bytes for tx
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iaa1b026e2baea1c03f8c75e7d6879d0ff6d379d6
Florin Coras [Fri, 22 Mar 2024 21:47:16 +0000 (14:47 -0700)]
tls: pass session state to engine on client init
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ibe218a922ab656b8362e3c085193cb848783c255
Dmitry Valter [Thu, 1 Sep 2022 13:59:26 +0000 (13:59 +0000)]
fib: fix vectorized impl buffer typo
Fix copy-paste typo with an incorrect index.
Type: fix
Signed-off-by: Dmitry Valter <d-valter@yandex-team.com>
Change-Id: I463e6f016df9cd24e96defcd30c1b442b8809416
Fan Zhang [Wed, 13 Mar 2024 02:49:31 +0000 (02:49 +0000)]
ipsec: esp_decrypt code clean up
Type: improvement
Change-Id: Icac31a8a3da71334e2b877f3b8e5d5a7cc5e76b8
Signed-off-by: Fan Zhang <fanzhang.oss@gmail.com>
Dmitry Valter [Thu, 7 Mar 2024 17:55:29 +0000 (17:55 +0000)]
dpdk-cryptodev: fix coverity issues
Copy
v23.10-rc0-154-gfeda2ff64 fix to the unbatched path
Type: fix
Signed-off-by: Dmitry Valter <d-valter@yandex-team.com>
Change-Id: I2f58ed9a39439b22918946f328f96e676c68add9
Maxime Peim [Thu, 21 Mar 2024 15:01:50 +0000 (16:01 +0100)]
mss_clamp: fix next layer in ipv6
Type: fix
Change-Id: I06d56e6d4be2e728e13053a66273a71656ac14c4
Signed-off-by: Maxime Peim <mpeim@cisco.com>
Florin Coras [Wed, 20 Mar 2024 23:31:38 +0000 (16:31 -0700)]
session: fix workers race to allocate lookup table
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I60600452c91184da571d4630bf2f0d9c24a3e85e
Arthur de Kerhor [Wed, 22 Sep 2021 12:53:24 +0000 (14:53 +0200)]
ip: add support for buffer offload metadata in ip midchain
The offload should be handled by gso node or by the NIC
if the latter has the relevant capabilities. But ip midchain
is missing the support for buffer offload metadata in case
of GSO packet.
This patch adds the relevant support to add the buffer metadata
if the packet is GSO/IPIP to be handled accordingly.
Type: improvement
Change-Id: I17f5d71bf4c5f43a85ca3f2fbebfa1426b42ef69
Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Fan Zhang [Tue, 12 Mar 2024 20:39:12 +0000 (20:39 +0000)]
ipsec: remove unused parameter for esp_add_footer_and_icv
Type: improvement
Change-Id: Ib6c4e6bc42dd63cb2fdb2dfa7e94baa709e7185b
Signed-off-by: Fan Zhang <fanzhang.oss@gmail.com>
Florin Coras [Wed, 28 Feb 2024 01:10:25 +0000 (17:10 -0800)]
tls: avoid app session preallocation
Since async rx event infra decouples notification event generation from
delivery we no longer run the risk of having tls realloc session pools
while session layer still holds a pointer to the accepted/connected tcp
session.
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I1bb429a058707aba1d4f32ea33615a2367e66969
Tom Jones [Wed, 20 Mar 2024 09:52:16 +0000 (09:52 +0000)]
vppinfra: Define EBADFD on FreeBSD
Type: improvement
Change-Id: I303a8a7333d44f6eab902d4d61023cfa96760dd2
Signed-off-by: Tom Jones <thj@freebsd.org>
Tom Jones [Wed, 31 Jan 2024 09:42:37 +0000 (09:42 +0000)]
vcl: Only build vcl_ldpreload on Linux
vcl_ldpreload requires some additional porting for FreeBSD, until that
can be completed only build on Linux.
Type: improvement
Change-Id: I9b0942114252a0c6241640d2e454861c2b5d4304
Signed-off-by: Tom Jones <thj@freebsd.org>
Florin Coras [Thu, 14 Mar 2024 05:03:33 +0000 (22:03 -0700)]
tls: handle attepts to renegotiate hs
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I549d0c8715e5c06bfc22be26ca1dc78ec3c29a61
Stanislav Zaikin [Wed, 6 Mar 2024 18:48:30 +0000 (19:48 +0100)]
vapi: uds transport support
introduce ability to connect over unix socket instead of shared memory
Type: improvement
Change-Id: Id9042c74e33ad4e418896c4d7ae48bb9106195c9
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Damjan Marion [Mon, 12 Feb 2024 19:44:58 +0000 (19:44 +0000)]
vppinfra: os agnostic api for getting CPU information
Avoid direct sysfs reads when possible...
Type: improvement
Change-Id: I2b84cd18f3da47925d068951f24b79b5b6e20bb1
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Fri, 15 Mar 2024 19:03:41 +0000 (19:03 +0000)]
build: add option to specify supported OS list for plugin
Type: improvement
Change-Id: I0d6f11d5ece19c5e0e00dfdadc9d4c09274ae8e1
Signed-off-by: Damjan Marion <damarion@cisco.com>
Klement Sekera [Fri, 15 Mar 2024 17:16:52 +0000 (18:16 +0100)]
ip: reassembly - return correct value
If already enabled, return 0 to indicate success.
Type: fix
Change-Id: I4a182e14df9b05698ad93d596a97c46a020fd54b
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Tom Jones [Tue, 30 Jan 2024 16:49:38 +0000 (16:49 +0000)]
misc: Add platform specific header on FreeBSD
Type: improvement
Change-Id: Ia23414e87d64567d5124b8297315ed7a426c3651
Signed-off-by: Tom Jones <thj@freebsd.org>
Florin Coras [Wed, 13 Mar 2024 00:00:51 +0000 (17:00 -0700)]
vcl: fix bitfield truncation with clang16
Reported by phlax while building Envoy with clang16
error: implicit truncation from 'int' to a one-bit wide bit-field
changes value from 1 to -1
[-Werror,-Wsingle-bit-bitfield-constant-conversion]
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ib1b731780cf27a9498299f0424a06000dc67e81e
Andrew Yourtchenko [Wed, 13 Mar 2024 11:16:11 +0000 (12:16 +0100)]
misc: fix the static vppctl build
Change I58e1ae1c91f4a62e80eaf4e16e9932d8bab17c74 has introduced a reference to config.h,
which is not there in a case of building a static standalone vppctl.
Solution: add a variable STATIC_VPPCTL which, when defined, avoids including
the missing include file. Thanks a lot to Damjan for the suggestion.
Type: fix
Change-Id: I133235ba07e5c2e0d5669be9c2292cab0fdf436f
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Klement Sekera [Tue, 12 Mar 2024 17:41:04 +0000 (18:41 +0100)]
papi: use correct size for fixed length strings
This is required for correct packing of unions.
Type: fix
Change-Id: I92d04b1bbcb3fc3fe06474d8f2c59ed3502e6bd6
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Klement Sekera [Fri, 8 Mar 2024 09:24:46 +0000 (10:24 +0100)]
tests: use proper unit test skip instead of prints
Using unittest skip instead of print unclutters display by not printing
skip messages when not applicable, e.g. when somebody runs tests which
are unrelated to netns tests, e.g. with FILTER=vapi.
Type: fix
Fixes:
e416893a59
Change-Id: Ie09e213249aa47da7e4ff484c3d072fbce3c2001
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Damjan Marion [Tue, 12 Mar 2024 16:42:49 +0000 (17:42 +0100)]
misc: remove GNU Indent directives
Type: refactor
Change-Id: I5235bf3e9aff58af6ba2c14e8c6529c4fc9ec86c
Signed-off-by: Damjan Marion <damarion@cisco.com>
Dmitry Valter [Thu, 7 Mar 2024 17:56:55 +0000 (17:56 +0000)]
vpp: set asan default options
set asan default options in vppctl and vpp_get_stats
Type: improvement
Signed-off-by: Dmitry Valter <d-valter@yandex-team.com>
Change-Id: I58e1ae1c91f4a62e80eaf4e16e9932d8bab17c74
adrianvillin [Tue, 13 Feb 2024 11:00:02 +0000 (06:00 -0500)]
hs-test: experimental support for multiple test instances
- appending PID to interface and container names
- added a check for used IP addresses
- TestEnvoyProxyHttpTcp and TestTcpWithLoss are broken when running multiple instances
Type: test
Change-Id: Ib917079ec7cf851dee59ff9c67e74f48c7c5e3c6
Signed-off-by: adrianvillin <avillin@cisco.com>
Maxime Peim [Mon, 11 Mar 2024 09:53:26 +0000 (10:53 +0100)]
urpf: fix uprf_update prototype
Type: fix
Change-Id: Idc325a096903dcdfad5157db2eb728f2e61ce974
Signed-off-by: Maxime Peim <mpeim@cisco.com>
Florin Coras [Sat, 9 Mar 2024 23:51:50 +0000 (15:51 -0800)]
session: use no for ports in transport port allocator
Type: improvement
Change-Id: Ia1d8aaa3c51938cfa15dd09102471f52ebe67a3d
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Sat, 9 Mar 2024 03:25:42 +0000 (19:25 -0800)]
session: fix port alloc for fixed lcl port reuse
Type: fix
Change-Id: If30d1aa8aa752ae4bddde776832a3009ebc7e316
Signed-off-by: Florin Coras <fcoras@cisco.com>
Alexander Chernavin [Wed, 27 Dec 2023 12:37:16 +0000 (12:37 +0000)]
flowprobe: fix flush callbacks when multiple workers
IPFIX buffers are stored on a per worker thread basis. Currently, the
flush callbacks will flush only buffers stored for the main thread. And
buffers for worker threads will not be sent until their size reach the
path MTU configured for the exporter. So if traffic is constant, the
problem will unlikely to be visible. Buffers will be sent once they
reach the maximum size. However, if traffic stops at some point and
flush is triggered in order to make the plugin send all currently
buffered data, this will not happen. And collectors will not receive
that data. The plugin will keep the remaining data until traffic starts
again, the buffers reach the maximum size, and be sent.
With this fix, flush buffers for worker threads and for the main thread
when the flush callbacks are triggered.
This will allow to remove @tag_fixme_vpp_workers from the unit tests
that don't set timers. The tests that set timers will still be failing
for other multi-worker related problems.
Type: fix
Change-Id: I9a7d9cef8ddbec7ee68c79309e48e7bc0953d488
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Andrew Yourtchenko [Tue, 20 Feb 2024 15:19:56 +0000 (15:19 +0000)]
misc: VPP 24.02 Release Notes
Type: docs
Change-Id: I4209b4edf387f2d7b88ecc338cca3b4901210ed2
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
455960759b5417c767ed331748c7ee76662ffd18)
Matthew Smith [Mon, 5 Feb 2024 22:57:55 +0000 (22:57 +0000)]
ip: force full reassembly before virtual
Type: improvement
The vnet buffer metadata for full IP reassembly and shallow virtual
reassembly overlaps. If you have full reassembly and virtual reassembly
enabled on the same interface and virtual reassembly happens to process
packets first, full reassembly will stomp on the metadata populated by
virtual reassembly.
Virtual reassembly gets enabled implicitly when NAT feature nodes
are enabled. Those NAT feature nodes rely on the virtual reassembly
metadata being populated correctly in order to find L4 proto & ports.
When NAT and IP full reassembly are both enabled on an interface, NAT
can drop fragmented packets because the virtual reassembly metadata
can be overwritten by full reassembly.
Ensure that full reassembly runs before virtual reassembly. Add a
runs_before dependency to ensure that ip4-full-reassembly-feature
runs before ip4-sv-reassembly-feature.
There was a duplicate VNET_FEATURE_INIT() for
ip4-full-reassembly-feature. It seems to have been intended for enabling
ip4-full-reassembly-custom as a feature node, but its contents are
identical to the earlier VNET_FEATURE_INIT() for
ip4-full-reassembly-feature. Removed the duplicate.
Change-Id: Ie600b854d4ceb90a7cb736810140d410b8f72447
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Georgy Borodin [Wed, 28 Feb 2024 16:04:44 +0000 (17:04 +0100)]
dpdk: correct waiting times
When link state interval is 3 and stats interval is 10, updates
for stats will be made every 12 seconds (next number after 10,
that divisible by 3). And if you get counters every 30 secs, you
will get ideal "saw"-line instead of real smooth chart.
This commit makes smooth line on stats intervals that are divisors
of the charts update interval (regardless of link state interval),
and makes it possible to configure them.
Type: fix
Fixes:
cb9cadad578297ffd78fa8a33670bdf1ab669e7e
Change-Id: Ia4350467be2b0ec0c1be37c7fda63f43b3330f44
Signed-off-by: Georgy Borodin <bor1-go@yandex-team.ru>
Vladislav Grishenko [Sun, 14 Mar 2021 21:48:09 +0000 (02:48 +0500)]
vpp: fix stdin vs non-interactive command clash
In case of both stdin and non-interactive inputs are there
vppctl parses them all, causing mixed corrupted output:
$ echo foo | vppctl sh bar
show: unknown input `bar'
unknown input `foo'
This is not desired, stdin should be ignored if there's a command
but still allow stdin commands - following cases are still equal:
$ vppctl foo
$ echo foo | vppctl
Type: fix
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: I98667391627150c98a57d49ae544e48ef3351f34
Monendra Singh Kushwaha [Fri, 23 Feb 2024 07:29:47 +0000 (12:59 +0530)]
octeon: add support for VF device
This patch adds support for VF and loopback device.
Type: feature
Change-Id: I1ea92f3a1161851957206300ab921c27290b0305
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Vladislav Grishenko [Wed, 14 Jul 2021 13:16:02 +0000 (18:16 +0500)]
vlib: fix initial stats time for the process nodes
Uninitialized stats time for new dynamic processes (like unix
cli) leads to invalid and too high clocks diff, breaking the
stats collecting.
$ sudo vppctl sh runtime | grep unix
unix-cli-new-session any wait 0 0 30 2.72e3 0.00
unix-cli-process-0 active 14 0 27 3.73e15 0.00
unix-epoll-input polling 6464 0 0 3.56e6 0.00
unix-epoll-input polling 68360 0 0 1.31e3 0.00
Type: fix
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: Ic70678b67a3fb3f78ed4a1a03077ae243ed5d7cd
Vladislav Grishenko [Thu, 4 Aug 2022 15:36:45 +0000 (20:36 +0500)]
vnet: fix format of deleted sw interfaces
As similar
535364e90459566b603661c3dbe360c72f59ad71 is
merged, printing possibly deleted interfaces by index
only in all the rest cases.
Type: improvement
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: I4fa58b382c0279ff893523ba0188fdb9b09e10af
Damjan Marion [Sun, 3 Mar 2024 22:12:21 +0000 (22:12 +0000)]
vppinfra: SHA2-256 ARM ISA support
Change-Id: I0fcda3e7afaab037bd12d0079d6639c6cbe8647e
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
Mohsin Kazmi [Tue, 27 Feb 2024 12:00:20 +0000 (12:00 +0000)]
af_packet: fix the device input feature arc support
Type: fix
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I1c900bbe441c6797215f16e99b71149904aa745f
Maxime Peim [Mon, 12 Feb 2024 09:08:03 +0000 (10:08 +0100)]
misc: fix icmp
- fix ICMPv6 lookup FIB (don't reset sw_if_index[VLIB_TX] to -1)
- add locally generated flag in ICMPv4 buffers (reflect ICMPv6)
Type: fix
Change-Id: If25a176a9952cbe185a030f8b136718af1bff9e8
Signed-off-by: Maxime Peim <mpeim@cisco.com>
Vladislav Grishenko [Sat, 2 Mar 2024 16:04:14 +0000 (21:04 +0500)]
bpf_trace_filter: support bpf filter optimization and dump
BPF filter w/o optimization can take x2 - x3 more instructions,
causing significant slow down in fast path.
Enable pcap optimization by default via cli and introduce api v2
with pcap optimization control, keep v1 for a while as it exists
in previous release already.
Intriduce bpf filter cli dump, similar to tcpdump -d.
Also fix memleak, function name typo, cli pcap format hint and
add related tests.
Type: improvement
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: I92b2b519e92326f1b8e1a4dda6a3e3edc52f87ad
Damjan Marion [Thu, 29 Feb 2024 15:14:27 +0000 (16:14 +0100)]
vppinfra: add os_get_online_cpu_core() and os_get_online_cpu_node()
Type: improvement
Change-Id: I6f99f09c7724ce656a4f41a1d5f9c88d74c00faf
Signed-off-by: Damjan Marion <damarion@cisco.com>
Vladislav Grishenko [Sun, 15 May 2022 20:58:53 +0000 (01:58 +0500)]
ip: fix warning on interface ipv6 prefix remove
Type: fix
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: I428f52abbdddd9caca9b0f619a0e934f96ac0b4a
Vladislav Grishenko [Tue, 20 Feb 2024 06:58:01 +0000 (11:58 +0500)]
fib: fix crash while adding intf-rx routes
Fix crash while adding intf-rx ip4 and ip6 routes via api due
invalid exporting of interface rx routes as attached.
Also, add missed route path via rx-ip6 cli support.
Type: fix
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: I15711c8c0787398dd7e3baa4787019bb1f317666
Vladislav Grishenko [Sat, 13 Mar 2021 15:48:35 +0000 (20:48 +0500)]
svm: fix svm queue overwrite while adding 2 elements
Adding two elements to the full svm queue passes exact
bounds check, therefore tail gets overwritten w/o any
waiting. Fix it with requiring at lease two free slots.
Type: fix
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: I704ee606c47b523952cb965f848339ae1988cb60
Samvel Vartapetov [Tue, 28 Dec 2021 07:51:36 +0000 (10:51 +0300)]
udp: fix ipv6 udp punt show
Type: fix
Signed-off-by: Samvel Vartapetov <svartapetov@yandex-team.ru>
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: I57cba1e724f851419c7dfdee896568fc7416feaf
Florin Coras [Fri, 1 Mar 2024 02:19:30 +0000 (18:19 -0800)]
session: add api cb for listen and unlisten
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I28ccebf4d2f0728dd174ab3ee77a0d7ad4b90951
Damjan Marion [Mon, 26 Feb 2024 16:19:56 +0000 (16:19 +0000)]
crypto-native: fix AES-CBC encrypt loop
Type: fix
Change-Id: I11cc52ff3867277e6591efb061f96cadfcc70c88
Signed-off-by: Damjan Marion <damarion@cisco.com>
Tom Jones [Wed, 31 Jan 2024 09:13:44 +0000 (09:13 +0000)]
dhcp: Compare DIUD_LL as a network short
The existing comparision triggers the following clang assertion:
error: result of comparison of constant
50331648 with expression of type
'u16' (aka 'unsigned short') is always true
Section 9.1 of RFC3315 describes the DUID type field as:
"A DUID consists of a two-octet type code represented in network byte"
correctly convert the local type to a network short for the comparison.
Type: fix
Change-Id: I7cb048035bd5e06372e29471ae6004ee1b2191b9
Signed-off-by: Tom Jones <thj@freebsd.org>
Monendra Singh Kushwaha [Wed, 14 Feb 2024 10:48:24 +0000 (16:18 +0530)]
octeon: add flow offload infra
Type: feature
Change-Id: I3485e1627eafc5125255985003573247e7562db2
Signed-off-by: Kommula Shiva Shankar <kshankar@marvell.com>
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Niyaz Murshed [Wed, 21 Feb 2024 19:54:24 +0000 (19:54 +0000)]
crypto: CLI to change dispatch mode
This change aims to affect crypto_sw_scheduler behavior,
but all the edits end up in vnet/crypto.
After
9a9604b introduced adaptive mode for crypto dispatch,
the performance of async mode at lower rate got worse.
A work around for CSIT test is done by changing dispatch mode via explicit API call
in https://github.com/FDio/vpp/commit/
139aba204780f6cc2845b311820a0b4c47517d02
In this change, the CLI is brought back to allow user to fix the
dispatch mode.
set crypto async dispatch mode <polling|interrupt|adaptive>
Type: improvement
Change-Id: I029e98aa25889eddcf62e75a6c78926cdee862ef
Signed-off-by: Niyaz Murshed <niyaz.murshed@arm.com>
Florin Coras [Tue, 27 Feb 2024 02:11:43 +0000 (18:11 -0800)]
tls: pass reset ntf to engines
Type: improvement
Change-Id: Ie042605e50656229874b7a93638f0f04c894410f
Signed-off-by: Florin Coras <fcoras@cisco.com>