summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2024-05-14sr: move srmpls to a pluginScott Hutton15-36/+73
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-14vppinfra: Add platform cpu and domain get for FreeBSDTom Jones1-1/+71
Type: improvement Change-Id: I5253f2b1b51493f2d4d0f451ad4c2208fd8f6bf2 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-05-14vppinfra: fix mhash oob after unset and add testsVladislav Grishenko5-7/+455
Fix out of buffer access after mhash_unset Add format mhash pair functions Add related mhash tests, similar to hash ones Type: fix Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru> Change-Id: Idbefd7d32c4cd16b55d84ad4006c38251b4e2c33
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 Jones13-133/+134
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-13vlib: avoid pci scan without registrationsVladimir Zhigulin1-6/+9
Type: improvement Signed-off-by: Vladimir Zhigulin <scripath96@gmail.com> Change-Id: Id1d78a36cec10a01fbf266b016ba364519e5cb66
2024-05-13dev: fix mac address dump in trace outputAlok Mishra1-1/+1
"port->attr.hw_addr" is set during the port initialization. It won't be updated if the mac address of the port is changed via the vpp command line. Use "port->primary_hw_addr" to dump the updated mac address correclty. Type: fix Fixes: 38c619115b Change-Id: I6c99fcfdfae67efb3606e17f36781c56716ff7ea Signed-off-by: Alok Mishra <almishra@marvell.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-10docs: Use newer Ubuntu LTS in tutorialElod Illes2-14/+9
The tutorial uses old 18.04 Bionic Ubuntu release, and tries to install vpp from packagecloud.io's bionic repository which does not exist. However newer ubuntu releases' repositories exist, so let's update to newer Ubuntu LTS version: 22.04 Jammy. Also, the ubuntu vagrant box is old, so let's replace it to a newer, generic/ubuntu2204, which uses libvirt provider (instead of virtualbox) and updated frequently, works well for the tutorial. Due to using libvirt provider, there is no need to customize the VM as those customizations are present in the box by default. The truested=yes part is removed from the apt source list command, as we add gpgkey anyway, thus, no need for this. Tutorial and vpp build tested with this new box and looks to be working fine. Type: docs Signed-off-by: Elod Illes <elod.illes@est.tech> Change-Id: Idcff693240fc6a1496a240e0d07c5ed43fe833e9
2024-05-10hs-test: logging improvementsAdrian Villin14-31/+125
Type: test Change-Id: Iffefe085e846b6ba614b0d74c4ba9907080a9a59 Signed-off-by: Adrian Villin <avillin@cisco.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-09hs-test: add make test-debug targetMatus Fabian1-0/+10
Run tests on vpp debug build. Type: test Change-Id: I51e6f4ac9449c1c5b7eb649af91347188f9227e1 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-08ethernet: check destination mac for L3 in ethernet-input nodeSteven Luong20-58/+90
When the NIC does not support mac filter, we rely on ethernet-input node to do the destination mac check, ie, when the interface is in L3, the mac address for the packet must be the mac address of the interface where the packet arrives. This works fine in ethernet-input node when all packets in the frame might have different interfaces, ie, ETH_INPUT_FRAME_F_SINGLE_SW_IF_ID is not set in the frame. However, when all packets are having the same interface, ETH_INPUT_FRAME_F_SINGLE_SW_IF_ID is set, ethernet-input node goes through the optimized routine eth_input_single_int -> eth_input_process_frame. That is where dmac check has a bug when all packets in the frame are either, ip4, ip6, or mpls without vlan tags. Because without vlan tags, the code handles all packets in fast path and ignores dmac check. With vlan tags, the code goes to slow path where dmac check is handled properly. The fix is to check if we have a bad dmac in the fast path and force the code to go to slow path which will handle dmac check properly. Also do a wholesale correction on all the testcases which do not use the proper dmac when sending L3 packets. Type: fix Change-Id: I73153a805cecdc24c4eefcc781676de04737ae2c Signed-off-by: Steven Luong <sluong@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 Troan13-92/+72
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-07api: upgrade cjson and fix reallocOle Troan4-92/+125
Upgrade cJSON library to patchlevel 17. Replace internal realloc added earlier 36217e3ca. Type: fix Fixes: 36217e3ca Change-Id: I7d8a80dc4241e9f952895d24adca8fa2d873e746 Signed-off-by: Ole Troan <otroan@employees.org>
2024-05-06vlib: fix use of RTLD_DEEPBIND for muslEric Sun1-0/+4
RTLD_DEEPBIND only exists in glibc. If it isn't defined we can just ignore it. Type: fix Change-Id: I5b2d65b2462020808635b057d5f7665fb75a2444 Signed-off-by: Pierre Pfister <ppfister@cisco.com> Signed-off-by: Eric Sun <esun@meraki.com>
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-06vlib: fix missing integer initGuillaume Solignac1-4/+4
Some compilers were not clever enough to figure out these inits weren't needed. Hence adding them. Type: fix Signed-off-by: Guillaume Solignac <gsoligna@cisco.com> Change-Id: I50c4e978bfd2ef15ece7a29e517bb8ddba12f960 Signed-off-by: Pierre Pfister <ppfister@cisco.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-05-06vlib: revert automatic core pinning changesHadi Rayan Al-Sandid5-431/+7
This reverts commit 71c32a898941e32b5d4f865b50fbe775560c582d. Type: fix Reason for revert: vnet pinning is not considered in this patch. This causes keywords 'workers' and 'skip-cores' to be broken, as well as keyword 'main-core auto' introduced in this patch. If this patch is ever reconsidered, it must account for vnet pinning fix in commit https://gerrit.fd.io/r/c/vpp/+/40711. Change-Id: I1f3154a6c7e830b100f824375aa00e95b192f7f3 Signed-off-by: hsandid <halsandi@cisco.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-06vlib: Add FreeBSD specific platform filesTom Jones1-0/+6
Type: improvement Change-Id: I0739959084d7cfd8309793f54c92c046b94d7a02 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-06vppinfra: Include param.h on FreeBSDTom Jones1-1/+2
Type: improvement Change-Id: I5fa90dd26d6cac2cefee009c97dd5ff8dac3ee1e Signed-off-by: Tom Jones <thj@freebsd.org>
2024-05-06dpdk: Don't depend on rdma-core on FreeBSDTom Jones1-1/+4
Type: improvement Change-Id: Icad058df22d3f9d65b086215cc17b1ab32d59eb8 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-05-06dpdk: Use gnu sed on FreeBSD for header fix upsTom Jones1-3/+8
FreeBSD sed isn't compatible with gnu seds in place option. On FreeBSD explicitly use gsed, on Linux and other platforms this is available just as 'sed'. Type: improvement Change-Id: I6e4fcaf11d4d22cd3e4cd0c3327b16393542845f 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-03vcl: allow more rx events on peekFlorin Coras1-1/+10
If peek touches all data in the fifo, unset fifo event to request new events when more data is enqueued. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I878fa017f18ada5cef557600673bba920f230542
2024-05-03interface: fix check in set_interface_name apiStanislav Zaikin1-7/+6
set_interface_name may crash if wrong sw_if_index is passed e.g. ~0 Type: fix Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com> Change-Id: Ic7e400c914fb33c2f9eac4f2985bb5b163a18d57
2024-05-03http: fix http server in responseMatus Fabian5-4/+29
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 Kazmi5-162/+240
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 Tehlar3-75/+72
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-05-01tests: remove duplicate SVR test caseKlement Sekera1-10/+0
Type: fix Change-Id: I4105109c1c659190fc2da4ee1802ef53449a3c15 Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
2024-05-01hs-test: disable color outputAdrian Villin1-1/+1
Jenkins cannot display colors in console output Type: fix Change-Id: I5365dec471d773dae1f139c5fabd0711298f8bea Signed-off-by: Adrian Villin <avillin@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-29hs-test: fix cpu allocatorMatus Fabian1-2/+23
Effective CPUs file is different between cgroups v1 and v2. Type: test Change-Id: Ic1b9059435b3f0944624120f57e72da45adca223 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-04-29pci: fix missing limits.hGuillaume Solignac1-0/+1
When building with musl, PATH_MAX is not available if we don't add its header to pci.c. Type: fix Signed-off-by: Guillaume Solignac <gsoligna@cisco.com> Change-Id: I3d4e7cf5754d7c1d480834d7cd038d5bda46fd2f Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2024-04-26hs-test: clean up Makefile for compatibility with ci-managementDave Wallace4-18/+23
Type: test Change-Id: Ic767bc1eef0180941dd8730f9fcca1389ad7e043 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-04-25vcl: Only exclude vcl ldpreload on FreeBSDTom Jones1-5/+4
Previously all of the vcl library was excluded from the build on FreeBSD, this was too agressive as only the ldpreload component requeres platform specific implementation for FreeBSD Type: improvement Change-Id: I94e70d7730878cc98060561eedf07cb7e4d1868a Signed-off-by: Tom Jones <thj@freebsd.org>
2024-04-25hsa: Link against libepoll-shimTom Jones1-2/+2
Type: improvement Change-Id: I08610ce71282f10c587d956b27e0f572a812bedd Signed-off-by: Tom Jones <thj@freebsd.org>