174 Commits

Author SHA1 Message Date
Dave Wallace
79c8f99ac9 build: add vpp-opt-deps package
- Build an optional vpp package for optional
  dynamically linked dependencies for vpp plugins.
  Initial package contents include openssl 3.3.2.
- Refactor $WS_ROOT/build makefile structure
- Remove vpp-ext-deps debian control replacement
  of vpp-dpdk-dev package

Type: make

Change-Id: I1af0eff4a0c009c9d9061362f79e2013d8bf1a93
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-11-20 16:36:54 +00:00
Dave Wallace
a2bc88bb69 quic: update to quicly version 0.1.5
Type: improvement

Change-Id: I7c9c91a9c4d3ac2499e42eedda0a5d395bdf5912
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-11-19 16:47:02 +00:00
Marcel Cornu
de020ab478 crypto-ipsecmb: bump to ipsecmb v2.0
Type: feature

This patch bumps ipsecmb library version from 1.5 to 2.0

Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
Change-Id: Iceb546cbb00cbd92cab7edeb85f9545284fcbd4c
2024-11-07 10:21:55 +00:00
Dave Wallace
056b7d0587 build: fix dpdk mellanox driver build setting
- dpdk mellanox driver setting requires rdma-core.mk is included
  before dpdk.mk makefile.  Include check for rdma-core_version
  variable definition in dpdk.mk to prevent a re-occurance of this
  issue.

Type: fix
Fixes: 70522a1dc

Change-Id: I297cbd734ac7abe970eac7fb317d06b7acfc5a40
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-10-01 18:07:22 +00:00
Tom Jones
70522a1dc2 dpdk: Enable dpdk build on FreeBSD
Type: improvement
Change-Id: If897f3bdfc131f8d7c01718057b54087eff02d7a
Signed-off-by: Tom Jones <thj@freebsd.org>
2024-09-25 13:35:22 +00:00
Dave Wallace
0ef24297ec build: archive make install-ext-deps build logs in ci
- also add build/external artifacts to .gitignore file

Type: make

Change-Id: I9c8f4a312bbfddfa8024531e7246518c8c3589a4
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-09-20 20:37:23 +00:00
Kai Ji
6ccfc3991d dpdk: bump to DPDK 24.07 and RDMA 52.0
This patch bumps DPDK version to 24.07 and RDMA version
per dpdk 24.07 release notes (rdma-core >= 52.0)

Type: feature
Change-Id: I07c6f27becdbcd3696b821bbfd145610775cf51e
Signed-off-by: Kai Ji <kai.ji@intel.com>
2024-09-16 15:24:38 +00:00
Renato Botelho do Couto
8a424338ad build: Fix makefile syntax
Type: fix

Change-Id: I29f679ffbc14242d9e7e5284b698b86a70fbbef6
Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
2024-06-10 13:14:04 +00:00
Renato Botelho do Couto
893dacae3f build: Use $(MAKE) instead of direct call to make
No functional changes, just make it to respect original make binary
name used to start building

Type: improvement

Change-Id: Ic8568237fbb39c6a0d3b7405a9670e9410aeb752
Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
2024-06-10 13:13:31 +00:00
Monendra Singh Kushwaha
81f0f16b09 build: bump octeon-roc version to 0.5
This patch enables vf device promiscuous mode feature in
octeon-roc except SDP vf and LBK devices.

Type: feature

Change-Id: I221f64ba0bb768191e2228dab132166a8a3326c3
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-06-10 14:16:58 +05:30
Monendra Singh Kushwaha
a93c85a579 octeon: add support for Marvell Octeon9 SoC
Type: feature

Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Change-Id: I5db58b8ec41b45596bc03b4a336a184c17871294
2024-05-28 15:59:22 +00:00
Tom Jones
3b8819524f dpdk: Don't depend on rdma-core on FreeBSD
Type: improvement
Change-Id: Icad058df22d3f9d65b086215cc17b1ab32d59eb8
Signed-off-by: Tom Jones <thj@freebsd.org>
2024-05-06 11:37:06 +00:00
Tom Jones
5267b53528 dpdk: Use gnu sed on FreeBSD for header fix ups
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-06 11:36:29 +00:00
Dave Wallace
62af9bb645 dpdk: bump rdma-core to 51.0
- 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-24 19:17:29 +00:00
Kai Ji
a0fd523013 dpdk: bump to DPDK 24.03
This patch bumps DPDK version to 24.03

Type: feature
Change-Id: I4d7d1348f905579ece3cbe4ab89873abd212c636
Signed-off-by: Kai Ji <kai.ji@intel.com>
2024-04-24 14:40:16 +00:00
Tom Jones
2535bdea47 dpdk: Disable building FreeBSD kernel modules
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-24 11:33:45 +00:00
Tom Jones
26eec75f2b build: Detect number of CPUs for build processes on FreeBSD
Type: improvement
Change-Id: Ia3a00266f47f0c3e567efa143ef08bf4e8cffe35
Signed-off-by: Tom Jones <thj@freebsd.org>
2024-03-26 15:09:39 +00:00
Monendra Singh Kushwaha
3e594d6d7d build: bump octeon-roc version to 0.3
This patch updates cache line size in octeon-roc library.

Type: fix

Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Change-Id: Ifbb6e7d2a5436a88ef10d22c414112edc23e0b35
2024-02-19 18:10:07 +00:00
Tom Jones
b077d6678c build: Limit external libraries on FreeBSD
Limit the libraries we build on FreeBSD. This change intends to get us
closer to building on FreeBSD, DPDK will require a larger set of changes
so remove it until those changes are ready to integrate.

Type: improvement
Change-Id: I0f672a2b5bc30f2228020049fa71a81a2569ef54
Signed-off-by: Tom Jones <thj@freebsd.org>
2024-02-13 16:26:41 +00:00
Tom Jones
0aa0d6ffbe build: Explicitly use gmake
VPP requires GNU Make to build, on GNU systems (such as Debian), GNU
Make is installed as 'make', typically with a symlink from 'gmake'.

On other systems (such as FreeBSD), 'make' is a BSD Make derriviative
and GNU Make is installed a 'gmake'.

Use $(MAKE) variable for make calls from within Makefiles.  This
variable is set to the path of the calling make program, i.e.,
/usr/local/bin/gmake on a bsd system.

This is the recommended way to call make from Makefiles in the GNU Make
documentation.

Type: improvement
Change-Id: Id9162a34a0f8358f22090718087918dae31c0fce
Signed-off-by: Tom Jones <thj@freebsd.org>
2024-01-21 14:42:03 +00:00
Tom Jones
c3b416c492 build: Explicitly use bash for shell scripts
VPP requires bash for all shell scripts. Align shebang lines in build
and test scripts to look up the location of bash rather than hard coding
'/bin/bash'.

Look up the location of bash for makefiles.

Type: improvement
Change-Id: I23b705d81d60389fa8af61c680cf0abd74f0ea24
Signed-off-by: Tom Jones <thj@freebsd.org>
2024-01-19 12:30:01 +00:00
nucleo
ca75cd83b5 af_xdp: Backport xdp-tools fix transposed calloc() arguments
Fixes compilation error with GCC 14

'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument

Type: fix

Change-Id: Ie328ecc711976547df2cffe17325b786bc7a8849
Signed-off-by: nucleo <alekcejk@googlemail.com>
2024-01-19 08:39:46 +00:00
Damjan Marion
01fe7ab88e octeon: native driver for Marvell Octeon SoC
Type: feature
Change-Id: I6898625c4e8854f777407dac3159e4c639a54860
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-01-17 20:44:10 +01:00
Ranjan Raj
ba39d86eec crypto: align host and VPP IPsec-mb lib
Ensure alignment between the Intel IPsec-mb library on the
host and VPP targets.If the version of Intel ipsec-mb on the
host is misaligned with the targets,terminate the compilation
process to prevent potential library linkage issues.

Type: fix

Change-Id: I38864115d59ae09fb5556ad4a29e884ebace8155
Signed-off-by: Ranjan Raj <ranjanx.raj@intel.com>
2024-01-11 13:19:57 +00:00
Dave Wallace
b1a1209ce9 dpdk: bump rdma-core to 49.0
- Per dpdk 23.11 release notes (rdma-core >= 48.0)

Type: feature

Change-Id: I6f73fdfd2226c501d22cd16e5c47500ff05fbff3
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2023-12-12 12:10:40 +00:00
Ranjan Raj
adb2c67992 crypto-ipsecmb: bump intel-ipsec-mb version to 1.5
This patch update the Intel IPsec-MB lib to v1.5

Type: feature

Change-Id: Ib2b5d28866f52d428d9400318cffcae11f935c3f
Signed-off-by: Ranjan Raj <ranjanx.raj@intel.com>
2023-12-07 10:16:49 +00:00
Kai Ji
327c323065 dpdk: bump to DPDK 23.11
This patch bumps DPDK version to 23.11

Type: feature

Change-Id: Id19fa6e2789ffa3264614a011656dfe2303173ab
Signed-off-by: Kai Ji <kai.ji@intel.com>
2023-12-07 10:13:03 +00:00
Andrew Yourtchenko
5ca8bfcacb build: allow for reproducible builds
Setting and using the SOURCE_DATE_EPOCH variable takes
care of most of the magic necessary.
https://reproducible-builds.org/docs/source-date-epoch/

vpp-ext-deps packages after this change is being built with that
date set to date of the last modification of the
subtree (similar logic to deriving the "number" for
the package version)

For the rest of the packages, pinning the following
three variables should result in bit-identical
artifacts across multiple runs:

export SOURCE_DATE_EPOCH=$(date +%s)
export VPP_BUILD_HOST="buildhost"
export VPP_BUILD_USER="builduser"

Add a blurb in the docs describing this new functionality.

Type: improvement
Change-Id: I71b085f0577b2358aa98f01dafd8e392239420a6
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2023-10-26 12:09:44 +00:00
Ting Xu
51880abac1 dpdk: fix variable type in pattern parsing
In current pattern parsing function in DPDK, some of the variables of
packet length are defined as uint8_t, which are too small for some
large-size packets, such as srv6. Change the type to uint16_t.

Type: fix

Signed-off-by: Ting Xu <ting.xu@intel.com>
Change-Id: I06819e9716da098ca456c0405f0e6fd9a8eb0bc9
2023-10-24 22:14:03 +00:00
Ranjan Raj
40242b88e9 crypto-ipsecmb: bump intel-ipsec-mb version to 1.4
Type: feature

This patch update the Intel IPsec-MB lib to v1.4
Remove v0.54 and v0.55 support, as the compatible IMB APIs
are deprecated in v1.4

Signed-off-by: Ranjan Raj <ranjanx.raj@intel.com>
Change-Id: I01f71134c6bd17a68ec20b7bb4b0b0ff43fc644b
2023-09-26 15:07:32 +00:00
nucleo
cc22d38100 dpdk: Newer meson 0.55.3
Fixes error with python 3.12

No module named 'pkg_resources'

'import pkg_resources' removed in 0.55.3

Type: fix

Change-Id: I15c8cf195fd07a0eb2f3b58f895ef4b26cc17b90
Signed-off-by: nucleo <alekcejk@googlemail.com>
2023-08-17 01:23:31 +00:00
Dave Wallace
61ab094721 dpdk: bump rdma-core to 46.1
- Per dpdk 23.07 release notes (rdma-core >= 46.0)

Type: feature

Change-Id: I7c15e15e1cf4b6f652711f9446d9f8324f6c4092
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2023-08-14 16:19:46 -04:00
Kai Ji
4421898491 dpdk: bump to DPDK 23.07
This patch bumps DPDK version from 23.03 to 23.07.

Type: feature

Change-Id: I15140cecd008bfafb358f6348a1cb8fc08f70f02
Signed-off-by: Kai Ji <kai.ji@intel.com>
2023-08-14 15:46:34 +00:00
Dave Wallace
0e8ec6468b rdma: bump version to 45.0
- Update rdma-core library to 45.0 to work with DPDK 23.03

Type: feature

Change-Id: I6bd54c509b93de905e1b0194dce414e4a6e11990
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2023-05-09 20:42:17 -04:00
Xinyao Cai
df6a00f581 dpdk: bump to DPDK 23.03
This patch bumps DPDK version from 22.11 to 23.03.

Type: feature

Signed-off-by: Xinyao Cai <xinyao.cai@intel.com>
Change-Id: I10203a6408ceb5a40fe392924130652b91ebc993
2023-05-09 21:29:30 +08:00
Xinyao Cai
648006b3c0 dpdk: code preparation for bumping to DPDK 23.03
This patch prepares code for bumping DPDK version to 23.03, but the DPDK version of this patch keeps at 22.11 for compatibility.

the "no-dsa" parameter in DPDK configuration is removed, the "blacklist" parameter can be used to block the related DSA devices.

Type: feature

Signed-off-by: Xinyao Cai <xinyao.cai@intel.com>
Change-Id: I589afba165e85138437e731531414a033f64f8d3
2023-05-09 21:23:39 +08:00
Dave Wallace
4141ded3ec dpdk: correct build to include rdma driver
Type: fix

Change-Id: I23ef347adc97d7d806acf98c3dcdbe80f2a03441
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2023-05-04 13:46:46 +00:00
Alexander Kozyrev
6f83352822 rdma: bump to 43.0
Update rdma-core library to 43.0 to work with DPDK 22.11.

Type: feature
Change-Id: Iad8bb9c7745dd5bc5f8c0935a31362fd92447ff6
Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
2023-05-01 20:53:51 +00:00
Xinyao Cai
efcf1befc5 dpdk: bump to DPDK 22.11
This patch bumps DPDK version from 22.07 to 22.11.

Type: feature
Signed-off-by: Xinyao Cai <xinyao.cai@intel.com>
Change-Id: I82df2c0678e1cc1b3739a5b0677f0c4a4180a489
2023-04-27 10:31:36 +00:00
Xinyao Cai
efad24a84d dpdk: code preparation for bumping to DPDK 22.11
This patch prepares code for bumping DPDK version to 22.11, but the DPDK version of this patch keeps at 22.07 for compatibility.

the "no-dsa" parameter in DPDK configuration is removed, the "blacklist" parameter can be used to block the related DSA devices.

Type: feature
Signed-off-by: Xinyao Cai <xinyao.cai@intel.com>
Change-Id: I08787c6584bba66383fc0a784963f33171196910
2023-04-25 15:13:22 +00:00
Jieqiang Wang
d69233f44e build: replace phony target with .ok file
When VPP builds its external packages from source, it will download the
package, patch it, configure it, build and install it. For DPDK, it will
depend on rdma-core if mlx4/mlx5 PMD is enabled. So phony target
dpdk-config needs to have the prerequisites of rdma-core-install and
ipsec-mb-install(x86 only), which are both phony targets. This leads to
redundant behavior of recipes executing twice in dpdk-config.
Replace the phony target with hidden file *.install.ok to avoid that.

Type: improvement
Signed-off-by: Lijian Zhang <lijian.zhang@arm.com>
Signed-off-by: Jieqiang Wang <jieqiang.wang@arm.com>
Change-Id: Ibf3b766ab7a4ccfcbffe08f6cdb90da72ca1ce29
2023-03-06 14:24:57 +00:00
Mohammed Hawari
9db6db065a build: allow skipping external-deps
Change-Id: I0e5090ec6978af0dc4baecc7654918cf40663f42
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: feature
2023-02-08 10:13:51 +00:00
Yulong Pei
f9a1748798 af_xdp: update af_xdp driver plugin to depend on libxdp
AF_XDP support is deprecated in libbpf since v0.7.0 [1], the libxdp library
now provides the functionality which once was in libbpf, this commit updates
af_xdp plugin to depend on libxdp, libbpf still remains a dependency even if
libxdp is present, as it need use libbpf APIs for program loading.

libxdp is distributed within xdp-tool [2], xdp-tools package also
include libbpf in it as dependency, so here installed libxdp v1.2.9 and
libbpf v0.8.0, both from xdp-tool-1.2.9 package.

More information about libxdp compatibility can be found in the libxdp
README [3].

In libbpf v0.8.0, The bpf_prog_load function was deprecated and changed to
bpf_object__open_file and bpf_object__next_program and bpf_object__load,
The bpf_get_link_xdp_id and bpf_set_link_xdp_fd functions were deprecated
and changed to bpf_xdp_attach and bpf_xdp_detach, The bpf_object__unload
function was deprecated and changed to bpf_object__close.

[1] https://github.com/libbpf/libbpf/commit/277846bc6c15
[2] https://github.com/xdp-project/xdp-tools/releases/tag/v1.2.9
[3] https://github.com/xdp-project/xdp-tools/blob/master/lib/libxdp/README.org

Type: improvement

Change-Id: Ifbf6e3aa38bc6e0b77561f26311fd11c15ddb47e
Signed-off-by: Yulong Pei <yulong.pei@intel.com>
2023-01-13 09:57:00 +00:00
Marcel Cornu
a9e266ea4a crypto-ipsecmb: fix perf scaling in ipsecmb v1.3
Type: fix

This patch adds a fix for an issue in the ipsecmb library resulting in
lower than expected performance in multi-threaded scenarios. This is
due to multiple threads writing the same global variable simultaneously.

Signed-off-by: marcel.d.cornu@intel.com
Change-Id: Ibcac321aa40da4b1709198dec3e18226e3891138
2023-01-10 16:55:26 +00:00
Dave Wallace
051579d0f2 build: don't overwrite quicly build/install logs
- append make output to quicly build & install logs

Type: make

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I4cfe7afdaa633295968c25902b12f58100f8ca69
2022-12-13 16:04:56 +00:00
Dave Wallace
06bbab0c45 quic: update to quicly v0.1.4
Type: improvement

Change-Id: I707399b8ba617a659476bfd7d793f04a1283e694
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2022-12-02 21:38:41 +00:00
Marcel Cornu
2a6f35f24c crypto-ipsecmb: bump ipsecmb library to v1.3
- Use the latest IPsec Multi-Buffer library release v1.3
- Use ipsec-mb burst API for HMAC-SHAx algorithms
- Use ipsec-mb burst API for AES-CBC and AES-CTR algorithms

The new burst API available in ipsecmb v1.3 brings significant
performance improvements for certain algorithms compared to the job API.

Type: feature
Signed-off-by: marcel.d.cornu@intel.com
Change-Id: I3490b35a616a2ea77607f103426df62438c22b2b
2022-10-17 13:41:50 +00:00
Dave Wallace
14b118b4c7 build: retain dpdk_mlx_default setting for ci script
- tell git to ignore all build/external generated files

Type: make

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I4af26a76a0248939366cd09b577d422af801c0c3
2022-10-07 12:32:33 +00:00
Mohammed Hawari
45e4e9444d rdma: unhackish build of rdma-core
Change-Id: I2040b560b2a00f8bd176ae6ad46035678a2b249e
Type: improvement
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2022-10-04 15:44:17 +00:00
Mohammed Hawari
4e939ced65 build: mlx dpdk-rdma compatibility matrix
- Verify mlx_rdma_dpdk_matrix.txt versions,
  build MLX drivers in dpdk if the versions match.
  Also output version comparison results to a file
  for CI job to send notification email when the
  versions do not match.

Change-Id: Id1384ba4ea4b1f855f4d77d1d8e2c38683abfe1f
Type: improvement
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2022-10-04 15:44:17 +00:00