summaryrefslogtreecommitdiffstats
path: root/src/plugins
AgeCommit message (Collapse)AuthorFilesLines
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>
2024-06-25linux-cp: populate mapping vif-sw_if_index only for default-nsDenys Haryachyy1-2/+6
When custom netns is used we don't need to populate the mapping ifindex->sw_if_index otherwise netlink events in default-ns can apply settings to wrong interfaces. Most of the lcp functions however wasn't working for such interfaces and neither it was fixed by this patch. Type: fix Change-Id: I74a8a4e332753f9a40fc291d489dfd7fc51cbef3 Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
2024-06-25dev: move bus code to bus/Damjan Marion13-13/+5
Type: refactor Change-Id: If3a195f1ea600bfd621717f333af1b1273ab0807 Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-06-25crypto: Add prefetching for src and dstNiyaz Murshed1-0/+11
Adding prefetching to openssl plugin improves both sync and async mode ipsec performance by more than 5% on N1 ampere. Sync mode (1420b) core count old (MPPS) new (MPPS) %diff 1c 0.972 1.01 3.90 2c 1.91 2.02 5.87 3c 2.86 3.04 6.03 Async mode (1420b) core count old (MPPS) new (MPPS) %diff 1c 1.296 1.37 5.70 2c 2.58 2.753 6.70 3c 3.74 3.9 4.27 6c 7.52 7.832 4.14 Type: improvement Change-Id: Ieef22c37e1330ac9f8b7e09a25c24162516b6c26 Signed-off-by: Niyaz Murshed <niyaz.murshed@arm.com>
2024-06-20http_static: fix reply data leakFlorin Coras1-0/+2
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ica78044b044a78714dd9947620250f13c63320fb
2024-06-19dpdk: xstats vecor stuck at 0 elementsOle Troan1-7/+19
Fixes: dd6fb60f1794fc08ec40598a67dc70f942c200d1 Type: fix Change-Id: I2429715a954361ceea969191493c15bef21e2040 Signed-off-by: Ole Troan <otroan@employees.org>
2024-06-19http: fix app name formatting in templateMatus Fabian1-2/+2
app name is vector without null termination Type: fix Change-Id: Iaa50770c84f23a71165d76a63c29b76e90006ac6 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-06-18dpdk: expose xstats in stats segmentOle Troan3-12/+90
Expose DPDK xstats in the stat segment. Represented as a 2D array. Thread by sw_if_index. Each counter has the same name as the corresponding xstats counter, under /if/<driver-name>/<xstats-name> Type: improvement Change-Id: Icd34b46e2b4d708f1c9a7063d6afd4ced3dfa4f5 Signed-off-by: Ole Troan <otroan@employees.org>
2024-06-14crypto-native: fix CPU detection for SHA2 codeDamjan Marion1-3/+15
Type: fix Fixes: 9f2799f Change-Id: Ib2b2df17507c536350ec92eeb1eea58f3a240c76 Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-06-13http: return more than url to server appMatus Fabian9-163/+1133
Provide all bytes as received from transport as data in the http message to server. Additionally provide offset and length of target path, target query, headers and body. Offers apis for parsing of headers, percent decoding, target path/query syntax verification. Type: improvement Change-Id: Idbe6f13afa378650cc5212ea7d3f9319183ebbbe Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-06-11octeon: add clear counters for port and queuesMonendra Singh Kushwaha3-0/+48
Type: feature Change-Id: Ie36be41694e7bd5341b4239dcba2ae6834c4a73f Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-06-10quic: initialize ooo lookup on fifosFlorin Coras1-0/+10
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I6a0493834c5b60bdb42865112c453157fdfeb87c
2024-06-10octeon: add support for vnet generic flow typeSriram Vatala2-0/+392
This patch adds vnet generic flow type support in OCTEON plugin, which extends the existing vnet flow types supported. It allows users to configure additional match patterns like 802.1q tag fields, 802.1ad tag fields, MPLS fields, IP DSCP etc., if supported by the underlying hardware. On OCTEON various match patterns including user defined custom protocol types can be supported depending on the programmable classification profile. Generic flows operate based on hexadecimal strings representing packet data bytes and corresponding mask data bytes. The mask data bytes, with bits set to '1', selectively identify the data bytes used for hardware flow matching. To configure generic flow rules, packetforge tool is recommended which accepts inputs in a user readable and friendly format. This tool is available in VPP tree under `extras/packetforge`. Detailed instructions can be found in the documentation under `extras/packetforge`. Additionally user can use existing vnet flow CLI and binary API interfaces to configure rules manually. Type: feature Change-Id: I8198536cf1fe0a4719542a8b54c599230c7852e9 Signed-off-by: Sriram Vatala <svatala@marvell.com>
2024-06-10octeon: add counters support for port and queueMonendra Singh Kushwaha4-0/+322
Type: feature Change-Id: I5d52d78a93c7d0a12b9cee16fe7ebabdc2b19f0a Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-06-10octeon: update trace to use qid instead of qMonendra Singh Kushwaha1-1/+1
This patch updates trace to use "qid" keywords instead of "q". Type: feature Change-Id: Ib0f41a8a1a93cbbbf8c59304924d4e68efff48fd Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-06-10octeon: enable vf device promiscuous mode featureHarish Malik1-1/+4
This patch enables promiscuous mode on vf devices except SDP vf and LBK devices Type: feature Change-Id: I2e18c63590f22f99c69500f10b42b64d899249ce Signed-off-by: Kommula Shiva Shankar <kshankar@marvell.com> Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-05-29octeon: convert link speed from Mbps to KbpsMonendra Singh Kushwaha1-1/+2
Type: fix Fixes: 01fe7ab88e Change-Id: I88d03adcd4ef2a585ed77834b3bf8ef9d50b15c9 Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-05-28http_static: sanitize path before file readMatus Fabian2-4/+75
Romove dot segments from requested target path before start reading file in file handler to prevent path traversal. Type: fix Change-Id: I3bdd3e9d7fffd33c9c8c608169c1dc73423b7078 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-28octeon: add support for Marvell Octeon9 SoCMonendra Singh Kushwaha4-2/+100
Type: feature Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com> Change-Id: I5db58b8ec41b45596bc03b4a336a184c17871294
2024-05-28octeon: fix lbk vf initializationMonendra Singh Kushwaha1-0/+1
Type: fix Fixes: 0a2fdc56 Change-Id: I5d232a86be66edeec8b740a883104f5a22516697 Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-05-28urpf: export to use it externallyMaxime Peim4-22/+38
Type: improvement Change-Id: Ia70f16c92dfc153256db6dcdf23f5487d5a7b678 Signed-off-by: Maxime Peim <mpeim@cisco.com>
2024-05-28urpf: node refactorMaxime Peim1-145/+179
Type: refactor Change-Id: Icb3c6cbe1425331c7a8a4b0dd583389f2257befa Signed-off-by: Maxime Peim <mpeim@cisco.com>
2024-05-20builtinurl: mark api as deprecatedMatus Fabian1-0/+1
Plugin will be removed since it is incorporated in http_static plugin for longer time. Type: refactor Change-Id: I6ed99d1b118fb5951aafceb05a953f39d325e87e Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-14http: fix unsupported client app methodMatus Fabian1-0/+7
HTTP client app code currently support only GET method but method set in message from client app was silently ignored. Type: fix Change-Id: I99dc6323d9783ee5a20623e7923cfdbf31474a4f Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-14http: notify client when connection failedMatus Fabian2-4/+14
Type: fix Change-Id: I87054e9667fe990d9a2dc3950bc3ce348460018a Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-14http: fix server sending all status codesMatus Fabian2-0/+12
Type: fix Change-Id: I4bc748e3091c2fbe0142d1b74d21a543a62c4ce0 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-14sr: move srmpls to a pluginScott Hutton11-0/+2834
Move sr_mpls folder under vnet to the plugin folder, update cmake configuration and header paths, and add plugin.c to register plugin. JIRA: VPP-2054 Type: improvement Change-Id: I1ad6f287f67eb0c35588c339bcd51218fadf5f8e Signed-off-by: Scott Hutton <schutton@cisco.com>
2024-05-14marvell: remove uses of uintlajoskatona1-1/+1
This change changes all instances of `uint` to `unsigned int` to avoid use of the non-standard type. This fixes problems that some versions of GCC may have. For similar patch see: https://gerrit.fd.io/r/c/vpp/+/40762 Type: fix Change-Id: I0c666de788ac5b3c457e0a073e3e279f2fb99a4f Signed-off-by: lajoskatona <katonalala@gmail.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-05-14dpdk: Only prealloc huge pages on LinuxTom Jones1-1/+9
Type: improvement Change-Id: I4d9c0f96d81c8b510086a54990b3fcd3d5fdb695 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-05-14netmap: Reinstate and update netmap pluginTom Jones11-0/+2144
Thet netmap plugin was moved to depreciated in commit 998b8fe. On FreeBSD netmap offers a natively supported kernel interface for userspace networking and enables VPP without the use of DPDK. Reinstate the netmap plugin and adapt it to the newer plugin interface. Type: improvement Change-Id: I113daa33a490f04cbb29909f9789fa66284ac80e Signed-off-by: Tom Jones <thj@freebsd.org>