vpp.git
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]>
2 months 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]>
2 months agohs-test: fix core file detection 24/43624/2
Matus Fabian [Fri, 22 Aug 2025 13:13:59 +0000 (09:13 -0400)]
hs-test: fix core file detection

Type: test

Change-Id: I7d6c494d66a053124d176a261b65dabe1a125215
Signed-off-by: Matus Fabian <[email protected]>
2 months agohs-test: limit wget retries in setup scripts 28/43628/2
Matus Fabian [Sun, 24 Aug 2025 14:36:15 +0000 (10:36 -0400)]
hs-test: limit wget retries in setup scripts

by default wget do 20 retries, we want ti fails fast if internet
connectivity is broken

Type: test

Change-Id: Ia7222c8ac6f7b5571dc1c29949aa2b8de2786afe
Signed-off-by: Matus Fabian <[email protected]>
2 months agotls: avoid reallocating default ssl ctx for clients 92/43592/5
Florin Coras [Wed, 20 Aug 2025 09:05:41 +0000 (05:05 -0400)]
tls: avoid reallocating default ssl ctx for clients

Type: improvement

Change-Id: I8933478342789034509f6b8dd141baf706970082
Signed-off-by: Florin Coras <[email protected]>
2 months agovnet: fix negative table-id 20/43620/3
Aritra Basu [Thu, 21 Aug 2025 22:32:49 +0000 (15:32 -0700)]
vnet: fix negative table-id

Type: fix

Change-Id: Ic29bdd854b2b218d2b56446cd58ea185d4e485ae
Signed-off-by: Aritra Basu <[email protected]>
2 months agohttp: h2 client multiplexing fix 93/43593/1
Matus Fabian [Wed, 20 Aug 2025 12:49:45 +0000 (08:49 -0400)]
http: h2 client multiplexing fix

do not try to cleanup ho in http_conn_established when called from
http2_conn_connect_stream_callback

Type: fix

Change-Id: I91422297b69cfef82b622113e194596205b44075
Signed-off-by: Matus Fabian <[email protected]>
2 months agohs-test: iperf improvements 94/43394/4
Adrian Villin [Fri, 15 Aug 2025 12:52:53 +0000 (14:52 +0200)]
hs-test: iperf improvements

- added AssertIperfMinTransfer to KindIperfVclTest
- fixed 'make cleanup-perf'

Type: test

Change-Id: I50f7d837b1d4d842cb7464a5ee08cbecdea7adcd
Signed-off-by: Adrian Villin <[email protected]>
2 months agohsa: fix typo in vcl_test_client arg check 88/43588/2
Semir Sionek [Mon, 18 Aug 2025 13:07:11 +0000 (13:07 +0000)]
hsa: fix typo in vcl_test_client arg check

Type: fix
Change-Id: Ifd0ef3dfcfc2cfd1bc13f2a1727c5f4a36d4a746
Signed-off-by: Semir Sionek <[email protected]>
2 months agohttp: h2 tunnel dispatch add as dequeue notify 87/43587/3
Matus Fabian [Mon, 18 Aug 2025 11:49:59 +0000 (07:49 -0400)]
http: h2 tunnel dispatch add as dequeue notify

Type: fix

Change-Id: I7845a4dee6b6931defc83ab6052a64f913321349
Signed-off-by: Matus Fabian <[email protected]>
2 months agovcl: ldp infra for get/set SO_COOKIE 86/43586/5
Florin Coras [Mon, 18 Aug 2025 09:17:19 +0000 (05:17 -0400)]
vcl: ldp infra for get/set SO_COOKIE

Stub infrastructure for storing and retrieving SO_COOKIE. Not storing
the actual cookie to avoid increasing vcl session size.

Type: improvement

Change-Id: Ibdcb31eb33ceab9a0250eae94694ba69e4ecf502
Signed-off-by: Florin Coras <[email protected]>
2 months agosession udp: fix cl hash computation 85/43585/2
Florin Coras [Mon, 18 Aug 2025 08:40:51 +0000 (04:40 -0400)]
session udp: fix cl hash computation

Type: fix

Change-Id: I5da034ad860a4f7cf7578f7026566a27e1a43960
Signed-off-by: Florin Coras <[email protected]>
2 months agohs-test: NginxHttp3Test add worker crash check 84/43584/2
Matus Fabian [Mon, 18 Aug 2025 09:07:57 +0000 (05:07 -0400)]
hs-test: NginxHttp3Test add worker crash check

Type: test

Change-Id: Ic214c4af369c93e88b03405f1961dd24f15a873b
Signed-off-by: Matus Fabian <[email protected]>
2 months agorpm-packaging: add vcl client and server to vpp binaries (rpm) 95/43395/4
kejan [Mon, 18 Aug 2025 08:23:41 +0000 (10:23 +0200)]
rpm-packaging: add vcl client and server to vpp binaries (rpm)

This fixes:

Installed (but unpackaged) file(s) found:
/usr/bin/vcl_test_client
/usr/bin/vcl_test_server

Type: fix
Change-Id: Ibe515751f718c56b1fb932ac7132edc34cfe791c
Signed-off-by: kejan <[email protected]>
2 months agohs-test: turn off quic_retry in nginx config 83/43583/1
Matus Fabian [Mon, 18 Aug 2025 08:41:47 +0000 (04:41 -0400)]
hs-test: turn off quic_retry in nginx config

otherwise NginxHttp3Test fail from time to time because quic
connection between curl and nginx is closed during handshake

Type: test

Change-Id: Ia74fad1a357a10532857f3568e8104ed352c58c7
Signed-off-by: Matus Fabian <[email protected]>
2 months agovcl: fix read ready for cl udp 82/43582/1
Florin Coras [Sat, 16 Aug 2025 12:23:49 +0000 (08:23 -0400)]
vcl: fix read ready for cl udp

On fork, cl listeners are not ready, i.e., listen and fifos are
pending, so read ready crashes.

Type: fix

Change-Id: I965bbd7f72706831767615564a88f5dbad38b11e
Signed-off-by: Florin Coras <[email protected]>
2 months agovnet: add eeprom_read_function 50/43550/6
Pim van Pelt [Thu, 14 Aug 2025 16:56:57 +0000 (18:56 +0200)]
vnet: add eeprom_read_function

Introduce a device-class function to read EEPROM from interfaces.
Implement it for the DPDK plugin.

Type: improvement
Change-Id: I8723937a5618fada2d87d7bded33bf9fc85836f3
Signed-off-by: [email protected]
2 months agohs-test: bump nginx version to 1.28 79/43579/1
Florin Coras [Fri, 15 Aug 2025 13:09:28 +0000 (09:09 -0400)]
hs-test: bump nginx version to 1.28

Type: test

Change-Id: I37aafefa2290af48607779a5cb0036c92f67b2b5
Signed-off-by: Florin Coras <[email protected]>
2 months agohs-test: bump curl version to 8.15.0 76/43576/2
Matus Fabian [Fri, 15 Aug 2025 09:34:21 +0000 (05:34 -0400)]
hs-test: bump curl version to 8.15.0

http/3 (quic) works better

Type: test

Change-Id: I1196ec70b0c07b01f13b3230664136935e06e0ac
Signed-off-by: Matus Fabian <[email protected]>
2 months agohttp: http2_sched_dispatch_tunnel fix 54/43554/2
Matus Fabian [Fri, 15 Aug 2025 08:52:56 +0000 (04:52 -0400)]
http: http2_sched_dispatch_tunnel fix

Type: fix

Change-Id: I06f0da0d9805014b21c67da6113f2fc1d91a5408
Signed-off-by: Matus Fabian <[email protected]>
2 months agohs-test: KindIperfVclTest fix 93/43393/1
Adrian Villin [Fri, 15 Aug 2025 07:10:23 +0000 (09:10 +0200)]
hs-test: KindIperfVclTest fix

- fixed test failure when pods take slightly longer to deploy

Type: fix

Change-Id: I76c93213563a38b0165720986def9b60c4b671ac
Signed-off-by: Adrian Villin <[email protected]>
2 months agohs-test: remove non-root user build enforcement 92/43392/2
Adrian Villin [Wed, 13 Aug 2025 15:44:07 +0000 (17:44 +0200)]
hs-test: remove non-root user build enforcement

Type: improvement

Change-Id: I2e85eeea0d65c7a369a0ca7be3e5508d3a2cf90a
Signed-off-by: Adrian Villin <[email protected]>
2 months agohttp: h2 fix handling of incomplete frame headers 52/43552/1
Matus Fabian [Thu, 14 Aug 2025 19:27:07 +0000 (15:27 -0400)]
http: h2 fix handling of incomplete frame headers

Type: fix

Change-Id: I47155fd7d453b0e9bdcf39f5bc14139323a9a42e
Signed-off-by: Matus Fabian <[email protected]>
2 months agohttp: h2 connect-udp dgram mode flow control fix 48/43548/2
Matus Fabian [Thu, 14 Aug 2025 10:09:01 +0000 (06:09 -0400)]
http: h2 connect-udp dgram mode flow control fix

keep some space for dgram headers

Type: fix

Change-Id: I91002022cf0a9878d23c4e98dfcfbb6089073cb7
Signed-off-by: Matus Fabian <[email protected]>
2 months agohttp: h2 client conn error handling fix 43/43543/2
Matus Fabian [Wed, 13 Aug 2025 17:10:00 +0000 (13:10 -0400)]
http: h2 client conn error handling fix

Notify only parent app session in case of http/2 connection error.

Type: fix

Change-Id: Ia02fe8863cd88df8a8dc7361655322c1335bbbd3
Signed-off-by: Matus Fabian <[email protected]>
2 months agohttp: req_state_udp_tunnel_tx fix 41/43541/2
Matus Fabian [Wed, 13 Aug 2025 14:10:08 +0000 (10:10 -0400)]
http: req_state_udp_tunnel_tx fix

Type: fix

Change-Id: Ibf7afb69ba709dd28254807a34644ecc5bf892e8
Signed-off-by: Matus Fabian <[email protected]>
2 months agohs-test: fix envsubst not working 91/43391/1
Adrian Villin [Wed, 13 Aug 2025 11:44:57 +0000 (13:44 +0200)]
hs-test: fix envsubst not working

Type: fix

Change-Id: Iffb2a77ebd49d9d4784be80757c5a97a6ad98bb3
Signed-off-by: Adrian Villin <[email protected]>
2 months agohs-test: KinD cluster setup improvements 89/43389/4
Adrian Villin [Thu, 7 Aug 2025 09:06:13 +0000 (11:06 +0200)]
hs-test: KinD cluster setup improvements

- script cleanup
- clarified Makefile build-msg
- release-cluster: versions can be specified
- master-cluster: local repo gets properly reset to its
  original state, fixed rebuild-master-cluster

Type: improvement

Change-Id: I81f813d2cd0227eaac3b996590152ba7e1173e38
Signed-off-by: Adrian Villin <[email protected]>
2 months agoaf_xdp: fix missing recvmsg argument 71/43371/5
Vladimir Zhigulin [Fri, 4 Jul 2025 08:31:44 +0000 (10:31 +0200)]
af_xdp: fix missing recvmsg argument

Because of missing argument syscall was failing
before reaching xdp system what could result in
degrated performance

Type: fix

Change-Id: I0ae1ce1bacf68457a02a31b3508e9c5100a754e6
Signed-off-by: Vladimir Zhigulin <[email protected]>
2 months agohttp: zero hdr.gso_size in udp_tunnel_rx 33/43533/2
Matus Fabian [Mon, 11 Aug 2025 09:27:24 +0000 (05:27 -0400)]
http: zero hdr.gso_size in udp_tunnel_rx

Type: fix

Change-Id: I78fb6263af14b37e2aee42386850f23bbacf40fb
Signed-off-by: Matus Fabian <[email protected]>
2 months agosrtp: zero hdr.gso_size in srtp_ctx_read 35/43535/2
Matus Fabian [Mon, 11 Aug 2025 09:43:05 +0000 (05:43 -0400)]
srtp: zero hdr.gso_size in srtp_ctx_read

Type: fix

Change-Id: I895b5f35b451c80c2ff2f3d7e7710e67aa546742
Signed-off-by: Matus Fabian <[email protected]>
2 months agohsa: echo client zero hdr.gso_size 34/43534/2
Matus Fabian [Mon, 11 Aug 2025 09:38:52 +0000 (05:38 -0400)]
hsa: echo client zero hdr.gso_size

Type: fix

Change-Id: I0efff82f942bf63af5bbad1d713c0a5ff90f00a2
Signed-off-by: Matus Fabian <[email protected]>
2 months agotls: zero hdr.gso_size in openssl_ctx_read_dtls 36/43536/1
Matus Fabian [Mon, 11 Aug 2025 09:50:51 +0000 (05:50 -0400)]
tls: zero hdr.gso_size in openssl_ctx_read_dtls

Type: fix

Change-Id: I621c846b3d2f3803c2799240f00b36979017bbec
Signed-off-by: Matus Fabian <[email protected]>
2 months agotls: fix coverity warning 16/43516/2
Florin Coras [Sun, 3 Aug 2025 23:11:03 +0000 (19:11 -0400)]
tls: fix coverity warning

Type: fix

Change-Id: I97e08e93b02271599e52462ab83767168a2eb1cb
Signed-off-by: Florin Coras <[email protected]>
2 months agosession: restore cl session dscp support 10/43510/11
Semir Sionek [Fri, 1 Aug 2025 12:16:52 +0000 (12:16 +0000)]
session: restore cl session dscp support

Included dscp in session_listen messages and propagated it up to the
listener struct, which is used for connection info in cl sessions.
Additionally, included a switch in vcl_test_cl_udp allowing to select
dscp values for the session.

Type: fix
Change-Id: I6dffe12b66b25617dc9e3b6d4008f1097ff150cf
Signed-off-by: Semir Sionek <[email protected]>
2 months agohsa: fix potential udp echo server test-bytes int overflow 30/43530/4
Semir Sionek [Thu, 7 Aug 2025 15:15:36 +0000 (15:15 +0000)]
hsa: fix potential udp echo server test-bytes int overflow

Make sure that when running echo server over UDP with test-bytes
enabled, we're getting at least the buffer offset and some data.

Type: fix
Fixes: 84d52285afd1b478d616026a3d63a714abb29f13
Change-Id: I9375e00a76caa9d043f0b5531169fb6f2ca07db7
Signed-off-by: Semir Sionek <[email protected]>
2 months agovirtio: fix cli parser 32/43532/1
Florin Coras [Fri, 8 Aug 2025 23:57:23 +0000 (19:57 -0400)]
virtio: fix cli parser

Fixes: 84f09f4
Type: fix

Change-Id: If1d42dc7899cf87f016b12dc0eabff944ff20bea
Signed-off-by: Florin Coras <[email protected]>
2 months agogso: add support for ipip tso for phyiscal interfaces 76/42876/13
Mohsin Kazmi [Mon, 28 Apr 2025 17:17:24 +0000 (17:17 +0000)]
gso: add support for ipip tso for phyiscal interfaces

Type: improvement

This patch also improves software GSO handling for
tunnel interfaces.

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

2 months agotests: add vpp-opt-deps to vpp LD_LIBRARY_PATH 28/43528/2
Dave Wallace [Wed, 6 Aug 2025 15:46:00 +0000 (11:46 -0400)]
tests: add vpp-opt-deps to vpp LD_LIBRARY_PATH

- When vpp-opt-deps is installed, add it to LD_LIBRARY_PATH
  when invoking vpp for 'make test' and 'make run' targets
  overriding the dynamically linked distro library version.

Type: test

Change-Id: Id2feb74b7232cca1c1870599c4b3d409e2d0aa59
Signed-off-by: Dave Wallace <[email protected]>
2 months agosession: session_cb_vft add proxy_write_early_data 29/43529/1
Matus Fabian [Thu, 7 Aug 2025 13:52:35 +0000 (09:52 -0400)]
session: session_cb_vft add proxy_write_early_data

Allow zc proxy app write data to fifo before UDP transport on accepted
connection.

Type: feature

Change-Id: I93657de68d344f5d2d327dd4e36cc331043fdf98
Signed-off-by: Matus Fabian <[email protected]>
2 months agovppinfra: fix cpu time on riscv 77/43377/3
Shubing Guo [Tue, 1 Jul 2025 02:36:50 +0000 (10:36 +0800)]
vppinfra: fix cpu time on riscv

Starting with Linux 6.6 [1], RDCYCLE is a privileged instruction on
RISC-V and can't be used directly from userland.Use RDTIME instead,
which while less accurate has the advantage of being synchronized
between CPU (and thus monotonic) and of constant frequency.

Type: fix
Change-Id: I53ab9cd1d0fcdd8f0e88d189840ba1d3b5ddd67a
Signed-off-by: Shubing Guo <[email protected]>
2 months agohs-test: load k8s pod definitions from a file 88/43388/3
Adrian Villin [Mon, 4 Aug 2025 12:02:56 +0000 (14:02 +0200)]
hs-test: load k8s pod definitions from a file

- improved pod teardown, fixed obtaining IP addresses from pods
- added contexts for better goroutine management

Type: improvement

Change-Id: Iab8bd76598465c44626188d47b57d561469e279b
Signed-off-by: Adrian Villin <[email protected]>
2 months agoapi: fix crash in pcap capture api 85/41985/2
Hadi Rayan Al-Sandid [Tue, 10 Dec 2024 10:05:26 +0000 (11:05 +0100)]
api: fix crash in pcap capture api

pcap api cleanup can cause crash if invalid sw_if_index
is provided. This fix is similar to https://gerrit.fd.io/r/c/vpp/+/41936
, which only fixed the invalid filename use-case.

Type: fix

Change-Id: I34ce178a4cb7fc92b4e4bb399a3fabd4efc85159
Signed-off-by: Hadi Rayan Al-Sandid <[email protected]>
2 months agohsa: show tx/rx stats for UDP on timeout and fix test-bytes for UDP 47/43447/16
Semir Sionek [Wed, 16 Jul 2025 12:54:25 +0000 (12:54 +0000)]
hsa: show tx/rx stats for UDP on timeout and fix test-bytes for UDP

We shouldn't assume that all the dgrams will be transported between
server and client.
This patch addresses this issue in two places:

1. Now if we hit the timeout on UDP client rx (not all bytes
   transported), instead of an error - we display tx/rx byte stats.
2. For test-bytes mode, we now include a 4 byte buffer offset with each
   dgram to check against for data corruption. Previous solution was
   based on the assumption that data will arrive in sequence, which is
   just not the case for UDP.

Type: fix
Change-Id: I1a2ac8afe4180830b32f4ea67b4b477f167e0800
Signed-off-by: Semir Sionek <[email protected]>
2 months agohttp: h2 client connect-udp fix 24/43524/1
Matus Fabian [Tue, 5 Aug 2025 19:40:55 +0000 (15:40 -0400)]
http: h2 client connect-udp fix

Type: fix

Change-Id: I1ce22f70ecd609368ebaee351cbe1d260a6c2536
Signed-off-by: Matus Fabian <[email protected]>
2 months agohttp: h2 client tunnel fix 23/43523/2
Matus Fabian [Tue, 5 Aug 2025 14:58:02 +0000 (10:58 -0400)]
http: h2 client tunnel fix

Type: fix

Change-Id: I7e86578c0430bc90cdff4668f8469a303d0bbc7e
Signed-off-by: Matus Fabian <[email protected]>
2 months agosession: enable sending segmented dgrams 73/43473/9
Semir Sionek [Tue, 22 Jul 2025 13:47:30 +0000 (13:47 +0000)]
session: enable sending segmented dgrams

Split app_send_dgram_raw_gso into app_send_dgram_segs_raw and app_gen_dgram_header. The former sends out previously prepared segmented dgram, while the latter fills in the header in a prepared segment array.
Additionally, app_send_dgram_segs was introduced as an easier API for sending out segmented data.

Type: improvement
Change-Id: I3afdd9b974a7dbf936b7b7c07873ac72262525d9
Signed-off-by: Semir Sionek <[email protected]>
2 months agoaf_xdp: processing free buffer 25/43425/3
Steven Luong [Wed, 9 Jul 2025 22:59:59 +0000 (15:59 -0700)]
af_xdp: processing free buffer

af_xdp does not support big packets and they got dropped.
When that happens, we need to bump up the buffer pointer
and decrement packet count prior to going back to the
while loop.

Type: fix

Change-Id: I4722b15eb7ba5467f37e52ab532998c35caa3e2e
Signed-off-by: Steven Luong <[email protected]>
2 months agoaf_xdp: bump xdp-tools to 1.5.5 75/43475/4
Steven Luong [Wed, 23 Jul 2025 16:18:23 +0000 (09:18 -0700)]
af_xdp: bump xdp-tools to 1.5.5

Type: feature

Change-Id: Ia6d32305045f51b859c4b888f5912f8d4cbbd766
Signed-off-by: Steven Luong <[email protected]>
2 months agohttp: http2_transport_rx_callback hardening 04/43504/3
Matus Fabian [Fri, 1 Aug 2025 09:51:44 +0000 (05:51 -0400)]
http: http2_transport_rx_callback hardening

When we receive extra data bytes handle it as connection error to
prevent data leakage.

Type: improvement

Change-Id: I1316d019b252faa29a818b4aeff5d1d5752719e2
Signed-off-by: Matus Fabian <[email protected]>
2 months agobuild: updated to build on RHEL-8 49/43449/2
Joel Godfrey-Smith [Thu, 17 Jul 2025 14:49:08 +0000 (10:49 -0400)]
build: updated to build on RHEL-8

Type: improvement

extras/rpm/vpp.spec: updated to ensure crypto libraries are copied into lib RPM but other, conflicting system libraries are not

Change-Id: I786b61d17141e7ed2f8c88f9646e2bdad09c93fb
Signed-off-by: Joel Godfrey-Smith <[email protected]>
2 months agotests: af_xdp interface tests 65/43465/3
Naveen Joy [Mon, 21 Jul 2025 21:59:34 +0000 (14:59 -0700)]
tests: af_xdp interface tests

Type: test

Change-Id: I81019d2ac8b793c11b22deab8a103b37b88eb75e
Signed-off-by: Naveen Joy <[email protected]>
2 months agosession: session debug crashes with elog track 18/43518/3
Steven Luong [Mon, 4 Aug 2025 20:41:00 +0000 (13:41 -0700)]
session: session debug crashes with elog track

session debug uses elog track in the the transport.
However, not all transports initialize elog track.
If they don't, session debug crashes.

The fix is to use non elog track if elog track
is not initialized in the transport.

Type: fix

Change-Id: I123f71b39a4262cd68e35634dd5c7ec0e7b88cb0
Signed-off-by: Steven Luong <[email protected]>
2 months agohs-test: add hsi and transparent proxy test 11/43511/3
Matus Fabian [Fri, 1 Aug 2025 16:08:59 +0000 (12:08 -0400)]
hs-test: add hsi and transparent proxy test

Type: test

Change-Id: Ie7fdc987ee300cf0d3dc5aed31dd28a972f0c394
Signed-off-by: Matus Fabian <[email protected]>
2 months agoquic: reregister transport proto when no quic engine registered 82/43482/2
Dave Wallace [Fri, 25 Jul 2025 23:06:41 +0000 (19:06 -0400)]
quic: reregister transport proto when no quic engine registered

- fixes incomplete implementation from original patch to fix
  crash on startup when no quic engine is enabled

Type: fix
Fixes: 19e0d0ef8

Change-Id: I8508c28dc2e3d6201fd5de296386d0309fc0edd1
Signed-off-by: Dave Wallace <[email protected]>
2 months agopg: add support for checksum offload 98/42598/14
Mohsin Kazmi [Wed, 2 Jul 2025 10:48:11 +0000 (10:48 +0000)]
pg: add support for checksum offload

Type: improvement

This patch adds support for checksum offload.
There has been also added show packet-generator interface
cli.

Change-Id: I55462df45ea54b577c110e1cc4e3512d70bcfa90
Signed-off-by: Mohsin Kazmi <[email protected]>
2 months agotcp: fix persist handler in closed state 14/43514/4
Florin Coras [Fri, 1 Aug 2025 23:32:40 +0000 (19:32 -0400)]
tcp: fix persist handler in closed state

Do not rechedule connection if persist handler is called after
connection is closed.

Type: fix

Change-Id: Ibe7c3924c6fb107a36e4d459f32a39e49a0b7ae1
Signed-off-by: Florin Coras <[email protected]>
2 months agohs-test: glean proxy environment variables is present 13/43513/2
Florin Coras [Fri, 1 Aug 2025 23:06:04 +0000 (19:06 -0400)]
hs-test: glean proxy environment variables is present

Type: test

Change-Id: I2dc9136b12444f0fd2ef725b2d778a54538e5b17
Signed-off-by: Florin Coras <[email protected]>
2 months agotcp: conditionally initializing log track for unbind 12/43512/2
Steven Luong [Fri, 1 Aug 2025 22:26:49 +0000 (15:26 -0700)]
tcp: conditionally initializing log track for unbind

elog track is initialized when tcp open, bind, or syn rcvd
message is received. Logging tcp unbind event requires and
expects elog track is already initialized. If tcp debug
is enabled after the aforementioned 3 messages and the
first event that tcp logs is unbind, we crash because elog
track is not initialized.

Let's check the elog track is initialized yet or not
prior to logging an unbind event. If not, we initialize
it.

Type: fix

Change-Id: Ib8fde694dc48f30a87aa3ecd378c1960857e8c38
Signed-off-by: Steven Luong <[email protected]>
2 months agosession tls: scaffolding for async cert retrieval 60/43460/8
Florin Coras [Mon, 21 Jul 2025 00:57:29 +0000 (20:57 -0400)]
session tls: scaffolding for async cert retrieval

Basic experimental infrastructure for server async retrieval.

Type: improvement

Change-Id: Iec48a0a30e5968a42237b810ec5e6c4e9d633728
Signed-off-by: Florin Coras <[email protected]>
2 months agohs-test: PromMemLeakTest improvement 05/43505/1
Matus Fabian [Fri, 1 Aug 2025 10:13:44 +0000 (06:13 -0400)]
hs-test: PromMemLeakTest improvement

do warmup with same nuber of requests and sleep before main test
section to prevent false positives

Type: test

Change-Id: Ie0ffbb27be58693f0c35c9a7ffed216ec4be1cb4
Signed-off-by: Matus Fabian <[email protected]>
2 months agohttp: h2 connect-udp for client apps 01/43501/2
Matus Fabian [Wed, 30 Jul 2025 15:00:27 +0000 (11:00 -0400)]
http: h2 connect-udp for client apps

Type: improvement

Change-Id: Ib02f8494fe26be0abae8ceb4eba50866a2b08de1
Signed-off-by: Matus Fabian <[email protected]>
2 months agohttp: h2 connect for client apps 89/43489/6
Matus Fabian [Mon, 28 Jul 2025 15:27:04 +0000 (11:27 -0400)]
http: h2 connect for client apps

Type: improvement

Change-Id: If851b7802809f747b7613ba00c2ae31d944fb0d2
Signed-off-by: Matus Fabian <[email protected]>
2 months agohs-test: run containers wit --cap-add=SYS_PTRACE 02/43502/2
Matus Fabian [Wed, 30 Jul 2025 16:22:41 +0000 (12:22 -0400)]
hs-test: run containers wit --cap-add=SYS_PTRACE

otherwise you might not be able attach gdb to vpp running in container

Type: test

Change-Id: I4507971123ee67939b3a843916a6d523a2a09801
Signed-off-by: Matus Fabian <[email protected]>
2 months agohttp: format_http_transport_half_open fix 99/43499/1
Matus Fabian [Wed, 30 Jul 2025 13:23:40 +0000 (09:23 -0400)]
http: format_http_transport_half_open fix

with postponed ho clenup underlying transport ho session might not
exist anymore

Type: fix

Change-Id: Iadb7f2b901d13e26f0d39bffcd11cdebc2f9357f
Signed-off-by: Matus Fabian <[email protected]>
2 months agohs-test: nsim loss rate test 97/43497/3
Matus Fabian [Tue, 29 Jul 2025 15:26:24 +0000 (11:26 -0400)]
hs-test: nsim loss rate test

Type: test

Change-Id: I592c755c7bdc5daf422655892b171c42f19e9a7c
Signed-off-by: Matus Fabian <[email protected]>
2 months agohttp: h2 free stream scheduler heads with conn 93/43493/3
Matus Fabian [Tue, 29 Jul 2025 09:55:37 +0000 (05:55 -0400)]
http: h2 free stream scheduler heads with conn

Type: fix

Change-Id: I1cddb7547d08a0668f6e536d77094911d9b26a6e
Signed-off-by: Matus Fabian <[email protected]>
2 months agolinux-cp: fix multicast route updates on address add/del 95/43495/4
Denys Haryachyy [Tue, 29 Jul 2025 14:39:29 +0000 (17:39 +0300)]
linux-cp: fix multicast route updates on address add/del

Ensure multicast routes are only added when the first IPv4 address is configured on an interface,
and only removed when the last address is deleted.

This prevents premature removal or redundant addition of multicast routes during address changes.

Type: fix

Change-Id: Id191cd88abfc2c4c354fceec4aaabc030ed938cc
Signed-off-by: Denys Haryachyy <[email protected]>
2 months agovcl: atomics for tracking num workers in vls 84/43484/4
Florin Coras [Sun, 27 Jul 2025 22:10:50 +0000 (18:10 -0400)]
vcl: atomics for tracking num workers in vls

Type: improvement

Change-Id: I272be20ae56e4bb8a25d754926d14e45460bd920
Signed-off-by: Florin Coras <[email protected]>
2 months agovcl: favor wr to vls_mt_spool_rwlock 83/43483/3
Florin Coras [Sat, 26 Jul 2025 22:35:11 +0000 (18:35 -0400)]
vcl: favor wr to vls_mt_spool_rwlock

Type: improvement

In a multi-thread single worker app, there can be contention between
many readers and the writers. The writers, which can be close operations
that potentially influence the app logic, could be starved if the
numbers of readers is significant.

To avoid this, always favor writers. Might require fine tuning in the
future.

Change-Id: I5ef529195a31114bb95e19e5880247f58d454370
Signed-off-by: Florin Coras <[email protected]>
2 months agohs-test: add nginx mirroring KinD test, cleanup 87/43387/4
Adrian Villin [Fri, 25 Jul 2025 14:11:20 +0000 (16:11 +0200)]
hs-test: add nginx mirroring KinD test, cleanup

Type: test

Change-Id: I15e145023226ea0d442f69e42da4cdc586366873
Signed-off-by: Adrian Villin <[email protected]>
2 months agohs-test: containerize ginkgo 85/43385/7
Adrian Villin [Mon, 21 Jul 2025 12:08:14 +0000 (14:08 +0200)]
hs-test: containerize ginkgo

- ginkgo will run in a container
- replaced '--network=host' with '--network=container:ginkgo'
- removed --privileged flags
- removed network namespaces from HST
- updated goimports
- fixed state hashes

Type: improvement

Change-Id: I5f4c5aa93437f40b36a8eb2ba3d6486cdfe23e09
Signed-off-by: Adrian Villin <[email protected]>
2 months agohs-test: fix nsim interface in TcpWithLoss tests 94/43494/1
Matus Fabian [Tue, 29 Jul 2025 13:18:30 +0000 (09:18 -0400)]
hs-test: fix nsim interface in TcpWithLoss tests

Type: test

Change-Id: I94b3f052fa7a482083ae7459f1cfea067453c9b5
Signed-off-by: Matus Fabian <[email protected]>
2 months agohsa: cl udp app wait for pthreads to exit 92/43492/3
Florin Coras [Tue, 29 Jul 2025 04:56:49 +0000 (00:56 -0400)]
hsa: cl udp app wait for pthreads to exit

Type: improvement

Change-Id: I31367de6fe3dde38d4379069b5c6fe589bd12e76
Signed-off-by: Florin Coras <[email protected]>
2 months agonsim: fix uninitialized variables 91/43491/2
Matus Fabian [Mon, 28 Jul 2025 16:49:35 +0000 (12:49 -0400)]
nsim: fix uninitialized variables

othervise user is not informed of missing parameter and demons fly out
of your nose

Type: fix

Change-Id: I54db587c99f193de1884fd7a0e292ae7128da5d7
Signed-off-by: Matus Fabian <[email protected]>
2 months agohttp: huffman decoder invalid EOS handling fix 85/43485/2
Matus Fabian [Mon, 28 Jul 2025 08:42:35 +0000 (04:42 -0400)]
http: huffman decoder invalid EOS handling fix

Handle EOS longer than 7 bits

Type: fix

Change-Id: I4cb3ba37efe17dad9245c4d433eac987354d225c
Signed-off-by: Matus Fabian <[email protected]>
2 months agovlib: fix typo in ASAN stack size calculation 73/43373/2
Vladimir Zhigulin [Fri, 4 Jul 2025 09:10:44 +0000 (11:10 +0200)]
vlib: fix typo in ASAN stack size calculation

Type: fix

Change-Id: I771ca783854f704fc333a6dd857831ffe5d70bd3
Signed-off-by: Vladimir Zhigulin <[email protected]>
2 months agovlib: remove timer when sched node is dispatched by interrupt 74/43474/4
Damjan Marion [Wed, 23 Jul 2025 12:41:16 +0000 (12:41 +0000)]
vlib: remove timer when sched node is dispatched by interrupt

Type: fix
Change-Id: I48a0da4a3af50101e2d2c1ed3cd8734b7e907f77
Signed-off-by: Damjan Marion <[email protected]>
3 months agohttp: validate h2 frame lengeth in handlers 80/43480/3
Matus Fabian [Fri, 25 Jul 2025 15:50:00 +0000 (11:50 -0400)]
http: validate h2 frame lengeth in handlers

Type: fix

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