Naveen Joy [Fri, 18 Apr 2025 00:58:28 +0000 (17:58 -0700)]
tests: update run.py to skip building vpp when running tests
Use make to build vpp before running tests using run.py. Also, fixes
an issue when running tests against an exisiting vpp caused due to
asfframework refactoring.
Type: test
Change-Id: I252a4083db6384caf799095d07f79a9f01240358
Signed-off-by: Naveen Joy <najoy@cisco.com>
Dave Wallace [Wed, 23 Apr 2025 01:42:22 +0000 (21:42 -0400)]
build: update vpp-opt-deps to openssl 3.5.0
Type: feature
Change-Id: I55451dfa31ff48a3976fa84c7a3d93144b1ec890
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Jeff Shaw [Thu, 17 Apr 2025 22:02:20 +0000 (15:02 -0700)]
memif: fix fib lookup in dma datapath
Packets received using the DMA datapath use the buffer template copied
from the dma_info per-thread data. The sw_if_index[VLIB_TX] was not set
in the vlib buffer template, so subsequent FIB lookups were done using
table 0. This is incorrect if the interface is assigned to a different
table.
Fix the behavior by setting the sw_if_index[VLIB_TX] to ~0, so the FIB
knows to use the table to which the interface is assigned, which is the
same behavior as the non-DMA memif datapath.
Type: fix
Change-Id: I17bf9d21ef8a82c56ef839fbf2b611a633db7255
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
Damjan Marion [Thu, 17 Apr 2025 20:04:29 +0000 (22:04 +0200)]
vlib: move file_main to vlib/file.[ch]
mechanical change to accomodate following patch...
Type: refactor
Change-Id: I74be905534d8061d0f192b969cfbfd94272922f0
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Thu, 17 Apr 2025 20:11:45 +0000 (22:11 +0200)]
vlib: remove unused variable
Type: improvement
Change-Id: I9a268e7687ebc78e36ef65666749e402b273695a
Signed-off-by: Damjan Marion <damarion@cisco.com>
Matus Fabian [Thu, 17 Apr 2025 08:45:54 +0000 (04:45 -0400)]
http: http_app_worker_rx_notify improvement
Do not send rx event to app worker if there is already pending one
Type: improvement
Change-Id: I76c7e222ba13932be2079b5135ffadf5c98155e7
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Ivan Ivanets [Thu, 17 Apr 2025 07:16:12 +0000 (07:16 +0000)]
crypto: add support for aes-cbc with hmac
Type: feature
Support combined enc/auth algorithms with aes-cbc for enc and hmac
(sha1, sha256, md5 ...) for auth in th openssl crypto engine
Change-Id: If915a5aec84a2c365b68ef9f42497593abc1b70e
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
Florin Coras [Wed, 16 Apr 2025 06:02:33 +0000 (02:02 -0400)]
udp: add basic stats per connection
Type: improvement
Change-Id: I95a3b9c85f4b6ab94250fc8fb5f2a4a142a2f833
Signed-off-by: Florin Coras <fcoras@cisco.com>
Adrian Villin [Thu, 6 Mar 2025 12:25:50 +0000 (13:25 +0100)]
session: https parsing support
Type: improvement
Change-Id: I6ec29cda2cb841a70d6f5768f97666b2cc37febb
Signed-off-by: Adrian Villin <avillin@cisco.com>
Matus Fabian [Tue, 15 Apr 2025 15:02:45 +0000 (11:02 -0400)]
http: fix http session deschedule
Type: fix
Change-Id: Ieda622ff48422e8f4707c8b624f14d93324e615d
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Damjan Marion [Wed, 16 Apr 2025 16:24:12 +0000 (18:24 +0200)]
snort: don't create listner until 1st instance is created
Type: improvement
Change-Id: I343eed4024648e198b7d852c35d5202817e12be3
Signed-off-by: Damjan Marion <damarion@cisco.com>
Artem Glazychev [Tue, 1 Apr 2025 06:14:26 +0000 (13:14 +0700)]
sr: fix unit tests
fixed several tests that were skipped a long time ago. And also added a test for ECMP
Type: fix
Change-Id: Id58302f3362f3db56cd5b467d761a177464f68c6
Signed-off-by: Artem Glazychev <glazychev@mts.ru>
Hadi Rayan Al-Sandid [Tue, 25 Jun 2024 21:38:54 +0000 (23:38 +0200)]
hs-test: Add CPU pinning tests for 'relative' keyword
Type: test
Added tests to cpu_pinning_suite.go to verify that
VPP launches with different CPU configurations, including
configurations with the 'relative' keyword.
Change-Id: Ia6bef88ca22ebad5d37480230c8a84cabebab4a9
Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>
Damjan Marion [Tue, 15 Apr 2025 07:25:03 +0000 (09:25 +0200)]
vppinfra: thread safe clib file
Type: improvement
Change-Id: I37663f0f600b6fe8c76de25e77d0425a10ef9a21
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Tue, 15 Apr 2025 07:32:38 +0000 (09:32 +0200)]
vhost: don't access clib file data directly
Type: improvement
Change-Id: I78d2439e196f095aefc84a36061c9f5fe3cac312
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Tue, 15 Apr 2025 07:14:49 +0000 (09:14 +0200)]
vppinfra: explicitelly cast to void * to silence clangd
Type: fix
Change-Id: I286c73d532368e3726269cce9a6993c4911e99cb
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Tue, 15 Apr 2025 09:23:47 +0000 (11:23 +0200)]
vlib: thread safe logging
Type: improvement
Change-Id: I373c40f23bf221287731c86dc7e6ceacdb627f9d
Signed-off-by: Damjan Marion <damarion@cisco.com>
Steven Luong [Thu, 3 Apr 2025 17:22:10 +0000 (10:22 -0700)]
bonding: ASSERT fails for bif->active_members in TX path
Elements in bif->active_members are used without protection in the TX DP path.
However, elements in bif->active_members may freed by another thread asynchronously
and it may cause the ASSERT to fail when accessing elements.
The fix is to take a snapshot of the active_members and use that in the TX DP path.
Type: fix
Change-Id: I081cc81cc4d072807d6cbbcf5d21feb97f500362
Signed-off-by: Steven Luong <sluong@cisco.com>
Damjan Marion [Wed, 9 Apr 2025 16:36:18 +0000 (18:36 +0200)]
vlib: timing wheel improvements
Type: improvement
Change-Id: I9b57ed8632e0afea9f4b67972619f411c27f35f2
Signed-off-by: Damjan Marion <damarion@cisco.com>
Matus Fabian [Fri, 11 Apr 2025 13:38:07 +0000 (09:38 -0400)]
http: malformed request handling improvement
handle case when sum of the DATA frame payload lengths do not equal
value of content-length header
Type: improvement
Change-Id: I71c4114fb52d7ae1dba9645a3dcf41ffe3516e1f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Florin Coras [Mon, 14 Apr 2025 02:50:51 +0000 (22:50 -0400)]
tcp: remove erroneous exception seg check assert
Type: fix
Change-Id: Ic3ae960e8f4a28f96b9964f6a3bd60379dd3795f
Signed-off-by: Florin Coras <fcoras@cisco.com>
Adrian Villin [Thu, 10 Apr 2025 12:26:43 +0000 (14:26 +0200)]
hs-test: added basic performance testing infra
- only works on ubuntu 22.04 for now
- usage: build docker images, 'make setup-cluster',
then 'sudo make test-perf'
- TODO: documentation, install KinD and kubectl automatically,
build containers before cluster setup
Type: feature
Change-Id: Ic4a78a0d9368d947404324c7af8c2520fa7ef3c0
Signed-off-by: Adrian Villin <avillin@cisco.com>
hsandid [Fri, 7 Jun 2024 16:11:48 +0000 (18:11 +0200)]
vlib: add 'relative' keyword for cpu configuration
Type: feature
Add keyword 'relative' to translate cpu pinning configuration
to match vpp launch affinity
Change-Id: Ic748e5f4269525764b7adc92a8a5e4877e59c5a3
Signed-off-by: hsandid <halsandi@cisco.com>
hsandid [Mon, 10 Jun 2024 14:06:37 +0000 (16:06 +0200)]
vlib: require main core with 'skip-cores' attribute
Type: fix
Not specifying main core with 'skip-cores' attribute can result
in launch issues e.g. if main thread pinned automatically by
scheduler to a cpu in 'skip-cores' range.
Change-Id: Ie47b3691e25ed4ff5d53887d3e1d5e8cb2be00b9
Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>
Nicolas PLANEL [Thu, 3 Apr 2025 08:54:15 +0000 (10:54 +0200)]
vlib: avoid confusion when parsing plugins section
config_one_plugin steal the vector allocated by unformat()
and memory leak in the error path of config_one_plugin
call vec_dup() and vec_free() when it's needed
Type: fix
Change-Id: I2407e0981e9628c40908cdd26683b98ae27c2159
Signed-off-by: Nicolas PLANEL <nplanel@cisco.com>
Matthew Smith [Tue, 8 Apr 2025 14:41:31 +0000 (14:41 +0000)]
dpdk: fix key length for linked crypto algs
Change to key storage in vnet crypto was not propagated to linked algs
in dpdk cryptodev code. There is an explicit key length field now
instead of using vec_len() on the key data.
Type: fix
Fixes:
6676d95169
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Change-Id: I27fbfa5b2da3db0930cf2b2f2addd00d7400c74d
Benoît Ganne [Thu, 10 Apr 2025 14:19:25 +0000 (16:19 +0200)]
vlib: fix restart cli command
Type: fix
Change-Id: I961a261a647863936021e4b29d406971fd76c0af
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Florin Coras [Thu, 27 Mar 2025 06:29:01 +0000 (02:29 -0400)]
session: support builtin ct accepts
Type: improvement
Change-Id: I876630549e113b9ee5e81357a30523cbcc6b434e
Signed-off-by: Florin Coras <fcoras@cisco.com>
Matus Fabian [Fri, 11 Apr 2025 09:15:52 +0000 (05:15 -0400)]
http_static: url handler POST improvement
for POST request url handler expect data immediately after msg,
but in case of http/2 this was broken because headers and data are
different frames
Type: improvement
Change-Id: I32f93c3945c10c95a7d2150a9b60f79bac2a7e5a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Matus Fabian [Thu, 10 Apr 2025 14:17:30 +0000 (10:17 -0400)]
hs-test: http/2 testing with h2spec
suite is marked as pending since http plugin is not build with http/2
enabled by default
Type: test
Change-Id: If13f2add1f418060dae6d493f2cd800f9f734449
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Florin Coras [Fri, 11 Apr 2025 03:55:26 +0000 (23:55 -0400)]
tcp: do not scale syn-ack window
Type: fix
Change-Id: I1d677a8d80065644a1ddfb3884d99feee04c4756
Signed-off-by: Florin Coras <fcoras@cisco.com>
Damjan Marion [Wed, 9 Apr 2025 17:49:52 +0000 (19:49 +0200)]
vppinfra: move spinlock code into macro so it can be reused
Change-Id: Iead3b7e4fa374d1851aa76245407f6e77a26f832
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
Matus Fabian [Wed, 9 Apr 2025 18:34:53 +0000 (14:34 -0400)]
http: http/2 improvements
- improved handling of malformed frames and protocol violations
- if frame payload is not in fifo stop rx processing
Type: improvement
Change-Id: I4f5bd3f2fda23f2170b63af47d11deca666be27b
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Damjan Marion [Mon, 7 Apr 2025 19:21:38 +0000 (21:21 +0200)]
vlib: don't enable api elog by default
Change-Id: Ie6eb9bf9560efbe78976b84e33eb880f2aa66dfe
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Wed, 9 Apr 2025 17:31:50 +0000 (19:31 +0200)]
vppinfra: fix includes in devicetree code
Type: fix
Change-Id: I493d8c1cc569074172fac79bbc31ed7d8df16a21
Signed-off-by: Damjan Marion <damarion@cisco.com>
Matus Fabian [Wed, 9 Apr 2025 18:57:21 +0000 (14:57 -0400)]
http: check if version is known on cleanup
peer might close/reset cleartext connection before send something or
nothing and connection time-out, in this case do not call http vfts
Type: fix
Change-Id: Ie30217fb8c68bf96a8d498bb0d50c8b20eb0e370
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Matus Fabian [Tue, 8 Apr 2025 17:49:11 +0000 (13:49 -0400)]
http: PING frame support
Type: improvement
Change-Id: I932c97e4b9fc8d614ae77c3c949f04687a4f29ad
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Naveen Joy [Wed, 26 Mar 2025 21:53:09 +0000 (14:53 -0700)]
misc: update vpp python requirements
Type: fix
Change-Id: I715ea3b69342f7b8ab032e40320be9fa938c04e9
Signed-off-by: Naveen Joy <najoy@cisco.com>
Dave Wallace [Fri, 4 Apr 2025 03:47:00 +0000 (23:47 -0400)]
vpp: add VPP_PLATFORM to show version output
- when building with VPP_PLATFORM=octeon10,
the show version output does not include
the VPP_PLATFORM which is included in the
debian package name. Adding this to the
version helps clarify the platform/package
name in CSIT trending graphs in addition
to matching installed debian package name
for packages with non-default VPP_PLATFORM.
Type: fix
Change-Id: Ieb582a1db576f5e676b97becfdce6ebdfdd3ae41
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Matus Fabian [Wed, 2 Apr 2025 17:44:44 +0000 (13:44 -0400)]
http: http/2 starting tcp connection
Type: feature
Change-Id: Ic731cf0f758f247cd067ca13ec2901c2c01b5065
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Matus Fabian [Mon, 31 Mar 2025 17:29:48 +0000 (13:29 -0400)]
http: http/2 stream state machine
server side stream state machine
Type: feature
Change-Id: I03ce57f6c1146f7e1dfd7d54db7d3e3ec7615991
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Matus Fabian [Thu, 3 Apr 2025 09:59:06 +0000 (05:59 -0400)]
http: http_buffer improvements
needed for http/2 to make data frame header
http_buffer_get_segs return number bytes in returned segments
http_buffer_is_drain changed to http_buffer_bytes_left
ptr buffer can track u64 data length
Type: improvement
Change-Id: I586bec69c851cb38d7be7af9e254cd240bbd7e62
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Florin Coras [Fri, 4 Apr 2025 21:56:18 +0000 (17:56 -0400)]
http_static: support multiple listeners
Add support for multiple listeners that can be added and removed via
"http static listener" cli.
Type: feature
Change-Id: I024d1bf8b02b2046f1757656944b2d48662a1254
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Sat, 5 Apr 2025 19:41:05 +0000 (15:41 -0400)]
http: handle ts closed notifications
Handle transport closed notifications and update connection state.
Also, handle closed state in app close notifications and force http
connection cleanup if transport is already closed to avoid waiting for
timer based cleanups.
Type: improvement
Change-Id: I26ee6a15b0993810d5a75fa56bb24e3396962f7b
Signed-off-by: Florin Coras <fcoras@cisco.com>
Damjan Marion [Fri, 4 Apr 2025 14:32:53 +0000 (16:32 +0200)]
vlib: add vlib_node_unschedule() and vlib_node_is_scheduled()
Type: improvement
Change-Id: I18c3b2c688c2395e49976b9bb17c784cf6e62dc7
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Fri, 4 Apr 2025 11:28:14 +0000 (13:28 +0200)]
iavf: fix promisc flags
define unused flag bits so they are initialized to zero
Change-Id: Ibcab38efa33d70cb4f8a813b5eaf001c8ddea4fe
Type: fix
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Fri, 4 Apr 2025 11:23:32 +0000 (13:23 +0200)]
vlib: use libiberty to demangle backtrace if present
Only C++ for now.... but others like rust can be added easily
Type: improvement
Change-Id: Ic61766f9944c0c19711a40a4686d296605d6c10d
Signed-off-by: Damjan Marion <damarion@cisco.com>
Nicolas PLANEL [Fri, 28 Feb 2025 18:59:14 +0000 (19:59 +0100)]
crypto: make configurable crypto engines
Add a configuration sections crypto-engines, it works like plugins syntax :
The following configuration will load and register only openssl engine
'''
crypto-engines {
default {disable}
openssl {enable}
}
'''
And this one will load all engines except openssl
'''
crypto-engines {
default {enable}
openssl {disable}
}
'''
Type: feature
Change-Id: Ia637db93b497d0c4333704f3c024e85de3941791
Signed-off-by: Nicolas PLANEL <nplanel@cisco.com>
Signed-off-by: Nicolas PLANEL <nplanel@gmail.com>
Signed-off-by: Nicolas PLANEL <nplanel@cisco.com>
Semir Sionek [Wed, 26 Mar 2025 13:29:32 +0000 (13:29 +0000)]
hsa: add timed runs option for echo client
Introduce the run-time parameter for echo client, which allows for
running for a certain time with a full buffer as opposed to running
until n amount of data is bounced back.
Type: improvement
Change-Id: I7b5b2138fe3fbbc36511331095a02dafd776fa94
Signed-off-by: Semir Sionek <ssionek@cisco.com>
Adrian Villin [Wed, 2 Apr 2025 17:01:17 +0000 (19:01 +0200)]
hs-test: simplify core allocation
- no longer distinguishing between release and debug build in the CI
- core allocation will always start from core 1 (or 0 if CPU0=true)
Type: improvement
Change-Id: I4568bda01bd90fba14ca81f6669bdab3b7521415
Signed-off-by: Adrian Villin <avillin@cisco.com>
Andrew Yourtchenko [Thu, 18 Jul 2024 12:01:53 +0000 (14:01 +0200)]
acl: use ip4_preflen_to_mask instead of artisanal function
Type: improvement
Change-Id: I4cd52a9f2b8814e8d27a72ea3547fd9f8ee23562
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Bence Romsics [Thu, 18 Jul 2024 08:57:12 +0000 (10:57 +0200)]
vat2: fix -p in vat2 help text
Since commit
fe1fb3c31a short option -p stands for --plugin-path and -s
stands for --prefix. Adjust the help text. Also fix a typo and sort
option lists.
Type: fix
Change-Id: I8e9fd825cca930e13e0a09a4492f22951a25e2ee
Signed-off-by: Bence Romsics <bence.romsics@gmail.com>
Naveen Joy [Tue, 1 Apr 2025 21:26:44 +0000 (14:26 -0700)]
tests: gracefully terminate iperf3 process to enable cleanups
Type: fix
Change-Id: I24660305ea20d7b69e825a785ce5be3f80b431eb
Signed-off-by: Naveen Joy <najoy@cisco.com>
Ivan Ivanets [Tue, 1 Apr 2025 17:30:34 +0000 (20:30 +0300)]
tests: update lcov ignore_error param
Type: test
Add the value 'negative' into ignore_error param to fix lcov error
for test-cov.
Change-Id: Ia10f70315e9f9f24bfa1d177a7293b65c3889fd2
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
Nithinsen Kaithakadan [Thu, 23 Jan 2025 05:04:52 +0000 (10:34 +0530)]
octeon: set cpt descriptor count to 16k
Set the number of CPT descriptors to 16384.
Add an option to configure cpt descriptor count
from startup conf.
Type: feature
Signed-off-by: Nithinsen Kaithakadan <nkaithakadan@marvell.com>
Change-Id: Id1ffbe69ad7d457dbd0b11494be1dc0d4a28c324
Nithinsen Kaithakadan [Sun, 9 Mar 2025 13:16:01 +0000 (18:46 +0530)]
octeon: fix invalid mac length in chacha poly
This patch fixes invalid mac length to resolve crash in Chacha Poly.
Type: fix
Signed-off-by: Nithinsen Kaithakadan <nkaithakadan@marvell.com>
Change-Id: Ia940a721b5cb47f7b5fe68adbea78adaaa0f54f0
Andrew Yourtchenko [Mon, 31 Mar 2025 12:05:52 +0000 (12:05 +0000)]
build: fix the make-ext-deps
After the spring cleaning there were a couple of packages missing,
which prevented the install of the external dependencies.
Also as per Damjan, dkms is no longer needed for dpdk.
Type: fix
Fixes:
27c80923d0cc941c3d6954e2339b0ec75bcf18f9
Change-Id: I7f51577fee25283d64ddb898af87ae7520d6afb0
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Semir Sionek [Fri, 28 Mar 2025 15:05:11 +0000 (15:05 +0000)]
hsa: remove mbytes/gbytes parameters from echo client
...since we're already doing unformat_memory_size on the regular bytes
parameter anyway. In conjunction with that, adjust some make
test/hs-test tests to make use of this parameter.
Type: refactor
Change-Id: Ia0c2899a31b14a8689fdc256e25c4bb418de37fc
Signed-off-by: Semir Sionek <ssionek@cisco.com>
Adrian Villin [Fri, 28 Mar 2025 11:59:12 +0000 (12:59 +0100)]
hs-test: remove assert in container.Exec
- removed so we can ignore errors (e.g. vppinstance.Stop)
Type: test
Change-Id: Ib83057eaac7ae6e7338ae9cb59ab2af6239c47a5
Signed-off-by: Adrian Villin <avillin@cisco.com>
Florin Coras [Fri, 28 Mar 2025 18:05:10 +0000 (14:05 -0400)]
http: leave space for msg header on transport method
Type: fix
Change-Id: I4bcc9c6168c18ccf5701b832c26b16d3bb24bc98
Signed-off-by: Florin Coras <fcoras@cisco.com>
Matus Fabian [Fri, 28 Mar 2025 16:04:50 +0000 (12:04 -0400)]
http_static: POST to static files improvement
Type: improvement
Change-Id: I6a6794dee3c9e948227e6c08769d45aa595bfe02
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Ivan Ivanets [Fri, 28 Mar 2025 15:48:41 +0000 (17:48 +0200)]
tests: fix text cov-post
Type: test
Need to remove unused html/cmd_line file after genhtml based on
jjb/script/publish_cov.sh error about file name patter without
extension
Change-Id: I607951f8e464bb9e0bb88b4ee84010a5984f082a
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
Florin Coras [Fri, 28 Mar 2025 04:17:44 +0000 (00:17 -0400)]
vcl: fix coverity warnings
Type: fix
Change-Id: I41a9332bdd7a34ce30eaa5cd2378990dbe8e31f5
Signed-off-by: Florin Coras <fcoras@cisco.com>
Jeff Shaw [Fri, 21 Mar 2025 15:00:17 +0000 (08:00 -0700)]
dma_intel: fix dsa software fallback
When a page fault occurs, and the "block on fault" flag is not set, the
DSA device reports the error in the completion descriptor and software
should complete the operation in software. This behavior works properly,
except the batch was not added to the list of pending batches, so the
DSA node failed to completely process the batch. The side effect is the
application callback is not called, so buffers are not freed, and the
batch is never added back to the freelist, leading to eventual buffer
exhaustion, and traffic stopping.
The fix is to make sure the batch is added to the list of pending
batches so the DSA node completes the batch. This change also removes
the line that increments the "submitted" counter as that is only used
to count batches that are submitted to hardware. A separate counter,
sw_fallback, is used to count batches that are handled in software.
Type: fix
Change-Id: Ib54e8d77ac02e5dca237bb9348440c3ddaad993b
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
Ivan Ivanets [Thu, 27 Mar 2025 13:53:04 +0000 (15:53 +0200)]
tests: fix test cov for PG Stream and Session SDL
Type: test
Localized cli response waiting time configuration only for
test_pg_stream and test_session_sdl instead of asfframework conf
Change-Id: Iabeccdda97e518662f1243edd91217c02cdc8711
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
Ivan Ivanets [Wed, 26 Mar 2025 21:53:05 +0000 (23:53 +0200)]
tests: fix test cov
Type: test
Need to add cli response waiting timeout for test cov for test_session_sdl
and test_pg_stream.
Change-Id: I3eedfdb0de1ca01d9786742986fbcce2487500e3
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
Florin Coras [Tue, 25 Mar 2025 07:29:40 +0000 (00:29 -0700)]
vcl: improve vpp detached handling for mq epoll apps
Apps that rely on epoll and use eventfds for mq signaling can
potentially sleep indefinitely if vcl detaches from vpp and no libc fd
generates events.
To avoid this, at detach time, force creation of a pair of pipes that
constantly generates mq_epfd events to force apps, including ldp, to
request vppcom epoll_waits which retry attaching to vpp.
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie2ac338cc10721829e6ac525ee7d6b812354e9a3
Florin Coras [Wed, 26 Mar 2025 03:54:51 +0000 (23:54 -0400)]
hs-test: fix redis test on ubuntu 24.04
Noticed in local runs that after snapshots, vcl crashes due to what
appears to be a memory corruption. Given that snapshot are done in a
forked child process, probably this is some mishandling of child
processes in multi-threaded apps.
Disable snapshotting for now.
Type: fix
Change-Id: Ide2dd3d68911b936742b41992485cc06db737564
Signed-off-by: Florin Coras <fcoras@cisco.com>
Andrew Yourtchenko [Wed, 26 Mar 2025 15:52:25 +0000 (16:52 +0100)]
acl: fix an off-by-one error in fa_acl_match_ip6_addr which does masked IPv6 comparison
The comparison code for the bit remainder (non-zero part of prefix length modulo 8)
was incorrectly looking one byte further than it should.
Type: fix
Change-Id: Idd27d218e77eff5f368f2ba0a5cefb86ecf605f5
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Damjan Marion [Mon, 17 Mar 2025 14:51:59 +0000 (15:51 +0100)]
vlib: add new node type - SCHED nodes
SCHED nodes are new type of nodes, similar to input nodes but they are
scheduled to be run from timing wheel.
SCHED nodes work both on main and worker threads.
Typically SCHED nodes can be scheduled to be run in two ways:
- vlib_node_set_interrupt_pending() - from any thread, run ASAP
- vlib_node_schedule() - from own thread, afer sepcific interval
Type: feature
Change-Id: Id29a66532328d9b3c454e65d09495e8fb479cedf
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Tue, 25 Mar 2025 21:50:05 +0000 (22:50 +0100)]
build: remove unused packages
Type: improvement
Change-Id: I324e34198b5332407759f3acff8b185f936d9090
Signed-off-by: Damjan Marion <damarion@cisco.com>
Matus Fabian [Tue, 25 Mar 2025 09:51:17 +0000 (05:51 -0400)]
hs-test: iperf and redis server logs
send output to a log file for iperf server and redis server
Type: test
Change-Id: I07a5222e4717eee9cac3aab5c9a1a324d843e3b5
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Jeff Shaw [Tue, 25 Mar 2025 15:13:10 +0000 (08:13 -0700)]
misc: update maintainers
Update dma_intel, dpdk-cryptodev, idpf, and ipsec maintainers.
Also fix whitespace formatting.
Type: docs
Change-Id: Ic25343164c2fc33010a0d7044dab2e813dc6c7b7
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
Matus Fabian [Fri, 14 Mar 2025 13:10:38 +0000 (09:10 -0400)]
http: http/2 core skeleton
Type: feature
Change-Id: Ia6581b685c9dbc89e72bdec320b7f52f6f962542
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Matus Fabian [Fri, 7 Mar 2025 13:02:42 +0000 (08:02 -0500)]
http: extendable conn/req ctx and multiplexing
multiplexing support:
- set request index as connection_index in application session
- do not allocate app session/http req immediately in
http_ts_accept_callback but wait for request/stream opening
HTTP version specific data in connection and request ctx:
- opaque pointer in http_conn_t
- req_pool manged entirely by specific version engine
Version specific configuration:
- added name to http_engine_vft_t
- added unformat_cfg_callback (optional) to http_engine_vft_t
Type: improvement
Change-Id: Ib43f0489337a222a68b0f81d45cb2e64b2c606c0
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Benoît Ganne [Wed, 18 Dec 2024 16:38:23 +0000 (17:38 +0100)]
build: fix coverage for various lcov versions
Starting with lcov version 2, we need to add some errors filtering.
Unfortunately, those filters are not available with lcov version 1.
Type: fix
Fixes:
66fcfb845b8e588901b4f663435e9e1b30499467
Change-Id: Ic8f4c55be89dcc59370b5a69ed8e8f39c5647ec8
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Andrew Yourtchenko [Wed, 19 Mar 2025 14:11:44 +0000 (14:11 +0000)]
tests: allow to define SKIP_TESTS in a similar fashion to TEST
This change adds the possibility to specify the tests to skip
from the selected set of tests. This allows to construct test
sets "everything except foo and bar" that are tedious to make
otherwise.
Type: improvement
Change-Id: I0862031baf22fef926554873a88a068dfc8f0623
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Ivan Ivanets [Wed, 19 Mar 2025 14:35:42 +0000 (16:35 +0200)]
tests: use vcl_test_client and server for installation
Type: test
Need to use vcl_test_client and server for deb pkg installation.
After that it is possible to use for the new one CSIT testsuit.
Change-Id: I5a374e47e9c0d0fa3920f26f6dcc9adfbc05103b
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
nucleo [Mon, 17 Mar 2025 14:25:41 +0000 (16:25 +0200)]
quic: Fix compilation error with CMake 4.0.0
Fixes quicly compilation error and warning with CMake 4
Compatibility with CMake < 3.5 has been removed from CMake.
Compatibility with CMake < 3.10 will be removed from a future version of CMake.
Type: fix
Change-Id: I810f70459d5ba70f6a8c0ea0d57c77fe20dddb73
Signed-off-by: nucleo <alekcejk@googlemail.com>
Adrian Villin [Mon, 17 Mar 2025 09:43:06 +0000 (10:43 +0100)]
hs-test: lower minimum iperf perf requirements
- lowering because of ubuntu 24.04
Type: test
Change-Id: I35ec190f10bda0ea0bfe815f00ac147e451b3607
Signed-off-by: Adrian Villin <avillin@cisco.com>
nucleo [Fri, 14 Mar 2025 15:09:18 +0000 (17:09 +0200)]
af_xdp: Backport Get rid of llc and use clang to build BPF object files directly
Fixes xdp-tools compilation error with clang 20
error: argument unused during compilation: '-c' [-Werror,-Wunused-command-line-argument]
Type: fix
Change-Id: I4d37256a722499ec1cbe8fe8e708810a2c8c9d99
Signed-off-by: nucleo <alekcejk@googlemail.com>
Nicolas PLANEL [Wed, 5 Mar 2025 15:37:47 +0000 (16:37 +0100)]
dpdk: rte_eth_tx_prepare need to called before transmiting packets
By the DPDK documentation rte_eth_tx_prepare() call is required
to prepare the NIC and to validate the mbufs.
This would fix hardware bad UDP checksum generated by ena driver issue.
As performance will be impacted depending on the driver tx_prepare() callback
I defined a tx-prepare flag that would be enabled by default on ena driver but
could be enabled in the configuration if need for others drivers.
Note: This option would normally be exclusive with intel_phdr_cksum as driver's
tx_prepare would normally cover this usage.
Type: fix
Change-Id: Ic7c21682f7bd92b35bd9b1028129709baa2a64d4
Signed-off-by: Nicolas PLANEL <nplanel@cisco.com>
Signed-off-by: Nicolas PLANEL <nplanel@gmail.com>
Adrian Villin [Thu, 13 Mar 2025 11:12:13 +0000 (12:12 +0100)]
hs-test: added session, tcp, svm unit tests
- moved HttpUnitTest to unittests_test.go
- unit tests will only run on coverage builds
- added "SUCCESS" message to some unit tests
Type: test
Change-Id: I35a0510d0ac2899d85f2aa6875a738b280e9b89c
Signed-off-by: Adrian Villin <avillin@cisco.com>
Klement Sekera [Tue, 26 Nov 2024 14:42:41 +0000 (15:42 +0100)]
ip: fix ICMP inner payload parsing
Add a check so that ICMP type is verified to be an error before parsing
inner payload. If it's not an error, then the inner payload is not there.
Type: fix
Fixes:
46d0ff3945
Change-Id: I5c7d8ddacb347ec030784f349064e66d63cd525e
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Semir Sionek [Fri, 14 Mar 2025 10:44:21 +0000 (06:44 -0400)]
hs-test: enable coverage file filtering correctly
Type: fix
Change-Id: Idb14eebb42d31ff3c6ad5cde30fdb2e53d47302b
Signed-off-by: Semir Sionek <ssionek@cisco.com>
Florin Coras [Wed, 12 Mar 2025 08:18:32 +0000 (04:18 -0400)]
vcl: fix cl sendto on unbound socket
Type: fix
Change-Id: Ia1e61a7ed633ad9708bd02fbaf4a39fe1a0ca1f3
Signed-off-by: Florin Coras <fcoras@cisco.com>
Jay Wang [Tue, 11 Mar 2025 10:49:43 +0000 (10:49 +0000)]
build: remove the duplicate `make install-dep` in `make pkg-verify`
In Makefile, when a target has multiple prerequisites, the order of
execution of prerequisites is not guaranteed. So we might encounter the
following `apt-get` lock issue when executing `make pkg-verify` due to
the duplicate execution of `make install-dep` command.
Reading package lists...
E: Could not get lock /var/lib/apt/lists/lock. It is held by process 21872 (apt-get)
E: Unable to lock directory /var/lib/apt/lists/
make[1]: *** [Makefile:404: install-dep] Error 100
make[1]: Leaving directory '/builds/software/ias/networking/vpp'
make: *** [Makefile:373: /builds/software/ias/networking/vpp/build-root/.deps.ok] Error 2
Type: fix
Change-Id: I057cebf5e31c0f3eef42f7ad07c7759a2d8e7f73
Signed-off-by: Jay Wang <jay.wang2@arm.com>
Alexander Skorichenko [Wed, 5 Feb 2025 13:29:29 +0000 (14:29 +0100)]
urpf: fix multicast traffic
Type: fix
Change-Id: I937d5d8c89bd1e0cc6ff396df6e81ff96755702c
Signed-off-by: Maxim Babichev <maxim@netgate.com>
Signed-off-by: Alexander Skorichenko <askorichenko@netgate.com>
Semir Sionek [Thu, 13 Mar 2025 14:35:09 +0000 (10:35 -0400)]
hs-test: ignore some never used code paths for coverage generation
Type: fix
Change-Id: I4318efee62d7fdeb936b00aafd431a4927899f9b
Signed-off-by: Semir Sionek <ssionek@cisco.com>
Semir Sionek [Tue, 11 Mar 2025 12:05:31 +0000 (08:05 -0400)]
hs-test: shutdown VPP cleanly when finishing a testcase
Good practice in general, but especially helpful when SIGKILL'd VPP
can't write out coverage data.
Type: fix
Change-Id: I7e7261b6f2e63fd4a6b24a3832c32800c71493c2
Signed-off-by: Semir Sionek <ssionek@cisco.com>
Nicolas PLANEL [Thu, 27 Feb 2025 08:51:33 +0000 (09:51 +0100)]
dpdk: format UDP hw offload info consistently
Format the hardware offload info the same way than other protocol
to avoid confusion when reading logs, like this :
PKT_TX_SCTP_CKSUM (0x0000) SCTP cksum of TX pkt. computed by NIC
PKT_TX_TCP_CKSUM (0x0000) TCP cksum of TX pkt. computed by NIC
PKT_TX_UDP_CKSUM (0x0000) TX UDP cksum
Type: improvement
Change-Id: Icd16a484eabe36af4488352312245d638d7dff4b
Signed-off-by: Nicolas PLANEL <nplanel@cisco.com>
Signed-off-by: Nicolas PLANEL <nplanel@gmail.com>
Matus Fabian [Fri, 7 Mar 2025 09:34:59 +0000 (04:34 -0500)]
http: http_transport_connect TLS support
enable HTTPS for client apps
Type: improvement
Change-Id: I2ca8b926771a350863cca81729102faf6ee9c874
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Semir Sionek [Wed, 26 Feb 2025 16:50:23 +0000 (11:50 -0500)]
http_static: resize header response buffer if needed
Type: fix
Change-Id: If77469fbdf2b95b0c546a2d1de1cc8663464e1fc
Signed-off-by: Semir Sionek <ssionek@cisco.com>
Florin Coras [Fri, 7 Mar 2025 02:58:14 +0000 (21:58 -0500)]
vcl: improve vpp detatch handling
Better handling of multi-threaded applications that share sessions.
Type: improvement
Change-Id: Id69bcb1a4b1d67aab020beefdb2fa196ec2ee108
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Fri, 7 Mar 2025 03:15:23 +0000 (22:15 -0500)]
vcl: remove listen_no_mq from state to flag
One less state in state machine
Type: improvement
Change-Id: Ib6445a425b1e2d5a957318a94c3f132cddd8370b
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Sat, 8 Mar 2025 07:08:31 +0000 (02:08 -0500)]
session: improve endpoint cfg unit test
We are currently testing only active open from default to non-default
appns. Add connect test from non-default to default appns and make sure
transport cleans up ports.
Type: improvement
Change-Id: Id0f05aa295ac175b549d8035eb530dbb9a15d85d
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Thu, 6 Mar 2025 19:20:14 +0000 (14:20 -0500)]
session: fix lcl port allocation with fib
Type: fix
Change-Id: I0b0cc664cec2643a543a39cc7482292604381bf7
Signed-off-by: Florin Coras <fcoras@cisco.com>
Matus Fabian [Wed, 5 Mar 2025 14:06:59 +0000 (09:06 -0500)]
http_static: hss_ts_rx_callback fix
reset hs->data_len before handling new request
Type: fix
Change-Id: I5b02f8ec418c56e8ec607c5bc5c8716d53e5376f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Florin Coras [Mon, 3 Mar 2025 21:19:01 +0000 (16:19 -0500)]
misc: add and consolidate host stack scripts
Move all existing host stack scripts under extras/scripts/host-stack
Also add scripts for iperf/vcl performance testing
Type: improvement
Change-Id: Ia79b6bd061db49f61a0e4c6577cf45afe0323eb1
Signed-off-by: Florin Coras <fcoras@cisco.com>
Vladislav Grishenko [Fri, 29 Oct 2021 15:40:52 +0000 (20:40 +0500)]
papi: fix socket api max message id calculation
In case of sparse message ids due fixed offsets, length of
the message table is less than max message id, causing
"IndexError: list assignment index out of range" exception
in _register_function() due "self.id_msgdef[i] = msg".
Unlike shmem api, socket api needs to use max id.
Type: fix
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: Ib777db9dabc3a5a3ff83f07ec211cf2fb3c15cf0
Signed-off-by: Ole Troan <otroan@employees.org>