aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
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-Sandid4-103/+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-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 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 Kazmi4-160/+238
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-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-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>
2024-04-24vlib: Add FreeBSD thread specific header and callsTom Jones1-0/+11
Type: improvement Change-Id: Ia84683936da02968991ea717316a834a5da1a517 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-04-24vppinfra: Link against lib execinfo on FreeBSDTom Jones1-1/+6
Type: improvement Change-Id: Ie3d6cba886e0779949e8d574f82cff62abc7ebed Signed-off-by: Tom Jones <thj@freebsd.org>
2024-04-24vppinfra: Add FreeBSD method for updating pmalloc lookup tableTom Jones1-1/+44
FreeBSD has a different interface to request memory mapping information. Add a FreeBSD specific method for reading physical addresses and make it available at build time. Type: improvement Change-Id: I3588dde8e0a6f6d53333040245341ed09cebef9d 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 Marion6-9/+12
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-24vlib: Add a skeleton pci interface for FreeBSDTom Jones1-0/+380
Implement a subset of the pci interface with unimplemented methods marked with a comment. This is enough functionality to allow dpdk to attach to pci devices and forward traffic on FreeBSD. Type: improvement Change-Id: I0d87778cd92ae332a6802c11083d3d99988678a1 Signed-off-by: Tom Jones <thj@freebsd.org>
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-24api: Add FreeBSD specific mechanisms for unix socketsTom Jones1-0/+22
FreeBSD doesn't support SCM_CREDENTIALS, but has an equivalent mechanism called SCM_CRED. This is documented in unix(4), use SCM_CREDS on FreeBSD. Type: improvement Change-Id: Iaf4ec0d68445239c06fa0eef6c25db7e3328e989 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 Jones5-29/+72
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>
2024-04-23tls: don't upper-case cipher stringBrian Morris1-6/+1
Change-Id: Ic8308046610aa5d49d9595bcd450f9651b9915e4 Signed-off-by: Brian Morris <bmorris2@cisco.com> The string is allowed to contain lower case characters, for example "TLSv1.2" Type: fix
2024-04-23ipsec: fix CLI for create ipsec itfGabriel Oginski1-3/+6
This commit adds missing support in CLI for creating ipsec itf in p2mp mode. Type: fix Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com> Change-Id: I1bd1cc6667625b8e527af8d25bd8e723751dbc41
2024-04-23octeon: add promisc supportGuillaume Solignac1-0/+41
We add the capability to enable and disable promiscous mode on the octeon port. Type: feature Signed-off-by: Guillaume Solignac <gsoligna@cisco.com> Change-Id: I9a1464d2e1e8a0570ff16e221a4896aedc3ed6f8
2024-04-23ikev2: uptimeDenys Haryachyy7-8/+432
Introduced SA and child SA uptime. Type: improvement Change-Id: I28cf9f90d35ebe035a31ed0a985a5e462c8536a8 Signed-off-by: Denys Haryachyy <garyachy@gmail.com>
2024-04-22octeon: add support for SDP deviceMonendra Singh Kushwaha2-6/+15
This patch adds support for SDP (System DPI Packet Interface Unit) device. Type: feature Change-Id: Idf1f53b151edf2992613746d5818409187b4b051 Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-04-22vlib: Place linux pci headers in a linux include blockTom Jones1-0/+2
Type: improvement Change-Id: I6b30ffd1eabfa9544d548082b7e38b8fe7224c07 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-04-22nat: add saddr info to nat44-ed o2i flow's rewritelijh_71-0/+2
Type: fix Change-Id: Ic303ff9b21872b7cc31f23c92e48ec3737eeb8fe Signed-off-by: lijinhui <lijh_7@chinatelecom.cn>
2024-04-19ipip: specify af for a tunnel ip addressesAnton Nikolaev1-11/+12
Currently ipip tunnel allows to use an empty addresses for dst when we trying to add tunnel, but it doesn't return it correctly on ipip dump call. There is case when we create an ipip tunnel with an empty ipv6 address, address is zero, but AF is ipv6. And when we dump ipip tunnels we get an emtpy ipv4 address instead of an empty ipv6 address. There is no point to detect AF for each address in send_ipip_tunnel_details, because ipip tunnel can't handle different AF for src and dst addresses, and prohibits creating ipip tunnel with different AF of dst and src addresses. With this fix, send_ipip_tunnel_details function return a correct AF despite address value. Type: fix Change-Id: Ib343293ad79a300cdb70135fffbfd156dfef6e27 Signed-off-by: Anton Nikolaev <anikolaev@netgate.com>
2024-04-18sr: use correct reply to sr_policy_add_v2Vratko Polak1-1/+1
Type: fix Fixes: c4c205b091934d96a173f4c0d75ef7e888298ac7 Change-Id: I110729601a9f19451297883b781ec56e2b31465b Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2024-04-17session: force session cleanups on app detachFlorin Coras1-6/+23
Force transport and session cleanup on session detach if transport is already closing. This should also avoid races between transport initiated session cleanups and pending session control events. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I83a947a0c01f5af8ac70aa31fee660276f1d1c60