vpp.git
3 weeks agohttp: QPACK header encoding w/o dynamic table 80/43780/6
Matus Fabian [Fri, 26 Sep 2025 15:59:29 +0000 (11:59 -0400)]
http: QPACK header encoding w/o dynamic table

Type: feature

Change-Id: I10eeb9b7b5a5e8fc8733ea33463cffaece7bd162
Signed-off-by: Matus Fabian <[email protected]>
3 weeks agosnort: add support for daq-vpp msg dump 61/43761/2
Mohsin Kazmi [Tue, 30 Sep 2025 12:15:35 +0000 (12:15 +0000)]
snort: add support for daq-vpp msg dump

Type: feature

To enable msg debugging:
   --daq-var debug-msg

Signed-off-by: Mohsin Kazmi <[email protected]>
Change-Id: Ie2acd4aa763837c46d1908915ccf941743bf5b38

3 weeks agosession: add option to not dump segments in cores 81/43781/3
Florin Coras [Sat, 27 Sep 2025 00:59:57 +0000 (20:59 -0400)]
session: add option to not dump segments in cores

Type: improvement

Change-Id: Icdddfe2d610945e329ef86ec1244c3b53f227ace
Signed-off-by: Florin Coras <[email protected]>
3 weeks agosession: app socket api as default instead of bapi 94/43794/4
Florin Coras [Tue, 30 Sep 2025 05:24:02 +0000 (01:24 -0400)]
session: app socket api as default instead of bapi

Default to using app socket api instead of binary api for external
application attachment. It is more secure as the binary api socket no
longer needs to be exposed to apps to be able to attach.

Moved all python tests to app socket api and added a new one for basic
testing of bapi.

Type: improvement

Change-Id: Ib8c71e648871cd56492cb7bfb28997ebd117e009
Signed-off-by: Florin Coras <[email protected]>
3 weeks agodev: add enum arg type 90/43790/4
Damjan Marion [Mon, 29 Sep 2025 12:50:49 +0000 (14:50 +0200)]
dev: add enum arg type

Type: improvement
Change-Id: Iafae917a52b848f146f8a9651e26812702501751
Signed-off-by: Damjan Marion <[email protected]>
3 weeks agohsa: remove sapi apps support for vpe api 93/43793/1
Florin Coras [Mon, 29 Sep 2025 22:12:20 +0000 (18:12 -0400)]
hsa: remove sapi apps support for vpe api

Type: improvement

Change-Id: I8f14db9ab7b65d2e55237bf19ec660490677c1bd
Signed-off-by: Florin Coras <[email protected]>
3 weeks agodev: add option to specify device-id(s) in "show device" 91/43791/2
Damjan Marion [Mon, 29 Sep 2025 15:03:57 +0000 (17:03 +0200)]
dev: add option to specify device-id(s) in "show device"

Type: improvement
Change-Id: Id0caddd67997fadb86ec493c01da7966146266c3
Signed-off-by: Damjan Marion <[email protected]>
3 weeks agohttp: QPACK decoding request and response 53/43753/3
Matus Fabian [Thu, 25 Sep 2025 15:14:30 +0000 (11:14 -0400)]
http: QPACK decoding request and response

Type: feature

Change-Id: Ica48ee1bf432a88529c41b166f5a883e2a432677
Signed-off-by: Matus Fabian <[email protected]>
3 weeks agohttp: move generic functions to hpack_inlines.h 51/43751/4
Matus Fabian [Thu, 25 Sep 2025 10:08:56 +0000 (06:08 -0400)]
http: move generic functions to hpack_inlines.h

Type: refactor

Change-Id: Ia7ce7b7651098a5e25e3adadaa854529008ccef6
Signed-off-by: Matus Fabian <[email protected]>
3 weeks agohttp: QPACK header decoding w/o dynamic table 51/43651/5
Matus Fabian [Tue, 2 Sep 2025 15:27:00 +0000 (11:27 -0400)]
http: QPACK header decoding w/o dynamic table

Type: feature

Change-Id: Iee49328d21f4c2ab0f384de9864be6d2f65f50eb
Signed-off-by: Matus Fabian <[email protected]>
3 weeks agohs-test: add suite labels and label filtering 59/43759/3
Adrian Villin [Fri, 26 Sep 2025 14:09:30 +0000 (10:09 -0400)]
hs-test: add suite labels and label filtering

- https://onsi.github.io/ginkgo/#spec-labels

Type: test

Change-Id: I7ebb703d52d6e65efb7a24cd3abc949a749b26c8
Signed-off-by: Adrian Villin <[email protected]>
3 weeks agodev: remove duplicate cli 88/43788/2
Damjan Marion [Mon, 29 Sep 2025 11:58:49 +0000 (13:58 +0200)]
dev: remove duplicate cli

Type: fix
Change-Id: I40c3536892d41a068dd2c2e4f7a80ae9cc5c9767
Signed-off-by: Damjan Marion <[email protected]>
3 weeks agobuild: add keyword none to VPP_PLUGINS= 87/43787/1
Damjan Marion [Mon, 29 Sep 2025 11:38:14 +0000 (13:38 +0200)]
build: add keyword none to VPP_PLUGINS=

Type: improvement
Change-Id: I5301e4df91f2486446acb4a6049170357b51cf5d
Signed-off-by: Damjan Marion <[email protected]>
4 weeks agovlib: native fuse filesystem implementation 84/43684/15
Damjan Marion [Fri, 26 Sep 2025 13:13:45 +0000 (15:13 +0200)]
vlib: native fuse filesystem implementation

Type: feature
Change-Id: I2445b30ec570fe608a4b60128a5e5bde7d4c96ee
Signed-off-by: Damjan Marion <[email protected]>
4 weeks agomisc: include hs_apps in cov reports 78/43778/3
Semir Sionek [Fri, 26 Sep 2025 09:42:14 +0000 (09:42 +0000)]
misc: include hs_apps in cov reports

Type: make
Change-Id: Iceeb1ff03da4d12e3d24fb6ceea5044448d807d5
Signed-off-by: Semir Sionek <[email protected]>
4 weeks agostats: histogram, gauge and ring buffer types 71/43471/11
Ole Troan [Wed, 23 Jul 2025 10:46:49 +0000 (12:46 +0200)]
stats: histogram, gauge and ring buffer types

A new log2 histogram type with prometheus exporter support.
min_exp can be set in the first element to adjust the bins.

The ring buffer is intended for exporting records to a client side
reader. If the reader cannot keep up the writer will overwrite oldest
entry.

Added a new gauge type, which is like scalar index, but being
explicit allows the prometheus exported to set type corretly.

Type: improvement
Change-Id: Ibe1244f28e01eee8d61a3ca6edb6fd1801f1c942
Signed-off-by: Ole Troan <[email protected]>
Change-Id: I1a6046c6962d67db8c510a571e9414723acbbd7e
Signed-off-by: Ole Troan <[email protected]>
4 weeks agoip: frags should have as much space for headers as original 54/43754/2
Florin Coras [Thu, 25 Sep 2025 17:52:21 +0000 (13:52 -0400)]
ip: frags should have as much space for headers as original

Type: improvement

Change-Id: Ic8ef26f588a7c161abbe63b3887a76faa32872de
Signed-off-by: Florin Coras <[email protected]>
4 weeks agohs-test: flaky Http2ContinuationTxTest fix 46/43746/2
Matus Fabian [Wed, 24 Sep 2025 10:37:06 +0000 (06:37 -0400)]
hs-test: flaky Http2ContinuationTxTest fix

curl container output get rarely corrupted for unknown reason

Type: test

Change-Id: I3c832e1bfddffe590b3b3667065c28d4ded8183e
Signed-off-by: Matus Fabian <[email protected]>
4 weeks agohsa: http connect proxy client multiworker support 16/43616/24
Matus Fabian [Wed, 20 Aug 2025 16:18:46 +0000 (12:18 -0400)]
hsa: http connect proxy client multiworker support

Type: improvement

Change-Id: I24e80476136712ee8dd4c8c4b3cd7e5c017acc80
Signed-off-by: Matus Fabian <[email protected]>
4 weeks agohsa: http connect proxy client 90/43490/56
Matus Fabian [Mon, 28 Jul 2025 16:44:13 +0000 (12:44 -0400)]
hsa: http connect proxy client

Type: feature

Change-Id: Ibe6c01378688b0b47ef26149663b3de1aa02a083
Signed-off-by: Matus Fabian <[email protected]>
4 weeks agohttp: h2 fix app closed tunnel 40/43740/2
Matus Fabian [Tue, 23 Sep 2025 13:55:07 +0000 (09:55 -0400)]
http: h2 fix app closed tunnel

do not change stream state if there is more data to send when app
closed tunnel

Type: fix

Change-Id: I41a39b10ceeabc02d6f23a6bdf8c51b421cffb61
Signed-off-by: Matus Fabian <[email protected]>
4 weeks agohttp: add stream reset countres to the stats 32/43732/3
Matus Fabian [Mon, 22 Sep 2025 15:18:25 +0000 (11:18 -0400)]
http: add stream reset countres to the stats

Type: improvement

Change-Id: Id255a0e03f127576abcdc7a0e025c9f3c3eb6981
Signed-off-by: Matus Fabian <[email protected]>
4 weeks agolinux-cp: fix multicast route setup with lcp-sync 41/43741/2
Matthew Smith [Mon, 22 Sep 2025 13:32:29 +0000 (08:32 -0500)]
linux-cp: fix multicast route setup with lcp-sync

Type: fix
Fixes: 344dab5a22e1

Code which tries to avoid removing multicast routes prematurely or
adding them multiple times causes problems when lcp-sync is enabled. At
the time the decision is made whether this is the first interface
address added, multiple addresses may already configured on the VPP
interface. This causes the route to not be added.

Retain the check which avoids premature removal and remove the one
which tries to avoid adding the route multiple times. Adding the route
more than once is innocuous.

Signed-off-by: Matthew Smith <[email protected]>
Change-Id: I2a29f87db5ba97e847a6e29ad2283386b1f1dc7b

4 weeks agocrypto-native: respect platform flags if platform build 50/43750/2
Damjan Marion [Thu, 25 Sep 2025 09:23:18 +0000 (11:23 +0200)]
crypto-native: respect platform flags if platform build

Type: improvement
Change-Id: I79200230c6ebfba988b5f36baa98ef976c9ba58f
Signed-off-by: Damjan Marion <[email protected]>
4 weeks agobuild: change cpu flags for octeon10 platform 49/43749/1
Damjan Marion [Thu, 25 Sep 2025 08:42:19 +0000 (10:42 +0200)]
build: change cpu flags for octeon10 platform

Type: improvement
Change-Id: Ieb28e07aa6159d5cd670e816cae0d0b3599c417e
Signed-off-by: Damjan Marion <[email protected]>
4 weeks agohsa: include rtt & jitter measurements in echo client periodic reports 69/43669/13
Semir Sionek [Mon, 8 Sep 2025 12:18:49 +0000 (12:18 +0000)]
hsa: include rtt & jitter measurements in echo client periodic reports

Periodic reports in echo client now include RTT measurements by default
in TCP & UDP echo-bytes runs. They can be swapped for basic jitter
measurements with report-jitter.

Type: improvement

Change-Id: I8ee0b17b49ed24799adb95ac7a3bbad383e339e1
Signed-off-by: Semir Sionek <[email protected]>
4 weeks agomisc: Initial 26.02-rc0 commit 56/43756/1 v26.02-rc0
Andrew Yourtchenko [Wed, 24 Sep 2025 12:09:17 +0000 (14:09 +0200)]
misc: Initial 26.02-rc0 commit

Type: docs
Change-Id: If76365a42efd88ac49af02fb4c86d62c4bafe24b
Signed-off-by: Andrew Yourtchenko <[email protected]>
4 weeks agodhcp: fix lease renewal for non-default fibs 43/43743/4
Florin Coras [Tue, 23 Sep 2025 19:32:11 +0000 (15:32 -0400)]
dhcp: fix lease renewal for non-default fibs

Type: fix

Change-Id: Ic6f02e47cd7f83d3ac0f273b9bff5c6c1d8d5a43
Signed-off-by: Florin Coras <[email protected]>
Signed-off-by: Steven Luong <[email protected]>
4 weeks agohsa: adjust echo client reporting for udp runs 39/43739/2
Semir Sionek [Tue, 23 Sep 2025 12:13:07 +0000 (12:13 +0000)]
hsa: adjust echo client reporting for udp runs

Do not print handshake times for UDP, include total dgram
sent/received/loss percentage statistics.

Type: improvement
Change-Id: I67df73d56b2971c8fddd757fceef76c0f208aed4
Signed-off-by: Semir Sionek <[email protected]>
4 weeks agokube-test: fix and update image tags 14/43614/1
Adrian Villin [Tue, 23 Sep 2025 08:52:27 +0000 (04:52 -0400)]
kube-test: fix and update image tags

Type: test

Change-Id: I6514cad1349c65a4ae79e657a3d64d380ce1c1e4
Signed-off-by: Adrian Villin <[email protected]>
4 weeks agohsa: proxy active_open_rx_callback fix 31/43731/3
Matus Fabian [Mon, 22 Sep 2025 12:32:37 +0000 (08:32 -0400)]
hsa: proxy active_open_rx_callback fix

Do not program tx evt on passive open when session is closed

Type: fix

Change-Id: Iddf1e40689caf87e1846534c58b0d42f07ca046e
Signed-off-by: Matus Fabian <[email protected]>
4 weeks agohsa: remove unused test_send_buffer from echo client 28/43728/2
Semir Sionek [Mon, 22 Sep 2025 10:05:35 +0000 (10:05 +0000)]
hsa: remove unused test_send_buffer from echo client

test_send_buffer was originally supposed to be used for assembling
dgrams with included data buffer offsets. As we decided on using
segments, this is not needed.

Type: fix
Change-Id: I3cdbfc077aefeecc44615cb93f7d9f3274b6b5fb
Signed-off-by: Semir Sionek <[email protected]>
4 weeks agodev: add ability for process node to wait for device config 25/43725/3
Damjan Marion [Fri, 19 Sep 2025 08:36:57 +0000 (10:36 +0200)]
dev: add ability for process node to wait for device config

This also reverts commit f36243c which was causing issues with queue
setup.

Change-Id: I5997d226c4bbf8c58d9ad538fa59563ea4fe2f69
Type: fix
Fixes: f36243c
Signed-off-by: Damjan Marion <[email protected]>
4 weeks agosnort: add support for DIOCTL_GET_PRIV_DATA_LEN 09/43609/2
Mohsin Kazmi [Fri, 19 Sep 2025 16:07:56 +0000 (16:07 +0000)]
snort: add support for DIOCTL_GET_PRIV_DATA_LEN

Type: improvement

This patch implements support for retrieving private data length via ioctl.
The private data pointer is set in the message header,
and when Snort processes the packet, it can request the length
of this private data through the ioctl interface.

Signed-off-by: Mohsin Kazmi <[email protected]>
Change-Id: I02a831557b349bab7c9c8fe2e00cd8b085d3e5f7

5 weeks agosession svm: fix session migrate attach data corruption 23/43723/5
Florin Coras [Fri, 19 Sep 2025 07:38:39 +0000 (03:38 -0400)]
session svm: fix session migrate attach data corruption

Fifo ooo_deq is used when peeking. Consequently, when migrating a
udp session already scheduled for sending, the owner thread will read
corrupted data. Overload enq/deq rbtrees instead.

Type: fix

Change-Id: I5bf25355f64513911a349e42c056b3a9b6eb3523
Signed-off-by: Florin Coras <[email protected]>
5 weeks agosession: fix handling of closed during migration 14/43714/6
Florin Coras [Thu, 18 Sep 2025 04:34:13 +0000 (00:34 -0400)]
session: fix handling of closed during migration

Close the new session.

Type: fix

Change-Id: I5cc231b68e7da9c9c459bab1706490ac18cfeabc
Signed-off-by: Florin Coras <[email protected]>
5 weeks agobfd: add API to configure TOS for IP of BFD packets 39/43439/9
Mihut Aronovici [Mon, 14 Jul 2025 19:32:22 +0000 (15:32 -0400)]
bfd: add API to configure TOS for IP of BFD packets

Change-Id: I2753b5b200791130b83fa07b0fa731e636f79252
Signed-off-by: Mihut Aronovici <[email protected]>
Type: improvement

5 weeks agoipsec: Improve tunnel mode detection in ESP decrypt post-crypto 43/43643/2
Denys Haryachyy [Thu, 28 Aug 2025 09:56:42 +0000 (12:56 +0300)]
ipsec: Improve tunnel mode detection in ESP decrypt post-crypto

Type: fix

 - Use irt->is_tunnel flag to properly detect IPSec tunnel mode SAs
 - Skip IP address verification for IPSec tunnel mode (outer IP already validated)

Change-Id: Icd57b699b745f764e7e87bbbb4cf891e82320f37
Signed-off-by: Denys Haryachyy <[email protected]>
5 weeks agovapi: uds transport pass client index correctly 15/43015/5
Stanislav Zaikin [Tue, 27 May 2025 11:20:59 +0000 (13:20 +0200)]
vapi: uds transport pass client index correctly

client_index inside vapi message is an opaque cookie. client_index in
vapi is just index inside sockclnt_create/sockclnt_delete messages.

Type: fix

Change-Id: Id06ff078788994d6c426e85e5ce08a259e236bc0
Signed-off-by: Stanislav Zaikin <[email protected]>
5 weeks agokube-test: MW iperf tests, improvements 03/43603/6
Adrian Villin [Fri, 12 Sep 2025 13:38:39 +0000 (09:38 -0400)]
kube-test: MW iperf tests, improvements

- caching calico images in local registry
- updated calico config template

Type: test

Change-Id: I9f1b3b1301914c4e44e7963f9fdfe6a5dd7ddd2a
Signed-off-by: Adrian Villin <[email protected]>
5 weeks agobuild: add knob to specify which plugins to build 21/43721/2
Damjan Marion [Thu, 18 Sep 2025 15:13:37 +0000 (17:13 +0200)]
build: add knob to specify which plugins to build

Type: make
Change-Id: I6bd6df968577a4b5335f0604e02c2ea05d938355
Signed-off-by: Damjan Marion <[email protected]>
5 weeks agosnort: fix the libdaq required version 08/43608/2
Mohsin Kazmi [Thu, 18 Sep 2025 15:26:27 +0000 (15:26 +0000)]
snort: fix the libdaq required version

Type: fix

Signed-off-by: Mohsin Kazmi <[email protected]>
Change-Id: Iffc86d9a59a86c3acf3959ef4eb66c5379c8d659

5 weeks agobuild: update octeon-roc version 16/43716/1
Monendra Singh Kushwaha [Thu, 18 Sep 2025 07:19:21 +0000 (07:19 +0000)]
build: update octeon-roc version

Type: feature

Change-Id: Iaa1df805417e1997dca44e588f84e6a7daff56c7
Signed-off-by: Monendra Singh Kushwaha <[email protected]>
5 weeks agoquic: refactor crypto context index encoding and debug output 05/43705/4
Dave Wallace [Tue, 16 Sep 2025 05:29:41 +0000 (01:29 -0400)]
quic: refactor crypto context index encoding and debug output

- add encode / decode macros for consistency across quic engine
  implementations
- debug code cleanup

Type: refactor

Change-Id: I7d0412b78a7555dbd346c4cfee56481effe054a5
Signed-off-by: Dave Wallace <[email protected]>
5 weeks agosnort: add more debug logs in vpp_daq library 07/43607/2
Mohsin Kazmi [Wed, 17 Sep 2025 12:54:25 +0000 (12:54 +0000)]
snort: add more debug logs in vpp_daq library

Type: improvement

To enable debugging information in vpp_daq, one needs to pass:
--daq-var debug

daq_vpp: daq_vpp_instantiate: creating instance 1 out of 2 with input vpp0
daq_vpp: daq_vpp_socket_connect: connecting to socket /run/vpp/snort.sock
daq_vpp: daq_vpp_socket_connect: connected to socket /run/vpp/snort.sock
daq_vpp: daq_vpp_request: send msg: { type: CONNECT, connect: { num_snort_instances: 2, daq_version: 3.0.2
daq_vpp: daq_vpp_request: recv msg: { err: 0, connect: { num_bpools: 2 } }
daq_vpp: daq_vpp_request: send msg: { type: GET_BUFFER_POOL, get_buffer_pool: { buffer_pool_index: 0 } }
daq_vpp: daq_vpp_request: recv msg: { err: 0, get_buffer_pool: { size: 320864256 } }
daq_vpp: daq_vpp_request: send msg: { type: GET_BUFFER_POOL, get_buffer_pool: { buffer_pool_index: 1 } }
daq_vpp: daq_vpp_request: recv msg: { err: 0, get_buffer_pool: { size: 320864256 } }
daq_vpp: daq_vpp_request: send msg: { type: GET_INPUT, get_input: { input_name: "vpp0" } }
daq_vpp: daq_vpp_request: recv msg: { err: 0, get_input: { input_index: 0, num_qpairs: 2, shm_size: 61440
daq_vpp: daq_vpp_request: send msg: { type: ATTACH_QPAIR, attach_qpair: { input_index: 0, qpair_index: 0 }
daq_vpp: daq_vpp_request: recv msg: { err: 0, attach_qpair: { qpair_id: { thread_id: 0, queue_id: 0 }, log
daq_vpp: daq_vpp_find_or_add_input: input vpp0 qpair 0.0: size 1024, hdr 0x7f01543bc000, enq 0x7f01543c208
daq_vpp: daq_vpp_request: send msg: { type: ATTACH_QPAIR, attach_qpair: { input_index: 0, qpair_index: 1 }
daq_vpp: daq_vpp_request: recv msg: { err: 0, attach_qpair: { qpair_id: { thread_id: 1, queue_id: 0 }, log
daq_vpp: daq_vpp_find_or_add_input: input vpp0 qpair 1.0: size 1024, hdr 0x7f01543c3080, enq 0x7f01543c910
daq_vpp: daq_vpp_add_qpair_to_instance: qpair 0.0 added to instance 1
daq_vpp: daq_vpp_instantiate: creating instance 2 out of 2 with input vpp0
daq_vpp: daq_vpp_add_qpair_to_instance: qpair 1.0 added to instance 2
daq_vpp: daq_vpp_get_msg_pool_info: getting msg pool info
daq_vpp: daq_vpp_get_msg_pool_info: getting msg pool info
daq_vpp: daq_vpp_ioctl: ioctl cmd DIOCTL_GET_PRIV_DATA_LEN

Signed-off-by: Mohsin Kazmi <[email protected]>
Change-Id: I33bfbf50999bdf7658a5710da239bb0d1c4ca787

5 weeks agodev: initialize devices earlier, before main loop running 06/43706/2
Damjan Marion [Tue, 16 Sep 2025 10:27:06 +0000 (12:27 +0200)]
dev: initialize devices earlier, before main loop running

Type: improvement
Change-Id: I073f78b29ab32d0d9f4447813acc684b6576f264
Signed-off-by: Damjan Marion <[email protected]>
5 weeks agohttp: http2_format_req print more info 09/43709/1
Matus Fabian [Tue, 16 Sep 2025 15:55:00 +0000 (11:55 -0400)]
http: http2_format_req print more info

print flags and h2 request variables like window size on hi vebosity

Type: improvement

Change-Id: Ibfa73fe9d04745078c0ae0efa79cd4cb521433b9
Signed-off-by: Matus Fabian <[email protected]>
5 weeks agohs-test: move hs-test to vpp/test-c 00/43600/13
Adrian Villin [Mon, 8 Sep 2025 14:29:39 +0000 (16:29 +0200)]
hs-test: move hs-test to vpp/test-c

- separated cluster tests from hs-test and moved them into
  test-c/kube-test
- cleaned up kube-test and hs-test
- kube-test setup-cluster.sh improvements
- Makefile in extras/hs-test is temporary
- kube-test stability improvements

Type: test

Change-Id: Iee9fc732ccd303d4b4635d329f673c03f95a4dd4
Signed-off-by: Adrian Villin <[email protected]>
5 weeks agohttp: notify app on app_worker_init_connected err 03/43703/2
Matus Fabian [Mon, 15 Sep 2025 20:06:17 +0000 (16:06 -0400)]
http: notify app on app_worker_init_connected err

Type: fix

Change-Id: I5096d3869134af4f696b2ee9be605a9d049202d4
Signed-off-by: Matus Fabian <[email protected]>
5 weeks agobuild: bump cmake to 3.19 04/43704/2
Damjan Marion [Mon, 15 Sep 2025 20:30:41 +0000 (22:30 +0200)]
build: bump cmake to 3.19

Type: improvement
Change-Id: I8b509b3eb03b4df2972e73aeec4771190652171b
Signed-off-by: Damjan Marion <[email protected]>
5 weeks agoocteon: add support for changing RSS key 02/43702/2
Damjan Marion [Mon, 15 Sep 2025 17:36:24 +0000 (19:36 +0200)]
octeon: add support for changing RSS key

Change-Id: I855c394262b275d1f98d9bce1a3cd4a2411d88f7
Type: improvement
Signed-off-by: Damjan Marion <[email protected]>
5 weeks agodev: add support for changing RSS key 01/43701/2
Damjan Marion [Mon, 15 Sep 2025 17:35:48 +0000 (19:35 +0200)]
dev: add support for changing RSS key

Type: improvement
Change-Id: I40350be4c362d20f60b94c82faf564f06d8e86f6
Signed-off-by: Damjan Marion <[email protected]>
5 weeks agohsa: proxy don't send tx event when fifo is empty 76/43676/4
Matus Fabian [Mon, 8 Sep 2025 23:07:33 +0000 (19:07 -0400)]
hsa: proxy don't send tx event when fifo is empty

Type: improvement

Change-Id: Ic0a37de2c9f9e0b4e60cdd0740eb4ffcede23629
Signed-off-by: Matus Fabian <[email protected]>
5 weeks agohsa: proxy http can be closed on ao connected err 74/43674/7
Matus Fabian [Mon, 8 Sep 2025 17:14:40 +0000 (13:14 -0400)]
hsa: proxy http can be closed on ao connected err

Type: fix

Change-Id: I0e42a40a33056c00ca7b7a01acd4c73072734eb2
Signed-off-by: Matus Fabian <[email protected]>
5 weeks agohttp: add half-close support for h2 tcp tunnels 73/43673/5
Matus Fabian [Mon, 8 Sep 2025 17:08:51 +0000 (13:08 -0400)]
http: add half-close support for h2 tcp tunnels

Proxy app can now handle TCP connection close better.

Type: improvement

Change-Id: I8d0cbf0c8dbc97aac4b8d860e67c4a325f316213
Signed-off-by: Matus Fabian <[email protected]>
5 weeks agohttp: add worker counters 67/43667/4
Matus Fabian [Sun, 7 Sep 2025 20:25:40 +0000 (16:25 -0400)]
http: add worker counters

Type: improvement

Change-Id: I38c12f53568d41f7eb417d6c08d0c8fef5767597
Signed-off-by: Matus Fabian <[email protected]>
5 weeks agovppinfra: zero-terminate self netns path 02/43602/2
Alexander Maltsev [Wed, 10 Sep 2025 13:57:03 +0000 (18:57 +0500)]
vppinfra: zero-terminate self netns path

Fix tap_create_if sometimes failing to get current netns.

Type: fix
Change-Id: I30f7cd623028da52240d8d29077a01a59cb96f77
Signed-off-by: Alexander Maltsev <[email protected]>
5 weeks agoocteon: add option to specify RSS flowkey bitmap 00/43700/3
Damjan Marion [Mon, 15 Sep 2025 13:24:08 +0000 (15:24 +0200)]
octeon: add option to specify RSS flowkey bitmap

Type: improvement

Change-Id: I0fa660c96a44ede0fcb435af560544bbc0f8da04
Signed-off-by: Damjan Marion <[email protected]>
Signed-off-by: Monendra Singh Kushwaha <[email protected]>
5 weeks agoocteon: fix issue with RSS and promisc mode 99/43699/3
Damjan Marion [Mon, 15 Sep 2025 12:03:02 +0000 (14:03 +0200)]
octeon: fix issue with RSS and promisc mode

Type: fix

Change-Id: I64c4cb8655ff957940a6d7ec38a82a8bf0dd4053
Signed-off-by: Damjan Marion <[email protected]>
Signed-off-by: Monendra Singh Kushwaha <[email protected]>
5 weeks agosnort: refactor to better align the code 04/43604/3
Mohsin Kazmi [Mon, 15 Sep 2025 12:54:47 +0000 (12:54 +0000)]
snort: refactor to better align the code

Type: refactor

Signed-off-by: Mohsin Kazmi <[email protected]>
Change-Id: If6c71b96843f082842e1f290885ee0e12384e5d0

5 weeks agosession tls: add support for configurable trusted cas 81/43681/13
Florin Coras [Wed, 10 Sep 2025 03:04:00 +0000 (23:04 -0400)]
session tls: add support for configurable trusted cas

Type: feature

Change-Id: Ic6727d03a369cf09d4397da6bff998d1811a6a61
Signed-off-by: Florin Coras <[email protected]>
6 weeks agohsa: various echo client fixes 80/43680/7
Semir Sionek [Tue, 9 Sep 2025 12:47:44 +0000 (12:47 +0000)]
hsa: various echo client fixes

Now last_total variables for datagrams are properly initialized.
Batch size for UDP runs when using throughput limiting now caps at 1460
to avoid splitting datagrams.
Final throughput avg printout is now rounded to the nearest integer.

Type: fix
Change-Id: Ia52687b73bd22ec682a971f9ee902572c9212436
Signed-off-by: Semir Sionek <[email protected]>
6 weeks agotls: fix memory leak when using test cert 97/43697/2
Dave Wallace [Fri, 12 Sep 2025 14:39:26 +0000 (10:39 -0400)]
tls: fix memory leak when using test cert

Type: fix

Change-Id: I4bf4c6c37f9ee6e262730c372f16fbc086a2d13c
Signed-off-by: Dave Wallace <[email protected]>
6 weeks agohsa: test cl udp vcl events 92/43692/3
Florin Coras [Thu, 11 Sep 2025 20:42:49 +0000 (16:42 -0400)]
hsa: test cl udp vcl events

Validate that rx events are properly propagated for cl udp sessions.

Type: test

Change-Id: Idd5430915d7ba9921d0f5327b1e3f7d3f9ffd333
Signed-off-by: Florin Coras <[email protected]>
6 weeks agosession: track app session index for cl sessions 90/43690/2
Florin Coras [Thu, 11 Sep 2025 16:04:43 +0000 (12:04 -0400)]
session: track app session index for cl sessions

Type: fix

Change-Id: I961d00f40a0facd6db4d4f39177bd22b36ed29f3
Signed-off-by: Florin Coras <[email protected]>
6 weeks agobuild: add option to disable building of Python API 68/43668/2
Damjan Marion [Mon, 8 Sep 2025 10:57:56 +0000 (12:57 +0200)]
build: add option to disable building of Python API

Type: improvement
Change-Id: I7fc2946e136373c4deabfd2c4655ed84c94f8c26
Signed-off-by: Damjan Marion <[email protected]>
6 weeks agohs-test: lower TcpWithLoss perf threshold 01/43601/2
Adrian Villin [Tue, 9 Sep 2025 07:13:16 +0000 (03:13 -0400)]
hs-test: lower TcpWithLoss perf threshold

Type: test

Change-Id: Icecb4fce52cb8df8a0b252efcbd67df188bee8d1
Signed-off-by: Adrian Villin <[email protected]>
6 weeks agohsa: proxy session reset improvement 66/43666/2
Matus Fabian [Sun, 7 Sep 2025 13:15:44 +0000 (09:15 -0400)]
hsa: proxy session reset improvement

Handle session_reset_callback as session reset to properly propagate
session state between active and passive open sides.

Type: improvement

Change-Id: I34eb80f5a4d7874e6cb0fdc072c6ee5894793b03
Signed-off-by: Matus Fabian <[email protected]>
6 weeks agohttp: http/2 tunnel closing improvement 65/43665/2
Matus Fabian [Sun, 7 Sep 2025 13:14:30 +0000 (09:14 -0400)]
http: http/2 tunnel closing improvement

Type: improvement

Change-Id: I8f9520a8a72ff42fb239852fc28b6c1b63ca268b
Signed-off-by: Matus Fabian <[email protected]>
6 weeks agohs-test: fix KinD cluster setup 99/43599/4
Adrian Villin [Fri, 5 Sep 2025 07:01:45 +0000 (09:01 +0200)]
hs-test: fix KinD cluster setup

Type: test

Change-Id: I00dfe98e2bed81a5db6d50f3244c0b8ab546c356
Signed-off-by: Adrian Villin <[email protected]>
6 weeks agovlib: add va_list version of vlib_log() 75/43675/1
Damjan Marion [Mon, 8 Sep 2025 21:53:27 +0000 (23:53 +0200)]
vlib: add va_list version of vlib_log()

Type: improvement
Change-Id: I94693563aef5dad4fb8a9cb59be63a4cabf8d147
Signed-off-by: Damjan Marion <[email protected]>
7 weeks agosnort: plugin rework 33/42933/27
Damjan Marion [Tue, 6 May 2025 15:45:16 +0000 (17:45 +0200)]
snort: plugin rework

Changes:
  - support for multiple qpairs per thread
  - ability for daq to connect to multiple instances
  - ability for daq to connect to specific qpairs
  - added ownership to each qpair to avoid multiple clients using same one
  - enabled packet rewrite
  - enqueue and dequeue nodes are decoupled from feature arcs so they
    can be used in different datapaths
  - feature arc doesn't support multiple-instances anymore, use multiple
    qpairs for load-balancing
  - per-instance drop decisions based on drop bitmap

sample snort invocation:

snort \
  <standard args> \
  --max-packet-threads 3 \  # number of threads snort will launch
  --daq-dir <daq dir> \     # path to dir with libdaq_bpp.so
  --daq vpp \               # enable VPP daq
  --daq-var <path> \        # optional, path to snort.sock
  --daq-var debug \         # optional, turn on debug prints
  -i vpp0:1 \               # attach instance to vpp0 instance qpair 1.0
  -i vpp0:1.1 \             # attach instance to vpp0 instance qpair 1.1
  -i vpp0:2.0,2.1,0 \       # attach instance to vpp0 instance qpairs 2.0, 2.1 and 0.0

qpair is identified as x.y where x is thread_id and y is queue_id, .y
part can be ommited if queue_id is 0.

Type: feature

Change-Id: I4f65b9a12ec71b115b9cb2da814c7918ddf6191d
Signed-off-by: Damjan Marion <[email protected]>
Signed-off-by: Mohsin Kazmi <[email protected]>
7 weeks agohs-test: KinD LargeMTU suite 97/43597/14
Adrian Villin [Fri, 22 Aug 2025 12:20:17 +0000 (14:20 +0200)]
hs-test: KinD LargeMTU suite

- added large mtu iperf test
- improvements to setup-cluster script

Type: test

Change-Id: I4e2eb455b944d6b539e8627cf0f161cf182b960c
Signed-off-by: Adrian Villin <[email protected]>
7 weeks agotls: cert validation config 44/43644/5
Florin Coras [Thu, 28 Aug 2025 16:42:43 +0000 (12:42 -0400)]
tls: cert validation config

Type: improvement

Change-Id: I7d626ed57bbdcb7810c99a1fe0f617fde0ac014f
Signed-off-by: Florin Coras <[email protected]>
7 weeks agolinux-cp: don't drain nl-messages during processing 39/43639/2
Артем Глазычев [Tue, 26 Aug 2025 12:04:58 +0000 (15:04 +0300)]
linux-cp: don't drain nl-messages during processing

When we process the incoming netlink message queue and have NEW_LINK for a VLAN interface, we call lcp_itf_pair_add.
Internally, drain is called, which corrupts the original vector (probably due to reallocation)

Type: fix

Change-Id: I0487bfb2939a04d8d3c156725086fedd6e9c72c7
Signed-off-by: Artem Glazychev <[email protected]>
7 weeks agodev: add option to assign one rx and one tx queue per thread 37/43637/5
Damjan Marion [Wed, 23 Jul 2025 12:42:33 +0000 (12:42 +0000)]
dev: add option to assign one rx and one tx queue per thread

queue 0 -> main
queue 1 -> thread 1 (worker 0)
queue 2 -> thread 2 (worker 1)

etc...

example startup.conf entry:

devices {
  dev pci/0002:04:00.0 {
    port 0 {
      name eth2
      flags queue-per-thread
    }
  }
}

Type: improvement
Change-Id: Ia1c216905c5e4368a0e2e47688fd87348be20106
Signed-off-by: Damjan Marion <[email protected]>
7 weeks agohsa: add periodic reports to builtin echo client 94/43594/17
Semir Sionek [Wed, 20 Aug 2025 14:16:29 +0000 (14:16 +0000)]
hsa: add periodic reports to builtin echo client

report-interval now enables periodic reports, which display TX/RX stats,
as well as throughput and sent/recv datagrams if running over UDP.
It also features a -total variant, which displays same data, but as
totals counted from test start time.

Type: improvement
Change-Id: I28dd1a0c8bfbcaf2882a102433ce4acf28b3d6ef
Signed-off-by: Semir Sionek <[email protected]>
7 weeks agosession: fix app_send_dgram_segs enqueueing n-1 segments 45/43645/1
Semir Sionek [Mon, 1 Sep 2025 13:45:08 +0000 (13:45 +0000)]
session: fix app_send_dgram_segs enqueueing n-1 segments

Type: fix
Change-Id: Iad1c4d967a10e2b5a2e951b119ff4b89716c3d50
Signed-off-by: Semir Sionek <[email protected]>
8 weeks agohttp: http2_conn_connect_stream_callback fix 42/43642/3
Matus Fabian [Wed, 27 Aug 2025 20:38:39 +0000 (16:38 -0400)]
http: http2_conn_connect_stream_callback fix

pass correct opaque to app_worker_connect_notify on max streams hit

Type: fix

Change-Id: Ib320eddc90eb30a60914c7769faef779f6911a3f
Signed-off-by: Matus Fabian <[email protected]>
8 weeks agohsi: support to intercept all proto traffic 17/43617/16
Florin Coras [Wed, 20 Aug 2025 17:33:24 +0000 (13:33 -0400)]
hsi: support to intercept all proto traffic

Type: improvement

Change-Id: Ieebc0a8383f8c86756e4bd36501c2faa9df87a98
Signed-off-by: Florin Coras <[email protected]>
8 weeks agoudp: add input nolookup node 25/43625/6
Florin Coras [Fri, 22 Aug 2025 14:49:05 +0000 (10:49 -0400)]
udp: add input nolookup node

Feature parity with tcp. Useful when other nodes like hsi do the udp
session lookup before sending to udp.

Type: feature

Change-Id: Ib5f39a86cb316d326f0e19f7426b3b97c1bdecf7
Signed-off-by: Florin Coras <[email protected]>
8 weeks agoip: 'format_ip6_header' - re-enable recurse into next proto layer 51/43551/2
Hadi Rayan Al-Sandid [Thu, 14 Aug 2025 19:13:09 +0000 (21:13 +0200)]
ip: 'format_ip6_header' - re-enable recurse into next proto layer

Type: improvement
Change-Id: I4d04466a9a6e94b460fb3c29543435dd9bceab99
Signed-off-by: Hadi Rayan Al-Sandid <[email protected]>
8 weeks agoip: reassembly - enable registering custom next nodes for v6 07/43507/3
Hadi Rayan Al-Sandid [Fri, 1 Aug 2025 10:34:11 +0000 (12:34 +0200)]
ip: reassembly - enable registering custom next nodes for v6

This function adds the ability to register next
nodes for the custom ip6 full-reassembly node,
similarly to custom v4.

Type: improvement
Change-Id: I65fd323192db0b96bb7ca301f8c890a4683f48fe
Signed-off-by: Hadi Rayan Al-Sandid <[email protected]>
8 weeks agovnet: fix set interfaces rx-placement cli 91/43591/2
Benoît Ganne [Wed, 20 Aug 2025 08:13:52 +0000 (10:13 +0200)]
vnet: fix set interfaces rx-placement cli

 - unformat() parses 32-bit integers whereas clib_thread_t is a 16-bit
   integers, yielding stack overflow
 - no need to pass thread_index when parsing main
 - validate thread_index otherwise ~0 + 1 arithmetic done in
   set_hw_interface_rx_placement() selects main thread by default

Type: fix
Fixes: fc7b794758fbdd9bcae337e90255c1fc1e548808

Change-Id: I36dcba977573a32f6f91e6c5470966f35cce30ed
Signed-off-by: Benoît Ganne <[email protected]>
8 weeks agovppinfra: add ARM neoverse-v2 support 59/41259/4
Jay Wang [Mon, 20 May 2024 14:30:22 +0000 (14:30 +0000)]
vppinfra: add ARM neoverse-v2 support

It is recommended to use -mcpu instead of -march or -mtune on Grace
because the -mcpu flag specifies both the appropriate architecture and
the tuning strategy[1].

Type: improvement

[1] https://github.com/NVIDIA/grace-cpu-benchmarking-guide/blob/main/src/developer/languages/c-c++.md#recommended-compiler-flags
Signed-off-by: Jay Wang <[email protected]>
Change-Id: I09b52e605f218e633c4b59519038646ac6eec870

8 weeks agovlib: add possibility to disable pager 42/43542/4
Maxime Peim [Wed, 13 Aug 2025 15:30:16 +0000 (17:30 +0200)]
vlib: add possibility to disable pager

For the current running cli process, it can be useful to be able to
disable the pager in case of long running command (e.g. ping).
For a small window, the pager will prompt and hide the results of the
command.

Type: improvement
Change-Id: I8fdde7f581683a8d9fd702a744fb95b5c58e14ff
Signed-off-by: Maxime Peim <[email protected]>
8 weeks agovnet: install full reassembly headers 08/43508/2
Hadi Rayan Al-Sandid [Fri, 1 Aug 2025 12:00:04 +0000 (14:00 +0200)]
vnet: install full reassembly headers

Type: improvement
Change-Id: I7185f5f7ca2287bc194d06faf259c09c1bf19140
Signed-off-by: Hadi Rayan Al-Sandid <[email protected]>
8 weeks agovnet: add SFF8472 and SFF8636 diagnostics 44/43544/16
Pim van Pelt [Wed, 13 Aug 2025 22:02:34 +0000 (00:02 +0200)]
vnet: add SFF8472 and SFF8636 diagnostics

Using device-class.eeprom_read_function, extract the type of
EEPROM, and create a parser for SFF8472 (SFP+/SFP/SFP28) and
SFF8636 (QSFP+/QSFP28/QSFP-DD) to show module diagnostics.

When available, read EEPROM page A2h and report on DDM values:
show int transceiver <itf> eeprom
show int transceiver <itf> module [verbose]
show int transceiver <itf> diag [verbose]

Type: improvement
Change-Id: Iae41b9753f31bc1a8d32b2c42d396cd743864147
Signed-off-by: [email protected]
8 weeks agoocteon: add L4 checksum flags 30/43630/2
Monendra Singh Kushwaha [Thu, 21 Aug 2025 07:29:43 +0000 (07:29 +0000)]
octeon: add L4 checksum flags

This patch adds L4 checksum related flags in vlib buffer.

Type: feature

Change-Id: Ic01940e7191b2f97f4cadb19a15b4575977aa2e3
Signed-off-by: Monendra Singh Kushwaha <[email protected]>
8 weeks agofib: change the order of adding interface routes 89/43589/2
Artem Glazychev [Mon, 18 Aug 2025 04:18:05 +0000 (11:18 +0700)]
fib: change the order of adding interface routes

The order in which fib_table_entry is added affects the update of adjacency. If you assign a /31 address to the interface, an ARP request is sent to the peer with the source address from the glean adjacency, which is incorrect before adding the local address route.
Steps to reproduce the problem:
create tap
set interface state tap0 up
set interface ip address tap0 192.168.100.1/31

In this case, ARP-Request was sent with an incorrect sender IP:
Sender IP Address: 192.168.100.0
Target IP Address: 192.168.100.0

Type: fix

Change-Id: I8712bcf9fd0cb96788fe4a6c4b4827af774c0ab9
Signed-off-by: Artem Glazychev <[email protected]>
8 weeks agotcp: handle SYN while CLOSED state 86/43386/13
Changbin Park [Wed, 23 Jul 2025 05:39:58 +0000 (14:39 +0900)]
tcp: handle SYN while CLOSED state

Existing code handled SYN packets in TIME_WAIT state already. And,
according to the comment it should handle for CLOSED state as well.
But, it only checks for the TIME_WAIT state.

docs: Handle SYN packets in the CLOSED state as well
Issue: https://github.com/FDio/vpp/issues/3617
Type: fix
Signed-off-by: Changbin Park <[email protected]>
Change-Id: I478e3560ed509fb282d6cdb4a16b6f4663effb31

8 weeks agovhost: move tracing out of processing loop 27/43627/2
Konstantin Kogdenko [Sat, 23 Aug 2025 09:09:04 +0000 (12:09 +0300)]
vhost: move tracing out of processing loop

Before this fix vlib_trace_buffer was being called on not fully
initialized vlib_buffer_t (current_length == 0).
This caused trace filter functions to work incorrectly.

Type: fix

Change-Id: Ia8974af90ce91022ce1436ab54ab630bacce5bcf
Signed-off-by: Konstantin Kogdenko <[email protected]>
8 weeks agohs-test: parse bytes/sec in TcpWithLoss tests 98/43598/2
Adrian Villin [Wed, 27 Aug 2025 10:39:53 +0000 (12:39 +0200)]
hs-test: parse bytes/sec in TcpWithLoss tests

Type: test

Change-Id: I29ff3caa6a1f573a7e285c17416a24a74f4767f7
Signed-off-by: Adrian Villin <[email protected]>
8 weeks agohttp: http2_format_req print stream state 35/43635/2
Matus Fabian [Mon, 25 Aug 2025 17:05:02 +0000 (13:05 -0400)]
http: http2_format_req print stream state

instead of connection state

Type: improvement

Change-Id: Iaf03a3cb3f78b05d3002f0edee753797c213e651
Signed-off-by: Matus Fabian <[email protected]>
2 months agohttp: http2_app_close_callback free req when done 36/43636/1
Matus Fabian [Mon, 25 Aug 2025 20:42:13 +0000 (16:42 -0400)]
http: http2_app_close_callback free req when done

Type: fix

Change-Id: I1bb8730cc4f6e759eebec37ef7c887b7e20faf3a
Signed-off-by: Matus Fabian <[email protected]>
2 months agohsa: fix echo server rx callback crash 34/43634/2
Florin Coras [Mon, 25 Aug 2025 14:39:27 +0000 (10:39 -0400)]
hsa: fix echo server rx callback crash

Handle rx after close.

Type: fix

Change-Id: I9507857ba8903b674e249797d2837981382b4aec
Signed-off-by: Florin Coras <[email protected]>
2 months agosession: fix app listener free if listen returns 33/43633/2
Florin Coras [Mon, 25 Aug 2025 13:11:19 +0000 (09:11 -0400)]
session: fix app listener free if listen returns

If listen fails, regrab app listener in case transports reallocated the
app listener pool.

Type: fix

Change-Id: Ifeb512ececacd9bd8f201eac2e08ab4ee6f1cdd5
Signed-off-by: Florin Coras <[email protected]>
2 months agohsa: fix test client args check to allow default port 32/43632/1
Florin Coras [Mon, 25 Aug 2025 12:54:58 +0000 (08:54 -0400)]
hsa: fix test client args check to allow default port

Type: fix

Change-Id: Ic81370ba1c4cb83793b29fc9478eee8537136aa7
Signed-off-by: Florin Coras <[email protected]>
2 months agohs-test: monitor performance of some loss tests 96/43596/8
Adrian Villin [Wed, 20 Aug 2025 10:46:12 +0000 (12:46 +0200)]
hs-test: monitor performance of some loss tests

+ updated asserts

Type: test

Change-Id: I4aec44dde3e6c0472fca9fe6a7f80c068070f92e
Signed-off-by: Adrian Villin <[email protected]>
2 months agohttp: remove assert in http2_req_state_tunnel_tx 29/43629/3
Matus Fabian [Sun, 24 Aug 2025 16:01:19 +0000 (12:01 -0400)]
http: remove assert in http2_req_state_tunnel_tx

proxy app can send new payload before we were able to send previous

Type: fix

Change-Id: I7d0c2605da38e7495e3e26705f58a5370d1e296f
Signed-off-by: Matus Fabian <[email protected]>