vpp.git
13 days agosession: add support for postponing transport cleanups 18/42918/14
Florin Coras [Fri, 2 May 2025 07:20:53 +0000 (03:20 -0400)]
session: add support for postponing transport cleanups

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

Update tcp and udp for now.

Type: improvement

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

Rename tcp_connection_del to tcp_connection_cleanup_and_notify and use
where needed.

Type: refactor

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

Type: improvement

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

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

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

Type: fix

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

Type: fix

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

Type: improvement

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

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

Type: fix

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

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

Type: fix

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

Type: improvement

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

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

Type: improvement

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

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

All nodes can dispatch to other nodes...

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

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

Type: test

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

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

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

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

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

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

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

Type: fix

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

Type: fix

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

Type: fix

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

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

Type: improvement

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

Type: improvement

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

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

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

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

Type: improvement

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

Type: fix

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

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

Type: test

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

Type: fix

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

Type: test

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

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

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

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

Type: improvement

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

Type: test

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

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

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

Remove old deprecated api (v2 and v3).

Type: improvement

Change-Id: I62640bb9cb851cb567b8176bf01f02c63257ecb9
Signed-off-by: Matus Fabian <matfabia@cisco.com>
3 weeks agotests: update run.py to skip building vpp when running tests 39/42839/4
Naveen Joy [Fri, 18 Apr 2025 00:58:28 +0000 (17:58 -0700)]
tests: update run.py to skip building vpp when running tests

Use make to build vpp before running tests using run.py. Also, fixes
an issue when running tests against an exisiting vpp caused due to
asfframework refactoring.

Type: test

Change-Id: I252a4083db6384caf799095d07f79a9f01240358
Signed-off-by: Naveen Joy <najoy@cisco.com>
3 weeks agobuild: update vpp-opt-deps to openssl 3.5.0 42/42842/1
Dave Wallace [Wed, 23 Apr 2025 01:42:22 +0000 (21:42 -0400)]
build: update vpp-opt-deps to openssl 3.5.0

Type: feature

Change-Id: I55451dfa31ff48a3976fa84c7a3d93144b1ec890
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
4 weeks agomemif: fix fib lookup in dma datapath 38/42838/3
Jeff Shaw [Thu, 17 Apr 2025 22:02:20 +0000 (15:02 -0700)]
memif: fix fib lookup in dma datapath

Packets received using the DMA datapath use the buffer template copied
from the dma_info per-thread data. The sw_if_index[VLIB_TX] was not set
in the vlib buffer template, so subsequent FIB lookups were done using
table 0. This is incorrect if the interface is assigned to a different
table.

Fix the behavior by setting the sw_if_index[VLIB_TX] to ~0, so the FIB
knows to use the table to which the interface is assigned, which is the
same behavior as the non-DMA memif datapath.

Type: fix

Change-Id: I17bf9d21ef8a82c56ef839fbf2b611a633db7255
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
4 weeks agovlib: move file_main to vlib/file.[ch] 37/42837/3
Damjan Marion [Thu, 17 Apr 2025 20:04:29 +0000 (22:04 +0200)]
vlib: move file_main to vlib/file.[ch]

mechanical change to accomodate following patch...

Type: refactor
Change-Id: I74be905534d8061d0f192b969cfbfd94272922f0
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 weeks agovlib: remove unused variable 36/42836/2
Damjan Marion [Thu, 17 Apr 2025 20:11:45 +0000 (22:11 +0200)]
vlib: remove unused variable

Type: improvement
Change-Id: I9a268e7687ebc78e36ef65666749e402b273695a
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 weeks agohttp: http_app_worker_rx_notify improvement 32/42832/2
Matus Fabian [Thu, 17 Apr 2025 08:45:54 +0000 (04:45 -0400)]
http: http_app_worker_rx_notify improvement

Do not send rx event to app worker if there is already pending one

Type: improvement

Change-Id: I76c7e222ba13932be2079b5135ffadf5c98155e7
Signed-off-by: Matus Fabian <matfabia@cisco.com>
4 weeks agocrypto: add support for aes-cbc with hmac 31/42831/3
Ivan Ivanets [Thu, 17 Apr 2025 07:16:12 +0000 (07:16 +0000)]
crypto: add support for aes-cbc with hmac

Type: feature

Support combined enc/auth algorithms with aes-cbc for enc and hmac
(sha1, sha256, md5 ...) for auth in th openssl crypto engine

Change-Id: If915a5aec84a2c365b68ef9f42497593abc1b70e
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
4 weeks agoudp: add basic stats per connection 23/42823/3
Florin Coras [Wed, 16 Apr 2025 06:02:33 +0000 (02:02 -0400)]
udp: add basic stats per connection

Type: improvement

Change-Id: I95a3b9c85f4b6ab94250fc8fb5f2a4a142a2f833
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 weeks agosession: https parsing support 18/42418/7
Adrian Villin [Thu, 6 Mar 2025 12:25:50 +0000 (13:25 +0100)]
session: https parsing support

Type: improvement

Change-Id: I6ec29cda2cb841a70d6f5768f97666b2cc37febb
Signed-off-by: Adrian Villin <avillin@cisco.com>
4 weeks agohttp: fix http session deschedule 21/42821/4
Matus Fabian [Tue, 15 Apr 2025 15:02:45 +0000 (11:02 -0400)]
http: fix http session deschedule

Type: fix

Change-Id: Ieda622ff48422e8f4707c8b624f14d93324e615d
Signed-off-by: Matus Fabian <matfabia@cisco.com>
4 weeks agosnort: don't create listner until 1st instance is created 29/42829/1
Damjan Marion [Wed, 16 Apr 2025 16:24:12 +0000 (18:24 +0200)]
snort: don't create listner until 1st instance is created

Type: improvement
Change-Id: I343eed4024648e198b7d852c35d5202817e12be3
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 weeks agosr: fix unit tests 95/42595/3
Artem Glazychev [Tue, 1 Apr 2025 06:14:26 +0000 (13:14 +0700)]
sr: fix unit tests

fixed several tests that were skipped a long time ago. And also added a test for ECMP

Type: fix

Change-Id: Id58302f3362f3db56cd5b467d761a177464f68c6
Signed-off-by: Artem Glazychev <glazychev@mts.ru>
4 weeks agohs-test: Add CPU pinning tests for 'relative' keyword 87/41187/23
Hadi Rayan Al-Sandid [Tue, 25 Jun 2024 21:38:54 +0000 (23:38 +0200)]
hs-test: Add CPU pinning tests for 'relative' keyword

Type: test

Added tests to cpu_pinning_suite.go to verify that
VPP launches with different CPU configurations, including
configurations with the 'relative' keyword.

Change-Id: Ia6bef88ca22ebad5d37480230c8a84cabebab4a9
Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>
4 weeks agovppinfra: thread safe clib file 94/42794/5
Damjan Marion [Tue, 15 Apr 2025 07:25:03 +0000 (09:25 +0200)]
vppinfra: thread safe clib file

Type: improvement
Change-Id: I37663f0f600b6fe8c76de25e77d0425a10ef9a21
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 weeks agovhost: don't access clib file data directly 95/42795/3
Damjan Marion [Tue, 15 Apr 2025 07:32:38 +0000 (09:32 +0200)]
vhost: don't access clib file data directly

Type: improvement
Change-Id: I78d2439e196f095aefc84a36061c9f5fe3cac312
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 weeks agovppinfra: explicitelly cast to void * to silence clangd 93/42793/2
Damjan Marion [Tue, 15 Apr 2025 07:14:49 +0000 (09:14 +0200)]
vppinfra: explicitelly cast to void * to silence clangd

Type: fix
Change-Id: I286c73d532368e3726269cce9a6993c4911e99cb
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 weeks agovlib: thread safe logging 17/42817/2
Damjan Marion [Tue, 15 Apr 2025 09:23:47 +0000 (11:23 +0200)]
vlib: thread safe logging

Type: improvement
Change-Id: I373c40f23bf221287731c86dc7e6ceacdb627f9d
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 weeks agobonding: ASSERT fails for bif->active_members in TX path 53/42653/4
Steven Luong [Thu, 3 Apr 2025 17:22:10 +0000 (10:22 -0700)]
bonding: ASSERT fails for bif->active_members in TX path

Elements in bif->active_members are used without protection in the TX DP path.
However, elements in bif->active_members may freed by another thread asynchronously
and it may cause the ASSERT to fail when accessing elements.
The fix is to take a snapshot of the active_members and use that in the TX DP path.

Type: fix

Change-Id: I081cc81cc4d072807d6cbbcf5d21feb97f500362
Signed-off-by: Steven Luong <sluong@cisco.com>
4 weeks agovlib: timing wheel improvements 77/42777/10
Damjan Marion [Wed, 9 Apr 2025 16:36:18 +0000 (18:36 +0200)]
vlib: timing wheel improvements

Type: improvement
Change-Id: I9b57ed8632e0afea9f4b67972619f411c27f35f2
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 weeks agohttp: malformed request handling improvement 89/42789/4
Matus Fabian [Fri, 11 Apr 2025 13:38:07 +0000 (09:38 -0400)]
http: malformed request handling improvement

handle case when sum of the DATA frame payload lengths do not equal
value of content-length header

Type: improvement

Change-Id: I71c4114fb52d7ae1dba9645a3dcf41ffe3516e1f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
4 weeks agotcp: remove erroneous exception seg check assert 92/42792/3
Florin Coras [Mon, 14 Apr 2025 02:50:51 +0000 (22:50 -0400)]
tcp: remove erroneous exception seg check assert

Type: fix

Change-Id: Ic3ae960e8f4a28f96b9964f6a3bd60379dd3795f
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 weeks agohs-test: added basic performance testing infra 96/42796/3
Adrian Villin [Thu, 10 Apr 2025 12:26:43 +0000 (14:26 +0200)]
hs-test: added basic performance testing infra

- only works on ubuntu 22.04 for now
- usage: build docker images, 'make setup-cluster',
  then 'sudo make test-perf'
- TODO: documentation, install KinD and kubectl automatically,
   build containers before cluster setup

Type: feature

Change-Id: Ic4a78a0d9368d947404324c7af8c2520fa7ef3c0
Signed-off-by: Adrian Villin <avillin@cisco.com>
5 weeks agovlib: add 'relative' keyword for cpu configuration 94/41094/24
hsandid [Fri, 7 Jun 2024 16:11:48 +0000 (18:11 +0200)]
vlib: add 'relative' keyword for cpu configuration

Type: feature

Add keyword 'relative' to translate cpu pinning configuration
to match vpp launch affinity

Change-Id: Ic748e5f4269525764b7adc92a8a5e4877e59c5a3
Signed-off-by: hsandid <halsandi@cisco.com>
5 weeks agovlib: require main core with 'skip-cores' attribute 99/41099/4
hsandid [Mon, 10 Jun 2024 14:06:37 +0000 (16:06 +0200)]
vlib: require main core with 'skip-cores' attribute

Type: fix

Not specifying main core with 'skip-cores' attribute can result
in launch issues e.g. if main thread pinned automatically by
scheduler to a cpu in 'skip-cores' range.

Change-Id: Ie47b3691e25ed4ff5d53887d3e1d5e8cb2be00b9
Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>
5 weeks agovlib: avoid confusion when parsing plugins section 49/42649/6
Nicolas PLANEL [Thu, 3 Apr 2025 08:54:15 +0000 (10:54 +0200)]
vlib: avoid confusion when parsing plugins section

config_one_plugin steal the vector allocated by unformat()
and memory leak in the error path of config_one_plugin
call vec_dup() and vec_free() when it's needed

Type: fix
Change-Id: I2407e0981e9628c40908cdd26683b98ae27c2159
Signed-off-by: Nicolas PLANEL <nplanel@cisco.com>
5 weeks agodpdk: fix key length for linked crypto algs 39/42739/2
Matthew Smith [Tue, 8 Apr 2025 14:41:31 +0000 (14:41 +0000)]
dpdk: fix key length for linked crypto algs

Change to key storage in vnet crypto was not propagated to linked algs
in dpdk cryptodev code. There is an explicit key length field now
instead of using vec_len() on the key data.

Type: fix
Fixes: 6676d95169

Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Change-Id: I27fbfa5b2da3db0930cf2b2f2addd00d7400c74d

5 weeks agovlib: fix restart cli command 82/42782/2
Benoît Ganne [Thu, 10 Apr 2025 14:19:25 +0000 (16:19 +0200)]
vlib: fix restart cli command

Type: fix

Change-Id: I961a261a647863936021e4b29d406971fd76c0af
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 weeks agosession: support builtin ct accepts 82/42582/5
Florin Coras [Thu, 27 Mar 2025 06:29:01 +0000 (02:29 -0400)]
session: support builtin ct accepts

Type: improvement

Change-Id: I876630549e113b9ee5e81357a30523cbcc6b434e
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 weeks agohttp_static: url handler POST improvement 88/42788/2
Matus Fabian [Fri, 11 Apr 2025 09:15:52 +0000 (05:15 -0400)]
http_static: url handler POST improvement

for POST request url handler expect data immediately after msg,
but in case of http/2 this was broken because headers and data are
different frames

Type: improvement

Change-Id: I32f93c3945c10c95a7d2150a9b60f79bac2a7e5a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 weeks agohs-test: http/2 testing with h2spec 83/42783/3
Matus Fabian [Thu, 10 Apr 2025 14:17:30 +0000 (10:17 -0400)]
hs-test: http/2 testing with h2spec

suite is marked as pending since http plugin is not build with http/2
enabled by default

Type: test

Change-Id: If13f2add1f418060dae6d493f2cd800f9f734449
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 weeks agotcp: do not scale syn-ack window 87/42787/2
Florin Coras [Fri, 11 Apr 2025 03:55:26 +0000 (23:55 -0400)]
tcp: do not scale syn-ack window

Type: fix

Change-Id: I1d677a8d80065644a1ddfb3884d99feee04c4756
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 weeks agovppinfra: move spinlock code into macro so it can be reused 86/42786/1
Damjan Marion [Wed, 9 Apr 2025 17:49:52 +0000 (19:49 +0200)]
vppinfra: move spinlock code into macro so it can be reused

Change-Id: Iead3b7e4fa374d1851aa76245407f6e77a26f832
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 weeks agohttp: http/2 improvements 78/42778/4
Matus Fabian [Wed, 9 Apr 2025 18:34:53 +0000 (14:34 -0400)]
http: http/2 improvements

- improved handling of malformed frames and protocol violations
- if frame payload is not in fifo stop rx processing

Type: improvement

Change-Id: I4f5bd3f2fda23f2170b63af47d11deca666be27b
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 weeks agovlib: don't enable api elog by default 85/42685/2
Damjan Marion [Mon, 7 Apr 2025 19:21:38 +0000 (21:21 +0200)]
vlib: don't enable api elog by default

Change-Id: Ie6eb9bf9560efbe78976b84e33eb880f2aa66dfe
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 weeks agovppinfra: fix includes in devicetree code 76/42776/3
Damjan Marion [Wed, 9 Apr 2025 17:31:50 +0000 (19:31 +0200)]
vppinfra: fix includes in devicetree code

Type: fix
Change-Id: I493d8c1cc569074172fac79bbc31ed7d8df16a21
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 weeks agohttp: check if version is known on cleanup 79/42779/1
Matus Fabian [Wed, 9 Apr 2025 18:57:21 +0000 (14:57 -0400)]
http: check if version is known on cleanup

peer might close/reset cleartext connection before send something or
nothing and connection time-out, in this case do not call http vfts

Type: fix

Change-Id: Ie30217fb8c68bf96a8d498bb0d50c8b20eb0e370
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 weeks agohttp: PING frame support 40/42740/2
Matus Fabian [Tue, 8 Apr 2025 17:49:11 +0000 (13:49 -0400)]
http: PING frame support

Type: improvement

Change-Id: I932c97e4b9fc8d614ae77c3c949f04687a4f29ad
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 weeks agomisc: update vpp python requirements 80/42580/7
Naveen Joy [Wed, 26 Mar 2025 21:53:09 +0000 (14:53 -0700)]
misc: update vpp python requirements

Type: fix

Change-Id: I715ea3b69342f7b8ab032e40320be9fa938c04e9
Signed-off-by: Naveen Joy <najoy@cisco.com>
5 weeks agovpp: add VPP_PLATFORM to show version output 76/42676/4
Dave Wallace [Fri, 4 Apr 2025 03:47:00 +0000 (23:47 -0400)]
vpp: add VPP_PLATFORM to show version output

- when building with VPP_PLATFORM=octeon10,
  the show version output does not include
  the VPP_PLATFORM which is included in the
  debian package name.  Adding this to the
  version helps clarify the platform/package
  name in CSIT trending graphs in addition
  to matching installed debian package name
  for packages with non-default VPP_PLATFORM.

Type: fix

Change-Id: Ieb582a1db576f5e676b97becfdce6ebdfdd3ae41
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 weeks agohttp: http/2 starting tcp connection 42/42642/6
Matus Fabian [Wed, 2 Apr 2025 17:44:44 +0000 (13:44 -0400)]
http: http/2 starting tcp connection

Type: feature

Change-Id: Ic731cf0f758f247cd067ca13ec2901c2c01b5065
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 weeks agohttp: http/2 stream state machine 92/42592/8
Matus Fabian [Mon, 31 Mar 2025 17:29:48 +0000 (13:29 -0400)]
http: http/2 stream state machine

server side stream state machine

Type: feature

Change-Id: I03ce57f6c1146f7e1dfd7d54db7d3e3ec7615991
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 weeks agohttp: http_buffer improvements 50/42650/3
Matus Fabian [Thu, 3 Apr 2025 09:59:06 +0000 (05:59 -0400)]
http: http_buffer improvements

needed for http/2 to make data frame header

http_buffer_get_segs return number bytes in returned segments
http_buffer_is_drain changed to http_buffer_bytes_left
ptr buffer can track u64 data length

Type: improvement

Change-Id: I586bec69c851cb38d7be7af9e254cd240bbd7e62
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 weeks agohttp_static: support multiple listeners 80/42680/9
Florin Coras [Fri, 4 Apr 2025 21:56:18 +0000 (17:56 -0400)]
http_static: support multiple listeners

Add support for multiple listeners that can be added and removed via
"http static listener" cli.

Type: feature

Change-Id: I024d1bf8b02b2046f1757656944b2d48662a1254
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 weeks agohttp: handle ts closed notifications 81/42681/2
Florin Coras [Sat, 5 Apr 2025 19:41:05 +0000 (15:41 -0400)]
http: handle ts closed notifications

Handle transport closed notifications and update connection state.
Also, handle closed state in app close notifications and force http
connection cleanup if transport is already closed to avoid waiting for
timer based cleanups.

Type: improvement

Change-Id: I26ee6a15b0993810d5a75fa56bb24e3396962f7b
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 weeks agovlib: add vlib_node_unschedule() and vlib_node_is_scheduled() 79/42679/2
Damjan Marion [Fri, 4 Apr 2025 14:32:53 +0000 (16:32 +0200)]
vlib: add vlib_node_unschedule() and vlib_node_is_scheduled()

Type: improvement
Change-Id: I18c3b2c688c2395e49976b9bb17c784cf6e62dc7
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 weeks agoiavf: fix promisc flags 78/42678/2
Damjan Marion [Fri, 4 Apr 2025 11:28:14 +0000 (13:28 +0200)]
iavf: fix promisc flags

define unused flag bits so they are initialized to zero

Change-Id: Ibcab38efa33d70cb4f8a813b5eaf001c8ddea4fe
Type: fix
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 weeks agovlib: use libiberty to demangle backtrace if present 77/42677/2
Damjan Marion [Fri, 4 Apr 2025 11:23:32 +0000 (13:23 +0200)]
vlib: use libiberty to demangle backtrace if present

Only C++ for now.... but others like rust can be added easily

Type: improvement
Change-Id: Ic61766f9944c0c19711a40a4686d296605d6c10d
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 weeks agocrypto: make configurable crypto engines 45/42445/8
Nicolas PLANEL [Fri, 28 Feb 2025 18:59:14 +0000 (19:59 +0100)]
crypto: make configurable crypto engines

Add a configuration sections crypto-engines, it works like plugins syntax :

The following configuration will load and register only openssl engine

'''
crypto-engines {
        default {disable}
        openssl {enable}
}
'''

And this one will load all engines except openssl

'''
crypto-engines {
        default {enable}
        openssl {disable}
}
'''

Type: feature
Change-Id: Ia637db93b497d0c4333704f3c024e85de3941791
Signed-off-by: Nicolas PLANEL <nplanel@cisco.com>
Signed-off-by: Nicolas PLANEL <nplanel@gmail.com>
Signed-off-by: Nicolas PLANEL <nplanel@cisco.com>
6 weeks agohsa: add timed runs option for echo client 76/42576/19
Semir Sionek [Wed, 26 Mar 2025 13:29:32 +0000 (13:29 +0000)]
hsa: add timed runs option for echo client

Introduce the run-time parameter for echo client, which allows for
running for a certain time with a full buffer as opposed to running
until n amount of data is bounced back.

Type: improvement
Change-Id: I7b5b2138fe3fbbc36511331095a02dafd776fa94
Signed-off-by: Semir Sionek <ssionek@cisco.com>
6 weeks agohs-test: simplify core allocation 56/42656/2
Adrian Villin [Wed, 2 Apr 2025 17:01:17 +0000 (19:01 +0200)]
hs-test: simplify core allocation

- no longer distinguishing between release and debug build in the CI
- core allocation will always start from core 1 (or 0 if CPU0=true)

Type: improvement

Change-Id: I4568bda01bd90fba14ca81f6669bdab3b7521415
Signed-off-by: Adrian Villin <avillin@cisco.com>
6 weeks agoacl: use ip4_preflen_to_mask instead of artisanal function 03/41203/4
Andrew Yourtchenko [Thu, 18 Jul 2024 12:01:53 +0000 (14:01 +0200)]
acl: use ip4_preflen_to_mask instead of artisanal function

Type: improvement
Change-Id: I4cd52a9f2b8814e8d27a72ea3547fd9f8ee23562
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
6 weeks agovat2: fix -p in vat2 help text 77/41277/3
Bence Romsics [Thu, 18 Jul 2024 08:57:12 +0000 (10:57 +0200)]
vat2: fix -p in vat2 help text

Since commit fe1fb3c31a short option -p stands for --plugin-path and -s
stands for --prefix. Adjust the help text. Also fix a typo and sort
option lists.

Type: fix
Change-Id: I8e9fd825cca930e13e0a09a4492f22951a25e2ee
Signed-off-by: Bence Romsics <bence.romsics@gmail.com>
6 weeks agotests: gracefully terminate iperf3 process to enable cleanups 36/42636/3
Naveen Joy [Tue, 1 Apr 2025 21:26:44 +0000 (14:26 -0700)]
tests: gracefully terminate iperf3 process to enable cleanups

Type: fix

Change-Id: I24660305ea20d7b69e825a785ce5be3f80b431eb
Signed-off-by: Naveen Joy <najoy@cisco.com>
6 weeks agotests: update lcov ignore_error param 18/42618/1
Ivan Ivanets [Tue, 1 Apr 2025 17:30:34 +0000 (20:30 +0300)]
tests: update lcov ignore_error param

Type: test

Add the value 'negative' into ignore_error param to fix lcov error
for test-cov.

Change-Id: Ia10f70315e9f9f24bfa1d177a7293b65c3889fd2
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
6 weeks agoocteon: set cpt descriptor count to 16k 56/42356/4
Nithinsen Kaithakadan [Thu, 23 Jan 2025 05:04:52 +0000 (10:34 +0530)]
octeon: set cpt descriptor count to 16k

Set the number of CPT descriptors to 16384.
Add an option to configure cpt descriptor count
from startup conf.

Type: feature

Signed-off-by: Nithinsen Kaithakadan <nkaithakadan@marvell.com>
Change-Id: Id1ffbe69ad7d457dbd0b11494be1dc0d4a28c324

6 weeks agoocteon: fix invalid mac length in chacha poly 87/42487/2
Nithinsen Kaithakadan [Sun, 9 Mar 2025 13:16:01 +0000 (18:46 +0530)]
octeon: fix invalid mac length in chacha poly

This patch fixes invalid mac length to resolve crash in Chacha Poly.

Type: fix

Signed-off-by: Nithinsen Kaithakadan <nkaithakadan@marvell.com>
Change-Id: Ia940a721b5cb47f7b5fe68adbea78adaaa0f54f0

6 weeks agobuild: fix the make-ext-deps 00/42600/3
Andrew Yourtchenko [Mon, 31 Mar 2025 12:05:52 +0000 (12:05 +0000)]
build: fix the make-ext-deps

After the spring cleaning there were a couple of packages missing,
which prevented the install of the external dependencies.
Also as per Damjan, dkms is no longer needed for dpdk.

Type: fix
Fixes: 27c80923d0cc941c3d6954e2339b0ec75bcf18f9
Change-Id: I7f51577fee25283d64ddb898af87ae7520d6afb0
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
6 weeks agohsa: remove mbytes/gbytes parameters from echo client 87/42587/2
Semir Sionek [Fri, 28 Mar 2025 15:05:11 +0000 (15:05 +0000)]
hsa: remove mbytes/gbytes parameters from echo client

...since we're already doing unformat_memory_size on the regular bytes
parameter anyway. In conjunction with that, adjust some make
test/hs-test tests to make use of this parameter.

Type: refactor
Change-Id: Ia0c2899a31b14a8689fdc256e25c4bb418de37fc
Signed-off-by: Semir Sionek <ssionek@cisco.com>
6 weeks agohs-test: remove assert in container.Exec 97/42597/3
Adrian Villin [Fri, 28 Mar 2025 11:59:12 +0000 (12:59 +0100)]
hs-test: remove assert in container.Exec

- removed so we can ignore errors (e.g. vppinstance.Stop)

Type: test

Change-Id: Ib83057eaac7ae6e7338ae9cb59ab2af6239c47a5
Signed-off-by: Adrian Villin <avillin@cisco.com>
7 weeks agohttp: leave space for msg header on transport method 89/42589/3
Florin Coras [Fri, 28 Mar 2025 18:05:10 +0000 (14:05 -0400)]
http: leave space for msg header on transport method

Type: fix

Change-Id: I4bcc9c6168c18ccf5701b832c26b16d3bb24bc98
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 weeks agohttp_static: POST to static files improvement 88/42588/2
Matus Fabian [Fri, 28 Mar 2025 16:04:50 +0000 (12:04 -0400)]
http_static: POST to static files improvement

Type: improvement

Change-Id: I6a6794dee3c9e948227e6c08769d45aa595bfe02
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 weeks agotests: fix text cov-post 86/42586/2
Ivan Ivanets [Fri, 28 Mar 2025 15:48:41 +0000 (17:48 +0200)]
tests: fix text cov-post

Type: test

Need to remove unused html/cmd_line file after genhtml based on
jjb/script/publish_cov.sh error about file name patter without
extension

Change-Id: I607951f8e464bb9e0bb88b4ee84010a5984f082a
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
7 weeks agovcl: fix coverity warnings 85/42585/1
Florin Coras [Fri, 28 Mar 2025 04:17:44 +0000 (00:17 -0400)]
vcl: fix coverity warnings

Type: fix

Change-Id: I41a9332bdd7a34ce30eaa5cd2378990dbe8e31f5
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 weeks agodma_intel: fix dsa software fallback 36/42536/3
Jeff Shaw [Fri, 21 Mar 2025 15:00:17 +0000 (08:00 -0700)]
dma_intel: fix dsa software fallback

When a page fault occurs, and the "block on fault" flag is not set, the
DSA device reports the error in the completion descriptor and software
should complete the operation in software. This behavior works properly,
except the batch was not added to the list of pending batches, so the
DSA node failed to completely process the batch. The side effect is the
application callback is not called, so buffers are not freed, and the
batch is never added back to the freelist, leading to eventual buffer
exhaustion, and traffic stopping.

The fix is to make sure the batch is added to the list of pending
batches so the DSA node completes the batch. This change also removes
the line that increments the "submitted" counter as that is only used
to count batches that are submitted to hardware. A separate counter,
sw_fallback, is used to count batches that are handled in software.

Type: fix
Change-Id: Ib54e8d77ac02e5dca237bb9348440c3ddaad993b
Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
7 weeks agotests: fix test cov for PG Stream and Session SDL 84/42584/2
Ivan Ivanets [Thu, 27 Mar 2025 13:53:04 +0000 (15:53 +0200)]
tests: fix test cov for PG Stream and Session SDL

Type: test

Localized cli response waiting time configuration only for
test_pg_stream and test_session_sdl instead of asfframework conf

Change-Id: Iabeccdda97e518662f1243edd91217c02cdc8711
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
7 weeks agotests: fix test cov 81/42581/1
Ivan Ivanets [Wed, 26 Mar 2025 21:53:05 +0000 (23:53 +0200)]
tests: fix test cov

Type: test

Need to add cli response waiting timeout for test cov for test_session_sdl
and test_pg_stream.

Change-Id: I3eedfdb0de1ca01d9786742986fbcce2487500e3
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
7 weeks agovcl: improve vpp detached handling for mq epoll apps 44/42544/5
Florin Coras [Tue, 25 Mar 2025 07:29:40 +0000 (00:29 -0700)]
vcl: improve vpp detached handling for mq epoll apps

Apps that rely on epoll and use eventfds for mq signaling can
potentially sleep indefinitely if vcl detaches from vpp and no libc fd
generates events.

To avoid this, at detach time, force creation of a pair of pipes that
constantly generates mq_epfd events to force apps, including ldp, to
request vppcom epoll_waits which retry attaching to vpp.

Type: improvement

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