aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
AgeCommit message (Collapse)AuthorFilesLines
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>
2024-05-13http: fix user agent in requestMatus Fabian1-2/+7
App name is used in HTTP request User-Agent header. Type: fix Change-Id: Ib761e8a8e793e04e8d77141cc8c0f8514ed0e547 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-13wireguard: use clib helpers for endiannessGuillaume Solignac2-6/+6
In some cases, the Linux helpers for endianness conversion are not present. We use clib helpers to fix this. Type: fix Signed-off-by: Guillaume Solignac <gsoligna@cisco.com> Change-Id: I4d21fb5edae6fa6413b10f298a84ff4b88bda5db Signed-off-by: Pierre Pfister <ppfister@cisco.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-05-13nat: fix unitialized variableGuillaume Solignac1-1/+1
Fixes an unitialized variable. Type: fix Change-Id: I636dc8433679606262d9a974c01f81d8721634f2 Signed-off-by: Pierre Pfister <ppfister@cisco.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Signed-off-by: Guillaume Solignac <gsoligna@cisco.com>
2024-05-13octeon: add support for mac address updateAlok Mishra1-0/+41
This patch adds support for updating primary hardware address on octeon port. Type: feature Change-Id: Ib0ff6aaa6dafc209eb71c44b8a6504d3df9aa5c8 Signed-off-by: Alok Mishra <almishra@marvell.com>
2024-05-09http: fix client parse error handlingMatus Fabian1-10/+8
Do not return HTTP errors to server on parse errors in client. Type: fix Change-Id: Id3e99d69626855848faa87af73002d559d948516 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-07http: fix client send another requestMatus Fabian1-0/+7
HTTP client should be able to send another request after large data receiving. Type: fix Change-Id: I8352ea760a4b3de4b79159531c7e4c1fa4e03203 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-07http: notify client on request errorMatus Fabian2-4/+23
Notify client app that we errored out while trying to generate request. Type: fix Change-Id: I3e20fe22d8a927ae8e9bf8391297e10c974dc941 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-07api: add to_net parameter to endian messagesOle Troan6-33/+39
The VPP API auto-generated endian conversion functions are intended to be symmetrical. They are used both by the API client and the API server. Called on send to convert from host endian to network endian and on receive to convert back. For variable length arrays, we have to iterate over the array and call a more specific handler for the array type. Unfortunately the length of the array is part of the api definition, and if it's endian swapped prior to the for loop, unexpected behaviour will ensue. There was an earlier fix, for some specific messages, but unfortunately that only fixed the problem from the VPP (server) side. This adds a new parameters to the endian handler, so the boundary argument to the loop can be treated differently depending on if this message is to the network or from the network. Type: fix Change-Id: I43011aed384e3b847579a1dd2c390867ae17a9ad Signed-off-by: Ole Troan <otroan@employees.org>
2024-05-06tests: remove uses of uintEric Sun1-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. Type: fix Signed-off-by: Pierre Pfister <ppfister@cisco.com> Change-Id: I08cce367c2a8f31efb2fccabcb8f699d801b0f8a Signed-off-by: Eric Sun <esun@meraki.com>
2024-05-06iavf: disable VLAN stripping when VLAN offload is set in capsMohsin Kazmi1-16/+27
Type: fix Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Change-Id: I4cc7433a707649c46d501249477949b62199c8a2
2024-05-06dpdk: Only use --file-prefix flag on LinuxTom Jones1-0/+2
--file-prefix is only supported by DPDK on Linux currently. Type: improvement Change-Id: I47765ea666b7d14011804e7cc90d9035bce1bc93 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-05-06dpdk: Only reconfigure max pipe size on linuxTom Jones1-1/+8
FreeBSD dynmically grows pipes based on usage and available system memory. Don't try to resize pipes on FreeBSD for now. Type: improvement Change-Id: I78b06dead5d42a3a7bdf634a67b43ef854e510f8 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-05-06octeon: fix rvu vf device idMonendra Singh Kushwaha2-1/+3
Type: fix Fixes: I1ea92f Change-Id: Idf91b3f4cb3cc93081a282a14ffe2421a3628509 Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-05-06octeon: add max packet length checkMonendra Singh Kushwaha2-2/+27
This patch compares packet length with maximum supported packet length and drops the packet accordingly. Type: fix Change-Id: I80ef453d43149818936649e1e58ae90c84a34ab9 Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-05-06octeon: fix buffer free for more than 6 segmentMonendra Singh Kushwaha1-27/+37
Type: fix Fixes: 01fe7ab Change-Id: I4423d287e8148344754b2f6a13886c093a1384e4 Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-05-03http: fix http server in responseMatus Fabian2-1/+11
App name is used in HTTP response Server header. Type: fix Change-Id: Ie3b2d985dd7d554a0352f7e602891f878bebd031 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-02gso: use the header offsets from buffer metadataMohsin Kazmi1-17/+96
Type: improvement Change-Id: I955fbef0e0238cb69307e96cd1c677061737e5f3 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2024-05-02acl: add missing byteswap header for muslEric Sun1-0/+2
On glibc this builds fine; on musl the byteswap header doesn't seem to be included properly. This change adds it, fixing the build. Type: fix Change-Id: I402812409395d471357b6317084774afba39548f Signed-off-by: Eric Sun <esun@meraki.com> Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2024-05-01http: fix client receiving large dataFilip Tehlar2-74/+71
HTTP client was relying on synchronous rx notifications to the client app when moving lage data from underlying transport proto. Recent change in session layer made such notifications asynchronous making http client not working. This patch fixes the issue. Type: fix Change-Id: I4b24c6185a594a0fe8d5d87c149c53d3b40d7110 Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-01octeon: fix roc_nix_npc_mac_addr_get() return value checkDamjan Marion1-1/+1
Type: fix Fixes: 01fe7ab Change-Id: I46782c69773085f9e6a8dfff798bb42b1e822c32 Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-04-30crypto-native: add SHA2-HMACDamjan Marion7-206/+416
Type: feature Change-Id: I9e7ebf43536c972a62621fc7ad7406abec0ce071 Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-04-25hsa: Link against libepoll-shimTom Jones1-2/+2
Type: improvement Change-Id: I08610ce71282f10c587d956b27e0f572a812bedd Signed-off-by: Tom Jones <thj@freebsd.org>
2024-04-24hsa: fix http client error handlingMatus Fabian1-1/+1
Type: fix Change-Id: I5595260b903e3e1f15caccd168914f33f7161b59 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-04-24misc: fix int/enum mismatch errors reported by gcc-14Damjan Marion2-3/+5
Type: fix Change-Id: I80e90cab8e2e9fef837779e36e0256baf791b801 Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-04-24dpdk: remove unnecessary includesDamjan Marion1-7/+0
Type: improvement Change-Id: Idf3d440ee9763b54c973e6d87394b786eb66e307 Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-04-24dpdk: remove dead codeDamjan Marion1-9/+0
Type: improvement Change-Id: I888f29e1ff15c5aa59a2a74dc0b2a818baf0bfde Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-04-24fateshare: Add FreeBSD specific API for controlling processesTom Jones2-0/+43
Type: improvement Change-Id: I7ea8b5505a2663d6751208f0001e4b9ba2deb150 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-04-24dpdk: Use FreeBSD specific values for network interface classesTom Jones1-0/+10
The PCI class values used to identify devices are different between platforms. Add a selector for the values used on FreeBSD. Type: improvement Change-Id: I981f0dc24954457068fc94bcc4681b120ee253db Signed-off-by: Tom Jones <thj@freebsd.org>
2024-04-24dpdk: Only use vmbus on LinuxTom Jones1-1/+5
Type: improvement Change-Id: If181c4bfd7fc93583a608d478bd070930c853f52 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-04-24dpdk: Only use vmbus on LinuxTom Jones2-0/+6
Type: improvement Change-Id: Iba3e287f420c0bdc8d248695163e7dfe1acd24d8 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-04-24dpdk: Only require libnuma on LinuxTom Jones1-2/+4
On FreeBSD the numa APIs are always available. Type: improvement Change-Id: I34b8f6b0a81bc3d73f9b95b10d3a788dcdd71b65 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-04-24vppinfra: Add method for getting current executable nameTom Jones1-9/+16
Add a unix method for getting the current executable name. This is implemented to match the readlink api for existing calls. Type: improvement Change-Id: Id06a55892d09d0b305a56b55a424f53ffb685a72 Signed-off-by: Tom Jones <thj@freebsd.org> Signed-off-by: Damjan Marion <damarion@cisco.com>