vpp.git
3 months agovcl: improve handling of thread cancelation in vls 75/41975/3
Florin Coras [Sat, 7 Dec 2024 21:20:46 +0000 (16:20 -0500)]
vcl: improve handling of thread cancelation in vls

Meant for multi-threaded applications that share a vls and vcl worker.
Disable thread cancelation on thread new thread detection and add a new
pthread cancelation point in vls_mt_mq_lock

Type: improvement

Change-Id: I21b16ee7c6a5ec31b8f6363325cc7ffa463c7b5c
Signed-off-by: Florin Coras <fcoras@cisco.com>
3 months agotls: add async processing support 91/41591/11
Varun Rapelly [Sat, 17 Aug 2024 16:19:29 +0000 (16:19 +0000)]
tls: add async processing support

Adds support for tls async processing using OpenSSL.
Adds new CLI command to configure OpenSSL TLS configurations used by
OpenSSL context and session. New CLI format is:
tls openssl set-tls [record-size <size>]
                    [record-split-size <size>]
                    [max-pipelines <size>]
Sets default values to below TLS configuration parameters:
 - first_seg_size: 32MB
 - add_seg_size:   256MB

Type: feature

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

3 months agovcl: fix epoll wait assert 74/41974/2
Florin Coras [Sat, 7 Dec 2024 00:50:43 +0000 (16:50 -0800)]
vcl: fix epoll wait assert

Type: fix

Found by Lucas.

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3e10d3a9f40ef28cb9bda58f199a04dfc3e41d27

3 months agomisc: move ppp to a plugin 56/41956/7
Joel Ahn [Thu, 28 Nov 2024 21:54:10 +0000 (13:54 -0800)]
misc: move ppp to a plugin

Type: refactor

Move PPP folder under vnet to the plugin folder, and modify some of path
of the #inlude<header> to the new path.

Add a plugin.c file to register a plugin.

Resolve ip4_input and ip6_input's dependency on PPP functions by moving
those calls to PPP's initialization.

Resolve osi's inter-plugin dependency on PPP by having it retrieve the
function pointer

Add ppp to the list of valid spelling words

JIRA: VPP-2052

Change-Id: I1a26ef0663a91857d13f7d87a3bb14bc38893194
Signed-off-by: Joel Ahn <joeahn@cisco.com>
3 months agosession: clean up session table when re-adding an existing application namespace 37/41837/2
Steven Luong [Thu, 14 Nov 2024 22:28:34 +0000 (14:28 -0800)]
session: clean up session table when re-adding an existing application namespace

The app ns semantics allows the same app ns to be re-added with different
interface. For example,

app ns add id blue secret 1 if tap0
app ns add id blue secret 1 if tap1

If tap0 is bound to table 0 and tap1 is bound to tap1, we need to clean
up the existing session table and possibly allocate a new session table
for the app ns.

Type: fix

Change-Id: I566d621081b7cdbd7d0c481fda53953b39c26001
Signed-off-by: Steven Luong <sluong@cisco.com>
3 months agomemif: add num pkts received/sent per queue 47/41947/8
Dau Do [Sun, 1 Dec 2024 01:47:50 +0000 (01:47 +0000)]
memif: add num pkts received/sent per queue

Add memif stats per queue for performance tuning.

Type: improvement
Change-Id: Ifacc80c0adfe92075d91179857c8956d1cbf3a70
Signed-off-by: Dau Do <daudo@yahoo.com>
3 months agobuild: upgrade to openssl 3.4.0 in vpp-opts-deps package 68/41968/1
Dave Wallace [Fri, 6 Dec 2024 03:38:33 +0000 (22:38 -0500)]
build: upgrade to openssl 3.4.0 in vpp-opts-deps package

Type: make

Change-Id: I8f801057f9f4b10d50f6ace5541e726f75f262e8
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
3 months agohsa: fix proxy udp issue 01/41901/2
Adrian Villin [Thu, 5 Dec 2024 13:58:39 +0000 (14:58 +0100)]
hsa: fix proxy udp issue

- when testing multithreaded proxy with udp iperf, iperf wouldn't
  connect -> made client_sep a vector so multiple transport protocols
  can be saved

Type: fix

Change-Id: I91936bd3214f40deb914792c02783112ae59942c
Signed-off-by: Adrian Villin <avillin@cisco.com>
3 months agotap: update tap_flags 00/41900/2
Adrian Villin [Tue, 3 Dec 2024 10:12:53 +0000 (11:12 +0100)]
tap: update tap_flags

- added TAP_API_FLAG_CONSISTENT_QP = 256

Type: improvement

Change-Id: I57d95503395baf265c29d48a92bd69347f0a7333
Signed-off-by: Adrian Villin <avillin@cisco.com>
3 months agocrypto: add config option to adjust crypto sw scheduler queue size 48/41948/4
Dau Do [Sun, 1 Dec 2024 02:07:29 +0000 (02:07 +0000)]
crypto: add config option to adjust crypto sw scheduler queue size

Type: improvement
Change-Id: I63c16365a0d4a26b8ecb05bde81ad7b532df50a0
Signed-off-by: Dau Do <daudo@yahoo.com>
3 months agomisc: VPP 24.10 Release Notes 84/41784/2
Andrew Yourtchenko [Thu, 24 Oct 2024 18:54:30 +0000 (20:54 +0200)]
misc: VPP 24.10 Release Notes

Type: docs
Change-Id: I3774ed636671c3e7f2cacc8ef910c1f3476e7933
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit cfa0953251cbab435307baf3dcd249fd95afaf1f)

3 months agodev: include limits.h for PATH_MAX 43/41943/2
Renato Botelho do Couto [Fri, 29 Nov 2024 12:55:05 +0000 (12:55 +0000)]
dev: include limits.h for PATH_MAX

Type: fix
Change-Id: I66607164b1552011b39808bafc8e02b5a24f883c
Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
3 months agodocs: mention command to display nodes supporting tracing 45/41945/3
Hadi Rayan Al-Sandid [Fri, 29 Nov 2024 13:29:49 +0000 (14:29 +0100)]
docs: mention command to display nodes supporting tracing

Type: docs
Change-Id: Id94539cae001059d1acdde6a90c3b2f16990bd47
Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>
3 months agotests: remove decorator tag_fixme_ubuntu2204 53/41953/2
Ivan Ivanets [Mon, 2 Dec 2024 20:38:42 +0000 (20:38 +0000)]
tests: remove decorator tag_fixme_ubuntu2204

Type: test

There is no need to use the tag_fixme_ubuntu2204 decorator.
All tests that previously used it are now stable. The neighbor test
has been moved to the extended suite because it is not related to the
type of operating system.

Change-Id: Ifa0a30cbeeeaabb2bbe4d213fa61e6fbde8789ca
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
3 months agovcl: fix poll support 82/40882/3
Florin Coras [Sat, 11 May 2024 03:28:12 +0000 (20:28 -0700)]
vcl: fix poll support

Type: fix

Change-Id: I827f19d893153277baba3c2d0efde5f2827eb0ff
Signed-off-by: Florin Coras <fcoras@cisco.com>
3 months agosvm: fix overflow when no region is big enough 57/41857/3
Benoît Ganne [Wed, 20 Nov 2024 13:54:55 +0000 (14:54 +0100)]
svm: fix overflow when no region is big enough

 - if no region is big enough to accommodate need_n_bits, we can scan
   past the end of the bitmask
 - rewrite the search loop for clarity

Type: fix

Change-Id: I82637bc91eb7e7ae922785bc626fa224638cb4e4
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 months agovapi: fix vapi_ctx_alloc 44/41944/1
Benoît Ganne [Fri, 29 Nov 2024 13:14:16 +0000 (14:14 +0100)]
vapi: fix vapi_ctx_alloc

clib_time_init() may use clib main heap when it needs to parse /proc
or /sys. Make sure the main heap is initialized early.

Type: fix

Change-Id: I891504f3455b97c06da25e4833a8fb6941eb428a
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 months agovcl: store libc_epfd in vls instead of vcl 27/41927/4
Florin Coras [Tue, 26 Nov 2024 08:29:24 +0000 (00:29 -0800)]
vcl: store libc_epfd in vls instead of vcl

ldp stores the libc epfds it uses in conjunction with vcl epfds in vcl
attributes. Apart from being an ldp, as opposed to vcl, specific
attribute, the epfd is retrieved on session close with vls locks that
could be acquired from multiple threads.

Avoid grabbing locks when retrieving the attribute.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I5fc52d72667a7693b1557d209c3890a968422f1e

3 months agohs-test: added ldp iperf tcp test 98/41898/3
Adrian Villin [Wed, 27 Nov 2024 08:47:44 +0000 (09:47 +0100)]
hs-test: added ldp iperf tcp test

- renamed other iperf tests

Type: test

Change-Id: I9cc7b49f23e9e0c6a01d2f74aef722d580478f75
Signed-off-by: Adrian Villin <avillin@cisco.com>
3 months agohs-test: don't use reserved UDP ports for binding 97/41897/3
Adrian Villin [Wed, 27 Nov 2024 07:23:43 +0000 (08:23 +0100)]
hs-test: don't use reserved UDP ports for binding

Type: test

Change-Id: Ief0d238bbbf533779618b971f01099aa113c1c08
Signed-off-by: Adrian Villin <avillin@cisco.com>
3 months agoapi: fix bug in pcap capture api 36/41936/3
Hadi Rayan Al-Sandid [Tue, 26 Nov 2024 16:25:27 +0000 (17:25 +0100)]
api: fix bug in pcap capture api

pcap api cleanup can cause crash in certain scenarios
e.g.missing/invalid 'filename' parameter.

Type: fix

Change-Id: I92417765960de84e30ed7cb945d40c50d722fb6c
Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>
3 months agotests: remove use of python 2.7 compatibility module 'six' 57/41457/5
Dave Wallace [Tue, 20 Aug 2024 19:15:22 +0000 (15:15 -0400)]
tests: remove use of python 2.7 compatibility module 'six'

- python 2.7 is no longer supported, clean up technical
  debt with use of 'six' module in test code

Type: test

Change-Id: I70e737920a6048c5e9caa20fece5ee21b91bb353
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
3 months agotests: use v3 version of session sdl dump api in ip6 test 49/41849/4
Dave Wallace [Wed, 20 Nov 2024 03:32:02 +0000 (22:32 -0500)]
tests: use v3 version of session sdl dump api in ip6 test

- session_sdl_v2_dump api command is deprecated

Type: fix

Change-Id: I4f7a140e7e39fae8076caa54fd8bfb0c755c6767
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
3 months agovapi: only wait if queue is empty 83/40983/2
Matthew Smith [Fri, 24 May 2024 19:53:55 +0000 (19:53 +0000)]
vapi: only wait if queue is empty

Type: fix
Fixes: 4b9935cd54

In vapi_wait(), check that the queue is empty before waiting. The
condvar is only signaled on addition of the first message.
pthread_cond_wait() will block approximately forever if there are
already messages in the queue.

Change-Id: Ic52befe443509f3c53aa9a872ba62bb05aaac25e
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
3 months agovapi: remove plugin dependency from tests 61/40861/5
Stanislav Zaikin [Fri, 3 May 2024 11:35:39 +0000 (13:35 +0200)]
vapi: remove plugin dependency from tests

replace unnecessary dependency on mss_clamp plugin
with ip_path_mtu_get streaming rpc.

Type: fix

Change-Id: I50538e40697b7f463be5fa25319e2bcd40b2f13f
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
3 months agobuild: Add FreeBSD install-dep support 55/41355/2
Tom Jones [Mon, 5 Feb 2024 09:50:00 +0000 (09:50 +0000)]
build: Add FreeBSD install-dep support

Type: improvement
Change-Id: I265ea61844bebdf086442fb334de20c1909a6683
Signed-off-by: Tom Jones <thj@freebsd.org>
3 months agovat2: docs 78/41378/3
Bence Romsics [Wed, 7 Aug 2024 08:55:39 +0000 (10:55 +0200)]
vat2: docs

Add a bit of documentation for vat2 - mostly through examples.

Type: docs
Change-Id: I1a95047b2bd33522f562c9c1a6a7e9e639ab1a47
Signed-off-by: Bence Romsics <bence.romsics@gmail.com>
3 months agobuild: add SHA256 checksums for downloaded dependencies 71/40971/7
Andrew Yourtchenko [Mon, 17 Jun 2024 18:22:11 +0000 (20:22 +0200)]
build: add SHA256 checksums for downloaded dependencies

- Replace md5sum with sha256sum for verification of downloaded
  external and optional dependencies.

Type: improvement
Change-Id: I52c96098d3cfd4c1eaf599da44a7b859ad24f1a4
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
3 months agohs-test: added multithreaded vpp proxy tests 55/41655/8
Adrian Villin [Wed, 20 Nov 2024 10:11:35 +0000 (11:11 +0100)]
hs-test: added multithreaded vpp proxy tests

- if a test is named '...MTTest', 3 cpus will be allocated to vpp
- updated docs

Type: test

Change-Id: I756dfb6cdbff4368d606ca3abbc1a510cd1d6b51
Signed-off-by: Adrian Villin <avillin@cisco.com>
3 months agopg: fix the buffer deletion 48/41648/4
Mohsin Kazmi [Wed, 30 Oct 2024 15:00:46 +0000 (15:00 +0000)]
pg: fix the buffer deletion

Type: fix

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

3 months agopapi: remove deprecated pkg_resources 34/41834/3
Ole Troan [Thu, 14 Nov 2024 09:41:17 +0000 (10:41 +0100)]
papi: remove deprecated pkg_resources

Replace use of pkg_resources with new supported APIs under importlib.

Type: fix
Change-Id: I67a7d936c634107c1ae87c0a06bea2355d906739
Signed-off-by: Ole Troan <otroan@employees.org>
3 months agobuild: separate package suffixes for vpp-ext-deps and vpp-opt-deps 67/41867/2
Dave Wallace [Thu, 21 Nov 2024 21:00:12 +0000 (16:00 -0500)]
build: separate package suffixes for vpp-ext-deps and vpp-opt-deps

Type: make

Change-Id: Icc8b4937ed98474da9d27668318a2a9e3d4a3ae5
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
3 months agofib: fix `show ip fib memory` output error 61/41861/2
Jay Wang [Tue, 12 Nov 2024 10:20:39 +0000 (10:20 +0000)]
fib: fix `show ip fib memory` output error

Put `memory` before `mem` when parsing `show ip fib` CLI command to
avoid the following annoying output error.

vpp# show ip fib memory
ipv4-VRF:0 mtrie:343808 hash:4687
totals: mtrie:343808 hash:4687 all:348495
unknown input `ory'

Type: fix
Signed-off-by: Jay Wang <jay.wang2@arm.com>
Change-Id: I5f990243309d6e6ea339e8442f5e68ae90a98814

3 months agohs-test: added tls tcp iperf test 96/41896/2
Adrian Villin [Thu, 21 Nov 2024 11:21:24 +0000 (12:21 +0100)]
hs-test: added tls tcp iperf test

Type: test

Change-Id: I7ed1a6dea644eb19b8022db07344503121e61517
Signed-off-by: Adrian Villin <avillin@cisco.com>
3 months agovcl: make ldp workers thread local 98/41798/7
Florin Coras [Thu, 31 Oct 2024 07:55:04 +0000 (00:55 -0700)]
vcl: make ldp workers thread local

Multi-threaded apps that do not allocate per-thread workers
(multi-thread workers vcl config) ended up sharing worker state like the
select bitmaps and time among others. Those should not be shared.

To avoid this, make ldp workers thread local variables.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iabdcc413991dbaafff33f24187f7053a9c5a1270

3 months agohsa: added request repeating to http client 49/41649/10
Adrian Villin [Mon, 4 Nov 2024 12:16:24 +0000 (13:16 +0100)]
hsa: added request repeating to http client

- added request repeating (repeat <count>|duration <seconds>)
- added basic stats

Type: feature

Change-Id: Ic69eac8029eac31ea5ace5b5c0da1ce7a3543ac0
Signed-off-by: Adrian Villin <avillin@cisco.com>
3 months agosession: fix ct get peer if peer freed 59/41859/2
Florin Coras [Wed, 20 Nov 2024 23:04:20 +0000 (15:04 -0800)]
session: fix ct get peer if peer freed

Type: fix

Change-Id: Iae00637ab843121651f187436bf849f41874f48c
Signed-off-by: Florin Coras <fcoras@cisco.com>
3 months agobuild: add vpp-opt-deps package 91/40891/31
Dave Wallace [Wed, 15 May 2024 22:16:40 +0000 (18:16 -0400)]
build: add vpp-opt-deps package

- Build an optional vpp package for optional
  dynamically linked dependencies for vpp plugins.
  Initial package contents include openssl 3.3.2.
- Refactor $WS_ROOT/build makefile structure
- Remove vpp-ext-deps debian control replacement
  of vpp-dpdk-dev package

Type: make

Change-Id: I1af0eff4a0c009c9d9061362f79e2013d8bf1a93
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
3 months agohttp: track requests as independent objects 47/41847/2
Matus Fabian [Tue, 19 Nov 2024 14:03:26 +0000 (15:03 +0100)]
http: track requests as independent objects

Type: improvement
Change-Id: I6c1808a82f61c71f34eab12ae5f99cca5fee8854
Signed-off-by: Matus Fabian <matfabia@cisco.com>
3 months agohttp: HTTP Datagrams and the Capsule Protocol 23/41823/4
Matus Fabian [Tue, 12 Nov 2024 14:15:26 +0000 (15:15 +0100)]
http: HTTP Datagrams and the Capsule Protocol

Type: improvement

Change-Id: I45de69172eec54578ceebe87f655701830af1a3d
Signed-off-by: Matus Fabian <matfabia@cisco.com>
3 months agotests: vpp_qemu_utils with concurrency handling 99/41799/48
Ivan Ivanets [Thu, 31 Oct 2024 18:55:27 +0000 (18:55 +0000)]
tests: vpp_qemu_utils with concurrency handling

Type: test

Enhance vpp_qemu_utils functions with mutex locking, handle namespace
and
host interface existence, unique namespace/interface name, error
handling and retries, check error code explicitly.

Change-Id: I1ea66eeefbc1fee9b58e8b9886f4dd6fd8d33444
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
3 months agoquic: update to quicly version 0.1.5 42/41842/8
Dave Wallace [Sat, 16 Nov 2024 06:26:42 +0000 (01:26 -0500)]
quic: update to quicly version 0.1.5

Type: improvement

Change-Id: I7c9c91a9c4d3ac2499e42eedda0a5d395bdf5912
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
3 months agoapi: support api clients with real-time scheduling 57/41257/2
Florin Coras [Fri, 12 Jul 2024 08:42:56 +0000 (01:42 -0700)]
api: support api clients with real-time scheduling

Type: improvement

Signed-off-by: Tatsushi Kanemoto <t-kanemoto@fujitsu.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ib97b778f6a1aac95573f1258ff806282dc995331

3 months agohs-test: udp proxy testing infra 40/41840/2
Matus Fabian [Fri, 15 Nov 2024 11:32:07 +0000 (12:32 +0100)]
hs-test: udp proxy testing infra

Type: test

Change-Id: Ib32a48429312a771c6ebe8022c7bdbccdde3a36f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
3 months agosession: track number of tries to alloc lcl port 30/41830/4
Florin Coras [Thu, 14 Nov 2024 06:54:14 +0000 (22:54 -0800)]
session: track number of tries to alloc lcl port

Track number of tries to alloc local port and report it in stats
segment. Could be used to gauge how busy the port allocator is.

Also add cli to dump trasport sub-layer state.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3736a48488c491dee85aa2b074b87519a3857057

3 months agohs-test: reduce curl image size 35/41835/2
Matus Fabian [Thu, 14 Nov 2024 09:56:19 +0000 (10:56 +0100)]
hs-test: reduce curl image size

before:
REPOSITORY    TAG      IMAGE ID       CREATED          SIZE
hs-test/curl  latest   4eededa5f68a   27 minutes ago   973MB

now:
REPOSITORY    TAG      IMAGE ID       CREATED              SIZE
hs-test/curl  latest   1a8faf0cbf8b   About a minute ago   110MB

Type: improvement

Change-Id: I7da5f5f26c3738e022225b1bb66d75f748074496
Signed-off-by: Matus Fabian <matfabia@cisco.com>
3 months agohsa: configurable connect-proxy idle timeout 33/41833/2
Matus Fabian [Thu, 14 Nov 2024 09:21:20 +0000 (10:21 +0100)]
hsa: configurable connect-proxy idle timeout

Added cli option idle-timeout to specify connect-proxy timeout for
idle connections, default value 10 minutes.

Type: improvement

Change-Id: I3ced83f28d3aabcc70fbd3ca1ef10b8a0336ffb1
Signed-off-by: Matus Fabian <matfabia@cisco.com>
3 months agohttp: state machine improvement 28/41828/3
Matus Fabian [Wed, 13 Nov 2024 15:31:53 +0000 (16:31 +0100)]
http: state machine improvement

Split in two, one for rx and second for tx, which is more suitable for
http tunnels. Updated state names too, some of them were bit confusing.

Type: improvement

Change-Id: I2310deaa49196819f9d8147a5d9af188465dbd65
Signed-off-by: Matus Fabian <matfabia@cisco.com>
3 months agohs-test: fix memleak testing 29/41829/2
Matus Fabian [Wed, 13 Nov 2024 17:23:39 +0000 (18:23 +0100)]
hs-test: fix memleak testing

Type: fix

Change-Id: I8d88fc5ccb37cc18c785b5dca47c7f66afefb73a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
3 months agomss_clamp: export functions 27/41827/7
Maxime Peim [Wed, 13 Nov 2024 11:03:38 +0000 (12:03 +0100)]
mss_clamp: export functions

Type: fix

Change-Id: If2b3e580c038064eca4edcdfd2fd432c8b813a6d
Signed-off-by: Maxime Peim <mpeim@cisco.com>
3 months agohttp_static: api add keepalive-timeout 24/41824/2
Matus Fabian [Tue, 12 Nov 2024 14:48:16 +0000 (15:48 +0100)]
http_static: api add keepalive-timeout

Type: improvement

Change-Id: Ia1e0dcf562fd1538794542207ac2cad97d168c6c
Signed-off-by: Matus Fabian <matfabia@cisco.com>
3 months agoocteon: set rss flowkey after mac update 22/41822/2
Monendra Singh Kushwaha [Wed, 6 Nov 2024 19:50:38 +0000 (01:20 +0530)]
octeon: set rss flowkey after mac update

Type: fix

Change-Id: I1b087b9e1e7a17ca545f960e896ca48266cdcc93
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
3 months agotracenode: fix pcap capture if packet is also traced 44/41544/3
Benoît Ganne [Tue, 3 Sep 2024 16:01:05 +0000 (18:01 +0200)]
tracenode: fix pcap capture if packet is also traced

Type: fix

Change-Id: Ifc259d87a086f686ce273f543632bd122b506c31
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 months agovlib: add clib_stack_frame_get_raw() 91/41691/2
Benoît Ganne [Tue, 8 Oct 2024 14:43:12 +0000 (16:43 +0200)]
vlib: add clib_stack_frame_get_raw()

clib_stack_frame_get() is getting the backtrace for all threads and
does symbol resolution which is too slow for certain features (eg.
memory traces).
clib_stack_frame_get_raw() only gets the local backtrace and defer
symbol resolution only when displaying results.

Type: improvement

Change-Id: Ia374d86e9175b6648a39ed5aaa676ceb7235e877
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 months agoocteon: fix compilation for octeon 21/41821/2
Monendra Singh Kushwaha [Mon, 11 Nov 2024 19:02:50 +0000 (00:32 +0530)]
octeon: fix compilation for octeon

This patch adapts new changes introduced in vnet/dev framework
as part of 61e287b9.

Type: fix
fixes: 61e287b9

Change-Id: I816ee9b80fca188ee799e704d08aaf3515bd57c0
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
4 months agosr : enable SRv6 uSID in the SRv6 API 25/41825/3
Ahmed Abdelsalam [Tue, 12 Nov 2024 14:56:45 +0000 (08:56 -0600)]
sr : enable SRv6 uSID in the SRv6 API

Type: improvement

Change-Id: I026b1a8fd1df0e6ac1dba8df78b12cde95aae419
Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
4 months agotcp: handle multiple syns in time-wait 16/41816/2
Florin Coras [Sun, 10 Nov 2024 20:45:47 +0000 (15:45 -0500)]
tcp: handle multiple syns in time-wait

If multiple syns are received in one dispatch for the same time-wait
connection, the first removes the connection while subsequent packets
either lookup a nonexistent or an unrelated connection.

Avoid the former with a check.

Type: fix

Change-Id: Ia5f1b3bbd568566eaf36121206aa12363a15b418
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 months agoocteon: add support for hmac_md5 and chachapoly 75/41775/2
Kishor Dhanawade [Thu, 26 Sep 2024 10:18:34 +0000 (15:48 +0530)]
octeon: add support for hmac_md5 and chachapoly

Added support for following algorithms
  - aes-cbc hmac_md5
  - chacha20_poly1305

Type: feature

Signed-off-by: Kishor Dhanawade <kdhanawade@marvell.com>
Signed-off-by: Nithinsen Kaithakadan <nkaithakadan@marvell.com>
Change-Id: I44702483dad8182d5f15aed39c6bb42f1ca15d3c

4 months agosr : adding support to SRv6 uA behavior 18/41818/1
Ahmed Abdelsalam [Mon, 11 Nov 2024 11:14:03 +0000 (05:14 -0600)]
sr : adding support to SRv6 uA behavior

Type: feature

Change-Id: I81f6b07226eeaa6c3cd62487c9665629f4d2a834
Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
4 months agosession: validate appns index in vnet_session_rule_add_del 13/41813/2
Steven Luong [Wed, 6 Nov 2024 21:47:26 +0000 (13:47 -0800)]
session: validate appns index in vnet_session_rule_add_del

vnet_session_rule_add_del may be called with a bogus appns index
from the API. Validate the appns index is indeed valid.

Type: fix

Change-Id: Ife1b5b9ab0b180ececa74008d2ef92045a9e8b58
Signed-off-by: Steven Luong <sluong@cisco.com>
4 months agohsa: proxy fix assert placement 14/41814/1
Florin Coras [Thu, 7 Nov 2024 21:44:02 +0000 (13:44 -0800)]
hsa: proxy fix assert placement

Assert fifo refcnt on the right thread

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: If6edf9969f5c70533a1e9c6358c022c556c4ed81

4 months agoarmada: initial DSA support 94/41694/18
Damjan Marion [Wed, 23 Oct 2024 14:18:18 +0000 (16:18 +0200)]
armada: initial DSA support

Type: feature
Change-Id: Ic6578e0ded33ca3c6590c8e6127ec11a0f5b3057
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 months agodev: secondary interfaces support 68/41668/23
Damjan Marion [Tue, 8 Oct 2024 18:50:56 +0000 (20:50 +0200)]
dev: secondary interfaces support

Type: feature
Change-Id: I6cc4340431b8273022955fca1600061a722e3ace
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 months agocrypto-ipsecmb: bump to ipsecmb v2.0 06/41806/2
Marcel Cornu [Wed, 6 Nov 2024 12:57:34 +0000 (12:57 +0000)]
crypto-ipsecmb: bump to ipsecmb v2.0

Type: feature

This patch bumps ipsecmb library version from 1.5 to 2.0

Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
Change-Id: Iceb546cbb00cbd92cab7edeb85f9545284fcbd4c

4 months agodev: introduce consistent_qp feature 12/41812/5
Mohammed Hawari [Wed, 6 Nov 2024 16:13:02 +0000 (17:13 +0100)]
dev: introduce consistent_qp feature

For some devices, queues are organized as pairs (rx/tx). In this case,
it is desirable that a worker receives packet and send packets for the
same pair. This patch enables this by assigning txq to workers first
and ending with main.

Change-Id: I3de4afbf74a265d5275c6a5d9a905b51dd661b22
Type: feature
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
4 months agosession: session table holding free appns index 32/41732/10
Steven Luong [Tue, 22 Oct 2024 17:44:07 +0000 (10:44 -0700)]
session: session table holding free appns index

session table may be shared among multiple appns's.
  app ns add id blue secret 1 if tap0
  app ns add id red secret 1 if tap0

session table holds the last added app_ns's appns_index.
If the last app_ns is deleted, session table is not free
since there is still an appns which uses the same session
table. In that case, session table is holding the free
app_ns's appns_index and it can cause problem.

The fix is to modify appns_index in session table to hold
a vector of appns_index's instead of just the appns_index
that was last added. When the app ns is deleted, remove the
deleted appns_index from the session table's vector of
appns_index's.

Type: fix

Change-Id: Ied8bc97f185071dc89b9b56656e18efbd2995131
Signed-off-by: Steven Luong <sluong@cisco.com>
4 months agosvm: mq use poll instead of SO_RCVTIMEO 02/41802/3
Florin Coras [Tue, 5 Nov 2024 05:47:09 +0000 (21:47 -0800)]
svm: mq use poll instead of SO_RCVTIMEO

setsockopt does not work on eventfds

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I652a2b78160abe1bc15879fd8bc320ba4ef38e63

4 months agohsa: added GET method to client 24/41424/33
Adrian Villin [Wed, 28 Aug 2024 07:34:14 +0000 (09:34 +0200)]
hsa: added GET method to client

Type: improvement

Change-Id: I46f7e1e2b509a463ff4b2492bf6412b67a1afdc4
Signed-off-by: Adrian Villin <avillin@cisco.com>
4 months agohttp: CONNECT method for tunnelling 88/41588/6
Matus Fabian [Fri, 20 Sep 2024 14:34:59 +0000 (16:34 +0200)]
http: CONNECT method for tunnelling

Type: improvement

Change-Id: I6af16ddcc6734bb831227ce65cb39e87294fc4cd
Signed-off-by: Matus Fabian <matfabia@cisco.com>
4 months agohttp: fix invalid listener handle timeout config 00/41800/4
Dave Wallace [Fri, 1 Nov 2024 20:11:02 +0000 (16:11 -0400)]
http: fix invalid listener handle timeout config

- Fixes this assert() in make test-debug testcase:

  make test-debug TEST=test_http_static.TestHttpStaticVapi.test_http_static_vapi
  ...
  vpp[441]: /vpp/src/vppinfra/tw_timer_template.c:301 (tw_timer_start_2t_1w_2048sl) assertion `interval' fails

Type: fix

Change-Id: Ic6040957f48ab578affa5b1cf7dfdf4be27c4c56
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
4 months agovcl: fix vls mt detection and select handling 45/41745/7
Florin Coras [Wed, 23 Oct 2024 21:19:31 +0000 (14:19 -0700)]
vcl: fix vls mt detection and select handling

Make sure num threads is 1 on process create and fork. Multi-thread
locks are applied once num threads exceeds 1.

For select, follow same pattern like epoll and add check for session
migration.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I1edcd6c4c81b6b3caf8b00781b339414e8945b0e

4 months agovirtio: introduce the consistent-qp feature 97/41797/3
Mohammed Hawari [Wed, 30 Oct 2024 18:17:07 +0000 (19:17 +0100)]
virtio: introduce the consistent-qp feature

In certain usecases related to Linux legacy pinning of flows on queue
pairs, it is desirable that, for a given index, the rx and tx virtio
queue be handled by the same worker. This change introduces a flag for
virtio and tap interfaces that allow such a mapping.
Example with two workers rxq 0 and txq 0 on worker 0
         rxq 1 and txq 1 on worker 1
         txq 2 on main thread

Change-Id: I1b74a4788843fd1d0e8dcb4e9da30e609e088fe3
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: improvement

4 months agosession: sesssion_rule_add_del API parsing port in wrong order 52/41752/3
Steven Luong [Thu, 24 Oct 2024 17:36:10 +0000 (10:36 -0700)]
session: sesssion_rule_add_del API parsing port in wrong order

The convention in the binary API is that fields encoded in network order.
For some reason, port was parsed in host order.

Type: fix

Change-Id: I31ea313937097e2547226566b7869be4e28251b8
Signed-off-by: Steven Luong <sluong@cisco.com>
4 months agohttp: udp proxy uri template parsing 96/41796/2
Matus Fabian [Wed, 30 Oct 2024 17:04:40 +0000 (18:04 +0100)]
http: udp proxy uri template parsing

Parse a URI template that has variables "target_host" and "target_port",
where varaibles are at the end of the path:
"/{target_host}/{target_port}/".

Type: improvement
Change-Id: I440b7f4951bffa1fd9971740b9890b221193943b
Signed-off-by: Matus Fabian <matfabia@cisco.com>
4 months agoipsec: fix UDP flow in ipsec inbound policy 03/41703/3
Gabriel Oginski [Fri, 11 Oct 2024 10:47:56 +0000 (10:47 +0000)]
ipsec: fix UDP flow in ipsec inbound policy

This patch fixes handle with UDP packages for UDP-Encapsulated ESP
and IKE traffic in inbound policy.

Orignally IKE traffic on UDP with port 4500 is dropped inside inbound
look-up.

Type: fix
Change-Id: I071adf18cb82da8cd000b93914078e51e393104c
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
4 months agoudp: connected mode only for connects 67/41767/3
Florin Coras [Mon, 28 Oct 2024 18:49:34 +0000 (11:49 -0700)]
udp: connected mode only for connects

Treat all connects as connected udp sessions. Connectionless udp is only
possible with listeners.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0a75b7c85b72274df909ed3b114eed4f6519477e

4 months agosession: improve migration rx ntf 69/41769/4
Florin Coras [Tue, 29 Oct 2024 08:21:08 +0000 (01:21 -0700)]
session: improve migration rx ntf

Type: refactor

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0dd002f923908c4b9244c2c47fc85fa8855d54e1

4 months agohsa: proxy support for connected for udp 68/41768/3
Florin Coras [Tue, 29 Oct 2024 03:15:34 +0000 (20:15 -0700)]
hsa: proxy support for connected for udp

- mark listener as connected to support udp proxying. Connectionless udp
proxying is possible but would need more work on rx path.
- add support for session migration

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ia6911ad728b7718a4983152d144e2566998e35c2

4 months agohttp: "absolute-form" target URL parsing 74/41774/2
Matus Fabian [Tue, 29 Oct 2024 14:06:49 +0000 (15:06 +0100)]
http: "absolute-form" target URL parsing

Type: improvement

Change-Id: If39680a148d39add40433547369b2ddad3c2e226
Signed-off-by: Matus Fabian <matfabia@cisco.com>
4 months agohttp: timeout docs 61/41761/2
Matus Fabian [Mon, 28 Oct 2024 09:12:31 +0000 (10:12 +0100)]
http: timeout docs

Type: docs

Change-Id: I3dd9a726b862e72458a8f83c62354411d2c89d07
Signed-off-by: Matus Fabian <matfabia@cisco.com>
4 months agohttp_static: always free ext_cfg 63/41763/2
Matus Fabian [Mon, 28 Oct 2024 09:30:16 +0000 (10:30 +0100)]
http_static: always free ext_cfg

Type: fix

Change-Id: I655e93c0f1e1de65d6d3c3e0976e25a7ce11aafc
Signed-off-by: Matus Fabian <matfabia@cisco.com>
4 months agoaf_xdp: api cleanup 87/41687/3
Stanislav Zaikin [Fri, 4 Oct 2024 15:43:55 +0000 (17:43 +0200)]
af_xdp: api cleanup

remove deprecated api handlers

Type: improvement

Change-Id: Id53d94f9d5fe46eba3ed809e4c16136c0eb2befc
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
4 months agovppapigen: fix f-string in crcchecker 42/41542/2
Ole Troan [Mon, 9 Sep 2024 07:17:37 +0000 (09:17 +0200)]
vppapigen: fix f-string in crcchecker

Type: fix
Change-Id: I9ae35b34cfd7de96726aa0b45987a896783ef7e0
Signed-off-by: Ole Troan <otroan@employees.org>
4 months agohsa: http cli client ho session cleanup 51/41751/3
Matus Fabian [Thu, 24 Oct 2024 12:59:56 +0000 (14:59 +0200)]
hsa: http cli client ho session cleanup

Type: improvement

Change-Id: I9266dac18ad3ee57fc8ecca3614b51b2345e9c48
Signed-off-by: Matus Fabian <matfabia@cisco.com>
4 months agohttp: pass timeout using extended config 18/41718/12
Matus Fabian [Thu, 17 Oct 2024 11:41:51 +0000 (13:41 +0200)]
http: pass timeout using extended config

App can now pass http connection timeout using extended configuration,
ext cfg type TRANSPORT_ENDPT_EXT_CFG_HTTP, value (in seconds) set in ext
cfg member opaque.
It is optional, default value is 60 seconds.

Type: improvement

Change-Id: Ibeff4bbd3153421be350ff564ec3c8e52e5b9639
Signed-off-by: Matus Fabian <matfabia@cisco.com>
4 months agovcl: fix get tx fifo len attr 53/41753/4
Florin Coras [Fri, 25 Oct 2024 06:09:13 +0000 (02:09 -0400)]
vcl: fix get tx fifo len attr

Type: fix

Change-Id: I9b47600486b03c4c2cd031ed1f0faf6c28864fe4
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 months agosession: support of multiple extended configs 15/41715/7
Matus Fabian [Wed, 16 Oct 2024 13:29:36 +0000 (15:29 +0200)]
session: support of multiple extended configs

This allow configuration for each transport protocol when combined,
e.g. HTTPS=HTTP+TLS.
Extended config of session endpoint config is now chunk of memory,
which allow seamless integration with VCL, and internal
representation is hidden behind APIs, which is better for
future improvements. By default chunk is allocated to 512B if the
app doesn't do so before.

Type: improvement
Change-Id: I323f19ec255eba31c58c06b8b83af45aab7f5bb1
Signed-off-by: Matus Fabian <matfabia@cisco.com>
4 months agodhcp: client use mac address as client identifier 43/41743/3
Ole Troan [Wed, 23 Oct 2024 19:13:19 +0000 (21:13 +0200)]
dhcp: client use mac address as client identifier

Previously the DHCP client use a constant client identifier (vpp 1.1).
Problem with that is that multiple VPP clients on the same link would
fail. Fixed by using MAC address instead.

Type: improvement
Change-Id: If37f4a14cc728bde6c9ef6c169957562d763c973
Signed-off-by: Ole Troan <otroan@employees.org>
4 months agohsa: support vcl server binding to ip 46/41746/5
Florin Coras [Thu, 24 Oct 2024 01:59:07 +0000 (21:59 -0400)]
hsa: support vcl server binding to ip

Type: improvement

Change-Id: I4d64cddaa372aecaee8bb3eaf244c8d4998f490c
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 months agohsa: add appns support to http cli server 79/41679/5
Steven Luong [Fri, 4 Oct 2024 17:54:48 +0000 (10:54 -0700)]
hsa: add appns support to http cli server

When the last listener is deleted, detach the cli server.

The appns is determined and should be entered when the cli
server is first brought up. When adding an additional listener
subsequently, appns must not be specified.

Type: improvement

Change-Id: Idac5b1f89df2aeca6734ab4532ebade0659fc357
Signed-off-by: Steven Luong <sluong@cisco.com>
4 months agovapi: fix uds connect error handling 33/41733/2
Stanislav Zaikin [Wed, 9 Oct 2024 07:21:56 +0000 (09:21 +0200)]
vapi: fix uds connect error handling

Type: fix

Change-Id: I846b54408991d34f73735914a4a673d4ee966afd
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
4 months agoarmada: fix rxq buffer pool assignment 50/41750/3
Damjan Marion [Thu, 24 Oct 2024 09:40:13 +0000 (11:40 +0200)]
armada: fix rxq buffer pool assignment

Type: fix
Change-Id: I5a78804986f400f8adc7f58f25fe5d7989a926ea
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 months agoip: fix port extraction 31/41731/4
Klement Sekera [Wed, 23 Oct 2024 17:05:17 +0000 (19:05 +0200)]
ip: fix port extraction

Replace a hard-coded constant of 64 with 56, which is a more appropriate
value for when ICMP echo request is returned in ICMP error. Previously,
the size of such message would be smaller than 64 and parsing would not
return the correct value.

Type: fix
Change-Id: I1bdf8a2a23b1e6762b64210c71927c926f4547ad
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
4 months agodev: use typedefs in dev.h 44/41744/2
Damjan Marion [Wed, 23 Oct 2024 19:36:50 +0000 (21:36 +0200)]
dev: use typedefs in dev.h

Type: refactor
Change-Id: Ieb50d79bd7b9f0a59faf26a4f5bce3f89f25b287
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
4 months agodev: keep dev_instance data in struct 42/41742/2
Damjan Marion [Wed, 23 Oct 2024 18:56:27 +0000 (20:56 +0200)]
dev: keep dev_instance data in struct

Type: refactor
Change-Id: I05d04e2e9872d025384524b1bc133d909581e18a
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
4 months agodev: fix typo in function name 41/41741/2
Damjan Marion [Wed, 23 Oct 2024 16:46:51 +0000 (18:46 +0200)]
dev: fix typo in function name

vnet_dev_get_port_rx_node_idex -> vnet_dev_get_port_rx_node_index

Type: fix
Change-Id: I9a90e5822cbc93bcf2f91244b4eb4e5fff53c212
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
4 months agodev: _with_ptr process node calls 40/41740/2
Damjan Marion [Wed, 23 Oct 2024 16:38:18 +0000 (18:38 +0200)]
dev: _with_ptr process node calls

Type: improvement
Change-Id: Ib392d74e7629cef5d335e4320a71ceec25ddb020
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
4 months agoarmada: port and queue counters 39/41739/2
Damjan Marion [Wed, 23 Oct 2024 13:35:49 +0000 (15:35 +0200)]
armada: port and queue counters

Type: improvement
Change-Id: I221253be147e99cd082911f28d088b64ca96eff5
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
4 months agodev: add more units for counters 38/41738/2
Damjan Marion [Wed, 23 Oct 2024 13:19:46 +0000 (15:19 +0200)]
dev: add more units for counters

Type: improvement
Change-Id: If6f70fc34f47c31a986ba837c9a35ce139decfb1
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
4 months agoarmada: fix typo 37/41737/2
Damjan Marion [Wed, 23 Oct 2024 13:34:41 +0000 (15:34 +0200)]
armada: fix typo

Type: fix
Change-Id: I1c1eb9d7426086bb8023867b3118ece119bca05b
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>