aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
AgeCommit message (Collapse)AuthorFilesLines
2024-09-17vcl: add http support to vcl_test_protosAritra Basu3-8/+432
Type: improvement Change-Id: Ibb493f1d7713d0e10b8bd1d5ff17b89967b53b8a Signed-off-by: Aritra Basu <aritrbas@cisco.com>
2024-09-17pvti: Packet Vector Tunnel InterfaceAndrew Yourtchenko17-0/+3192
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-13http: update body_len from u32 to u64Aritra Basu8-30/+48
Type: improvement Change-Id: I381541fb180d6d6ba42e4d231d22a73c5d33ef65 Signed-off-by: Aritra Basu <aritrbas@cisco.com>
2024-09-13hsa: fix proxy ao connectMatus Fabian1-0/+7
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-11hsa: fix proxy ao tx callbackFlorin Coras1-11/+8
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-10hsa: http_tps coverity fixMatus Fabian1-7/+9
Type: fix Change-Id: Iea00a03dc94dfd6d1f0532e629d2f3b38cb26c07 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-09-09http: fixed missing static keywordAdrian Villin1-1/+1
Type: improvement Change-Id: Id7a16388a72fc5de5848f3fec7a6dbeb6188f913 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-09-09armada: introduce dev_armada pluginDamjan Marion22-1807/+1357
Also retires old marvell plugin. Change-Id: Icedec11f5661909058fdfe8d5fc455306adafacd Type: feature Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-09-09dpdk: add support to disable interrupt modeMohsin Kazmi2-0/+8
Type: improvement Change-Id: I4864dc2af808aa76ecbc9ade0e86e1a781e6b704 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2024-09-08http: large POST handlingMatus Fabian3-67/+202
Type: improvement Change-Id: I28b8e8ccbff6f97e669b0048011b187decbfc892 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-09-06session: add Source Deny ListSteven Luong13-66/+361
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-06linux-cp: auto select tap id when creating lcp pairStanislav Zaikin1-1/+2
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-05flowprobe: run input nodes before inacl nodesScott Hutton1-2/+2
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-03iavf: fully support off-by-one driver behaviorVratko Polak2-5/+12
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-08-29vcl: add support to write segmentsAritra Basu2-5/+34
Type: improvement Change-Id: Icfdaed6b70b83668127656930afcb4ac3c63b234 Signed-off-by: Aritra Basu <aritrbas@cisco.com>
2024-08-29avf: add num tx/rx packets per queueDau Do5-0/+28
Type: improvement Change-Id: I3459dba86eb7a784448633b69492d6d3f49db720 Signed-off-by: Dau Do <daudo@yahoo.com>
2024-08-29octeon: use proper refs for roc item spec and maskSriram Vatala1-43/+59
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-29crypto-native: aes_cbc_encrypt in vppinfraMohammed Hawari1-175/+24
Change-Id: Ibafa51f5fc98674d30e8758a0f9cc361c8b5c0fc Type: refactor Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2024-08-28hsa: http_cli coverity fixMatus Fabian1-1/+1
Type: fix Change-Id: I23c55e6be08cc02332da9375d2eb19b74b79427c Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-28http: http_send_data cleanupMatus Fabian1-36/+38
removed unused parameter offset Type: improvement Change-Id: I30cde713731555fb2eb305c303369c1ead4d3783 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-28http: http_state_wait_app_reply improvementMatus Fabian2-6/+24
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-23http: status line parsing fixMatus Fabian1-9/+25
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-22misc: move osi to pluginHadi Rayan Al-Sandid7-0/+854
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-22http_static: added last-modified headerAdrian Villin3-11/+30
Type: improvement Change-Id: I492df92ef25f9c0cd57fc8980500b58bebaa94c6 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-08-21dpdk: Move file-prefix flag processing into linux only blockTom Jones1-1/+3
Type: improvement Change-Id: I01a228618db72f8db4e439c6ad636defe79a695a Signed-off-by: Tom Jones <thj@freebsd.org>
2024-08-21octeon: add support for max_rx_frame_size updateAlok Mishra1-7/+25
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-21octeon: enable tx checksum offload capabilityMonendra Singh Kushwaha2-5/+7
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-21octeon: sync mac address to cgx/rpm tableMonendra Singh Kushwaha1-0/+17
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-20http_static: make max-age configurableAdrian Villin5-12/+168
Type: improvement Change-Id: I629add6e3f4219d56610c3785013f69dbe847844 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-08-19http: make Media Types RFC9110 compliantAdrian Villin1-77/+77
- 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>
2024-08-16http: http_read_message improvementMatus Fabian2-45/+78
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>
2024-08-09http: authority-form target parsing/serializingMatus Fabian3-0/+87
Type: improvement Change-Id: Ifb90818a3526d3d4030a66b1ef7eebedfe97978f Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-07ikev2: handoff packetsStanislav Zaikin6-0/+232
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>
2024-08-07ikev2: fix BN_bn2bin re-allocationStanislav Zaikin1-3/+2
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>
2024-08-06http: client POST methodMatus Fabian6-50/+722
Type: improvement Change-Id: Iaa70abcee02866f9a6426a6e8e4709eeba0e8114 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-01misc: remove deprecated builtinurl pluginMatus Fabian7-537/+0
Plugin code is incorporated in http_static plugin for longer time. Type: refactor Change-Id: Ib74adb2a79d3ee715bbc994d77bc7718faf7184f Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-31npt66: replace clib_warnings() with error countersOle Troan2-41/+43
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>
2024-07-29http: client code improvementMatus Fabian8-161/+543
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>
2024-07-24http_static: fix coverity warningMatus Fabian1-1/+1
Type: fix Change-Id: Ie4af8ec0c6089b5719899f3d0b670f8a2de7f8a2 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-23prom: concurrent connections fixMatus Fabian1-4/+7
Type: fix Change-Id: I57814edb735e9dac916f2e01de95ccfb739ce655 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-23http: state machine fixMatus Fabian3-3/+187
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>
2024-07-23http: return more than data from server appMatus Fabian13-140/+532
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>
2024-07-22hs-test: memory leak testingMatus Fabian1-0/+30
add infra for memory leak testing Type: test Change-Id: I882e8dbb360597cdb82ad52682725f7d39b2df24 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-15octeon: fix link down issueAlok Mishra1-0/+12
An issue is noticed when the link state of the ethernet interface is toggled to down and again brought up. The link status shows "up" in the "show interface", but shows "down" in "show hardware-interface". This issue does not occur when the link is brought up for the first time, but only manifests when the interface is brought down and up again. This happens because the device status and VNET_HW_INTERFACE_FLAG_LINK_UP aren't correctly updated during the port stop, preventing them from being updated during the port start. This patch fixes this issue in the port stop function. Type: fix Fixes: 01fe7ab88e Signed-off-by: Alok Mishra <almishra@marvell.com> Change-Id: Idbc5a6c31409a3d1c5b19e14a3c9509291175677
2024-07-12fib: fix covered_inherit_addMaxime Peim1-0/+51
When a FIB entry has multiple sources installed by covering inheritance, the first walk installs the covering source, which can be worse than the already used one (hence the source is not activated). If a covering path is added and a new fib cover walk is done, the deactivated source is compared to itself. This operation calls for a reactivation of the source which was not activated in the first place. Type: fix Change-Id: I2639401bed14eb5a2cb003664c04d6c1f9130de9 Signed-off-by: Maxime Peim <mpeim@cisco.com>
2024-07-12fib: make mfib optionalBenoît Ganne1-1/+2
In some cases we do not need multicast support. Making it optional helps scaling to high number of VRFs, by reducing the control plane operations and memory consumption. Type: improvement Change-Id: Ib34ed3fe2806e2f4624981da4e4a3c49c69f70be Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-07-08session: improve enable and disable handlingFlorin Coras3-4/+9
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I3c79d16f6a19767d990e8a4683c296219b559ccd
2024-07-03acl: cli addition to set macip rulesSanjyot Vaidya1-0/+211
This change is used to add cli command for macip acl rules. Cli commands added for addition and deletion of rule. Type: improvement Change-Id: I28adba0193a904f6c130c81cd19bb6de47f517a9 Signed-off-by: Sanjyot Vaidya <Sanjyot.Vaidya@arm.com>
2024-06-29unittest: coverity woeSteven Luong1-2/+5
check return value after strstr() Type: fix Change-Id: Ib6eb82b6a52c7e08785f6deb73e6cc7a10e7f61b Signed-off-by: Steven Luong <sluong@cisco.com>
2024-06-28session: memory leaks on various transports when session disable and enableSteven Luong2-0/+63
When toggling session disable and enable, memory leaks found on various transports. Don't create the timer wheels on enable when they are already creaded. Don't create the spin locks when they are already created. Add session enable disable test in session unit test. Type: fix Change-Id: I08988a96bbf2d67a67c743b50b63f5b1e27402a3 Signed-off-by: Steven Luong <sluong@cisco.com>