vpp.git
2 days agovcl: fix detach of sessions without fifos 71/42971/3 master
Florin Coras [Fri, 16 May 2025 04:08:42 +0000 (00:08 -0400)]
vcl: fix detach of sessions without fifos

Make sure we only try to cleanup segments for sessions that have not yet
been disconnected.

Type: fix

Change-Id: If8a8afcc9fdc1843918df376fcc442fc8c4fdbad
Signed-off-by: Florin Coras <fcoras@cisco.com>
2 days agodocs: vpp_papi example script 99/41399/4
Bence Romsics [Thu, 8 Aug 2024 11:47:31 +0000 (13:47 +0200)]
docs: vpp_papi example script

Document vpp_papi usage by a sample script.

Type: docs
Change-Id: Ife687c45a81b58a807b87f86c622690984f74a75
Signed-off-by: Bence Romsics <bence.romsics@gmail.com>
2 days agomisc: ignore hs-test cov failures in test-cov-both target 59/42959/3
Semir Sionek [Wed, 14 May 2025 14:12:44 +0000 (14:12 +0000)]
misc: ignore hs-test cov failures in test-cov-both target

Type: make
Change-Id: I983e052a18e1d02c9f1d77b667f4983695c2cf71
Signed-off-by: Semir Sionek <ssionek@cisco.com>
3 days agocrypto: add new handlers for cbc/ctr+hmac 17/42917/5
Ivan Ivanets [Thu, 1 May 2025 14:32:21 +0000 (17:32 +0300)]
crypto: add new handlers for cbc/ctr+hmac

Type: feature

Support combined enc/dec/chain + auth algorithms with aes-cbc/ctr for
openssl, native and ipsecmb crypto engines

Change-Id: I4c970c57c3fce1e78fe25ea3d4a9c1de3b4de0c0
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
3 days agoquic: quic engine api 63/42263/58
Dave Wallace [Wed, 29 Jan 2025 04:44:06 +0000 (23:44 -0500)]
quic: quic engine api

- Add an api to the quic plugin to separate the quic engine
  implementation from the vpp quic transport.
- Move quicly library based engine implementation to a
  separate plugin utilizing the quic engine api.

Type: feature

Change-Id: If522f18150ef7d92dbdd5ff1a96a65703dea730c
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
4 days agotcp: avoid spurious asserts while discarding bytes 51/42951/2
Florin Coras [Wed, 14 May 2025 04:13:59 +0000 (00:13 -0400)]
tcp: avoid spurious asserts while discarding bytes

Found by hst in ci, probably because of af_packet interfaces with
gso/gro on. Only applies to chained buffers.

Type: fix

Change-Id: I8d223a526bbdf88a2a7b60a0028e79ce14015a37
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 days agotls:fix connection failures with pipeline config 42/42942/2
Varun Rapelly [Wed, 30 Apr 2025 02:26:07 +0000 (02:26 +0000)]
tls:fix connection failures with pipeline config

This patch fixes connection failures and incomplete reads with async
mode and pipeline configuration.
Issue: https://github.com/FDio/vpp/issues/3606

Type: fix
Change-Id: I159861a047882ce41becc9f2e2807bf0a80c8167
Signed-off-by: Varun Rapelly <vrapelly@marvell.com>
4 days agoaf_packet: log fatal error on send 36/42936/5
Florin Coras [Fri, 9 May 2025 18:37:14 +0000 (14:37 -0400)]
af_packet: log fatal error on send

Type: improvement

Change-Id: I6f5801a5e01fd066d4a5d07c4bd5f2ecf45796ff
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 days agosession: force cleanup of cts without app wrk 50/42950/1
Florin Coras [Tue, 13 May 2025 19:20:51 +0000 (15:20 -0400)]
session: force cleanup of cts without app wrk

Also some improvements to unit tests.

Type: fix

Change-Id: Ib16f320e4404748fee8e3c6994b8df8dd890b9ea
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 days agohttp: http/2 multiplexing 25/42925/9
Matus Fabian [Mon, 5 May 2025 17:28:04 +0000 (13:28 -0400)]
http: http/2 multiplexing

schedule tx of streams, within one http connection, using
round-robin like algorithm with two queues, first is used for
new responses to send headers frame and second for data frames,
stream can send one frame each round

Type: feature

Change-Id: Id89ed08e845418151498c9afed0f88824ce6dacf
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 days agohs-test: add test timeout override 83/42883/2
Adrian Villin [Tue, 13 May 2025 08:34:34 +0000 (10:34 +0200)]
hs-test: add test timeout override

Type: test

Change-Id: If472c1539b0d4b864a9d004a02bbb6f54c43a565
Signed-off-by: Adrian Villin <avillin@cisco.com>
6 days agohs-test: nginx perf test and improvements 81/42881/5
Adrian Villin [Fri, 9 May 2025 12:55:04 +0000 (14:55 +0200)]
hs-test: nginx perf test and improvements

- added Nginx RPS test (Ab)
- moved KinD suite related files to a new folder
- sorted functions into different files
- new helper makefile target: cleanup-perf

Type: test

Change-Id: I9c3e00d1e7ad74e211cd16279d96371bdef29e26
Signed-off-by: Adrian Villin <avillin@cisco.com>
8 days agodev: enable flow on primary interface 12/42912/2
Monendra Singh Kushwaha [Tue, 18 Mar 2025 08:10:33 +0000 (13:40 +0530)]
dev: enable flow on primary interface

Type: fix

Change-Id: Ic5d9390240c00aa706c4f6902c774360263455f2
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
8 days agoocteon: update roc version 34/42934/2
Monendra Singh Kushwaha [Tue, 6 May 2025 11:58:46 +0000 (17:28 +0530)]
octeon: update roc version

This patch updated roc version and enables the interrupt mechanism to
support VFIO MSI-X by fixing the PCI bus master enable in the OCTEON
plugin. Additionally, it introduces an MSI-X message handler to
support all vectors.

Type: feature

Change-Id: Ic3cea28afffab400923fe5afa729be21dd54cca8
Signed-off-by: Satha Rao <skoteshwar@marvell.com>
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
8 days agoocteon: flush CQ buffers on stop 29/42929/2
Satha Rao [Mon, 10 Mar 2025 17:20:00 +0000 (22:50 +0530)]
octeon: flush CQ buffers on stop

This patch ensures that any pending buffers received are flushed while
closing the Completion Queue (CQ).

Type: feature

Change-Id: I0bddc3d697827c1c5f09591aebef42a9f1c50d7f
Signed-off-by: Satha Rao <skoteshwar@marvell.com>
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
8 days agohsa: scale the data chunk threshold for echo client tput based on fifo size 35/42935/4
Semir Sionek [Fri, 9 May 2025 12:16:54 +0000 (08:16 -0400)]
hsa: scale the data chunk threshold for echo client tput based on fifo size

Type: improvement
Change-Id: I37636f4d4c3949c36ead71e602754ccdb07b9c7a
Signed-off-by: Semir Sionek <ssionek@cisco.com>
9 days agotls:updated management of async events handling 50/42850/6
Varun Rapelly [Thu, 17 Apr 2025 05:51:02 +0000 (05:51 +0000)]
tls:updated management of async events handling

This patch updates the creation of async events for handshake, read
write events. Now it allocates a new event for each async event init
function call and uses a llist to store the event indexes.
During the tls context free, it iterates over the list and frees all
the events. In async handshake event handler, added code to read
early data.
During async handshake or read/write event handlers execution, if
the app session or tls session state indicates app closed state, it
initiates SSL shutdown.

Type: improvement

Signed-off-by: Varun Rapelly <vrapelly@marvell.com>
Change-Id: I97f4c4f3e1b0cd19f1101137bf7ae02ccda545ee

10 days agotcp: fix coverity discard bytes warning 32/42932/2
Florin Coras [Thu, 8 May 2025 04:03:59 +0000 (00:03 -0400)]
tcp: fix coverity discard bytes warning

Type: fix

Change-Id: Id832d1e240e42b8ce76f243c14ca67e724a4ef34
Signed-off-by: Florin Coras <fcoras@cisco.com>
10 days agosession: avoid clearing fifos while closing 28/42928/3
Florin Coras [Wed, 7 May 2025 05:56:15 +0000 (22:56 -0700)]
session: avoid clearing fifos while closing

Allow apps to scrape amount of undelivered data before cleanup.

Type: improvement

Change-Id: Ia925bfdd9ee168f5b9da0ddd3048cf4ed2fd440e
Signed-off-by: Florin Coras <fcoras@cisco.com>
10 days agosession: update state on unexpected delete ntf 26/42926/3
Florin Coras [Tue, 6 May 2025 21:10:28 +0000 (17:10 -0400)]
session: update state on unexpected delete ntf

Type: improvement

Change-Id: I3b180ccdcd6073688bb220a35cd97f2411cee28a
Signed-off-by: Florin Coras <fcoras@cisco.com>
11 days agohs-test: increase vppinstance connect interval 08/42908/3
Semir Sionek [Mon, 28 Apr 2025 14:45:10 +0000 (10:45 -0400)]
hs-test: increase vppinstance connect interval

... to make sure hs-test on slower systems has a chance of catching vpp
 before timing out.

Type: fix
Change-Id: I8b006c9caddbab6e63e3d7f1bee5ad2f342551cb
Signed-off-by: Semir Sionek <ssionek@cisco.com>
11 days agobonding: activate also on port-rx-eth arc 28/42828/18
Vratko Polak [Fri, 2 May 2025 15:04:58 +0000 (17:04 +0200)]
bonding: activate also on port-rx-eth arc

CSIT tests bonding with AVF, but no longer with plugins/avf.
And plugins/dev_iavf is sensitive only to port-rx-eth arc,
not to device-input arc.

Not sure changing bonding is the correct fix,
but it is easier than making vnet/dev work on device-input arc.

- The indentation is a compromise with "make fixstyle".

Ticket: vpp-3602
Type: fix

Change-Id: I9744d9560661cae208a273155aee7e1b3decdd15
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
11 days agohs-test: don't assert iperf results on GCOV builds 80/42880/1
Adrian Villin [Wed, 7 May 2025 09:52:21 +0000 (11:52 +0200)]
hs-test: don't assert iperf results on GCOV builds

Type: test

Change-Id: Idd332b5ad13de33b155906876f177941c01cd4bd
Signed-off-by: Adrian Villin <avillin@cisco.com>
11 days agofib: fix adj_get_rewrite() 10/42910/2
Benoît Ganne [Tue, 29 Apr 2025 13:09:27 +0000 (15:09 +0200)]
fib: fix adj_get_rewrite()

It looks like this bug has been around forever: initially the rewrite
string was at the end of rw->data, so the correct thing to do would have
been to return rw->data + max_size - rw->data_size.
Then we moved the rewrite string at the beginning of the buffer, so we
should always return rw->data.
In any case, rw->data - rw->data_size is clearly wrong and will access
memory in the rewrite header or before it.

Type: fix
Fixes: b80c536e34b610ca77cd84448754e4bd9c46cf68

Change-Id: Ib6d1124776a3c20e718fc46d61190dec7cba31c3
Signed-off-by: Benoît Ganne <bganne@cisco.com>
12 days agoip_session_redirect: add dump api for session redirects 43/42843/5
Hadi Rayan Al-Sandid [Wed, 23 Apr 2025 10:19:13 +0000 (12:19 +0200)]
ip_session_redirect: add dump api for session redirects

Type: improvement

Change-Id: Icd6e94535d388e4c2c08c8ab383fea8cac324d66
Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>
12 days agohs-test: added ipv6 support and tests 78/42878/9
Adrian Villin [Tue, 29 Apr 2025 13:25:26 +0000 (15:25 +0200)]
hs-test: added ipv6 support and tests

- tests: http client get http/https, nginx perf rps,
  tcp with loss

Type: test

Change-Id: Ibd07067df6c7c27e420e67e91f6ce7206546fa25
Signed-off-by: Adrian Villin <avillin@cisco.com>
12 days agohs-test: add h2load container to infra 07/42907/3
Matus Fabian [Mon, 28 Apr 2025 11:38:32 +0000 (07:38 -0400)]
hs-test: add h2load container to infra

Type: test

Change-Id: I4b1dc2dc9eeefac095823180181b8ce6971c0b65
Signed-off-by: Matus Fabian <matfabia@cisco.com>
12 days agohttp: http2_transport_conn_reschedule_callback 06/42906/3
Matus Fabian [Mon, 28 Apr 2025 11:28:40 +0000 (07:28 -0400)]
http: http2_transport_conn_reschedule_callback

Type: improvement

Change-Id: I96f9bf3587ccf9ed5b779d2d387785e91e9d303a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
12 days agohttp: http/2 flow control 33/42833/10
Matus Fabian [Thu, 17 Apr 2025 13:47:08 +0000 (09:47 -0400)]
http: http/2 flow control

Type: feature

Change-Id: Id8e2c51d19a9aef9a74c000dad490ede5eebf2b6
Signed-off-by: Matus Fabian <matfabia@cisco.com>
12 days agosession: add session eventing infra for apps 48/42848/32
Florin Coras [Wed, 23 Apr 2025 04:49:14 +0000 (00:49 -0400)]
session: add session eventing infra for apps

Basic framework/supporting infrastructure for now.

Start evt app with default collector with:
 app evt-collector enable [uri <uri>]

Add/del collectors (only one supported for now) with:
 app evt-collector add <uri>

External applications can request eventing to default collector. Builtin
applications can also provide custom eventing functions.

Type: feature

Change-Id: I3547bfc9b258b33a4e8c60c161de75c21533b7f1
Signed-off-by: Florin Coras <fcoras@cisco.com>
13 days agoudp: fix byte counts to not include headers 23/42923/3
Florin Coras [Sat, 3 May 2025 23:36:55 +0000 (19:36 -0400)]
udp: fix byte counts to not include headers

Type: fix

Change-Id: Ia3a8bbafedf2ee99a1a78c8fcc08e2b9420f938a
Signed-off-by: Florin Coras <fcoras@cisco.com>
13 days agosession: add support for postponing transport cleanups 18/42918/14
Florin Coras [Fri, 2 May 2025 07:20:53 +0000 (03:20 -0400)]
session: add support for postponing transport cleanups

Add new session layer api that allows transports to request postponed
cleanups in session_input. Eventually this should become default
especially if transport connections are to be scrapable before cleanup.

Update tcp and udp for now.

Type: improvement

Change-Id: I74beef41d5deed68efa664b78c1cf95e980b3bde
Signed-off-by: Florin Coras <fcoras@cisco.com>
13 days agotcp: reuse and refactor use of del function 22/42922/4
Florin Coras [Sat, 3 May 2025 21:25:21 +0000 (17:25 -0400)]
tcp: reuse and refactor use of del function

Rename tcp_connection_del to tcp_connection_cleanup_and_notify and use
where needed.

Type: refactor

Change-Id: I6007205a63620f1bbf20b59999e833b6d6f631d4
Signed-off-by: Florin Coras <fcoras@cisco.com>
13 days agohsa: http client - show latency when verbose 79/42879/3
Adrian Villin [Fri, 2 May 2025 11:24:00 +0000 (13:24 +0200)]
hsa: http client - show latency when verbose

Type: improvement

Change-Id: I448818dcc4959989f89ed412e0bb87899150a8ea
Signed-off-by: Adrian Villin <avillin@cisco.com>
2 weeks agobuild: add install_manifest.txt to .gitignore 19/42919/2
Damjan Marion [Fri, 2 May 2025 08:49:22 +0000 (10:49 +0200)]
build: add install_manifest.txt to .gitignore

Type: make
Change-Id: I62c0a0a48c2c91496eed4f413b4ea34fcb7d9e8d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 weeks agovapi: connect/disconnect error handling uds transport 08/42208/2
Stanislav Zaikin [Fri, 1 Nov 2024 11:57:27 +0000 (12:57 +0100)]
vapi: connect/disconnect error handling uds transport

A sudden vpp restart can put vapi into weird state when it tries to read
from closed socket. Fix that by checking for EOF and add some more error
handling to connect and disconnect.

Type: fix

Change-Id: Ida4e69f839e6bfcc470a8a74899975263735d0c0
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
2 weeks agosr: fixed return msg id in policy update v2 handler 01/42301/6
Kirill A. Khalitov [Mon, 3 Feb 2025 17:03:37 +0000 (18:03 +0100)]
sr: fixed return msg id in policy update v2 handler

Type: fix

Change-Id: Id6cd8030235f097a41ada8f9a3d7450a71a2c34e
Signed-off-by: Kirill A. Khalitov <voronar@gmail.com>
2 weeks agovnet: add vapi interface feature enablement check function 83/42583/2
Kirill A. Khalitov [Thu, 27 Mar 2025 10:59:58 +0000 (11:59 +0100)]
vnet: add vapi interface feature enablement check function

Type: improvement

Change-Id: I813c832cf6673eae91bd38ab60e7f19a609a5025
Signed-off-by: Kirill A. Khalitov <kirill.khalitov@46labs.com>
2 weeks agolinux-cp: do ip6-ll cleanup on interface removal 78/41678/7
Stanislav Zaikin [Fri, 4 Oct 2024 15:43:37 +0000 (17:43 +0200)]
linux-cp: do ip6-ll cleanup on interface removal

run a cleanup of ip6 mfib w/o depending on receiving a corresponding
netlink message

Type: fix

Change-Id: I98d5dbbbbb7a56d3ee6f5882b5d6465148049309
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
2 weeks agoprom: return error when http_static not loaded 15/42915/1
Matus Fabian [Thu, 1 May 2025 09:04:35 +0000 (05:04 -0400)]
prom: return error when http_static not loaded

return error if vlib_get_plugin_symbol return 0 when
http_static_plugin.so is not loaded instead of crashing

Type: fix

Change-Id: Ic281c559c72d3c9f34bc9daae3aa55f0bb711a8a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2 weeks agopg: improve pg stream test 98/42798/4
Mohsin Kazmi [Wed, 16 Apr 2025 20:10:49 +0000 (20:10 +0000)]
pg: improve pg stream test

Type: improvement

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

2 weeks agopnat: expose binding_index over API 91/42791/3
Bartlomiej Leszak [Sun, 13 Apr 2025 18:09:05 +0000 (20:09 +0200)]
pnat: expose binding_index over API

Type: improvement

VPP pnat is internally holding mapping between interface and pnat rule.
This is used by vppctl to delete rules. However querying this is not
possible over API, which makes it impossible to delete a rule w/o
keeping external cache of such mappings.

Change-Id: I3662bfb2caddbac0e1755068bdf7cb965c8acedb
Signed-off-by: Bartlomiej Leszak <bartlomiej.leszak@gmail.com>
2 weeks agovlib: remove unnecessary assert 09/42909/1
Damjan Marion [Mon, 28 Apr 2025 20:36:55 +0000 (22:36 +0200)]
vlib: remove unnecessary assert

All nodes can dispatch to other nodes...

Type: improvement
Change-Id: I5b2f1bb69e4118d36fe31f0ba5241ff99ac59ae0
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 weeks agohs-test: adjust iperf performance limits 77/42877/2
Adrian Villin [Mon, 28 Apr 2025 13:20:33 +0000 (15:20 +0200)]
hs-test: adjust iperf performance limits

- asserting min transfer in each test instead of just the main function

Type: test

Change-Id: I1db00033ecd83546259c5fdeec0f6f7d46f19702
Signed-off-by: Adrian Villin <avillin@cisco.com>
2 weeks agohs-test: ignore images with no repo tags when creating containers 04/42904/2
Semir Sionek [Mon, 28 Apr 2025 10:22:57 +0000 (06:22 -0400)]
hs-test: ignore images with no repo tags when creating containers

While iterating over images available in the system, the user might
have some images with no repo tags, which make hs-test panic when trying
to create containers. Make sure that we have repo tags to read from
before trying to do that.

Type: fix
Change-Id: Ibeaf5ac2685b191fcf258455b98f3165c202a319
Signed-off-by: Semir Sionek <ssionek@cisco.com>
2 weeks agovlib: add dispatch reason strings 05/42905/1
Damjan Marion [Mon, 28 Apr 2025 10:27:02 +0000 (12:27 +0200)]
vlib: add dispatch reason strings

Type: improvement
Change-Id: I090744e82ea949dc137bd76c97314a4097c5b842
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 weeks agovlib: add 'use-current-dir' knob to unix {} conf 98/42898/3
Damjan Marion [Fri, 25 Apr 2025 20:01:40 +0000 (22:01 +0200)]
vlib: add 'use-current-dir' knob to unix {} conf

...to tell vpp to stay in current dir.

Type: improvement
Change-Id: I50813908fbe8bfe81f86c641a2bacc52bfe3122d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 weeks agovppinfra: silence clang-tidy unsafe warnings for sizeof (a->b[0]) 99/42899/2
Damjan Marion [Fri, 25 Apr 2025 20:00:42 +0000 (22:00 +0200)]
vppinfra: silence clang-tidy unsafe warnings for sizeof (a->b[0])

Type: improvement
Change-Id: I23919d5c4e2ca7669053302cf52274cd1960bccc
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 weeks agotcp: tcp_bt_flush_samples coverity fix 96/42896/3
Matus Fabian [Fri, 25 Apr 2025 12:29:16 +0000 (08:29 -0400)]
tcp: tcp_bt_flush_samples coverity fix

Type: fix

Change-Id: I844ac34c929a000dff4fd0f607b5543ad2876eb8
Signed-off-by: Matus Fabian <matfabia@cisco.com>
3 weeks agohttp_static: try_url_handler coverity fix 02/42902/1
Matus Fabian [Sun, 27 Apr 2025 18:32:31 +0000 (14:32 -0400)]
http_static: try_url_handler coverity fix

Type: fix

Change-Id: I33b0ae7bb5ced718ba5ba014d06994cd19a0daef
Signed-off-by: Matus Fabian <matfabia@cisco.com>
3 weeks agovcl: handle vcl as opposed to ldp reattaches 01/42901/4
Florin Coras [Sat, 26 Apr 2025 04:42:51 +0000 (21:42 -0700)]
vcl: handle vcl as opposed to ldp reattaches

Type: fix

Change-Id: I01f8de268939a0f720db832ac533e5054aeef875
Signed-off-by: Florin Coras <fcoras@cisco.com>
3 weeks agovlib: refactor file handling 16/42816/36
Damjan Marion [Wed, 23 Apr 2025 17:38:35 +0000 (19:38 +0200)]
vlib: refactor file handling

 - remove unix-input pre-input node
 - move epoll functionality to graph scheduler to ensure epoll happens
   before other pre-input nodes
 - add thread wakeup capability (each thread got eventfd instance)

Type: improvement

Change-Id: I1d6dfb61199b76aa16a4b17e3c31a104f137ebe6
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 weeks agoudp: track connection startup timestamp 00/42900/2
Florin Coras [Fri, 25 Apr 2025 22:23:10 +0000 (18:23 -0400)]
udp: track connection startup timestamp

Type: improvement

Change-Id: I8edea1beec82c8e2cfa87e0cc551609d46ee76a7
Signed-off-by: Florin Coras <fcoras@cisco.com>
3 weeks agohsa: add setting desired throughput option for test echo client 34/42834/8
Semir Sionek [Thu, 17 Apr 2025 13:46:50 +0000 (13:46 +0000)]
hsa: add setting desired throughput option for test echo client

Introduce the throughput setting for the echo client, which enables
pacing out the sending of data.

Type: improvement
Change-Id: I337d6d7e3995faf246776edc88c2121cf0ff1b59
Signed-off-by: Semir Sionek <ssionek@cisco.com>
3 weeks agohsa: http_tps confirm data read 55/42855/2
Matus Fabian [Fri, 25 Apr 2025 10:14:45 +0000 (06:14 -0400)]
hsa: http_tps confirm data read

notify http transport when body data is read and transport requested
notification (e.g. used by h2 flow control)

Type: improvement

Change-Id: I5c900c19e1c4d14c907984148254316b2b6bd9d0
Signed-off-by: Matus Fabian <matfabia@cisco.com>
3 weeks agounittest: session_get_memory_usage coverity fix 97/42897/1
Matus Fabian [Fri, 25 Apr 2025 13:31:34 +0000 (09:31 -0400)]
unittest: session_get_memory_usage coverity fix

Type: fix

Change-Id: I68b563693540ed0bc8a1d98c3063923a8cc56e67
Signed-off-by: Matus Fabian <matfabia@cisco.com>
3 weeks agobuild: add --prefix and --verbose to ./configure script 53/42853/2
Damjan Marion [Thu, 24 Apr 2025 15:47:36 +0000 (17:47 +0200)]
build: add --prefix and --verbose to ./configure script

Type: improvement
Change-Id: I1c0f7d70c6988fa3f8bad7771da5a9a6f112e6ef
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 weeks agotests: improve coverage report filters 54/42854/2
Dave Wallace [Fri, 25 Apr 2025 02:24:33 +0000 (22:24 -0400)]
tests: improve coverage report filters

Type: test

Change-Id: I840386b07f832fb79f6b606d9e3936ccc425f5be
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
3 weeks agovcl: remove detatched pipefds from all workers 51/42851/2
Florin Coras [Thu, 24 Apr 2025 19:38:31 +0000 (15:38 -0400)]
vcl: remove detatched pipefds from all workers

Type: fix

Change-Id: Ib5d95b5ab0ce0731e2e53554023036959c265a5b
Signed-off-by: Florin Coras <fcoras@cisco.com>
3 weeks agotests: add an argument to select the vpp binary in run.py 47/42847/7
Naveen Joy [Wed, 23 Apr 2025 17:32:08 +0000 (10:32 -0700)]
tests: add an argument to select the vpp binary in run.py

Type: test

Change-Id: I5ec3a54e6f7661e2b742910b1f1fb1f5d4a28a36
Signed-off-by: Naveen Joy <najoy@cisco.com>
3 weeks agovppinfra: unify thread_index handling 41/42841/4
Damjan Marion [Sat, 19 Apr 2025 16:51:06 +0000 (18:51 +0200)]
vppinfra: unify thread_index handling

use typedef for thread_index instead  if u16, u32, uword....

Type: improvement
Change-Id: Ib31a0f918035e07d8f53c46a3d80b9ad8b3df129
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 weeks agocrypto-ipsecmb: call init_mb_mgr_auto instead of the logic implemented on the plugin... 47/42447/3
Piotr Bronowski [Sun, 2 Mar 2025 21:45:55 +0000 (21:45 +0000)]
crypto-ipsecmb: call init_mb_mgr_auto instead of the logic implemented on the plugin side

This patch replaces logic for calling init version  with the supported vector instruction set
for a given processor family in the plugin with the call to init_mb_mgr_auto,
which correctly implements it on the ipsecmb engine side.

Type: improvement

Change-Id: I43e502f622f5cc5613917e1c5c943c0ff27d8982
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
3 weeks agohs-test: added iperf packet reorder tests 97/42797/8
Adrian Villin [Wed, 16 Apr 2025 09:54:03 +0000 (11:54 +0200)]
hs-test: added iperf packet reorder tests

Type: test

Change-Id: I1df8bc4e13bbbdd3c8ee15fbe645bd9a1e4d3fed
Signed-off-by: Adrian Villin <avillin@cisco.com>
3 weeks agohttp_static: url handler buffer large POST body 46/42846/2
Matus Fabian [Wed, 23 Apr 2025 13:54:45 +0000 (09:54 -0400)]
http_static: url handler buffer large POST body

Add support to handle larger POST body in url handler using tx_buff,
member of hss_session_t, with configurable limit.

Add hss_confirm_data_read which notify http transport when body data
is read and transport requested notification (e.g. used by h2 flow
control).

Remove old deprecated api (v2 and v3).

Type: improvement

Change-Id: I62640bb9cb851cb567b8176bf01f02c63257ecb9
Signed-off-by: Matus Fabian <matfabia@cisco.com>
3 weeks agotests: update run.py to skip building vpp when running tests 39/42839/4
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>
3 weeks agobuild: update vpp-opt-deps to openssl 3.5.0 42/42842/1
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>
4 weeks agomemif: fix fib lookup in dma datapath 38/42838/3
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>
4 weeks agovlib: move file_main to vlib/file.[ch] 37/42837/3
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>
4 weeks agovlib: remove unused variable 36/42836/2
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>
4 weeks agohttp: http_app_worker_rx_notify improvement 32/42832/2
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>
4 weeks agocrypto: add support for aes-cbc with hmac 31/42831/3
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>
4 weeks agoudp: add basic stats per connection 23/42823/3
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>
4 weeks agosession: https parsing support 18/42418/7
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>
4 weeks agohttp: fix http session deschedule 21/42821/4
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>
4 weeks agosnort: don't create listner until 1st instance is created 29/42829/1
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>
4 weeks agosr: fix unit tests 95/42595/3
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>
4 weeks agohs-test: Add CPU pinning tests for 'relative' keyword 87/41187/23
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>
4 weeks agovppinfra: thread safe clib file 94/42794/5
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>
4 weeks agovhost: don't access clib file data directly 95/42795/3
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>
4 weeks agovppinfra: explicitelly cast to void * to silence clangd 93/42793/2
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>
4 weeks agovlib: thread safe logging 17/42817/2
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>
4 weeks agobonding: ASSERT fails for bif->active_members in TX path 53/42653/4
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>
4 weeks agovlib: timing wheel improvements 77/42777/10
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>
4 weeks agohttp: malformed request handling improvement 89/42789/4
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>
4 weeks agotcp: remove erroneous exception seg check assert 92/42792/3
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>
4 weeks agohs-test: added basic performance testing infra 96/42796/3
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>
4 weeks agovlib: add 'relative' keyword for cpu configuration 94/41094/24
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>
4 weeks agovlib: require main core with 'skip-cores' attribute 99/41099/4
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>
4 weeks agovlib: avoid confusion when parsing plugins section 49/42649/6
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>
5 weeks agodpdk: fix key length for linked crypto algs 39/42739/2
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

5 weeks agovlib: fix restart cli command 82/42782/2
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>
5 weeks agosession: support builtin ct accepts 82/42582/5
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>
5 weeks agohttp_static: url handler POST improvement 88/42788/2
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>
5 weeks agohs-test: http/2 testing with h2spec 83/42783/3
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>
5 weeks agotcp: do not scale syn-ack window 87/42787/2
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>
5 weeks agovppinfra: move spinlock code into macro so it can be reused 86/42786/1
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>
5 weeks agohttp: http/2 improvements 78/42778/4
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>
5 weeks agovlib: don't enable api elog by default 85/42685/2
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>
5 weeks agovppinfra: fix includes in devicetree code 76/42776/3
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>
5 weeks agohttp: check if version is known on cleanup 79/42779/1
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>