Andrew Yourtchenko [Wed, 22 Jan 2025 11:36:41 +0000 (12:36 +0100)]
misc: Initial 25.06-rc0 commit
Type: docs
Change-Id: I1a9ff6191b4142547b98383459bbedb824db6e55
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Matus Fabian [Sun, 12 Jan 2025 21:18:56 +0000 (22:18 +0100)]
http: target parsing improvement
Make it http version neutral, since h2 and h3 use 3 pseudo-headers.
Added scheme, target_authority_offset and target_authority_len
to http_msg_data_t, target_form removed.
Http transport now validate if correct form of request target
is received, so now we are also able to receive requests with
absolute-form target in server apps like http_static.
As bonus, unformat is not longer used to parse IP addresses.
Type: improvement
Change-Id: I369f77e2639c43cc1244d91f883c526eb88af63e
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Kai Ji [Wed, 18 Dec 2024 11:46:02 +0000 (11:46 +0000)]
dpdk: enable VLAN offload configuration for the iavf PMD driver
Sets the program_vlans = 1 flag, enabling the DPDK sub-interface
function to configure VLAN offload settings on Intel iavf/i40e Ethernet
devices from VPP.
Type: improvement
Change-Id: I030af0c93b13cf80772982b243861f9c303f7e09
Signed-off-by: Kai Ji <kai.ji@intel.com>
Nithinsen Kaithakadan [Mon, 6 Jan 2025 12:41:22 +0000 (18:11 +0530)]
crypto: add async algo macros for ctr sha2
Add async crypto algo macros for AES_CTR SHA256/384/512.
Add support for these in dev octeon plugin.
Type: feature
Signed-off-by: Nithinsen Kaithakadan <nkaithakadan@marvell.com>
Change-Id: I22e81c6ac5a549b2f12556b8c79257a20a5bd47d
Nithinsen Kaithakadan [Wed, 4 Dec 2024 08:58:41 +0000 (14:28 +0530)]
octeon: add direct mode changes in crypto datapath
This patch introduces support for direct mode crypto
submission on CPT. For multi-segmented buffers,
scatter-gather submission mode will be utilized.
Type: feature
Signed-off-by: Nithinsen Kaithakadan <nkaithakadan@marvell.com>
Change-Id: Idb99e6c9ea49028e11d3bf530c9559719c988252
Nithinsen Kaithakadan [Tue, 7 Jan 2025 11:02:13 +0000 (16:32 +0530)]
octeon: rework octeon crypto framework
Added changes in the pending queue structure to
incorporate each packet into a single inflight
request entry.
Type: improvement
Change-Id: I18729e01b5f73b128ae245a1a8f77a4f97065026
Signed-off-by: Nithinsen Kaithakadan <nkaithakadan@marvell.com>
Nithinsen Kaithakadan [Thu, 16 Jan 2025 07:26:09 +0000 (12:56 +0530)]
octeon: fix for async crypto session init
This patch resolves segmentation fault that occurs
during the initialization of an asynchronous crypto
session when processing the first packet in the
data path.
And resolves compilation failures.
Type: fix
Change-Id: I60e4060c65741a445fe02f01b3c94f627534ecef
Signed-off-by: Nithinsen Kaithakadan <nkaithakadan@marvell.com>
Vladimir Smirnov [Thu, 9 Jan 2025 15:39:22 +0000 (16:39 +0100)]
dpdk: bump to DPDK 24.11.1
Bump DPDK version to 24.11.1.
Reason behind going for 24.11.1 is that 24.11 was affected by
CVE-2024-11614 which was fixed in the point release.
Type: feature
Change-Id: Ic49a35fe7ac782679df39145e3adfd06f047b031
Signed-off-by: Vladimir Smirnov <civil.over@gmail.com>
Damjan Marion [Fri, 17 Jan 2025 11:45:41 +0000 (11:45 +0000)]
crypto-openssl: fixed tag and aad lengths for chacha-poly
Type: improvement
Change-Id: I6162b45875566cc705917a51b3f06e1490607c8b
Signed-off-by: Damjan Marion <damarion@cisco.com>
Varun Rapelly [Wed, 25 Dec 2024 05:49:46 +0000 (06:49 +0100)]
tls: async event handling enhancement
This patch updates async processing logic by adding async event
handlers separately for handshake, read and write events.
Type: improvement
Change-Id: I6366689fec7e29fa9850cb22e20ab3659bf5245a
Signed-off-by: Varun Rapelly <vrapelly@marvell.com>
Florin Coras [Fri, 17 Jan 2025 23:10:27 +0000 (18:10 -0500)]
build: fix compiler ordering
All CI builds default to GCC instead of Clang
Type: fix
Fixes:
ec68cec6c84e5dc9acaf7828c0118bb71fffc561
Change-Id: I63fce7feda743d05f17d0710fcf25b09674fdbfb
Signed-off-by: Florin Coras <fcoras@cisco.com>
Alexey Stratulat [Mon, 20 Jan 2025 11:34:25 +0000 (18:34 +0700)]
vcl: segfault correction in vcl_session_connected_handler
Svace found a bug related to the fact that the
vcl_segment_attach_session function is passed
a pointer to a session, which is null, because of this,
when using it, a segmentation error will occur inside the function.
This issue was fixed.
Type: fix
Change-Id: Icc68ced80611bb709c9fa7868816f003373077d4
Signed-off-by: Alexey Stratulat <a.stratulat@ideco.ru>
Pim van Pelt [Sun, 6 Oct 2024 15:49:00 +0000 (17:49 +0200)]
sflow: initial checkin
This is an sFlow dataplane plugin that can sample
1-in-N packets from device-input, copying them to
a FIFO queue and servicing that queue from a main
process which formats them as Netlink PSAMPLEs,
to be picked up by a popular sidecar agent called
host-sflow.
Type: feature
Change-Id: Ic03456472e53309678f182dc8f74d3c81fb619e6
Signed-off-by: neil.mckee@inmon.com
Signed-off-by: pim@ipng.nl
Vladimir Smirnov [Fri, 3 Jan 2025 20:47:56 +0000 (21:47 +0100)]
vlib: fail in runtime if workers > nelts
Type: fix
With a release build, if you configure more than 55 workers, vpp
will start, but will corrupt memory as a lot of internal datastrctures
are allocated with assumption that there will be not more than
FRAME_QUEUE_MAX_NELTS threads.
Add a warning if amount of configured workers more than MAX_NELTS.
Anticipate that next commit would add a compile-time configurable
variable and name it VPP_MAX_THREADS.
Change-Id: I015f4f9aa5e8b828c7d90c90142d7a7c1ce68f97
Signed-off-by: Vladimir Smirnov <civil.over@gmail.com>
fenglei [Tue, 31 Dec 2024 07:20:16 +0000 (15:20 +0800)]
af_packet: worker thread call vlib_log coredump
Type: fix
-When deleting a veth pair interface in linux, vpp's call to af_packet_fd_error will cause it to hang because it's a worker thread.
Change-Id: I3dc9018e7e492ccbdf0f59381f9bbbfd5c1c88a5
Signed-off-by: fenglei <1579628578@qq.com>
Benoît Ganne [Fri, 17 Jan 2025 17:30:01 +0000 (18:30 +0100)]
af_xdp: revert "af_xdp: fix af_xdp compile waring for clang compiler"
This reverts commit
38097970c038de6c3c67cb8e1c7209f1df1f24d0.
Type: fix
Change-Id: I2401eff6d1558f0f95b8b0c88b6b5d174acbb0ef
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Agathiyan Bragadeesh [Wed, 6 Nov 2024 14:33:12 +0000 (14:33 +0000)]
snort: support multiple instances per interface
Implements load balancing between snort instances via flow hash.
New CLI commands have been made to support these changes:
snort attach instance <name1>
[instance <name2> ... ] interface <ifname> [input|output|inout]
snort attach all-instances interface <ifname> [input|output|inout]
snort detach instance <name1> interface <ifname>
snort detach all-instances interface <ifname>
The output of "show snort interfaces" has an extra column to show the
direction of each attachment:
interface instances direction
Ethernet0: snort1 inout
snort2 inout
snort3 inout
Ethernet1: snort1 input
snort3 output
To maintain backwards compatibility for the snort api, the
snort_interface_get api endpoint only returns one of the attached
instances and the snort_interface_detach endpoint detaches all
attached instances.
Type: improvement
Signed-off-by: Agathiyan Bragadeesh <agathiyan.bragadeesh2@arm.com>
Change-Id: I6b7c26c203496d6a1dba244620907f28c04bb478
Damjan Marion [Fri, 17 Jan 2025 11:41:47 +0000 (11:41 +0000)]
crypto-ipsecmb: fixed tag and aad lengths for chacha-poly
Type: improvement
Change-Id: I8c7e6c2734258bb6b4e8e404e2c9b119ee141dd1
Signed-off-by: Damjan Marion <damarion@cisco.com>
Adrian Villin [Fri, 17 Jan 2025 15:28:58 +0000 (16:28 +0100)]
hs-test: temporarily skip VppEchoQuicTest
Type: test
Change-Id: I06937c491303dfe2f0b2e847d05a4220c14e83e0
Signed-off-by: Adrian Villin <avillin@cisco.com>
Artem Glazychev [Fri, 17 Jan 2025 13:16:31 +0000 (20:16 +0700)]
linux-cp: add the drain back
Type: fix
Change-Id: I60338a8c901cf5baf4974ce572f17e70116877df
Signed-off-by: Artem Glazychev <glazychev@mts.ru>
fenglei [Tue, 14 Jan 2025 08:50:10 +0000 (16:50 +0800)]
af_xdp: fix af_xdp compile waring for clang compiler
Type: fix
- add check variable undefine init flags for gcc and clang compiler
- disable compile xdp-dump
Change-Id: Icd2b81ec5cd5dc66db395a69f8af889635f664e0
Signed-off-by: fenglei <1579628578@qq.com>
Vladimir Smirnov [Thu, 9 Jan 2025 19:32:27 +0000 (20:32 +0100)]
dpdk: update rdma-core to 55.0
Newer version of RDMA contains some bugfixes.
Type: feature
Change-Id: I4cd6bc7608bbadd99cdddc7b97646df1583b6ce6
Signed-off-by: Vladimir Smirnov <civil.over@gmail.com>
Damjan Marion [Thu, 16 Jan 2025 16:45:07 +0000 (16:45 +0000)]
crypto-openssl: add fixed tag and aad size ops
Type: improvement
Change-Id: Iea7202cd0a79d3bed85313b2b4a6e6469a701568
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Thu, 16 Jan 2025 18:19:02 +0000 (18:19 +0000)]
crypto-ipsecmb: add fixed tag and aad size ops
Type: improvement
Change-Id: Id62308775eeeada0277c2303cf8c728db4dbfcdc
Signed-off-by: Damjan Marion <damarion@cisco.com>
Semir Sionek [Thu, 16 Jan 2025 14:03:41 +0000 (09:03 -0500)]
http: fix sending error responses to rejected requests by server apps
Plugins such as http_static sometimes reject requests without reading
all of the body. http_static in that case sends an error response and
closes the connection. But the error response cannot go out due to the
connection state being HTTP_REQ_STATE_TRANSPORT_IO_MORE_DATA.
With this change, we make http_app_tx_callback give a response like
that special treatment, allowing it to go out.
Type: fix
Change-Id: I72ae74b869183f5d5921837f6ac9c52f0efc7598
Signed-off-by: Semir Sionek <ssionek@cisco.com>
Artem Glazychev [Wed, 18 Dec 2024 08:50:13 +0000 (15:50 +0700)]
linux-cp: fix segfault while receiving nl messages
- check nl socket before receiving messages
- we don't need extra callback after adding an lcp pair because we start draining messages (due to epoll) right after opening socket
Type: fix
Change-Id: I0ecb03b758f066662015fd6c6b9d3c48cb520c0d
Signed-off-by: Artem Glazychev <glazychev@mts.ru>
Damjan Marion [Thu, 16 Jan 2025 12:47:01 +0000 (12:47 +0000)]
crypto: combine sync and async algos and ops
Type: improvement
Change-Id: I4d507b105e5b5ba7dd68d373c7f1ab156a9fc9f1
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Thu, 16 Jan 2025 11:53:55 +0000 (11:53 +0000)]
ipsec: make algo data constant
Type: improvement
Change-Id: I554418fca0cbe1a2b42eddc24eccf25ede5f678a
Signed-off-by: Damjan Marion <damarion@cisco.com>
fenglei [Tue, 31 Dec 2024 04:43:37 +0000 (12:43 +0800)]
arp: fix command resolve and config filed exist differ
Type: fix
Change-Id: I2b2b65a6c12d50146f08b64b9a1603888652b462
Signed-off-by: fenglei <1579628578@qq.com>
Damjan Marion [Thu, 16 Jan 2025 11:20:12 +0000 (11:20 +0000)]
ipsec: don't add crypto key if cipher is NONE
Type: fix
Change-Id: I0c418fe71b579febc4ca02e8ad0aeba24df1945d
Signed-off-by: Damjan Marion <damarion@cisco.com>
Florin Coras [Tue, 14 Jan 2025 22:22:43 +0000 (17:22 -0500)]
tcp: export sdl header file for out-of-tree plugins
Type: fix
Change-Id: I27e29690dba1ea52e874cb1db81d24fcc4366bb6
Signed-off-by: Florin Coras <fcoras@cisco.com>
Ivan Ivanets [Tue, 14 Jan 2025 16:34:22 +0000 (16:34 +0000)]
tests: remove decorator tag_fixme_ubuntu2404
Type: test
There is no need to use the tag_fixme_ubuntu2404 decorator.
All tests that previously used it are now stable.
Change-Id: I2f00bcdacf9690c4d3896eace5d817f7bd19058b
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
fenglei [Tue, 7 Jan 2025 13:43:40 +0000 (21:43 +0800)]
pg: fix tr to trace
Type: fix
Change-Id: Icd1ea24ba104123673f864d9bfd0f4da83982b7d
Signed-off-by: fenglei <1579628578@qq.com>
Monendra Singh Kushwaha [Tue, 14 Jan 2025 01:49:38 +0000 (07:19 +0530)]
octeon: add compatibility check
This patch adds compatibility check for OCTEON model in plugin.
Type: refactor
Change-Id: Id583a2f42b8f66f7e045f6cf9176125680e9a16f
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Monendra Singh Kushwaha [Tue, 14 Jan 2025 01:48:32 +0000 (07:18 +0530)]
octeon: update octeon roc version
Type: feature
Change-Id: I9f3044aec29a611d4735001ff1943772b7035711
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Semir Sionek [Tue, 14 Jan 2025 11:39:15 +0000 (06:39 -0500)]
http_static: read body only for POST requests
Type: improvement
Change-Id: Id863f59d04d8e6f22c886e079367d06908b8b24b
Signed-off-by: Semir Sionek <ssionek@cisco.com>
Piotr Bronowski [Fri, 3 Jan 2025 18:25:41 +0000 (18:25 +0000)]
ipsec: add test for tun sa ip6 fast-path spd policy matching
In case SA defines a tunnel, policy matching should be performed based
on the tunnel header defined by the SA. This change tests
the matching for ip6 fast path SPD implementation.
Type: test
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: I311b221bce565de0e8235fd162305eb10550edd9
Florin Coras [Wed, 8 Jan 2025 12:27:52 +0000 (07:27 -0500)]
ip: fix local csum check
For packets with invalid checksums, in src local check, do not override
errors on fast path and do not cache result.
Type: fix
Change-Id: I4de9351b190ba398d6f89eec80055016cacf028b
Signed-off-by: Florin Coras <fcoras@cisco.com>
Damjan Marion [Fri, 10 Jan 2025 18:53:23 +0000 (18:53 +0000)]
crypto: remove AEAD opt types
Type: improvement
Change-Id: I32ccf1d58a34bc6f64946ffd711dbd2b4f5864f6
Signed-off-by: Damjan Marion <damarion@cisco.com>
Monendra Singh Kushwaha [Sun, 12 Jan 2025 01:17:04 +0000 (06:47 +0530)]
octeon: fix octeon build issue
This patch adapts new changes introduced in crypto framework
as part of
6676d951.
Type: fix
fixes:
6676d951
Change-Id: I7bbe8d87250e072b2891c0eedee1e14642fab4bc
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Damjan Marion [Fri, 10 Jan 2025 12:43:19 +0000 (12:43 +0000)]
crypto: key storage improvements
Type: improvement
Change-Id: I49d8415ce1d64dc797a0cc43f5382daeaddbe11a
Signed-off-by: Damjan Marion <damarion@cisco.com>
Monendra Singh Kushwaha [Wed, 20 Nov 2024 06:36:52 +0000 (12:06 +0530)]
dev: assign tx queue to all threads
This patch assigns tx queue to all thread and enables tx queue
sharing if needed.
Type: fix
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Change-Id: I8cb561c29c2a508b8b478c646121b1caa61b8520
Matus Fabian [Thu, 9 Jan 2025 19:00:28 +0000 (20:00 +0100)]
hs-test: http tps test with tls
Type: test
Change-Id: I0b4044c2924855f4be03c301f75e6a3e31aa29a9
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Guillaume Solignac [Thu, 9 Jan 2025 11:19:31 +0000 (03:19 -0800)]
build: expose VPP_PLATFORM to out-of-tree plugins
We move the VPP_PLATFORM logic from src/CMakeLists.txt to
cmake/cpu.cmake so that out-of-tree plugins can leverage it as well.
Type: improvement
Signed-off-by: Guillaume Solignac <gsoligna@cisco.com>
Change-Id: I767a75f45c07aed7db4034b18ab4b5c67fda06ee
Guillaume Solignac [Thu, 9 Jan 2025 14:50:15 +0000 (15:50 +0100)]
sr: fix aarch64 build issue
GCC complains about a maybe-unitialized variable
Type: fix
Change-Id: Id77e4a48bdefea74d881190675320036f60ee3d5
Signed-off-by: Guillaume Solignac <gsoligna@cisco.com>
Adrian Villin [Wed, 8 Jan 2025 11:20:31 +0000 (12:20 +0100)]
hs-test: fix skipping docker image building
- building docker images will now be properly skipped
Type: test
Change-Id: I57ae71814bdf5eefaac16472dfb56e86564219e6
Signed-off-by: Adrian Villin <avillin@cisco.com>
Adrian Villin [Wed, 8 Jan 2025 15:33:45 +0000 (16:33 +0100)]
hs-test: copy vpp-data to docker images last
Type: test
Change-Id: I773321d21c75e081fa54fae1d9862b4bc75e3794
Signed-off-by: Adrian Villin <avillin@cisco.com>
Matus Fabian [Tue, 10 Dec 2024 15:15:06 +0000 (16:15 +0100)]
hsa: proxying UDP in HTTP/1.1
Type: feature
Change-Id: Ic0ff9b9bfbad9fbc602fbcec0d8906cd21d63a2c
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Monendra Singh Kushwaha [Fri, 20 Dec 2024 10:53:56 +0000 (16:23 +0530)]
vlib: update input node counts based on state
Type: fix
Change-Id: I09497ae8d6a685324f8c7d9e0b3208a3ec465f0e
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Monendra Singh Kushwaha [Fri, 20 Dec 2024 17:56:43 +0000 (23:26 +0530)]
octeon: fix compilation for octeon
This patch adapts new changes introduced in crypto framework
as part of
0cf4eef7.
Type: fix
fixes:
0cf4eef7
Change-Id: I41a17c9b340f54014c9d2ae21546ec39ccef3f43
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Vratko Polak [Wed, 8 Jan 2025 13:07:42 +0000 (14:07 +0100)]
build: add vpp-crypto-engines to debian/control.in
Crypto engines have been moved into a new component,
but the component needs Debian packaging information.
Type: fix
Fixes:
0cf4eef73a4c1bd2831a4618af50939a2aab01c6
Change-Id: I041284f91be4cdb16d5a4771b518dd99571efa99
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Piotr Bronowski [Thu, 17 Oct 2024 15:16:06 +0000 (17:16 +0200)]
ipsec: fix spd fast path single match compare for ipv6
Fast path match single compare (the last step of policy matching in spd fast path)
is only implemented for IPv4 addresses.
This change adds support to also do a single match on IPv6 addresses.
Type: fix
Change-Id: I5aeb6e1e9afccfd2b2082e26502c5b7e9a8b2d4c
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Signed-off-by: Vinayak Udandkar <vinayakx.udandkar@intel.com>
Florin Coras [Mon, 6 Jan 2025 21:22:20 +0000 (16:22 -0500)]
vcl: fix vls wrk index on fork
Type: fix
Change-Id: If634dac31fd54466428db0726ac441a1247985b8
Signed-off-by: Florin Coras <fcoras@cisco.com>
Vladimir Smirnov [Fri, 3 Jan 2025 20:47:26 +0000 (21:47 +0100)]
build: allow to redefine max_lcores for DPDK
In current versions of DPDK (at least as of 24.11), max
amount of cores available determined at compile_time.
Unless machine type 'native' is used, it is statically set
per platform and for most of them equals to 128.
Add a new option to allow user to redefine max amount of
lcores available to DPDK.
Type: make
Change-Id: Ic4356e12ca75a5c84aeb3bee72de432a23aa6f8a
Signed-off-by: Vladimir Smirnov <civil.over@gmail.com>
Ivan Ivanets [Mon, 2 Dec 2024 21:10:10 +0000 (21:10 +0000)]
tests: reduce sleep interval in ikev2 sa rekey test
Type: test
The sleep interval for this test is set to 0.1 seconds instead of
the default 2 seconds. This change is necessary because the test
verifies the expiration of old IPsec SAs
(self.fail("old IPsec SA not expired")) within a strict timeframe.
A longer sleep interval, such as 2 seconds, would significantly
delay the loop iterations, reducing the granularity of checks for
SA expiration and increasing the risk of false failures.
By setting the sleep interval to 0.1 seconds:
- The test can perform frequent checks for the status of IPsec SAs
- It reduces the likelihood of the test prematurely failing
Change-Id: I92ac3de0f33838620b51083d240043e62f37c490
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
Florin Coras [Sat, 2 Nov 2024 20:27:53 +0000 (16:27 -0400)]
vcl: support pre/post cb before mq wait
Allow vls to register cb functions with vcl pre/post mq sleep. These can
be used to drop/reacquire locks prior/after waiting on vcl mq events.
This then allows multi-thread, as opposed to multi-worker, applications
to share sessions between threads without deadlocking, e.g., multiple
threads trying to read/write/close non-blocking sessions. Caveat:
connects still need to be improved.
Type: improvement
Change-Id: I589aa9dfd0553b0fad54f02ed16c3cda9761a83d
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Florin Coras [Tue, 7 Jan 2025 09:45:05 +0000 (04:45 -0500)]
hs-test: cleanup nsim test
After nsim fixes in gerrit 42052 echo tests with nsim should be stable
with multiple workers and should no longer require a ping to work.
Type: improvement
Change-Id: Ice4b353153c57b547df60d21723fa8cf953ca5d0
Signed-off-by: Florin Coras <fcoras@cisco.com>
Pierre Pfister [Thu, 19 Dec 2024 15:49:21 +0000 (16:49 +0100)]
vppinfra: fix float rounding in format function
The current VPP formating for floats tries to round number to the
closest value (depending on the number of requested digits), but fails
to do so when the last printed digit is 9 (because carries are hard...).
This commits fixes this by adding 0.5 * 10^n_fraction_digits
to the value and then ignoring digits past the printed ones.
Note that when the number is exactly midway, like 9.5, the value is
rounded up, as this seems to be the clib behavior as well.
Type: fix
Change-Id: I03ce04ea6a24b84eeffd548d3f7bd306c58ce36d
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
Renato Botelho do Couto [Thu, 2 Jan 2025 17:54:15 +0000 (17:54 +0000)]
build: Fix PATH shell export
When $(wildcard /usr/lib*/ccache) returns more than one directory, they
are separated by space and it ends up setting only first one to PATH
variable while the rest of the string is just throwed to bash and it
ends up breaking the build. This change replaces space by colon to keep
desired PATH string syntax.
Type: fix
Change-Id: I94ba3465a46fa3c4fbb50c9668f0afd97e8c4f91
Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
Dave Barach [Sun, 5 Jan 2025 14:06:55 +0000 (09:06 -0500)]
vppinfra: export full symbol set from serialize.c
Needed for an out-of-tree plugin under development
Type: improvement
Change-Id: Ie37f847607616d7f3f5de67550bef17f2afee17f
Signed-off-by: Dave Barach <dave@barachs.net>
Matus Fabian [Mon, 30 Dec 2024 19:40:51 +0000 (20:40 +0100)]
session: proxy session migration fix
Type: fix
Change-Id: I487ee4e69d8885f46d7a4af2c66a710da66108c5
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Dave Barach [Fri, 27 Dec 2024 17:33:21 +0000 (12:33 -0500)]
vppinfra: fix time range conversion off-by-1s
Type: fix
Change-Id: I869e657744e9bba81994ad426731a08e5f1bcad7
Signed-off-by: Dave Barach <dave@barachs.net>
Steven Luong [Mon, 18 Nov 2024 20:08:57 +0000 (12:08 -0800)]
session: add auto sdl
New CLI to enable/disable auto-sdl (requires session enable rt-backend sdl)
auto-sdl <enable|disable> [threshold <n>] [remove-timeout <t>]
threshold is defined as the number of packets before the SDL entry is created to deny the source.
remove-timeout is defined as the duration to remove the SDL entry which was created earlier.
Type: feature
Change-Id: I513094a59663970beae33257006c652674643764
Signed-off-by: Steven Luong <sluong@cisco.com>
Matus Fabian [Mon, 23 Dec 2024 19:01:28 +0000 (20:01 +0100)]
hsa: http connect proxy fix
Send rpc evt from ao thread to po thread so http response is generated
on correct thread.
Type: fix
Change-Id: I3b9a651a1935e5b623033902f9cf9ec1daf05617
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Matus Fabian [Sat, 21 Dec 2024 11:04:30 +0000 (12:04 +0100)]
hs-test: vpp connect proxy stress tests
Type: test
Change-Id: Ie0b4e2d5f6d8ac19e86599f5f9ecbb642c3027ea
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Florin Coras [Fri, 20 Dec 2024 10:32:35 +0000 (02:32 -0800)]
nsim: fix output feature node
Interface tx nodes want frames with scalar data populated by output
nodes. This is not supported by nsim output feature. To avoid
reimplementing output node logic and/or future incompatibilities,
recirculate buffers through interface output after tagging.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ib8865798d8e7dc0d2f34b3e13ce29b683e490ceb
Matus Fabian [Sat, 21 Dec 2024 16:04:16 +0000 (17:04 +0100)]
hs-test: rebuild images when switching build type
Rebuild hst docker images when the previous test run had different vpp
build type, e.g.
1) make test
2) make tes-debug
Type: test
Change-Id: If3a6f11f4f50bbfa88ef3808f98dcba3ab61d348
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Matus Fabian [Sat, 21 Dec 2024 19:54:01 +0000 (20:54 +0100)]
hs-test: display vpp version in the summary
Display output of 'show version verbose' from vpp in the summary report
at the end of a test run.
Type: test
Change-Id: Iae3d886dd4106678b60389ec42ba42a159940403
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Florin Coras [Wed, 18 Dec 2024 21:50:19 +0000 (13:50 -0800)]
hsa: http client honor configured timeout
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I87cc6d2ba1a07751359c7276fe096eeae4e30a2e
Florin Coras [Wed, 18 Dec 2024 03:44:26 +0000 (19:44 -0800)]
hsa: fix http client connect failures
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie8b4ba2cfd2c7fc1e27d2a2eb763b31417bc0743
Matus Fabian [Wed, 18 Dec 2024 13:20:31 +0000 (14:20 +0100)]
hs-test: fix readCpus
return error otherwise hst might panic
Type: test
Change-Id: Ib3ec8a2113af4594f2c2fc54ae72e358bfadaef2
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Damjan Marion [Mon, 16 Dec 2024 09:06:42 +0000 (09:06 +0000)]
crypto: move crypto engines outside of plugins
This is first step in process of making crypto engine binaries
less dependant on specific VPP version.
Type: improvement
Change-Id: Ib08135688be409049b660e2b2ac435578b63be65
Signed-off-by: Damjan Marion <dmarion@me.com>
Dave Wallace [Wed, 11 Dec 2024 19:42:47 +0000 (14:42 -0500)]
build: archive install-*-deps logs when run in ci
Type: make
Change-Id: Id779d7c90a920926d40d241afb89bcb9312bcfc1
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
fenglei [Thu, 21 Nov 2024 12:32:25 +0000 (20:32 +0800)]
dns: cli support enable dns and config server addr
Type: improvement
cli support enable dns node and config name server addr
Change-Id: I4fcef28876b916bd5eac026f20afb0b0dda38fa2
Signed-off-by: fenglei <1579628578@qq.com>
Hadi Rayan Al-Sandid [Wed, 11 Dec 2024 15:22:59 +0000 (16:22 +0100)]
docs: add examples for BPF trace filtering
Type: docs
Change-Id: Ia2f9f94ebdf55d435559f6615da61efb1d2f9616
Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>
fenglei [Sat, 14 Dec 2024 03:56:01 +0000 (11:56 +0800)]
policer: Add return_dsc for policer_add_command_fn
Type: improvement
add return_desc for except failure
Change-Id: Idcec0f8833fc264f66d2e0a784ece2a62c425263
Signed-off-by: fenglei <1579628578@qq.com>
fenglei [Sat, 14 Dec 2024 03:12:27 +0000 (11:12 +0800)]
policer: fix policer_input coredump
Type: fix
policer_input didn't check policer_index will lead to coredump
when refer to cm->counters[thread_index] variable, cm->counters[thread_index] is null.
Change-Id: I8c6ef6c4c2bc96f23ab806327cb6f179c958cee2
Signed-off-by: fenglei <1579628578@qq.com>
Ole Troan [Fri, 6 Dec 2024 15:49:25 +0000 (16:49 +0100)]
papi: vpp_papi asyncio support
An asyncio version of the VPP Python API.
A API call returns a awaitable future.
In comparision to the legacy API, the extra message receive thread
is no needed.
from vpp_papi.vpp_papi_async import VPPApiClient
async def process_events(event_queue):
while True:
event = await event_queue.get()
print(f"*** Processing event: {event}")
if event is None:
return
async def test():
vpp = VPPApiClient()
event_queue = asyncio.Queue()
event_processor_task = asyncio.create_task(process_events(event_queue))
rv = await vpp.connect("foobar", event_queue)
assert rv == 0
rv = await vpp.api.show_version()
rv = await vpp.api.sw_interface_dump()
await event_queue.put(None) # Send sentinel to stop the event processor
await asyncio.gather(event_processor_task) # Wait for them to finish
await vpp.disconnect()
Example of sending multiple requests and gather replies asynchronously
async def test_bulk():
futures = []
for i in range(n):
futures.append(vpp.api.show_version())
rv = await asyncio.gather(*futures)
def main():
asyncio.run(test())
Type: feature
Change-Id: Ie6bcb483930216c21a45658b72e87ba4c46f43ad
Signed-off-by: Ole Troan <otroan@employees.org>
Ole Troan [Thu, 17 Oct 2024 08:43:34 +0000 (10:43 +0200)]
nat: add clear session for nat44-ed
Type: improvement
Change-Id: Ie8568999821f6dd5025fd5343670a8969a3e634e
Signed-off-by: Ole Troan <otroan@employees.org>
Ole Troan [Fri, 6 Dec 2024 15:42:16 +0000 (16:42 +0100)]
map: map_domain_dump fails for empty tag
Fix API to handle map_domain_dump for domains with an empty tag.
Type: fix
Change-Id: Ie065c5863538d5851cd8f8907400255f51a2e90f
Signed-off-by: Ole Troan <otroan@employees.org>
Adrian Villin [Fri, 13 Dec 2024 08:12:07 +0000 (09:12 +0100)]
hs-test: always build when running 'make build'
- running 'make build' will now always build docker images,
'make test' will try to skip building them unless FORCE_BUILD=true
- now also checking ubuntu version
Type: make
Change-Id: Ie16e8dc4712963de19e2450e058b867c1cede7ee
Signed-off-by: Adrian Villin <avillin@cisco.com>
Adrian Villin [Thu, 12 Dec 2024 14:30:15 +0000 (15:30 +0100)]
hs-test: skip building images if no new changes
- skip building if new changes are .go, .sum, .mod, .txt, .test,
IP address files or dotfiles
Type: test
Change-Id: Ib041a077fa34120e86ebb43cd19e50142ef01f16
Signed-off-by: Adrian Villin <avillin@cisco.com>
Adrian Villin [Thu, 12 Dec 2024 12:18:28 +0000 (13:18 +0100)]
hs-test: update docs, makefile, maintainers
- don't run 'make list-tests' after 'make help'
Type: docs
Change-Id: I1b2ae02faf53b072b96c91f2e1fead52128f4710
Signed-off-by: Adrian Villin <avillin@cisco.com>
Adrian Villin [Wed, 11 Dec 2024 08:56:29 +0000 (09:56 +0100)]
hs-test: added a test counter and time elapsed
- only works when not running in parallel
Type: test
Change-Id: Iab9881f8a2a93c6ef5129742e3c0ad950f9e5328
Signed-off-by: Adrian Villin <avillin@cisco.com>
Oleksandr Hnatiuk [Thu, 29 Aug 2024 04:20:04 +0000 (21:20 -0700)]
vapi: remove directory name from include guards
Script vapi_c_gen.py uses full paths to source files to generate include
guards in files with `.vapi.h` extension. This makes the content of
header files depend on build directory which causes reproducibility
issues (cannot get identical build output when building in a different
directory).
Commit
4c64b6edc86f7 fixes this for .hpp files, but seems to forget
about .h files. Use its fix for these as well.
Type: fix
Change-Id: Ida638c7b4630fac1f6d968a9203a409648bef55c
Signed-off-by: Oleksandr Hnatiuk <ohnatiuk@cisco.com>
Adrian Villin [Thu, 12 Dec 2024 08:16:22 +0000 (09:16 +0100)]
hs-test: fix a runtime error
- framework panicked if core_pattern was set to "core"
Type: test
Change-Id: I14211cc59779090a61e6e08a18d16fd7399b2bed
Signed-off-by: Adrian Villin <avillin@cisco.com>
Oleksandr Hnatiuk [Thu, 29 Aug 2024 04:20:04 +0000 (21:20 -0700)]
build: use VPP_BUILD_TOPDIR from environment if set
Commit
3d14f036199d added the possibility to use `VPP_BUILD_USER` and
`VPP_BUILD_HOST` from environment (if they are set) to avoid
reproducibility issues by hard-coding such data in the build system.
However, there's no way to provide VPP_BUILD_TOPDIR externally. Add this
feature to improve binary reproducibility.
Type: improvement
Change-Id: I3a7ee47d75af9635b636fa3750a3688314eaa60d
Signed-off-by: Oleksandr Hnatiuk <ohnatiuk@cisco.com>
Guillaume Solignac [Fri, 15 Nov 2024 10:37:40 +0000 (11:37 +0100)]
armada: fix feature arc for secondary interfaces
Fixes an issue preventing a feature to be configured on a secondary interface.
Type: fix
Signed-off-by: Guillaume Solignac <gsoligna@cisco.com>
Change-Id: I8ecd80988d22291013cd0addae6dc25043aaea98
Benoît Ganne [Fri, 5 Jul 2024 12:09:35 +0000 (14:09 +0200)]
pg: misc improvements and fixes
1) pg can typically injects packets in ethernet-input, ip4-input or
ip6-input. Make sure offload offsets are correctly set for ip4-input and
ip6-input.
2) add hw-addr support for ethernet mode (only available through cli)
3) refactor pg creation code to improve the readability by using
data structure pg_interface_args_t
4) fix the pg input and output traces to use headers according to
pg interface mode
5) introduce pg interface flags i.e. checksum, gso, gro
Type: improvement
Change-Id: Iffed502e9c6357d7ef8e8a72217867e8297236aa
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Florin Coras [Tue, 10 Dec 2024 00:45:54 +0000 (19:45 -0500)]
session: disable fifo tuning on app close
Type: fix
Change-Id: Id6aa410a75356ece1d114a2970f70cf32203997f
Signed-off-by: Florin Coras <fcoras@cisco.com>
Adrian Villin [Wed, 11 Dec 2024 09:39:05 +0000 (10:39 +0100)]
hs-test: fix nginx http3 dockerfile
- now working with UBUNTU_VERSION=24.04
Type: test
Change-Id: I60aa62b8dcf3e96392af7179925e0f0fa3e15f11
Signed-off-by: Adrian Villin <avillin@cisco.com>
Adrian Villin [Mon, 9 Dec 2024 13:18:31 +0000 (14:18 +0100)]
hs-test: replaced container/interface getter func
- replaced s.GetContainerByName("xyz") with s.Containers.Xyz in tests
and suites
- same thing for interfaces
- each suite has its own structs with containers/interfaces
- structs are initialized in SetupSuite
Type: test
Change-Id: I5bd99605b40921b7b8c844e8650f6fb0915e9e99
Signed-off-by: Adrian Villin <avillin@cisco.com>
Hadi Rayan Al-Sandid [Tue, 26 Nov 2024 14:58:40 +0000 (15:58 +0100)]
bpf_trace_filter: allow pcap filtering without classifier
Type: improvement
Change-Id: I7ca860dbee0d0a24b7f00943142d8c878ed90e80
Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>
Adrian Villin [Fri, 29 Nov 2024 15:33:14 +0000 (16:33 +0100)]
hs-test: added multi-threaded proxy tests
- TCP and UDP iperf proxy tests added
Type: test
Change-Id: Ic6f429cc6d48388ce9a17f8b9cd7c4b54b9a7e4d
Signed-off-by: Adrian Villin <avillin@cisco.com>
Adrian Villin [Tue, 10 Dec 2024 12:36:33 +0000 (13:36 +0100)]
hs-test: skip vppctl assert on teardown
- core dump check would get skipped if vpp crashed and vppctl
was called on teardown
Type: test
Change-Id: I9dda7036042158332c8ec815f6eb4bb3c2f7000f
Signed-off-by: Adrian Villin <avillin@cisco.com>
Matus Fabian [Tue, 10 Dec 2024 09:07:11 +0000 (10:07 +0100)]
http: fix http_free_header_table
Type: fix
Change-Id: I014aebc84d0c219cc0c99120e9cd51fcc520a41c
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Ole Troan [Fri, 22 Nov 2024 08:22:20 +0000 (09:22 +0100)]
ip: add enable ip4 api
A philosophical question. Do an interface have to have an IPv4 address
to process IPv4 packets? For ICMP error generation it's sufficient that
it has an address available on the node.
More concretely this patch is to allow an extern DHCP client to process
IP packets before it configures an address on the interface, without
having to have an node early in the ip4-unicast feature-arc like
ip4-dhcp-client-detect to intercept the packets.
Type: improvement
Change-Id: I780c579eec28ba564cf8417fbcc87e7a7876fdd2
Signed-off-by: Ole Troan <otroan@employees.org>
Matus Fabian [Thu, 21 Nov 2024 16:01:45 +0000 (17:01 +0100)]
http: connection upgrade mechanism
Handle "Connection" and "Upgrade" headers in http transport layer which
are used to create a tunnel for some other protocol on the same
connection.
Type: improvement
Change-Id: Icf5479f36fbcc7259b157eaad957211be5ea2aae
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Matus Fabian [Sun, 8 Dec 2024 14:13:44 +0000 (15:13 +0100)]
hs-test: arm support
CPU arch dependencies cleanup. Everything works fine apart from
redis-benchmark test.
Type: test
Change-Id: I4a1e7d3bce994f6ea0681e06955ef9c621468642
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Adrian Villin [Fri, 6 Dec 2024 15:00:25 +0000 (16:00 +0100)]
hs-test: improved iperf testing
- set iperf to json output
- added iperf json parsing function
- we can now check if iperf transferred more than X megabytes
(other asserts can be added)
Type: test
Change-Id: I560104a153456b46f22a1affee4301018063b99d
Signed-off-by: Adrian Villin <avillin@cisco.com>