14028 Commits

Author SHA1 Message Date
Andrew Yourtchenko
2fb8d2f96d pvti: remove clib_warning at init time
Type: fix
Change-Id: I62ccd96ea3549205510ff53118eab1fa3613d009
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2024-09-19 14:32:09 +00:00
Andrew Yourtchenko
33e1243a4c l2: fix DVR test failure on AWS Graviton on Ubuntu 22.04
The AWS Graviton make test fails in dvr_test.py on Ubuntu 22.04,
due to a mismatching source MAC address. Debian 11 tests run fine.

The following can be seen in the log.txt trace:

00:00:00:756422: ethernet-input
  frame: flags 0x1, hw-if-index 3, sw-if-index 3
  IP4: 02:03:00:00:ff:02 -> de:ad:00:00:00:00 802.1q vlan 92
00:00:00:756435: l2-input
  l2-input: sw_if_index 6 dst de:ad:00:00:00:00 src 02:03:00:00:ff:02 [l2-input-vtr l2-learn l2-fwd l2-flood l2-flood ]
00:00:00:756438: l2-input-vtr
  l2-input-vtr: sw_if_index 6 dst de:ad:00:00:00:00 src 02:03:00:00:00:00 data 08 00 45 00 00 80 00 01 00 00 40 11
00:00:00:756441: l2-learn
  l2-learn: sw_if_index 6 dst de:ad:00:00:00:00 src 02:03:00:00:00:00 bd_index 1

Note how l2-input-vtr node has the two lowest bytes of the source MAC corrupted.

Discussing with Benoit, since this could be caused by unaligned memory accesses,
using clib_memcpy_fast.

Type: fix
Change-Id: I28991e1166335df0edd1e4b84fa72a2b1d0bb9bf
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2024-09-19 14:31:36 +00:00
Adrian Villin
3ecd6840af hs-test: containerize iperf tests
Type: test

Change-Id: I2c0bb76d96ccadd5ecfd6a04565420855043699e
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-09-18 18:09:44 +00:00
Monendra Singh Kushwaha
0950830ee9 octeon: fix compilation on octeon9
Type: fix

Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Change-Id: I9ffa78122dcd6b98cad9902e43ba8432fcd572b1
2024-09-18 15:07:00 +05:30
Aritra Basu
70d2a08e7e vcl: add http support to vcl_test_protos
Type: improvement

Change-Id: Ibb493f1d7713d0e10b8bd1d5ff17b89967b53b8a
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
2024-09-17 15:59:00 +00:00
Andrew Yourtchenko
0acb398d6d pvti: Packet Vector Tunnel Interface
This plugin implements a PoC of UDP-based tunnel substrate whose aim is
to specifically provide higher MTU to the upper layers by chunking
the payload PDUs into smaller packets with full 5-tuple.

At the same time, if there are multiple small packets to
the same destination during the vector processing, they
are packed into "carrier" packets up to underlay MTU size.

It does assume a trustworthy underlying medium, thus for the
operation over Internet it requires the use of encryption layer
underneath.

Type: feature
Change-Id: I323958fa8de62584f6ed15643ea689568a9a62bc
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2024-09-17 12:10:19 +00:00
Kai Ji
6ccfc3991d dpdk: bump to DPDK 24.07 and RDMA 52.0
This patch bumps DPDK version to 24.07 and RDMA version
per dpdk 24.07 release notes (rdma-core >= 52.0)

Type: feature
Change-Id: I07c6f27becdbcd3696b821bbfd145610775cf51e
Signed-off-by: Kai Ji <kai.ji@intel.com>
2024-09-16 15:24:38 +00:00
Florin Coras
430cccf2e5 session: improve sh session cli
Add support for:
- "sh session verbose thread <n> [lcl|rmt|ep] <ip>[:port]", which can be
used to filter sessions based on transport ip:port
- "force-print" option to force printing even when it exceeds existing
printing thresholds

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iab3e58b8162664b425379d14818b8a4daa0ce345
2024-09-14 00:27:53 +00:00
Aritra Basu
6f45f5465f http: update body_len from u32 to u64
Type: improvement

Change-Id: I381541fb180d6d6ba42e4d231d22a73c5d33ef65
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
2024-09-13 21:22:10 +00:00
Matus Fabian
6fbe913e45 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>
2024-09-13 16:22:27 +02:00
Ole Troan
9a3f387c30 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>
2024-09-12 12:56:56 +00:00
Mohammed Hawari
3b5a013103 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>
2024-09-12 10:11:30 +00:00
Florin Coras
47968438dc 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
2024-09-11 15:09:40 +00:00
Dave Wallace
a8766ce2d3 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>
2024-09-11 14:34:34 +00:00
Matus Fabian
5b175eca2d hs-test: upload via proxy tests
Type: test
Change-Id: Id6b4e2348735081c827f814a814c976b601432ec
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-09-10 16:35:23 +00:00
Matus Fabian
6e129e3a45 hsa: http_tps coverity fix
Type: fix
Change-Id: Iea00a03dc94dfd6d1f0532e629d2f3b38cb26c07
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-09-10 10:20:11 +02:00
Adrian Villin
540842835f http: fixed missing static keyword
Type: improvement

Change-Id: Id7a16388a72fc5de5848f3fec7a6dbeb6188f913
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-09-09 17:24:32 +00:00
Damjan Marion
4e51841896 armada: introduce dev_armada plugin
Also retires old marvell plugin.

Change-Id: Icedec11f5661909058fdfe8d5fc455306adafacd
Type: feature
Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-09-09 14:43:22 +00:00
Garvit
1f7d14c810 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>
2024-09-09 12:56:10 +00:00
Mohsin Kazmi
460dee56e7 dpdk: add support to disable interrupt mode
Type: improvement

Change-Id: I4864dc2af808aa76ecbc9ade0e86e1a781e6b704
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2024-09-09 08:45:15 +00:00
Matus Fabian
9bb0762357 http: large POST handling
Type: improvement
Change-Id: I28b8e8ccbff6f97e669b0048011b187decbfc892
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-09-08 22:41:27 +00:00
Steven Luong
c4b5d10115 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>
2024-09-06 18:26:56 +00:00
Stanislav Zaikin
2a5bb3b5ab 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
2024-09-06 14:09:48 +00:00
Scott Hutton
4779154a26 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>
2024-09-05 15:06:06 +00:00
Damjan Marion
f508e07c14 dev: add platform bus and devicetree support
Change-Id: Ief8e159b25d4fc4859c7116da6ff22c15bd3fff0
Type: feature
Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-09-05 11:42:57 +00:00
Ole Troan
222ff2beaf api: fix endian issue for api trace save-json
Type: fix
Fixes: 1a319aadc68c218f741a7cb23acbe70c4addae92
Change-Id: I471e61176fc52421cf91e7989185755fb0355158
Signed-off-by: Ole Troan <otroan@employees.org>
2024-09-05 11:40:06 +00:00
Mohamed Feroz
88c836c267 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
2024-09-04 17:57:34 +00:00
Vratko Polak
2f76b57280 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>
2024-09-03 16:37:49 +02:00
Aritra Basu
f0e81d247b vcl: add support to write segments
Type: improvement

Change-Id: Icfdaed6b70b83668127656930afcb4ac3c63b234
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
2024-08-29 13:51:05 -07:00
Steven Luong
e9bc332019 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>
2024-08-29 12:41:30 +00:00
Damjan Marion
fc49c63e74 build: add Marvell CN913x platform
Change-Id: If16b073ddf204676c3ef410ba76d289e25e376d8
Type: feature
Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-08-29 11:49:12 +00:00
Dau Do
b8d4490d9c avf: add num tx/rx packets per queue
Type: improvement
Change-Id: I3459dba86eb7a784448633b69492d6d3f49db720
Signed-off-by: Dau Do <daudo@yahoo.com>
2024-08-29 03:06:34 -07:00
Lukas Stockner
b4808de247 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>
2024-08-29 08:40:34 +00:00
Sriram Vatala
ff17350ae0 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
2024-08-29 08:38:22 +00:00
Tom Jones
828353fa5f 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>
2024-08-29 08:36:25 +00:00
Mohammed Hawari
d726f6a999 crypto-native: aes_cbc_encrypt in vppinfra
Change-Id: Ibafa51f5fc98674d30e8758a0f9cc361c8b5c0fc
Type: refactor
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2024-08-29 08:34:59 +00:00
Benoît Ganne
51ca1ea2a6 ip6: fix error in ip6_input_check
Type: fix

Change-Id: Ibe8ee27484c3b7b920529fd082b1e46b7daef1e5
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-08-28 15:41:50 +00:00
Matus Fabian
61409d2df6 hsa: http_cli coverity fix
Type: fix
Change-Id: I23c55e6be08cc02332da9375d2eb19b74b79427c
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-28 15:41:26 +00:00
Matus Fabian
dac6888244 http: http_send_data cleanup
removed unused parameter offset

Type: improvement
Change-Id: I30cde713731555fb2eb305c303369c1ead4d3783
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-28 15:41:03 +00:00
Damjan Marion
82aa9a6301 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>
2024-08-28 13:07:41 +02:00
Matus Fabian
56cefc89e2 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>
2024-08-28 06:08:04 +00:00
Adrian Villin
d01a63abd4 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>
2024-08-27 19:05:36 +00:00
Matus Fabian
a647a83496 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>
2024-08-26 18:03:31 +02:00
Matus Fabian
62b508b396 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>
2024-08-26 11:59:16 +02:00
Matus Fabian
69123a3f67 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>
2024-08-23 17:59:46 +00:00
Matus Fabian
4306a3e8f4 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>
2024-08-23 15:52:54 +02:00
Matus Fabian
225e6f86a4 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>
2024-08-23 05:56:33 +00:00
Dave Wallace
c47d7ad721 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>
2024-08-22 15:46:41 -04:00
Adrian Villin
399d44074b 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>
2024-08-22 11:53:13 +00:00
Matus Fabian
56f5bd9985 hs-test: fix after merge
Type: test
Change-Id: I2a1d35a9e7a6c8e8026388a0baacbc18310f0ba1
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-22 11:40:10 +00:00