vpp.git
5 months agohsa: fix proxy ao connect 71/41571/1
Matus Fabian [Fri, 13 Sep 2024 14:22:27 +0000 (16:22 +0200)]
hsa: fix proxy ao connect

Make sure that proxy server doesn't try to open connection to the
target multiple times. When client is uploading huge amount of data
it might happen that proxy_rx_callback is called again before
connection to the target is established.

Type: fix
Change-Id: I4d272d37bc545f6f8790a115c8d26bcf3ea84f22
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 months agovppapigen: endian generation for vla for non u32 61/41561/3
Ole Troan [Tue, 10 Sep 2024 21:37:56 +0000 (23:37 +0200)]
vppapigen: endian generation for vla for non u32

The endian function for VLAs assumed length field to be of type u32.
That failed for APIs using different integer width.

Type: fix
Change-Id: I6ecaabb4563c8bafeb100a4c6c1eee9a08e6cabf
Signed-off-by: Ole Troan <otroan@employees.org>
6 months agovlib: introduce lazy next node initialization 96/41496/6
Mohammed Hawari [Thu, 29 Aug 2024 12:01:06 +0000 (14:01 +0200)]
vlib: introduce lazy next node initialization

This change allow a node registration A to name a next node B that does not
exist yet at registration time. When node B is effectively created,
vlib_node_main_lazy_next_update need to be called so that the vlib graph
is updated accordingly. To enable this behavior, node A needs to bear
the new VLIB_NODE_FLAG_ALLOW_LAZY_NEXT_NODES.

Change-Id: I561d3a0de19a0b7bd1045760a2ba8e27d27caa9a
Type: improvement
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
6 months agohsa: fix proxy ao tx callback 62/41562/3
Florin Coras [Tue, 10 Sep 2024 22:52:35 +0000 (15:52 -0700)]
hsa: fix proxy ao tx callback

Reuse existing proxy_force_ack for active open tx callback. This makes
sure proxy session is tcp (as opposed to tls) and also makes sure the
ack is sent from the thread that owns the proxy session.

Type: fix

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

6 months agovlib: fix gcc 13.2.0 build failure on ubuntu 24.04 59/41559/2
Dave Wallace [Tue, 10 Sep 2024 16:36:07 +0000 (12:36 -0400)]
vlib: fix gcc 13.2.0 build failure on ubuntu 24.04

Type: fix

Change-Id: I007d73d28633677395d4eb81534dbe2307b1a96f
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 months agohs-test: upload via proxy tests 40/41540/3
Matus Fabian [Fri, 6 Sep 2024 13:30:59 +0000 (15:30 +0200)]
hs-test: upload via proxy tests

Type: test
Change-Id: Id6b4e2348735081c827f814a814c976b601432ec
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 months agohsa: http_tps coverity fix 49/41549/1
Matus Fabian [Tue, 10 Sep 2024 08:20:11 +0000 (10:20 +0200)]
hsa: http_tps coverity fix

Type: fix
Change-Id: Iea00a03dc94dfd6d1f0532e629d2f3b38cb26c07
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 months agohttp: fixed missing static keyword 26/41426/2
Adrian Villin [Mon, 9 Sep 2024 07:30:27 +0000 (09:30 +0200)]
http: fixed missing static keyword

Type: improvement

Change-Id: Id7a16388a72fc5de5848f3fec7a6dbeb6188f913
Signed-off-by: Adrian Villin <avillin@cisco.com>
6 months agoarmada: introduce dev_armada plugin 93/41493/9
Damjan Marion [Tue, 27 Aug 2024 16:12:33 +0000 (18:12 +0200)]
armada: introduce dev_armada plugin

Also retires old marvell plugin.

Change-Id: Icedec11f5661909058fdfe8d5fc455306adafacd
Type: feature
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 months agoipsec: remove redundant code in ipsec_tun_in trace 35/41535/2
Garvit [Mon, 26 Aug 2024 06:43:10 +0000 (12:13 +0530)]
ipsec: remove redundant code in ipsec_tun_in trace

This patch removes redundant sa index value in
format_ipsec_tun_protect_input_trace() as sa index value already added
by format_ipsec4_tunnel_kv().

Type: fix

Change-Id: I7834bda57ba0f7cfe5084b671f6f7da0749ba64d
Signed-off-by: Garvit <gvarshney@marvell.com>
6 months agodpdk: add support to disable interrupt mode 25/41425/3
Mohsin Kazmi [Tue, 3 Sep 2024 10:24:02 +0000 (10:24 +0000)]
dpdk: add support to disable interrupt mode

Type: improvement

Change-Id: I4864dc2af808aa76ecbc9ade0e86e1a781e6b704
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
6 months agohttp: large POST handling 30/41530/6
Matus Fabian [Wed, 4 Sep 2024 16:04:54 +0000 (18:04 +0200)]
http: large POST handling

Type: improvement
Change-Id: I28b8e8ccbff6f97e669b0048011b187decbfc892
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 months agosession: add Source Deny List 14/41314/33
Steven Luong [Tue, 30 Jul 2024 20:44:01 +0000 (13:44 -0700)]
session: add Source Deny List

With this feature, session enable is now modified to have 3 modes of operation
session enable -- only enable session
session enable rt-backend sdl -- enable session with sdl
session enable rt-backend rule-table -- enable session with rule-table

session rule tables are now created on demand, upon adding first rule
to the rule table.

refactor session table to remove depenency from sesssion rules table. Now
session rules table APIs take srtg_handle and transport
proto instead of srt pointer.

Type: feature

Change-Id: Idde6a9b2f46b29bb931f9039636562575572aa14
Signed-off-by: Steven Luong <sluong@cisco.com>
6 months agolinux-cp: auto select tap id when creating lcp pair 56/38456/5
Stanislav Zaikin [Thu, 9 Mar 2023 18:35:11 +0000 (19:35 +0100)]
linux-cp: auto select tap id when creating lcp pair

Now when lcp pair is created, tap instance is based on hw_id. But tap
interface with such instance can already exist. Introduce an offset and
auto-selection based on it.

Type: fix

Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
Change-Id: I9db39106b0b0d5bf95c445b03e5b7ff52f946dd2

6 months agoflowprobe: run input nodes before inacl nodes 26/41526/3
Scott Hutton [Tue, 3 Sep 2024 23:16:25 +0000 (16:16 -0700)]
flowprobe: run input nodes before inacl nodes

Type: fix

The flowprobe-input-ip4 node must be run ahead of ip4-inacl in some scenarios
to ensure that it sees flows on receiving interfaces.

The same is presumably the case for flowprobe-input-ip6, but this hasn't been
tested/observed.

JIRA: VPP-2122

Change-Id: Idf3b14dd2bd829f9aa3b1a71ccdcdf015ccdb36a
Signed-off-by: Scott Hutton <schutton@cisco.com>
6 months agodev: add platform bus and devicetree support 92/41492/4
Damjan Marion [Tue, 27 Aug 2024 16:21:02 +0000 (18:21 +0200)]
dev: add platform bus and devicetree support

Change-Id: Ief8e159b25d4fc4859c7116da6ff22c15bd3fff0
Type: feature
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 months agoapi: fix endian issue for api trace save-json 22/41522/2
Ole Troan [Tue, 3 Sep 2024 08:45:00 +0000 (10:45 +0200)]
api: fix endian issue for api trace save-json

Type: fix
Fixes: 1a319aadc68c218f741a7cb23acbe70c4addae92
Change-Id: I471e61176fc52421cf91e7989185755fb0355158
Signed-off-by: Ole Troan <otroan@employees.org>
6 months agovcl: fix vcl issue in multi-thread-workers mode 02/41502/5
Mohamed Feroz [Thu, 29 Aug 2024 08:04:02 +0000 (08:04 +0000)]
vcl: fix vcl issue in multi-thread-workers mode

   In some multi-process/thread applications, a connection FD
is created on main process and actual data processing is done
in worker process. The main process does nothing. For such
applications, when multi-thread-workers is enabled, in current
VLS code, the session events are still enqueued to the VCL
worker corresponding to Main process. As the main process is
not dequeuing any event, application doesn't move forward.
This patch fixes this issue by enabling VCL worker
corresponding to the Worker process as listener of the session.

Type: improvement

Signed-off-by: Mohamed Feroz <mabdulmajeet@marvell.com>
Change-Id: Ia7e6270c1acbce7feeafbf281c661285d63c3b22

6 months agoiavf: fully support off-by-one driver behavior 90/41490/14
Vratko Polak [Tue, 3 Sep 2024 14:37:49 +0000 (16:37 +0200)]
iavf: fully support off-by-one driver behavior

Previously, iavf_port_add_del_eth_addr was not using large enough buffer
and address sanitizer does not allow that.

Type: fix

Change-Id: Icd1491fb5651aed20685d15224e9c725347ef369
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
6 months agovcl: add support to write segments 85/41485/3
Aritra Basu [Wed, 28 Aug 2024 01:05:17 +0000 (18:05 -0700)]
vcl: add support to write segments

Type: improvement

Change-Id: Icfdaed6b70b83668127656930afcb4ac3c63b234
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
6 months agovirtio: RSS support 09/40109/5
Steven Luong [Thu, 14 Dec 2023 16:54:55 +0000 (08:54 -0800)]
virtio: RSS support

Add RSS support to make use of multiple queues.

With 4 RX queues and RSS enabled

ping from host to guest vm ip queue use
192.168.2.3 192.168.2.1 2
'' 192.168.2.10 0
'' 192.168.2.5 1
'' 192.168.2.105 3

With 4 RX queues and RSS disabled, queue 0 is always used for all of the above cases

Type: improvement

Change-Id: I3ca78fd83fce26cbe8f23fee0a9034cb572bacb7
Signed-off-by: Steven Luong <sluong@cisco.com>
6 months agobuild: add Marvell CN913x platform 94/41494/5
Damjan Marion [Tue, 27 Aug 2024 16:14:22 +0000 (18:14 +0200)]
build: add Marvell CN913x platform

Change-Id: If16b073ddf204676c3ef410ba76d289e25e376d8
Type: feature
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 months agoavf: add num tx/rx packets per queue 95/41495/1
Dau Do [Thu, 29 Aug 2024 10:03:16 +0000 (03:03 -0700)]
avf: add num tx/rx packets per queue

Type: improvement
Change-Id: I3459dba86eb7a784448633b69492d6d3f49db720
Signed-off-by: Dau Do <daudo@yahoo.com>
6 months agobuffers: support disabling allocation per numa domain 52/41252/4
Lukas Stockner [Tue, 18 Jun 2024 12:52:52 +0000 (14:52 +0200)]
buffers: support disabling allocation per numa domain

Currently, the per-numa buffer allocation doesn't support skipping the
allocation altogether for a particular NUMA domain - if it's set to
zero, it instead uses the default allocation.

Therefore, this changes the behavior so that the default is only used
if no per-numa allocation is specified, and an allocation of zero
is honored by not allocating a buffer at all.

Type: improvement
Change-Id: Ie9133b179a88eb884aa3da921e65292daea0df2d
Signed-off-by: Lukas Stockner <lstockner@genesiscloud.com>
6 months agoocteon: use proper refs for roc item spec and mask 74/41474/2
Sriram Vatala [Thu, 8 Aug 2024 09:57:36 +0000 (09:57 +0000)]
octeon: use proper refs for roc item spec and mask

vnet flow enable is failing due to bogus bytes pointed by spec, mask
variables of roc_npc_flow_item structure. Using reference to local
variables defined in block scope is causing this. Moving the variable
declarations to function block scope fixes this issue.

Fixes: 064762e20

Type: fix

Signed-off-by: Sriram Vatala <svatala@marvell.com>
Change-Id: I3904199b5b2bd88cd02ada5604059ab6fd12eef7

6 months agovppinfra: Use affinity for online cpus on FreeBSD 10/41410/2
Tom Jones [Wed, 14 Aug 2024 09:23:11 +0000 (09:23 +0000)]
vppinfra: Use affinity for online cpus on FreeBSD

On FreeBSD the affinity returned by cpuset gives us a bitmask
documenting the available cpus. This can be modified if we are jailed or
are launched via the cpuset(1) command.

Initialise the clib bitmask otherwise it is always 0 and we cannot
configure any workers.

Type: improvement
Change-Id: I067e373ea440c6fbd03839d1cf103c8b97d8a0c6
Signed-off-by: Tom Jones <thj@freebsd.org>
6 months agocrypto-native: aes_cbc_encrypt in vppinfra 62/41362/3
Mohammed Hawari [Fri, 2 Aug 2024 12:20:19 +0000 (14:20 +0200)]
crypto-native: aes_cbc_encrypt in vppinfra

Change-Id: Ibafa51f5fc98674d30e8758a0f9cc361c8b5c0fc
Type: refactor
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
6 months agoip6: fix error in ip6_input_check 89/41489/2
Benoît Ganne [Wed, 28 Aug 2024 09:41:46 +0000 (11:41 +0200)]
ip6: fix error in ip6_input_check

Type: fix

Change-Id: Ibe8ee27484c3b7b920529fd082b1e46b7daef1e5
Signed-off-by: Benoît Ganne <bganne@cisco.com>
6 months agohsa: http_cli coverity fix 86/41486/2
Matus Fabian [Wed, 28 Aug 2024 07:36:11 +0000 (09:36 +0200)]
hsa: http_cli coverity fix

Type: fix
Change-Id: I23c55e6be08cc02332da9375d2eb19b74b79427c
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 months agohttp: http_send_data cleanup 84/41484/3
Matus Fabian [Tue, 27 Aug 2024 14:34:11 +0000 (16:34 +0200)]
http: http_send_data cleanup

removed unused parameter offset

Type: improvement
Change-Id: I30cde713731555fb2eb305c303369c1ead4d3783
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 months agointerface: do not update runtime data if input node is not set 91/41491/1
Damjan Marion [Wed, 28 Aug 2024 11:02:09 +0000 (13:02 +0200)]
interface: do not update runtime data if input node is not set

Type: improvement
Change-Id: Id81d1ac23505a74d3bc6f5d7eddca2be20d39f45
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 months agohttp: http_state_wait_app_reply improvement 80/41480/2
Matus Fabian [Mon, 26 Aug 2024 16:26:58 +0000 (18:26 +0200)]
http: http_state_wait_app_reply improvement

set http status according to whether app also sent the body

Type: improvement
Change-Id: Ia41603cc21b410ca6929ec3d3e7c4c6808305769
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 months agohs-test: added a redis-benchmark test 17/41417/12
Adrian Villin [Thu, 15 Aug 2024 10:53:53 +0000 (12:53 +0200)]
hs-test: added a redis-benchmark test

- basically a copy of LdpIperf test
- small update of LdpIperf test
- new LDP suite

Type: test

Change-Id: I3f8653288c6fc6dfd6a061315e983c000974d3ff
Signed-off-by: Adrian Villin <avillin@cisco.com>
6 months agohs-test: http tests improvement 79/41479/1
Matus Fabian [Mon, 26 Aug 2024 16:01:14 +0000 (18:01 +0200)]
hs-test: http tests improvement

- added http specific asserts
- added helper functions to NoTopoSuite

Type: test
Change-Id: I0a7e77ed3ffd938aa3eaa37ed5432fbaab0dab64
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 months agohs-test: failed summary fix 77/41477/1
Matus Fabian [Mon, 26 Aug 2024 09:59:16 +0000 (11:59 +0200)]
hs-test: failed summary fix

Remove failed-summary.log from the previous run, otherwise it might be
displayed if all tests pass.

Type: test
Change-Id: I435de37e298105ed5b92012fe4da3cda3a0670b6
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 months agohttp: status line parsing fix 76/41476/2
Matus Fabian [Fri, 23 Aug 2024 15:35:50 +0000 (17:35 +0200)]
http: status line parsing fix

Request line must only start with method name and server should
ignore at least one empty line (CRLF) received prior to the
request-line.

Type: fix
Change-Id: Ifebd992dc4c13df1a3fabfcdef9e7ee644150a21
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 months agohs-test: core dump improvement 75/41475/1
Matus Fabian [Fri, 23 Aug 2024 13:52:54 +0000 (15:52 +0200)]
hs-test: core dump improvement

- load vpp plugin libraries path in gdb
- if core dump deceted change message in summary and show bt

Type: test
Change-Id: If5d44d29703edd16c816efc9d29e6a7a1b20613a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 months agohs-test: assert improvement 69/41469/2
Matus Fabian [Thu, 22 Aug 2024 13:32:44 +0000 (15:32 +0200)]
hs-test: assert improvement

Use ExpectWithOffset so Ginkgo's output point to the line in your test.

Type: test
Change-Id: Icb32c5be683f935a5e86f25c2ec5a6dfad2ec1ea
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 months agosr: fix gcc 13.2.0 build errors on ubuntu 24.04 70/41470/1
Dave Wallace [Thu, 22 Aug 2024 19:46:41 +0000 (15:46 -0400)]
sr: fix gcc 13.2.0 build errors on ubuntu 24.04

Type: fix

Change-Id: I3ea7664c9f2cd1deaa6721bfd31214fe27f21468
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 months agohs-test: fix incorrect exit status 22/41422/5
Adrian Villin [Thu, 22 Aug 2024 08:35:19 +0000 (10:35 +0200)]
hs-test: fix incorrect exit status

- exit status was incorrect when tests didn't compile
- better summary formatting
- removed "full stack trace: null" from summary when a test times out

Type: test

Change-Id: Idd6b6bf3429fc8b704dd2345d257e9bdce1b82b7
Signed-off-by: Adrian Villin <avillin@cisco.com>
6 months agohs-test: fix after merge 63/41463/2
Matus Fabian [Thu, 22 Aug 2024 07:35:59 +0000 (09:35 +0200)]
hs-test: fix after merge

Type: test
Change-Id: I2a1d35a9e7a6c8e8026388a0baacbc18310f0ba1
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 months agomisc: move osi to plugin 60/41360/6
Hadi Rayan Al-Sandid [Thu, 1 Aug 2024 15:10:54 +0000 (17:10 +0200)]
misc: move osi to plugin

Type: refactor

This patch moves osi into a plugin, and also modifies
the init functions of llc and snap to preserve init
order dependency (llc_init --> osi_init --> snap_init).

While the initial intent was to move osi/llc/snap together
into a single plugin, there exists a dependency on llc
in vnet/ethernet, which would require further refactoring
and testing work.

Change-Id: Ic0eff030ee29c8d316c0e0fe13931451aa193527
Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>
6 months agotests: fix make test python issues on ubuntu 24.04 56/41456/6
Dave Wallace [Mon, 19 Aug 2024 22:47:55 +0000 (18:47 -0400)]
tests: fix make test python issues on ubuntu 24.04

- add patch to scapy to use latest six module instead
  of the old scapy specific six module which fails to
  import moves sub-module on python 3.12
- fix warning for deprecated legacy editable install of vpp_papi
- skip failing testcases on ubuntu-24.04

Type: test

Change-Id: Idc1a008c6e45ba69caa50c2e245012eb05effed7
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 months agohs-test: nginx proxy/mirroring test cleanup 62/41462/3
Matus Fabian [Wed, 21 Aug 2024 15:25:41 +0000 (17:25 +0200)]
hs-test: nginx proxy/mirroring test cleanup

- test moved to proxy_test.go
- topology and suite updated to be vpp/envoy proxy compliant

Type: test
Change-Id: Iabee50b76bb8d96851f831c0b57d0e98dc4b3a5f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 months agohttp_static: added last-modified header 18/41418/11
Adrian Villin [Fri, 16 Aug 2024 13:23:28 +0000 (15:23 +0200)]
http_static: added last-modified header

Type: improvement

Change-Id: I492df92ef25f9c0cd57fc8980500b58bebaa94c6
Signed-off-by: Adrian Villin <avillin@cisco.com>
6 months agohs-test: proxy testing improvement 13/41413/8
Matus Fabian [Wed, 14 Aug 2024 10:38:20 +0000 (12:38 +0200)]
hs-test: proxy testing improvement

- new container topologies and suites for VPP proxy and Envoy proxy
- removed build docker image since it can't be used with CI cache
  builder, container builders are designed to be stateless, they
  only preserve build-cache, but not images

Type: test
Change-Id: I93e4d079780d18d6aa3b5ce807adc4707b6f2d9b
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 months agohs-test: fix vppinstance logs and disable trace 21/41421/4
Adrian Villin [Tue, 20 Aug 2024 12:36:12 +0000 (14:36 +0200)]
hs-test: fix vppinstance logs and disable trace

- fixed a bug where vppinstance logs would concatenate -> each test now
  has its own bind mount
- removed "--trace" flag to avoid skipped tests printing a full
  stack trace. They are now only printed in the summary.

Type: test

Change-Id: Ib7f4254717cc798e456b9fca6f81685c8153ee2d
Signed-off-by: Adrian Villin <avillin@cisco.com>
6 months agohs-test: generate core dump, fix docker logs in CI 08/41208/16
Adrian Villin [Mon, 29 Jul 2024 15:54:58 +0000 (17:54 +0200)]
hs-test: generate core dump, fix docker logs in CI

Type: test

Change-Id: Ie1f66cdc061d3eccefc2ce58e977d88a33340038
Signed-off-by: Adrian Villin <avillin@cisco.com>
6 months agovppinfra: cleaner way of getting libdl in CMake 60/41160/3
Guillaume Solignac [Wed, 19 Jun 2024 11:32:47 +0000 (13:32 +0200)]
vppinfra: cleaner way of getting libdl in CMake

Cmake has a dedicated CMAKE_DL_LIBS variable to get libdl; use it
instead of trying to find it manually.

Type: improvement
Signed-off-by: Guillaume Solignac <gsoligna@cisco.com>
Change-Id: I9969c6be029f6a6e09cccaecd50e9eaf7d785b34

6 months agodpdk: Move file-prefix flag processing into linux only block 53/41353/3
Tom Jones [Thu, 1 Aug 2024 14:22:39 +0000 (14:22 +0000)]
dpdk: Move file-prefix flag processing into linux only block

Type: improvement
Change-Id: I01a228618db72f8db4e439c6ad636defe79a695a
Signed-off-by: Tom Jones <thj@freebsd.org>
6 months agoocteon: add support for max_rx_frame_size update 23/40823/17
Alok Mishra [Fri, 26 Apr 2024 10:15:49 +0000 (15:45 +0530)]
octeon: add support for max_rx_frame_size update

This patch adds capability to update max_rx_frame_size on octeon
port.
Initial MTU value is being set in the "oct_port_start", which is
invoked every time the Ethernet interface is brought up, thus
overwriting any MTU value set by VPP CLI.
Moved the MTU initialization to "oct_port_init" to address this.

Type: feature

Change-Id: I00d0d52bc7711062cde47b8fe52e6823bb718d08
Signed-off-by: Alok Mishra <almishra@marvell.com>
6 months agoocteon: enable tx checksum offload capability 00/41400/2
Monendra Singh Kushwaha [Mon, 5 Aug 2024 10:00:22 +0000 (15:30 +0530)]
octeon: enable tx checksum offload capability

This patch enables tx checksum offload and sets correct l3/l4 offset.

Type: feature

Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Change-Id: I666f4000cb51c4979567a52255377dbe15ffb202

6 months agoocteon: sync mac address to cgx/rpm table 01/41401/2
Monendra Singh Kushwaha [Fri, 12 Jul 2024 10:58:52 +0000 (16:28 +0530)]
octeon: sync mac address to cgx/rpm table

This patch syncs mac address to cgx/rpm table at initialization,
which sets interface in unicast mode.

Type: fix

Change-Id: Icf64b91ce5c74cc399cad3d3358b951fb2a65297
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
6 months agovppinfra: fix format_clib_timebase_time 19/41419/3
Adrian Villin [Mon, 19 Aug 2024 08:51:59 +0000 (10:51 +0200)]
vppinfra: fix format_clib_timebase_time

- make the format RFC9110 compliant

Type: fix

Change-Id: I4272562ca1082285a596ef866ab6c4f405c64bc5
Signed-off-by: Adrian Villin <avillin@cisco.com>
6 months agohttp_static: make max-age configurable 16/41416/10
Adrian Villin [Thu, 8 Aug 2024 06:56:34 +0000 (08:56 +0200)]
http_static: make max-age configurable

Type: improvement

Change-Id: I629add6e3f4219d56610c3785013f69dbe847844
Signed-off-by: Adrian Villin <avillin@cisco.com>
6 months agohttp: make Media Types RFC9110 compliant 20/41420/2
Adrian Villin [Mon, 19 Aug 2024 12:41:35 +0000 (14:41 +0200)]
http: make Media Types RFC9110 compliant

- https://www.rfc-editor.org/rfc/rfc9110.html#name-media-type
  https://www.iana.org/assignments/media-types/media-types.xhtml

Type: improvement

Change-Id: I2624dc39a985ff3999aed6e1c833220b7049828d
Signed-off-by: Adrian Villin <avillin@cisco.com>
6 months agohttp: http_read_message improvement 70/41370/5
Matus Fabian [Tue, 6 Aug 2024 13:55:26 +0000 (15:55 +0200)]
http: http_read_message improvement

Use svm_fifo_peek in http_read_message and advance rx fifo head by
amount of bytes send to app, since not always you won't or can't
send all bytes.

Type: improvement
Change-Id: I84348c9df5c77ba386c9738a754295bb9ea0f7ef
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 months agotls: add basic tls record parsers 09/41409/5
Florin Coras [Wed, 14 Aug 2024 03:26:10 +0000 (20:26 -0700)]
tls: add basic tls record parsers

Type: improvement

Change-Id: Ia6a9f69b787950e3dbffd13ae577e499d6d2f55f
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 months agosession: problem in session_rules_details API 79/41379/5
Steven Luong [Wed, 7 Aug 2024 17:53:48 +0000 (10:53 -0700)]
session: problem in session_rules_details API

Backend needs to return protocol to indicate if the prefix is ip4 or ip6.

Type: fix

Change-Id: If827c2e8b2a58051298968fa4d69de71ce9c4fcc
Signed-off-by: Steven Luong <sluong@cisco.com>
7 months agohttp: authority-form target parsing/serializing 98/41398/2
Matus Fabian [Thu, 8 Aug 2024 10:50:32 +0000 (12:50 +0200)]
http: authority-form target parsing/serializing

Type: improvement
Change-Id: Ifb90818a3526d3d4030a66b1ef7eebedfe97978f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 months agotests: fix scapy 2.4.5 IPsec patch for AH + ESN 58/41358/8
Benoît Ganne [Thu, 8 Aug 2024 08:22:01 +0000 (10:22 +0200)]
tests: fix scapy 2.4.5 IPsec patch for AH + ESN

Type: fix

Change-Id: Ifac0e2aca83fa2a79b65d8d1a40add02051287d2
Signed-off-by: Benoît Ganne <bganne@cisco.com>
7 months agotests: fix ipv6 fragmented esp w/ scapy 2.4.5 57/41357/9
Benoît Ganne [Thu, 1 Aug 2024 13:09:26 +0000 (15:09 +0200)]
tests: fix ipv6 fragmented esp w/ scapy 2.4.5

Since scapy 2.4.4, scapy will not decode the next layer if the fragment
offset is not 0 - IOW it will decode only for the 1st fragment.
See https://github.com/secdev/scapy/commit/f1c26e77c535598f84b01035ac8ac465def30c72

Type: fix

Change-Id: If738734f90b15b24c0d98fec4bce4ff48c6d5fea
Signed-off-by: Benoît Ganne <bganne@cisco.com>
7 months agoikev2: handoff packets 00/40400/8
Stanislav Zaikin [Fri, 8 Sep 2023 08:27:15 +0000 (10:27 +0200)]
ikev2: handoff packets

current approach saves state in per-thread data structure. in
multi-worker + nat-t cases udp/500 and udp/4500 might be dispatched on
different workers. this patch adds hands off packet to 1 explicit thread
- 1st worker (or main thread in case there're no workers) or to thread
  that was explicitly set by user via configuration

Type: improvement

Change-Id: Ib5cd9a4b8612dfaa63b276035709524f7a492d4f
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
7 months agovppapigen: ensure address types are nul terminated 52/41352/9
Ole Troan [Thu, 1 Aug 2024 12:06:24 +0000 (14:06 +0200)]
vppapigen: ensure address types are nul terminated

A string generated from format() may not be nul terminated.

Type: fix
Change-Id: I88452e446c3504d70758e9009c65be5466034d92
Signed-off-by: Ole Troan <otroan@employees.org>
7 months agoikev2: fix BN_bn2bin re-allocation 71/41371/2
Stanislav Zaikin [Tue, 6 Aug 2024 16:10:13 +0000 (18:10 +0200)]
ikev2: fix BN_bn2bin re-allocation

the former code was re-allocating the vector when padding takes place.
it's not necessary since we have the correct size. also, it caused
issues since upper layer doesn't know about re-allocation and it caused
crash. with this patch many test-cases are enabled again.

Type: fix

Change-Id: Idf0b320101670ec64d62e9aac6399cc7c54c996f
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
7 months agotests: update scapy to version 2.4.5 88/41288/24
Dave Wallace [Tue, 23 Jul 2024 05:28:19 +0000 (01:28 -0400)]
tests: update scapy to version 2.4.5

- Required for Ubuntu 24.04 LTS jobs
- temporarily disable TestIpsecEsp1 and
  TestIpsecAhAll tests until a patch can
  be added to fix them

Type: test

Change-Id: I1ae7b170117182c3252629bbbb770775e2c496c9
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
7 months agosession: memory leak in show session rules 72/41372/1
Steven Luong [Tue, 6 Aug 2024 20:28:09 +0000 (13:28 -0700)]
session: memory leak in show session rules

Need to vec_free ns_id whenever we return in the function
show_session_rules_command_fn in case memory was allocated to it.

Type: fix

Change-Id: Ifc38d3eb2756a8a128467dd40ad40fe3f0be8fc0
Signed-off-by: Steven Luong <sluong@cisco.com>
7 months agohttp: client POST method 48/41348/3
Matus Fabian [Wed, 31 Jul 2024 14:08:40 +0000 (16:08 +0200)]
http: client POST method

Type: improvement

Change-Id: Iaa70abcee02866f9a6426a6e8e4709eeba0e8114
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 months agosession: session_lookup_local_endpoint returns the wrong value 67/41367/2
Steven Luong [Mon, 5 Aug 2024 21:58:19 +0000 (14:58 -0700)]
session: session_lookup_local_endpoint returns the wrong value

SESSION_INVALID_INDEX is u32. The function is supposed to return u64.
The caller of the function tests the return value to see if it is
SESSION_INVALID_HANDLE in ct_session_connect. If it is not, it
thinks it is a valid handle and calls listen_session_get_from_handle
which causes a crash.

Type: fix

Change-Id: I4ede6b2dfb95259f3a6071cfa3a77ce0d9cd9edd
Signed-off-by: Steven Luong <sluong@cisco.com>
7 months agovlib: add 'exit' as alias to 'quit' 49/41349/3
Maxime Peim [Wed, 31 Jul 2024 15:11:16 +0000 (17:11 +0200)]
vlib: add 'exit' as alias to 'quit'

Type: improvement
Change-Id: I099739a246dbdb6fdca136d06bc8e4b3f493a839
Signed-off-by: Maxime Peim <mpeim@cisco.com>
7 months agohttp_static: web app doc update 59/41359/2
Matus Fabian [Thu, 1 Aug 2024 14:36:44 +0000 (16:36 +0200)]
http_static: web app doc update

Type: docs
Change-Id: I0d3395c1de51c086b2ac68cd92c97efe36665b62
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 months agovcl: handle EINTR in epoll_wait calls 36/41336/3
Aritra Basu [Tue, 30 Jul 2024 23:03:59 +0000 (16:03 -0700)]
vcl: handle EINTR in epoll_wait calls

Type: improvement

Change-Id: I71a987b8871988d38e4a752c7f93f52a27bce6a3
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
7 months agotcp: add establish timer pops to stats 15/41315/3
Aritra Basu [Tue, 30 Jul 2024 21:34:59 +0000 (14:34 -0700)]
tcp: add establish timer pops to stats

Type: improvement

Change-Id: Ibc1e391356cef415b992b65c00f3d365fc97386d
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
7 months agomisc: remove deprecated builtinurl plugin 56/41356/1
Matus Fabian [Thu, 1 Aug 2024 14:00:37 +0000 (16:00 +0200)]
misc: remove deprecated builtinurl plugin

Plugin code is incorporated in http_static plugin for longer time.

Type: refactor
Change-Id: Ib74adb2a79d3ee715bbc994d77bc7718faf7184f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 months agoip6: set buffer->error in ip6_input_check 41/41341/3
Ole Troan [Wed, 31 Jul 2024 09:16:35 +0000 (11:16 +0200)]
ip6: set buffer->error in ip6_input_check

When packets are dropped and this field is not set, then
trace shows the packet being dropped by the null-node instead
of the correct reason.

Type: fix
Change-Id: I3ed9186285d0db7fa6a1e5b739a28ee625968f30
Signed-off-by: Ole Troan <otroan@employees.org>
7 months agonpt66: replace clib_warnings() with error counters 39/41339/3
Ole Troan [Wed, 31 Jul 2024 07:50:31 +0000 (09:50 +0200)]
npt66: replace clib_warnings() with error counters

Replace clib_warnings() in the forwarding path with
error counters.

Change-Id: Ie679d940f056eeddeb8a032c77fe9c2195490cfc
Signed-off-by: Ole Troan <otroan@employees.org>
Type: fix
Signed-off-by: Ole Troan <otroan@employees.org>
7 months agotcp: fix typo in show tcp config CLI command 10/41310/1
Aritra Basu [Mon, 29 Jul 2024 17:57:25 +0000 (10:57 -0700)]
tcp: fix typo in show tcp config CLI command

Type: fix

Change-Id: I844539af3a283c8ec12498dbfd4857b8b533d7c1
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
7 months agohs-test: disable color output only in CI 06/41306/2
Matus Fabian [Mon, 29 Jul 2024 11:51:51 +0000 (13:51 +0200)]
hs-test: disable color output only in CI

Type: test
Change-Id: I2ca7c8e714996b1badb59253b9b856fc623ab0c3
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 months agohs-test: save VPP logs with timestamps 05/41305/2
Matus Fabian [Mon, 29 Jul 2024 11:30:23 +0000 (13:30 +0200)]
hs-test: save VPP logs with timestamps

Type: test

Change-Id: Ia76d23a8d57dfb5570eaf44a9fdb3eabeba01a4d
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 months agohttp: client code improvement 60/41260/11
Matus Fabian [Fri, 12 Jul 2024 09:07:17 +0000 (11:07 +0200)]
http: client code improvement

Client app can sends request target, custom header and body to
HTTP layer. In response it receives all bytes as received from
transport, aditionally we provide offset and length of headers
and body.
In addtion client app is now able to receive response with all
status codes and Host header field is set in request at protocol
layer.

Type: improvement

Change-Id: I8c8e2c8f99cdf500126b7c2c722aebc254aa0d9f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 months agotcp: CLI command to print tcp_cfg 98/41298/5
Aritra Basu [Wed, 24 Jul 2024 17:11:00 +0000 (10:11 -0700)]
tcp: CLI command to print tcp_cfg

Type: improvement

Change-Id: Ie8f6ddc96fd3f5d44827ace834f8f6baa330d37d
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
7 months agotcp: improve tcp listener CLI 03/41303/5
Aritra Basu [Fri, 26 Jul 2024 16:36:55 +0000 (09:36 -0700)]
tcp: improve tcp listener CLI

Type: improvement

Change-Id: I11dc43bdf65cecfa5c48ac734a4727b377023c80
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
7 months agohs-test: fix docker warning message 07/41207/1
Adrian Villin [Thu, 25 Jul 2024 11:17:31 +0000 (13:17 +0200)]
hs-test: fix docker warning message

Type: test

Change-Id: I156b6d9e0759bc7d324ac7d618a195ee5803ca75
Signed-off-by: Adrian Villin <avillin@cisco.com>
7 months agohs-test: check container state after startup 04/41204/7
Adrian Villin [Tue, 23 Jul 2024 10:14:19 +0000 (12:14 +0200)]
hs-test: check container state after startup

- tests will now fail if a container exits right after startup
- fixed MirroringTest (still broken with multiple workers)

Type: test

Change-Id: I47b51c2bcf53f535aa2d06c2f5b09a9559631117
Signed-off-by: Adrian Villin <avillin@cisco.com>
7 months agohs-test: fix logs once again 06/41206/3
Adrian Villin [Wed, 24 Jul 2024 15:46:53 +0000 (17:46 +0200)]
hs-test: fix logs once again

- "/dev/null" and "tail: ..." messages should now be
  removed properly

Type: test

Change-Id: I4aa1f1a1cab17dab73f727e40c80a44d6e753bd5
Signed-off-by: Adrian Villin <avillin@cisco.com>
7 months agoprom: test_prom fix 95/41295/3
Matus Fabian [Wed, 24 Jul 2024 13:47:31 +0000 (15:47 +0200)]
prom: test_prom fix

Type: test
Change-Id: I022a3435429976590b8e8e2e1abe924188d1c3f9
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 months agohs-test: update envoy 05/41205/2
Adrian Villin [Tue, 23 Jul 2024 10:51:14 +0000 (12:51 +0200)]
hs-test: update envoy

- v1.21 -> 1.30

Type: test

Change-Id: Ib79a4addc0a93089c41c13abffc3e8f0af4c0d91
Signed-off-by: Adrian Villin <avillin@cisco.com>
7 months agoprom: mem leak test 92/41292/2
Matus Fabian [Wed, 24 Jul 2024 10:56:14 +0000 (12:56 +0200)]
prom: mem leak test

Type: test
Change-Id: Ibca5680778c9e27eb7b1ddbdba52f870852452fe
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 months agohttp_static: fix coverity warning 50/41250/7
Matus Fabian [Tue, 9 Jul 2024 13:23:45 +0000 (15:23 +0200)]
http_static: fix coverity warning

Type: fix

Change-Id: Ie4af8ec0c6089b5719899f3d0b670f8a2de7f8a2
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 months agosession: delete and add application namespace do not create the global session table 75/41275/6
Steven Luong [Wed, 17 Jul 2024 23:16:05 +0000 (16:16 -0700)]
session: delete and add application namespace do not create the global session table

When an application namespace is added, we call session_table_is_alloced
to see if we need to allocate a new session table. That check returns true
even if we removed the session table.
The fix is when we delete an application's global session table,
we need to invalidate fib_index_to_table_index.

Fixed test_vcl test script to run two tests back to back.
The 1st test deletes the application namespace at the end.
The 2nd test adds the application namespace in the beginning.

Type: fix
Fixes: 67bae20b05cb46e5f6d19afeaf1f7a52a5309d59

Change-Id: I67f5cc1b726a07659597a9479df011717db08d0a
Signed-off-by: Steven Luong <sluong@cisco.com>
7 months agoprom: concurrent connections fix 37/41237/9
Matus Fabian [Fri, 28 Jun 2024 14:11:04 +0000 (16:11 +0200)]
prom: concurrent connections fix

Type: fix

Change-Id: I57814edb735e9dac916f2e01de95ccfb739ce655
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 months agohttp: state machine fix 93/41193/10
Matus Fabian [Thu, 27 Jun 2024 11:20:10 +0000 (13:20 +0200)]
http: state machine fix

When client sends second request without waiting for response of the
first request http_ts_rx_callback should drop request (pipelining is
not supported) instead of invoking return to state machine which can
lead to erroneous state, e.g. reading random data from server app
fifo.

Added simple http static server url handler for testing to simulate
long running request processing, for now hardcoded delay 5 seconds.

Type: fix

Change-Id: Ied9f7e2e4ee64c982f045c0f7f99a2dc5d7a2108
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 months agohttp: return more than data from server app 65/41165/14
Matus Fabian [Thu, 20 Jun 2024 15:08:26 +0000 (17:08 +0200)]
http: return more than data from server app

Server app could return headers in front of body/data buffer.
Offers apis for building and serialization of headers section.
HTTP layer now only add Date, Server and Content-Lengths headers,
rest is up to app. Well known header names are predefined.

Type: improvement

Change-Id: If778bdfc9acf6b0d11a48f0a745a3a56c96c2436
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 months agovppinfra: get_mempolicy instead of move_pages for mem init 87/41287/6
Florin Coras [Mon, 22 Jul 2024 19:09:53 +0000 (12:09 -0700)]
vppinfra: get_mempolicy instead of move_pages for mem init

Use get_mempolicy instead of move_pages to detect numa nodes. Avoids
issues whereby move_pages could stall if another rt thread spin waits
instead of yielding the cpu.

Type: improvement

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

7 months agoip: crash in ip4_sas_commonlen 86/41286/2
Steven Luong [Mon, 22 Jul 2024 16:27:33 +0000 (09:27 -0700)]
ip: crash in ip4_sas_commonlen

ip4_sas_commonlen may be called with null a2 argument from
ip4_neighbor_advertise -> ip4_sas_by_sw_if_index.
If a1 or a2 is null, there is no common length, shortest mask
between a1 and a2, return 0 instead of crashing.

Type: fix

Change-Id: I307509ee7dedafac76d8877a1ef76ab8bbafef59
Signed-off-by: Steven Luong <sluong@cisco.com>
7 months agohs-test: memory leak testing 82/41282/3
Matus Fabian [Fri, 19 Jul 2024 14:04:09 +0000 (16:04 +0200)]
hs-test: memory leak testing

add infra for memory leak testing

Type: test

Change-Id: I882e8dbb360597cdb82ad52682725f7d39b2df24
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 months agomisc: replace index() with strchr() 83/41283/2
Matus Fabian [Mon, 22 Jul 2024 07:56:01 +0000 (09:56 +0200)]
misc: replace index() with strchr()

Type: improvement
Change-Id: I471e514ebef0b4c1f86067115b2ebe5a5517c6fb
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 months agovlib: add "save memory-trace" debug CLI 81/41281/3
Matus Fabian [Fri, 19 Jul 2024 13:40:59 +0000 (15:40 +0200)]
vlib: add "save memory-trace" debug CLI

Save memory traces of the currently traced heap in JSON format to file
which can be used as machine-readable data for memory leak diagnose.

Type: improvement

Change-Id: I277f5be5838510e907c4dd7a8a4e9a883cb67bc3
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 months agovppinfra: expose raw memory traces 80/41280/2
Matus Fabian [Fri, 19 Jul 2024 13:24:10 +0000 (15:24 +0200)]
vppinfra: expose raw memory traces

Add clib_mem_trace_dup which return copy of memory traces and
can be used to save memory trace in different formats.

Type: improvement

Change-Id: I731860cdc65e6c5255620a6778ce6c893a493b1d
Signed-off-by: Matus Fabian <matfabia@cisco.com>
7 months agosession: show session rules does not display ip6 entries 79/41279/4
Steven Luong [Thu, 18 Jul 2024 16:10:48 +0000 (09:10 -0700)]
session: show session rules does not display ip6 entries

1. Adding an ip6 rule entry
session rule add proto tcp ee80::/10 0 ee80::/10 0 action 2

2. show session rules does not display the entry.
show session rules tcp

3. However, show session rules for a specific entry shows the entry
show session rules tcp ee80::/10 0 ee80::/10 0

Type: fix

Change-Id: I65c881665d3698a2a9452a186ed657eee0bf13e0
Signed-off-by: Steven Luong <sluong@cisco.com>