aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
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-24dpdk: bump rdma-core to 51.0Dave Wallace2-3/+3
- Per dpdk 24.03 release notes (rdma-core >= 50.0) Type: feature Change-Id: Ieed077dc9b54cc1c59c75ebdbccfc683c7636222 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
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-24dpdk: bump to DPDK 24.03Kai Ji1-1/+2
This patch bumps DPDK version to 24.03 Type: feature Change-Id: I4d7d1348f905579ece3cbe4ab89873abd212c636 Signed-off-by: Kai Ji <kai.ji@intel.com>
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: Disable building FreeBSD kernel modulesTom Jones1-0/+1
Disable building the FreeBSD kernel modules, while these are required to run, this dpdk step will fails inside the vpp build. If the build succeeded this step would try to install the kernel modules as root in the vpp build which also isn't desirable. For packaging the kernel modules should be provided in a seperate package rather than through the vpp build process. Type: improvement Change-Id: I01f1ae2845445e2babad380b675054b80d4b325b 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-23tests: allow ip table nameMaxime Peim1-2/+4
Type: refactor Change-Id: I4abbc77a447358f4beaa05505299cae732a3f374 Signed-off-by: Maxime Peim <mpeim@cisco.com>
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-23hs-test: add tests repeat optionMatus Fabian2-2/+11
Type: test Change-Id: I0143d26d929f6408a5399d7ca536e48cbd9d46bb Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-04-22hs-test: fix TCP with loss testMatus Fabian3-6/+5
Load NSIM plugin. Type: test Change-Id: I250f51e6622419d98fd17216031a5b4d2da07fba Signed-off-by: Matus Fabian <matfabia@cisco.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-19hs-test: transition to ginkgo test frameworkAdrian Villin25-230/+762
Type: test Change-Id: Ia38bf5549d20b22876f6082085b69a52a03d0142 Signed-off-by: Adrian Villin <avillin@cisco.com> Signed-off-by: Matus Fabian <matfabia@cisco.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
2024-04-15ip: fix comments for icmp4lijinhui1-1/+1
Type: fix Change-Id: I5f309ca4db4ae4a3e475d87b8f0188c4ead5e562 Signed-off-by: lijinhui <lijh_7@chinatelecom.cn>
2024-04-15crypto-sw-scheduler: crypto-dispatch improvementNiyaz Murshed1-0/+7
Currently sw_scheduler runs interchangeably over queues of one selected type either ENCRYPT or DECRYPT, then switches the type for the next run. This runs perfectly when we have elements in both ENCRYPT and DECRYPT queues, however, this leads to performance degradation when only one of the queues have elements i.e either all traffic is to be encrypted or decrypted. If all operations are encryption, then 50% of the time, the loop exits without dequeueing.With this change, that dequeueing happens on every loop. This increases the performance of single mode operation (ecryption or decryption) by over 15%. This change was also added in commit https://github.com/FDio/vpp/commit/61cdc0981084f049067626b0123db700035120df to fix similar performance issue when the crypto-dispatch node is in interrupt node, however was removed by https://github.com/FDio/vpp/commit/9a9604b09f15691d7c4ddf29afd99a31e7e31eed which has its own limitations. Type: improvement Change-Id: I15c1375427e06187e9c4faf2461ab79935830802 Signed-off-by: Niyaz Murshed <niyaz.murshed@arm.com>
2024-04-15linux-cp: fix seg fault in get_v2 methodsAnton Nikolaev1-2/+9
vl_api_lcp_itf_pair_get_v2_t_handler method was not be able to handle invalid sw_if_index, it caused a seg fault. With this fix, the method checks for an invalid sw_if_index and sends error back to caller. Type: fix Change-Id: I4e89b0cab34f9109c4ce2689021ecfc2786055ab Signed-off-by: Anton Nikolaev <anikolaev@netgate.com>
2024-04-11g2: fix gpointer cast complaintsFlorin Coras2-12/+13
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iadd6a4dd928002e764fc52343c14403620279aa7
2024-04-11stn: fix non-NULL terminated string overflowBenoît Ganne1-1/+1
Type: fix Change-Id: I9d7e6dd099cf9f4b7f6bb06d9e8a17fac7d7e772 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-04-11tcp: check for header truncationBenoît Ganne1-1/+3
Type: fix Change-Id: I0a43a37971d03a700926d59e848f0b6e6dbeb19a Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-04-10session: add api to detach session from appFlorin Coras3-4/+17
Type: improvement Change-Id: Ib824d0ca9efc7d8967e043db69017655b2dcf6b5 Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-04-10vlib: fix vlib_buffer_free_inline() AVX-512 overflowBenoît Ganne1-1/+1
'queue' is declared on the stack and must be big enough to handle queue_size + max processed elements per loops. When AVX-512 was added, this additional max was not increased from 4 to 8 accordingly. Type: fix Fixes: 767a9ab4b1 Change-Id: I15f2f930fc316f92da2e4642f41852d856c06a48 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-04-10build: use GNUInstallDirs where possibleWim de With6-11/+11
Some installation destinations were already converted to the GNUInstallDirs standard in e3cf4d0cf. This patch converts the share and include directories (typically /usr/share and /usr/include respectively) as well. Type: improvement Change-Id: Id481b16604f3f52203166a5c0647f43d6eb05239 Signed-off-by: Wim de With <wf@dewith.io>
2024-04-09vppinfra: add support for precomputed SHA2 HMAC key and chained buffersDamjan Marion1-209/+285
Change-Id: Ic1fa3bd164e80c2ca1146be001870da0238a5f2e Type: improvement Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-04-09tests: allow to add paths to default routeMaxime Peim1-2/+12
After adding a path to the default route, the prefix still be there in the table as it is a mandatory prefix. However, the registry hence fail to remove the route from VPP. Type: fix Change-Id: Ic4ad72455ac7a1a2f1d8baba59a7a3afe1610726 Signed-off-by: Maxime Peim <mpeim@cisco.com>
2024-04-09tests: Added a simple prom(etheus exporter) plugin testadrianvillin1-0/+58
Type: test Change-Id: Ibceabc411f09d80cc23be6f2e7c8abd56d4c4ac2 Signed-off-by: adrianvillin <avillin@cisco.com>
2024-04-09build: Error out Makefile if bash can't be foundTom Jones1-0/+4
Type: improvement Change-Id: I3bba4e53364dbcc0d7a373fdc9cac2db3bbb4249 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-04-09acl: Use clib_net_to_host rather than library bswapTom Jones1-3/+3
Type: improvement Change-Id: I51345fb75843c67c6bf6a4c56380e1f0899c45b1 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-04-09fib: fix off-by-one error in rewrite length checkBenoît Ganne1-2/+2
The rewrite string can be up to max_size, and max_size can be up to VNET_REWRITE_TOTAL_BYTES. Don't waste the last byte. Type: fix Change-Id: I2fb7e9873b6b4c1e6a55b172c7f753f3c5910802 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-04-09mpls: fix default mpls lb hash configVladislav Grishenko4-127/+226
In case of multiple path within tunnel, mpls lookup node computes lb hash with mpls_compute_flow_hash config value 0, so only mpls label and l4 ports gets accounted, not 5-tuple. This leads to flow traffic polarization and disbalance over mpls paths. Use mpls hash config from lb instead, usually it'll be MPLS_FLOw_HASH_DEFAULT with 5-tuple plus flowlabel. As optimization, fix flow hash reuse from the previous lookup node if present, like ip_lookup does. Previously mpls lookup always calcs the hash. Test lb distribution for both cases. Also, use the same flow hash hex format in ip4/ip6 and mpls traces for easier reading, most code changes is due fixstyle formatting. Type: fix Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru> Change-Id: Ib89e1ab3edec14269866fe825a3e887d6c817b7c