14028 Commits

Author SHA1 Message Date
Stanislav Zaikin
ad005c2a8b 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>
2024-11-27 03:04:57 +00:00
Tom Jones
d823ffc6c0 build: Add FreeBSD install-dep support
Type: improvement
Change-Id: I265ea61844bebdf086442fb334de20c1909a6683
Signed-off-by: Tom Jones <thj@freebsd.org>
2024-11-27 03:02:33 +00:00
Bence Romsics
c2fa5a8c57 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>
2024-11-27 02:52:26 +00:00
Andrew Yourtchenko
3835a8fb11 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>
2024-11-26 00:07:46 -05:00
Adrian Villin
d05f16d124 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>
2024-11-22 22:24:37 +00:00
Mohsin Kazmi
c990aae85a pg: fix the buffer deletion
Type: fix

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I8f0a67706399dad1e5296aafd1cfa92958b2fe82
2024-11-22 08:49:35 +00:00
Ole Troan
6c880efcce 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>
2024-11-22 08:38:13 +00:00
Dave Wallace
8ba0872f3b 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>
2024-11-22 03:45:45 +00:00
Jay Wang
030a5436da 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
2024-11-21 20:53:36 +00:00
Adrian Villin
ff36307b5b hs-test: added tls tcp iperf test
Type: test

Change-Id: I7ed1a6dea644eb19b8022db07344503121e61517
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-11-21 19:03:12 +00:00
Florin Coras
ca9747a73f 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
2024-11-21 17:28:08 +00:00
Adrian Villin
d74e440f2f 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>
2024-11-21 07:52:58 +00:00
Florin Coras
9cab992ff9 session: fix ct get peer if peer freed
Type: fix

Change-Id: Iae00637ab843121651f187436bf849f41874f48c
Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-11-21 00:57:56 +00:00
Dave Wallace
79c8f99ac9 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>
2024-11-20 16:36:54 +00:00
Matus Fabian
258b82975b http: track requests as independent objects
Type: improvement
Change-Id: I6c1808a82f61c71f34eab12ae5f99cca5fee8854
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-11-19 19:29:50 +00:00
Matus Fabian
2ec8a9abc2 http: HTTP Datagrams and the Capsule Protocol
Type: improvement

Change-Id: I45de69172eec54578ceebe87f655701830af1a3d
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-11-19 19:29:15 +00:00
Ivan Ivanets
9765e27635 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>
2024-11-19 16:52:48 +00:00
Dave Wallace
a2bc88bb69 quic: update to quicly version 0.1.5
Type: improvement

Change-Id: I7c9c91a9c4d3ac2499e42eedda0a5d395bdf5912
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-11-19 16:47:02 +00:00
Florin Coras
56265b9f55 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
2024-11-19 00:43:38 +00:00
Matus Fabian
aa488dd3f7 hs-test: udp proxy testing infra
Type: test

Change-Id: Ib32a48429312a771c6ebe8022c7bdbccdde3a36f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-11-18 20:06:40 +00:00
Florin Coras
da237e8b98 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
2024-11-18 17:13:30 +00:00
Matus Fabian
80ae7e5307 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>
2024-11-14 19:00:59 +00:00
Matus Fabian
0443b9264f 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>
2024-11-14 19:00:11 +00:00
Matus Fabian
1c9d1de9bc 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>
2024-11-14 18:59:45 +00:00
Matus Fabian
1fe2501702 hs-test: fix memleak testing
Type: fix

Change-Id: I8d88fc5ccb37cc18c785b5dca47c7f66afefb73a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-11-14 18:25:31 +00:00
Maxime Peim
3b75570a06 mss_clamp: export functions
Type: fix

Change-Id: If2b3e580c038064eca4edcdfd2fd432c8b813a6d
Signed-off-by: Maxime Peim <mpeim@cisco.com>
2024-11-14 10:04:10 +00:00
Matus Fabian
a4597a74aa http_static: api add keepalive-timeout
Type: improvement

Change-Id: Ia1e0dcf562fd1538794542207ac2cad97d168c6c
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-11-13 18:09:19 +00:00
Monendra Singh Kushwaha
942e3d583c octeon: set rss flowkey after mac update
Type: fix

Change-Id: I1b087b9e1e7a17ca545f960e896ca48266cdcc93
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-11-13 16:06:03 +00:00
Benoît Ganne
f611870e8d tracenode: fix pcap capture if packet is also traced
Type: fix

Change-Id: Ifc259d87a086f686ce273f543632bd122b506c31
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-11-13 15:06:42 +00:00
Benoît Ganne
661fb34a90 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>
2024-11-13 13:02:30 +00:00
Monendra Singh Kushwaha
34083c41b2 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>
2024-11-13 08:22:21 +00:00
Ahmed Abdelsalam
c68c970838 sr : enable SRv6 uSID in the SRv6 API
Type: improvement

Change-Id: I026b1a8fd1df0e6ac1dba8df78b12cde95aae419
Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
2024-11-12 17:14:50 +00:00
Florin Coras
27a901ece3 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>
2024-11-11 17:58:38 +00:00
Kishor Dhanawade
3ac40b94ce 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
2024-11-11 12:42:36 +00:00
Ahmed Abdelsalam
3462950ae8 sr : adding support to SRv6 uA behavior
Type: feature

Change-Id: I81f6b07226eeaa6c3cd62487c9665629f4d2a834
Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
2024-11-11 05:18:30 -06:00
Steven Luong
e38d947074 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>
2024-11-08 17:26:46 +00:00
Florin Coras
7fdb6f4ba8 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
2024-11-07 13:44:02 -08:00
Damjan Marion
99eed5ec64 armada: initial DSA support
Type: feature
Change-Id: Ic6578e0ded33ca3c6590c8e6127ec11a0f5b3057
Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-11-07 16:49:49 +01:00
Damjan Marion
61e287b9f8 dev: secondary interfaces support
Type: feature
Change-Id: I6cc4340431b8273022955fca1600061a722e3ace
Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-11-07 16:49:49 +01:00
Marcel Cornu
de020ab478 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
2024-11-07 10:21:55 +00:00
Mohammed Hawari
8256914194 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>
2024-11-07 09:02:45 +00:00
Steven Luong
e0c4e6e32d 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>
2024-11-06 18:13:01 +00:00
Florin Coras
afd05739d6 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
2024-11-05 05:31:36 +00:00
Adrian Villin
5a612a4699 hsa: added GET method to client
Type: improvement

Change-Id: I46f7e1e2b509a463ff4b2492bf6412b67a1afdc4
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-11-04 18:07:10 +00:00
Matus Fabian
afce287645 http: CONNECT method for tunnelling
Type: improvement

Change-Id: I6af16ddcc6734bb831227ce65cb39e87294fc4cd
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-11-01 22:25:45 +00:00
Dave Wallace
7e70b1f0c4 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>
2024-11-01 22:13:36 +00:00
Florin Coras
ce4635c4a7 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
2024-11-01 20:22:05 +00:00
Mohammed Hawari
bd32d6234c 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
2024-10-31 19:47:58 +00:00
Steven Luong
bfad6b7a8f 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>
2024-10-30 23:59:35 +00:00
Matus Fabian
0af11f537f 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>
2024-10-30 23:20:54 +00:00