Commit Graph

3990 Commits

Author SHA1 Message Date
Damjan Marion
cda500bddc dev: add helper functions
Type: improvement
Change-Id: I7c9e882b1cdf141b34e84dbfed46b392624d1f62
Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-10-08 23:33:02 +00:00
Damjan Marion
623147bfda armada: fix tx queue init
Type: fix
Fixes: 4e51841
Change-Id: Ife3cb43f54cc0700c469f89b0a5af0ff44143807
Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-10-08 23:53:45 +02:00
Florin Coras
4856f33fa8 http_static: fix first and add segment size
Allow segments bigger than 4GB

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I510f7cff75883fdbd6c0c22efff9a14e26c755f4
2024-10-07 23:24:59 +00:00
Steven Luong
8d09a70ee8 hsa: cannot delete/unlisten default uri
Although it is rare that one wants to remove the default uri listener,
we should still support it.

The problem is that we strip the null character on unformatting the input.
We should not add a null character on formatting the default uri.

Type: fix

Change-Id: I08520dbd2a2448639ce023f9fd75555bc620e7ee
Signed-off-by: Steven Luong <sluong@cisco.com>
2024-10-07 12:09:57 -07:00
Klement Sekera
860916617d ip: add extended shallow reassembly
This patch adds some fixes and improvements:

Fixes bug where save_rewrite_length gets overwritten on reassembly
handoff.

Fixes bug where duplicate fragments could cause a reassembly context
to be lost, because the race losing thread would remove bihash entry
created by winning thread.

Improves tracing by adding more events.

Adds extended shallow reassembly. This is a toggleable option, which if
turned on will cause reassembly to wait for both first and last
fragments to calculate total IP payload length. Furthermore it'll store
a local copy of first fragment and necessary data to retrieve it in
vnet_buffer2. This allows downstream features to access full L3/L4
headers when dealing with fragments.

Type: fix
Change-Id: I81695070533410c5815291dbc65ea71c87e3ae05
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
2024-10-07 16:39:42 +02:00
Florin Coras
08894464dd session: use proper name for ct transport
Type: refactor

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iebf5155a429c77143df9eb44f504fea28cddaf98
2024-10-03 13:54:05 -07:00
Matus Fabian
38e94c3461 http: http_state_wait_server_reply fix
We enqueue 2 segments to app, first is masg (http_msg_t) and second
as much as possible of the raw data, so it must be:
max_enq - sizeof (msg)

Type: fix

Change-Id: Ib7ece7e0ad1aac99d687d49149f1bccea599b10f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-09-30 13:54:37 +02:00
Steven Luong
6f173171b1 session: fix SDL to use remote instead local
The language is
local == VPP local interface
remote == sender prefix to VPP node
SDL acts on remote prefix.

Type: fix

Change-Id: I82917c6ef801fc67430dfdd15c5630cb7a6347e0
Signed-off-by: Steven Luong <sluong@cisco.com>
2024-09-28 01:51:31 +00:00
Steven Luong
6b3b6072e0 hsa: Add multiple listeners support
It is desirable that http cli server can support multiple listeners.
This is needed for supporting both ip4 and ip6 at the same time.

Added the optional keyword listener add | del to the
http cli server command.

Example usage:  start ip4 default uri and then add ip6 uri
http cli server
http cli server uri http://2001::2/80 listener add

Type: improvement

Change-Id: I884a4cd64ff676f9759a062b6d607a1742f610f3
Signed-off-by: Steven Luong <sluong@cisco.com>
2024-09-28 01:49:53 +00:00
Alexander Skorichenko
e3ad5aa68a snort: API functions for plugin
Also, made disconnect-instance and delete-instance functions
available via cli.

Type: feature

Change-Id: I7939d27867959cb871b1cc7205b94410b53906fd
Signed-off-by: Alexander Skorichenko <askorichenko@netgate.com>
2024-09-27 12:30:16 +00:00
Florin Coras
d0e8bd75f6 tls: cleanup engine hs cb and improve ctx formatting
Handshake completion is now tracked via a ctx flag so we no longer need
ctx_handshake_is_over.

Also, as we no longer prealloc application sessions, improve ctx state
formatting.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: If48588ecde13e56fb99d1a46238bda53ed4eae1b
2024-09-26 20:44:34 +00:00
Damjan Marion
dfa77dc606 vlib: process node scheduler rework
This commit allow use od cooperative multitasking with multiple
descheduling reasons (i.e. event wait and suspend) inside the same
process node. In previus code remote node will wake up process node
by sending event evein if process node is waiting in
vlib_process_ssupend().

This change also allowed new vlib_process_yield() API which deschedules
current process and it puts it into the end of queue.

Change-Id: I846e5a99b4ea1809eb80895f6ffe0ef0b2fd21ae
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-09-26 08:33:47 +00:00
Alok Mishra
d8022139eb octeon: fix pause flow control for lbk/sdp devices
Pause frame flow control is not supported for LBK (Loopback) and
SDP (System DPI Packet Interface Unit) devices.
This patch skips the pause flow configuration for these devices.

Type: fix
Fixes: 53239b4

Signed-off-by: Alok Mishra <almishra@marvell.com>
Change-Id: I3096fcef9df4ad59d64bfabb83f91f13813128a8
2024-09-26 08:20:22 +00:00
Hyong Youb Kim
1a088b6bc9 dpdk: add new device ID for Cisco VIC VF
VIC now supports standard SR-IOV, as opposed to VM-FEX SR-IOV. It uses
a new device ID 0x02b7 for VF. Add it to the supported list.

Type: improvement
Change-Id: Ifc91c66f5e75dd005aa9d8a47700896a941abab5
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
2024-09-25 13:36:27 +00:00
Alok Mishra
e07c5fe467 octeon: enable h/w vlan tagging support
This patch enables h/w vlan tagging by setting MAX_VTAG_INS
field in NIX_AF_SMQ_CFG register.
This is required to configure VLAN tag insertion
by the hardware for egress packets

Type: feature

Signed-off-by: Alok Mishra <almishra@marvell.com>
Change-Id: Ifcdf9c1e5b0b8ddc27cabab597ae91780ceca095
2024-09-25 12:58:59 +00:00
Alok Mishra
53239b45ca octeon: enable ethernet pause frame support
This patch adds support for MAC pause flow control.
By default, pause flow control is enabled in the device
configuration.

Type: feature

Signed-off-by: Alok Mishra <almishra@marvell.com>
Change-Id: I0f448479a38fae615d87af7e736c6053ada89cca
2024-09-24 10:18:05 +00:00
Monendra Singh Kushwaha
156694162c octeon: fix error handling for packet with error
Type: fix

Change-Id: Ieb97f1526939bcd732c155d3a7535dca71971258
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-09-24 10:16:49 +00:00
Monendra Singh Kushwaha
02598d7c0c octeon: fix SDP device link information
This patch fixes SDP (System DPI Packet Interface Unit)
device link information.

Type: fix

Change-Id: I4563094601d9bb24132e4dc712cde14daa7f4364
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-09-24 10:15:42 +00:00
XiaomingJiang
bf0a6f8876 http_static: fix memory hss_session using after be freed
Type: fix

Change-Id: Ic3d3de4198310361de876a8224e4f7cd0b48b698
Signed-off-by: XiaomingJiang <jiangxiaoming@outlook.com>
2024-09-23 16:42:40 +08:00
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
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
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
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
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
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
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
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
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
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
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
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
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
Hadi Rayan Al-Sandid
8629336fa5 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>
2024-08-22 08:00:52 +00:00
Adrian Villin
7e6606ab4e http_static: added last-modified header
Type: improvement

Change-Id: I492df92ef25f9c0cd57fc8980500b58bebaa94c6
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-08-22 06:09:43 +00:00
Tom Jones
df87789a2a dpdk: Move file-prefix flag processing into linux only block
Type: improvement
Change-Id: I01a228618db72f8db4e439c6ad636defe79a695a
Signed-off-by: Tom Jones <thj@freebsd.org>
2024-08-21 12:03:49 +00:00
Alok Mishra
f7f26e5b32 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>
2024-08-21 11:54:29 +00:00
Monendra Singh Kushwaha
e00ce39714 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
2024-08-21 11:53:36 +00:00
Monendra Singh Kushwaha
9b6df541e5 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>
2024-08-21 11:52:55 +00:00
Adrian Villin
86fa943725 http_static: make max-age configurable
Type: improvement

Change-Id: I629add6e3f4219d56610c3785013f69dbe847844
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-08-20 18:19:12 +00:00