Compare commits

..

14 Commits

Author SHA1 Message Date
a144e75fed build: update octeon-roc checksum to updated version
- caused by regeneration of source tarball after the
  marvel repo moved to a new account

Type: fix

Change-Id: I44616408d673c8d208ff73ea29d9f5cc12778cef
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-07-30 15:11:47 -04:00
7ad2c8b3e0 tests: disable failing tests on Ubuntu 22.04
Also rework the logic so the skipping of marked Ubuntu 22.04 occurs at framework level

Leave debian11 special cases as-is.

Type: fix
Change-Id: I481eb32cd1a0860935482e9f930ced409da653c9
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 9987d470a6)
2024-07-10 01:16:38 +00:00
80e9503819 sr: use correct reply to sr_policy_add_v2
Type: fix
Fixes: c4c205b091

Change-Id: I110729601a9f19451297883b781ec56e2b31465b
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
(cherry picked from commit 4332082093)
2024-04-18 15:29:03 +00:00
dd59e1b432 misc: in crcchecker.py, don't check for uncommitted changes in CI
Type: fix

Change-Id: I63260a953e54518b3084b62fccdb4af81315b229
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit 3a0d7d2c95)
2024-04-08 22:44:18 +00:00
500ac05961 flowprobe: fix flush callbacks when multiple workers
IPFIX buffers are stored on a per worker thread basis. Currently, the
flush callbacks will flush only buffers stored for the main thread. And
buffers for worker threads will not be sent until their size reach the
path MTU configured for the exporter. So if traffic is constant, the
problem will unlikely to be visible. Buffers will be sent once they
reach the maximum size. However, if traffic stops at some point and
flush is triggered in order to make the plugin send all currently
buffered data, this will not happen. And collectors will not receive
that data. The plugin will keep the remaining data until traffic starts
again, the buffers reach the maximum size, and be sent.

With this fix, flush buffers for worker threads and for the main thread
when the flush callbacks are triggered.

This will allow to remove @tag_fixme_vpp_workers from the unit tests
that don't set timers. The tests that set timers will still be failing
for other multi-worker related problems.

Type: fix
Change-Id: I9a7d9cef8ddbec7ee68c79309e48e7bc0953d488
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
(cherry picked from commit 4c7305f124)
2024-03-12 07:53:34 +00:00
a541cfd31d ipsec: check each packet for no algs in esp-encrypt
In esp_encrypt_inline(), if two or more consecutive packets are
associated with the same SA which has no crypto or integrity algorithms
set, only the first one gets dropped. Subsequent packets either get sent
(synchronous crypto) or cause a segv (asynchronous crypto).

The current SA's index and pool entry are cached before it can be
determined whether the packet should be dropped due to no algorithms
being set. The check for no algorithms is only performed when the cached
SA index is different than the SA index for the current packet. So
packets after the first one associated with the "none" alg SA aren't
handled properly.

This was broken by my previous commit ("ipsec: keep esp encrypt pointer
and index synced") which fixed a segv that occurred under a different
set of circumstances.

Check whether each packet should be dropped instead of only checking
when a new SA is encountered.

Update unit tests:
- Add a test for no algs on tunnel interface which enables
  asynchronous crypto.
- Send more than one packet in the tests for no algs.

Type: fix
Fixes: dac9e566cd

Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Change-Id: I69e951f22044051eb8557da187cb58f5535b54bf
(cherry picked from commit ff71939c30)
2024-03-11 20:18:42 +00:00
1200c799d0 linux-cp: add add_del_v3 and get_v2 methods
Added vl_api_lcp_itf_pair_add_del_v3_t_handler method, it can return
vif_index in reply. Also added vl_api_lcp_itf_pair_get_v2_t_handler
methods, this method is able to dump only one lcp pair or dump all
lcp pairs via stream_msg.

Type: improvement
Change-Id: I1d25344ee57f8fac8b857bb3a9a03116230b4d2c
Signed-off-by: Anton Nikolaev <anikolaev@netgate.com>
(cherry picked from commit 83ad79d69a)
2024-03-11 20:18:24 +00:00
4991354309 ip: force full reassembly before virtual
Type: improvement

The vnet buffer metadata for full IP reassembly and shallow virtual
reassembly overlaps. If you have full reassembly and virtual reassembly
enabled on the same interface and virtual reassembly happens to process
packets first, full reassembly will stomp on the metadata populated by
virtual reassembly.

Virtual reassembly gets enabled implicitly when NAT feature nodes
are enabled. Those NAT feature nodes rely on the virtual reassembly
metadata being populated correctly in order to find L4 proto & ports.
When NAT and IP full reassembly are both enabled on an interface, NAT
can drop fragmented packets because the virtual reassembly metadata
can be overwritten by full reassembly.

Ensure that full reassembly runs before virtual reassembly. Add a
runs_before dependency to ensure that ip4-full-reassembly-feature
runs before ip4-sv-reassembly-feature.

There was a duplicate VNET_FEATURE_INIT() for
ip4-full-reassembly-feature. It seems to have been intended for enabling
ip4-full-reassembly-custom as a feature node, but its contents are
identical to the earlier VNET_FEATURE_INIT() for
ip4-full-reassembly-feature. Removed the duplicate.

Change-Id: Ie600b854d4ceb90a7cb736810140d410b8f72447
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
(cherry picked from commit 205ed8f884)
2024-03-08 12:27:12 +01:00
e4ec1584ec tls: mark ho done atomically after ctx init
Make sure ctx is initialized before ho is marked as done.

Type: fix

Change-Id: If0525a9890a56e289e2ab006c669a9d64dc6505d
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 0ded4890be)
2024-03-01 14:29:29 +00:00
7453b5dfe8 session: postpone ct cleanup if rx evt pending
Type: fix

Change-Id: I8cfaa62abd38d5356263b0ffd428638d1a027617
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 3efcbaf3b1)
2024-03-01 14:29:11 +00:00
455960759b misc: VPP 24.02 Release Notes
Type: docs
Change-Id: I4209b4edf387f2d7b88ecc338cca3b4901210ed2
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2024-02-28 11:12:31 +00:00
ccfc24f745 buffers: bring back cache occupancy improvement
The improvement was removed in 40129,
causing 5-40% regressions in AVF tests.

There is a memory-speed trade-off,
this change prefers speed over memory efficiency.

Ideally, the choice should be configurable,
but that is not easy to achieve, considering
how early is vlib_buffer_main_init called.

Type: fix
Fixes: 038dad7ef2

Change-Id: I4746f3634abe6d233c9d092a372de05b3d1ae4b6
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
(cherry picked from commit 04fd51c03c)
2024-02-19 12:22:20 +00:00
8cbf84dce0 vcl: fix epollet test for unhandled evts
Argument to vcl_epoll_ctl_add_unhandled_event is often the result of an
and between events and EPOLLET which is larger than u8

Type: fix

Change-Id: I8c98f557fa1db9f3eb79c90ecdd60ac9366d4d40
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit e81f27ffb2)
2024-02-13 17:20:10 +00:00
3a56e86a73 misc: Initial changes for stable/2402 branch
Type: docs
Change-Id: I820bbb54597a8f640ed6b854d20d0b572c5f255b
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2024-01-24 12:41:23 +00:00
1389 changed files with 21739 additions and 58033 deletions

View File

@ -27,7 +27,6 @@ ForEachMacros:
- 'foreach_vlib_frame_bitmap_set_bit_index' - 'foreach_vlib_frame_bitmap_set_bit_index'
- 'FOREACH_ARRAY_ELT' - 'FOREACH_ARRAY_ELT'
- 'RTE_ETH_FOREACH_DEV' - 'RTE_ETH_FOREACH_DEV'
- 'foreach_clib_stack_frame'
- 'foreach_vnet_dev_rx_queue_runtime' - 'foreach_vnet_dev_rx_queue_runtime'
- 'foreach_vnet_dev_counter' - 'foreach_vnet_dev_counter'
- 'foreach_vnet_dev_port_rx_queue' - 'foreach_vnet_dev_port_rx_queue'
@ -35,8 +34,6 @@ ForEachMacros:
- 'foreach_vnet_dev_port' - 'foreach_vnet_dev_port'
- 'foreach_vnet_dev_args' - 'foreach_vnet_dev_args'
- 'foreach_vnet_dev_port_args' - 'foreach_vnet_dev_port_args'
- 'foreach_clib_dt_tree_node'
- 'foreach_clib_dt_child_node'
StatementMacros: StatementMacros:
- 'CLIB_MULTIARCH_FN' - 'CLIB_MULTIARCH_FN'

27
.gitignore vendored
View File

@ -24,24 +24,6 @@
/build/external/vpp-* /build/external/vpp-*
/build/external/dpdk_mlx_default.sh /build/external/dpdk_mlx_default.sh
/build/external/downloads/ /build/external/downloads/
/build/external/deb/_build/
/build/external/deb/debian/changelog
/build/external/deb/debian/debhelper-build-stamp
/build/external/deb/debian/tmp/
/build/external/deb/debian/files/
/build/external/deb/debian/.debhelper/
/build/external/deb/debian/vpp-ext-deps*
/build/optional/downloads/
/build/optional/*.tar.gz
/build/optional/*.tar.xz
/build/optional/vpp-*
/build/optional/deb/_build/
/build/optional/deb/debian/changelog
/build/optional/deb/debian/debhelper-build-stamp
/build/optional/deb/debian/tmp/
/build/optional/deb/debian/files/
/build/optional/deb/debian/.debhelper/
/build/optional/deb/debian/vpp-ext-deps*
/path_setup /path_setup
/tools/ /tools/
# start autotools ignore # start autotools ignore
@ -140,12 +122,7 @@ compile_commands.json
/extras/hs-test/vpp-data /extras/hs-test/vpp-data
/extras/hs-test/hs-test /extras/hs-test/hs-test
/extras/hs-test/http_server /extras/hs-test/http_server
/extras/hs-test/.build.ok /extras/hs-test/.build.vpp
/extras/hs-test/.build.cov.ok
/extras/hs-test/.last_hst_ppid
/extras/hs-test/.goimports.ok
/extras/hs-test/summary/
/extras/hs-test/.last_state_hash
# ./configure # ./configure
/CMakeFiles /CMakeFiles
@ -159,5 +136,3 @@ compile_commands.json
/cmake_install.cmake /cmake_install.cmake
/startup.conf /startup.conf
/startup.vpp /startup.vpp
# log file archives
/archives

View File

@ -2,3 +2,4 @@
host=gerrit.fd.io host=gerrit.fd.io
port=29418 port=29418
project=vpp project=vpp
defaultbranch=stable/2402

View File

@ -192,7 +192,7 @@ I: sr
M: Pablo Camarillo <pcamaril@cisco.com> M: Pablo Camarillo <pcamaril@cisco.com>
M: Ahmed Abdelsalam <ahabdels@cisco.com> M: Ahmed Abdelsalam <ahabdels@cisco.com>
F: src/vnet/srv6/ F: src/vnet/srv6/
F: src/plugin/srmpls/ F: src/vnet/srmpls/
F: src/examples/srv6-sample-localsid/ F: src/examples/srv6-sample-localsid/
VNET IPSec VNET IPSec
@ -460,6 +460,11 @@ M: Dave Barach <vpp@barachs.net>
M: Florin Coras <fcoras@cisco.com> M: Florin Coras <fcoras@cisco.com>
F: src/plugins/http_static/ F: src/plugins/http_static/
Plugin - builtinurl
I: builtinurl
M: Dave Barach <vpp@barachs.net>
F: src/plugins/builtinurl/
Plugin - GTPU Plugin - GTPU
I: gtpu I: gtpu
M: Hongjun Ni <hongjun.ni@intel.com> M: Hongjun Ni <hongjun.ni@intel.com>
@ -500,10 +505,10 @@ I: memif
M: Damjan Marion <damarion@cisco.com> M: Damjan Marion <damarion@cisco.com>
F: src/plugins/memif/ F: src/plugins/memif/
Plugin - Marvell Armada device driver Plugin - Marvell MUSDK device driver
I: armada I: marvell
M: Damjan Marion <damarion@cisco.com> M: Damjan Marion <damarion@cisco.com>
F: src/plugins/dev_armada/ F: src/plugins/marvell/
Plugin - performance counter Plugin - performance counter
I: perfmon I: perfmon
@ -847,11 +852,6 @@ I: tracenode
M: Maxime Peim <mpeim@cisco.com> M: Maxime Peim <mpeim@cisco.com>
F: src/plugins/tracenode F: src/plugins/tracenode
Plugin - Packet Vector Tunnel Interface
I: pvti
M: Andrew Yourtchenko <ayourtch@gmail.com>
F: src/plugins/pvti
cJSON cJSON
I: cjson I: cjson
M: Ole Troan <ot@cisco.com> M: Ole Troan <ot@cisco.com>
@ -882,8 +882,8 @@ F: extras/strongswan/vpp_sswan
Host stack test framework Host stack test framework
I: hs-test I: hs-test
M: Florin Coras <fcoras@cisco.com> M: Florin Coras <fcoras@cisco.com>
M: Matus Fabian <matfabia@cisco.com> M: Filip Tehlar <ftehlar@cisco.com>
M: Adrian Villin <avillin@cisco.com> M: Maros Ondrejicka <maros.ondrejicka@pantheon.tech>
F: extras/hs-test F: extras/hs-test
THE REST THE REST
@ -892,8 +892,3 @@ M: vpp-dev Mailing List <vpp-dev@fd.io>
C: Missing Maintainer C: Missing Maintainer
F: * F: *
F: */ F: */
Netmap
I: netmap
M: Tom Jones <thj@freebsd.org>
F: src/plugins/netmap/

114
Makefile
View File

@ -23,10 +23,6 @@ MACHINE=$(shell uname -m)
SUDO?=sudo -E SUDO?=sudo -E
DPDK_CONFIG?=no-pci DPDK_CONFIG?=no-pci
ifeq ($(strip $(SHELL)),)
$(error "bash not found, VPP requires bash to build")
endif
,:=, ,:=,
define disable_plugins define disable_plugins
$(if $(1), \ $(if $(1), \
@ -61,10 +57,8 @@ endif
ifeq ($(filter ubuntu debian linuxmint,$(OS_ID)),$(OS_ID)) ifeq ($(filter ubuntu debian linuxmint,$(OS_ID)),$(OS_ID))
PKG=deb PKG=deb
else ifeq ($(filter rhel centos fedora opensuse-leap rocky almalinux,$(OS_ID)),$(OS_ID)) else ifeq ($(filter rhel centos fedora opensuse-leap rocky,$(OS_ID)),$(OS_ID))
PKG=rpm PKG=rpm
else ifeq ($(filter freebsd,$(OS_ID)),$(OS_ID))
PKG=pkg
endif endif
# +libganglia1-dev if building the gmond plugin # +libganglia1-dev if building the gmond plugin
@ -74,7 +68,7 @@ DEB_DEPENDS += debhelper dkms git libtool libapr1-dev dh-python
DEB_DEPENDS += libconfuse-dev git-review exuberant-ctags cscope pkg-config DEB_DEPENDS += libconfuse-dev git-review exuberant-ctags cscope pkg-config
DEB_DEPENDS += gcovr lcov chrpath autoconf libnuma-dev DEB_DEPENDS += gcovr lcov chrpath autoconf libnuma-dev
DEB_DEPENDS += python3-all python3-setuptools check DEB_DEPENDS += python3-all python3-setuptools check
DEB_DEPENDS += libffi-dev python3-ply libunwind-dev DEB_DEPENDS += libffi-dev python3-ply
DEB_DEPENDS += cmake ninja-build python3-jsonschema python3-yaml DEB_DEPENDS += cmake ninja-build python3-jsonschema python3-yaml
DEB_DEPENDS += python3-venv # ensurepip DEB_DEPENDS += python3-venv # ensurepip
DEB_DEPENDS += python3-dev python3-pip DEB_DEPENDS += python3-dev python3-pip
@ -88,24 +82,13 @@ DEB_DEPENDS += nasm
DEB_DEPENDS += iperf ethtool # for 'make test TEST=vm_vpp_interfaces' DEB_DEPENDS += iperf ethtool # for 'make test TEST=vm_vpp_interfaces'
DEB_DEPENDS += libpcap-dev DEB_DEPENDS += libpcap-dev
DEB_DEPENDS += tshark DEB_DEPENDS += tshark
DEB_DEPENDS += jq # for extracting test summary from .json report (hs-test)
LIBFFI=libffi6 # works on all but 20.04 and debian-testing LIBFFI=libffi6 # works on all but 20.04 and debian-testing
ifeq ($(OS_VERSION_ID),24.04)
DEB_DEPENDS += libssl-dev ifeq ($(OS_VERSION_ID),22.04)
DEB_DEPENDS += llvm clang clang-format-15
# overwrite clang-format version to run `make checkstyle` successfully
# TODO: remove once ubuntu 20.04 is deprecated and extras/scripts/checkstyle.sh is upgraded to 15
export CLANG_FORMAT_VER=15
LIBFFI=libffi8
DEB_DEPENDS += enchant-2 # for docs
else ifeq ($(OS_VERSION_ID),22.04)
DEB_DEPENDS += python3-virtualenv DEB_DEPENDS += python3-virtualenv
DEB_DEPENDS += libssl-dev DEB_DEPENDS += libssl-dev
DEB_DEPENDS += clang clang-format-15 DEB_DEPENDS += clang clang-format-11
# overwrite clang-format version to run `make checkstyle` successfully
# TODO: remove once ubuntu 20.04 is deprecated and extras/scripts/checkstyle.sh is upgraded to 15
export CLANG_FORMAT_VER=15
LIBFFI=libffi7 LIBFFI=libffi7
DEB_DEPENDS += enchant-2 # for docs DEB_DEPENDS += enchant-2 # for docs
else ifeq ($(OS_VERSION_ID),20.04) else ifeq ($(OS_VERSION_ID),20.04)
@ -114,6 +97,9 @@ else ifeq ($(OS_VERSION_ID),20.04)
DEB_DEPENDS += clang clang-format-11 DEB_DEPENDS += clang clang-format-11
LIBFFI=libffi7 LIBFFI=libffi7
DEB_DEPENDS += enchant-2 # for docs DEB_DEPENDS += enchant-2 # for docs
else ifeq ($(OS_VERSION_ID),20.10)
DEB_DEPENDS += clang clang-format-11
LIBFFI=libffi8ubuntu1
else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-10) else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-10)
DEB_DEPENDS += virtualenv DEB_DEPENDS += virtualenv
else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-11) else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-11)
@ -122,10 +108,9 @@ else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-11)
LIBFFI=libffi7 LIBFFI=libffi7
else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-12) else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-12)
DEB_DEPENDS += virtualenv DEB_DEPENDS += virtualenv
DEB_DEPENDS += clang-14 clang-format-15 DEB_DEPENDS += clang-14 clang-format-14
# for extras/scripts/checkstyle.sh # for extras/scripts/checkstyle.sh
# TODO: remove once ubuntu 20.04 is deprecated and extras/scripts/checkstyle.sh is upgraded to -15 export CLANG_FORMAT_VER=14
export CLANG_FORMAT_VER=15
LIBFFI=libffi8 LIBFFI=libffi8
else else
DEB_DEPENDS += clang-11 clang-format-11 DEB_DEPENDS += clang-11 clang-format-11
@ -165,15 +150,6 @@ else ifeq ($(OS_ID),rocky)
RPM_DEPENDS += python3-virtualenv python3-jsonschema RPM_DEPENDS += python3-virtualenv python3-jsonschema
RPM_DEPENDS += infiniband-diags llvm clang cmake RPM_DEPENDS += infiniband-diags llvm clang cmake
RPM_DEPENDS_GROUPS = 'Development Tools' RPM_DEPENDS_GROUPS = 'Development Tools'
else ifeq ($(OS_ID),almalinux)
RPM_DEPENDS += yum-utils
RPM_DEPENDS += subunit subunit-devel
RPM_DEPENDS += openssl-devel
RPM_DEPENDS += python3-devel # needed for python3 -m pip install psutil
RPM_DEPENDS += python3-ply # for vppapigen
RPM_DEPENDS += python3-virtualenv python3-jsonschema
RPM_DEPENDS += infiniband-diags llvm clang cmake
RPM_DEPENDS_GROUPS = 'Development Tools'
else ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8) else ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8)
RPM_DEPENDS += yum-utils RPM_DEPENDS += yum-utils
RPM_DEPENDS += compat-openssl10 openssl-devel RPM_DEPENDS += compat-openssl10 openssl-devel
@ -223,18 +199,6 @@ endif
RPM_SUSE_DEPENDS += $(RPM_SUSE_BUILDTOOLS_DEPS) $(RPM_SUSE_DEVEL_DEPS) $(RPM_SUSE_PYTHON_DEPS) $(RPM_SUSE_PLATFORM_DEPS) RPM_SUSE_DEPENDS += $(RPM_SUSE_BUILDTOOLS_DEPS) $(RPM_SUSE_DEVEL_DEPS) $(RPM_SUSE_PYTHON_DEPS) $(RPM_SUSE_PLATFORM_DEPS)
# FreeBSD build and test dependancies
FBSD_PY_PRE=py311
FBSD_TEST_DEPS = setsid rust $(FBSD_PY_PRE)-pyshark
FBSD_PYTHON_DEPS = python3 $(FBSD_PY_PRE)-pyelftools $(FBSD_PY_PRE)-ply
FBSD_DEVEL_DEPS = cscope gdb
FBSD_BUILD_DEPS = bash gmake sudo
FBSD_BUILD_DEPS += git sudo autoconf automake curl gsed
FBSD_BUILD_DEPS += pkgconf ninja cmake libepoll-shim jansson
FBSD_DEPS = $(FBSD_BUILD_DEPS) $(FBSD_PYTHON_DEPS) $(FBSD_TEST_DEPS) $(FBSD_DEVEL_DEPS)
ifneq ($(wildcard $(STARTUP_DIR)/startup.conf),) ifneq ($(wildcard $(STARTUP_DIR)/startup.conf),)
STARTUP_CONF ?= $(STARTUP_DIR)/startup.conf STARTUP_CONF ?= $(STARTUP_DIR)/startup.conf
endif endif
@ -267,7 +231,6 @@ help:
@echo " build - build debug binaries" @echo " build - build debug binaries"
@echo " build-release - build release binaries" @echo " build-release - build release binaries"
@echo " build-coverity - build coverity artifacts" @echo " build-coverity - build coverity artifacts"
@echo " build-vpp-gcov - build gcov vpp only"
@echo " rebuild - wipe and build debug binaries" @echo " rebuild - wipe and build debug binaries"
@echo " rebuild-release - wipe and build release binaries" @echo " rebuild-release - wipe and build release binaries"
@echo " run - run debug binary" @echo " run - run debug binary"
@ -275,8 +238,6 @@ help:
@echo " debug - run debug binary with debugger" @echo " debug - run debug binary with debugger"
@echo " debug-release - run release binary with debugger" @echo " debug-release - run release binary with debugger"
@echo " test - build and run tests" @echo " test - build and run tests"
@echo " test-cov-hs - build and run host stack tests with coverage"
@echo " test-cov-both - build and run python and host stack tests, merge coverage data"
@echo " test-help - show help on test framework" @echo " test-help - show help on test framework"
@echo " run-vat - run vpp-api-test tool" @echo " run-vat - run vpp-api-test tool"
@echo " pkg-deb - build DEB packages" @echo " pkg-deb - build DEB packages"
@ -285,7 +246,6 @@ help:
@echo " snap-clean - clean up snap build environment" @echo " snap-clean - clean up snap build environment"
@echo " pkg-rpm - build RPM packages" @echo " pkg-rpm - build RPM packages"
@echo " install-ext-dep[s] - install external development dependencies" @echo " install-ext-dep[s] - install external development dependencies"
@echo " install-opt-deps - install optional dependencies"
@echo " ctags - (re)generate ctags database" @echo " ctags - (re)generate ctags database"
@echo " gtags - (re)generate gtags database" @echo " gtags - (re)generate gtags database"
@echo " cscope - (re)generate cscope database" @echo " cscope - (re)generate cscope database"
@ -294,10 +254,8 @@ help:
@echo " checkstyle-commit - check commit message format" @echo " checkstyle-commit - check commit message format"
@echo " checkstyle-python - check python coding style using 'black' formatter" @echo " checkstyle-python - check python coding style using 'black' formatter"
@echo " checkstyle-api - check api for incompatible changes" @echo " checkstyle-api - check api for incompatible changes"
@echo " checkstyle-go - check style of .go source files"
@echo " fixstyle - fix coding style" @echo " fixstyle - fix coding style"
@echo " fixstyle-python - fix python coding style using 'black' formatter" @echo " fixstyle-python - fix python coding style using 'black' formatter"
@echo " fixstyle-go - format .go source files"
@echo " doxygen - DEPRECATED - use 'make docs'" @echo " doxygen - DEPRECATED - use 'make docs'"
@echo " bootstrap-doxygen - DEPRECATED" @echo " bootstrap-doxygen - DEPRECATED"
@echo " wipe-doxygen - DEPRECATED" @echo " wipe-doxygen - DEPRECATED"
@ -306,7 +264,6 @@ help:
@echo " json-api-files - (re)-generate json api files" @echo " json-api-files - (re)-generate json api files"
@echo " json-api-files-debug - (re)-generate json api files for debug target" @echo " json-api-files-debug - (re)-generate json api files for debug target"
@echo " go-api-files - (re)-generate golang api files" @echo " go-api-files - (re)-generate golang api files"
@echo " cleanup-hst - stops and removes all docker contaiers and namespaces"
@echo " docs - Build the Sphinx documentation" @echo " docs - Build the Sphinx documentation"
@echo " docs-venv - Build the virtual environment for the Sphinx docs" @echo " docs-venv - Build the virtual environment for the Sphinx docs"
@echo " docs-clean - Remove the generated files from the Sphinx docs" @echo " docs-clean - Remove the generated files from the Sphinx docs"
@ -405,10 +362,8 @@ endif
else ifeq ($(filter opensuse-leap-15.3 opensuse-leap-15.4 ,$(OS_ID)-$(OS_VERSION_ID)),$(OS_ID)-$(OS_VERSION_ID)) else ifeq ($(filter opensuse-leap-15.3 opensuse-leap-15.4 ,$(OS_ID)-$(OS_VERSION_ID)),$(OS_ID)-$(OS_VERSION_ID))
@sudo -E zypper refresh @sudo -E zypper refresh
@sudo -E zypper install -y $(RPM_SUSE_DEPENDS) @sudo -E zypper install -y $(RPM_SUSE_DEPENDS)
else ifeq ($(OS_ID), freebsd)
@sudo pkg install -y $(FBSD_DEPS)
else else
$(error "This option currently works only on Ubuntu, Debian, RHEL, CentOS, openSUSE-leap or FreeBSD systems") $(error "This option currently works only on Ubuntu, Debian, RHEL, CentOS or openSUSE-leap systems")
endif endif
git config commit.template .git_commit_template.txt git config commit.template .git_commit_template.txt
@ -471,10 +426,6 @@ rebuild: wipe build
build-release: $(BR)/.deps.ok build-release: $(BR)/.deps.ok
$(call make,$(PLATFORM),$(addsuffix -install,$(TARGETS))) $(call make,$(PLATFORM),$(addsuffix -install,$(TARGETS)))
.PHONY: build-vpp-gcov
build-vpp-gcov:
$(call test,vpp_gcov)
.PHONY: wipe-release .PHONY: wipe-release
wipe-release: test-wipe $(BR)/.deps.ok wipe-release: test-wipe $(BR)/.deps.ok
$(call make,$(PLATFORM),$(addsuffix -wipe,$(TARGETS))) $(call make,$(PLATFORM),$(addsuffix -wipe,$(TARGETS)))
@ -492,7 +443,6 @@ define test
VPP_BIN=$(BR)/install-$(1)-native/vpp/bin/vpp \ VPP_BIN=$(BR)/install-$(1)-native/vpp/bin/vpp \
VPP_INSTALL_PATH=$(BR)/install-$(1)-native/ \ VPP_INSTALL_PATH=$(BR)/install-$(1)-native/ \
EXTENDED_TESTS=$(EXTENDED_TESTS) \ EXTENDED_TESTS=$(EXTENDED_TESTS) \
DECODE_PCAPS=$(DECODE_PCAPS) \
TEST_GCOV=$(TEST_GCOV) \ TEST_GCOV=$(TEST_GCOV) \
PYTHON=$(PYTHON) \ PYTHON=$(PYTHON) \
OS_ID=$(OS_ID) \ OS_ID=$(OS_ID) \
@ -522,20 +472,6 @@ test-cov:
$(eval TEST_GCOV=1) $(eval TEST_GCOV=1)
$(call test,vpp_gcov,cov) $(call test,vpp_gcov,cov)
.PHONY: test-cov-hs
test-cov-hs:
@$(MAKE) -C extras/hs-test build-cov
@$(MAKE) -C extras/hs-test test-cov
.PHONY: test-cov-both
test-cov-both:
@echo "Running Python, Golang tests and merging coverage reports."
find $(BR) -name '*.gcda' -delete
@$(MAKE) test-cov
find $(BR) -name '*.gcda' -delete
@$(MAKE) test-cov-hs
@$(MAKE) cov-merge
.PHONY: test-cov-build .PHONY: test-cov-build
test-cov-build: test-cov-build:
$(eval CC=gcc) $(eval CC=gcc)
@ -552,14 +488,6 @@ test-cov-post:
$(eval CC=gcc) $(eval CC=gcc)
$(call test,vpp_gcov,cov-post) $(call test,vpp_gcov,cov-post)
.PHONY: cov-merge
cov-merge:
@lcov --add-tracefile $(BR)/test-coverage-merged/coverage-filtered.info \
-a $(BR)/test-coverage-merged/coverage-filtered1.info -o $(BR)/test-coverage-merged/coverage-merged.info
@genhtml $(BR)/test-coverage-merged/coverage-merged.info \
--output-directory $(BR)/test-coverage-merged/html
@echo "Code coverage report is in $(BR)/test-coverage-merged/html/index.html"
.PHONY: test-all .PHONY: test-all
test-all: test-all:
$(eval EXTENDED_TESTS=1) $(eval EXTENDED_TESTS=1)
@ -609,7 +537,7 @@ test-shell-cov:
.PHONY: test-dep .PHONY: test-dep
test-dep: test-dep:
@$(MAKE) -C test test-dep @make -C test test-dep
.PHONY: test-doc .PHONY: test-doc
test-doc: test-doc:
@ -757,10 +685,6 @@ install-ext-deps:
.PHONY: install-ext-dep .PHONY: install-ext-dep
install-ext-dep: install-ext-deps install-ext-dep: install-ext-deps
.PHONY: install-opt-deps
install-opt-deps:
$(MAKE) -C build/optional install-$(PKG)
.PHONY: json-api-files .PHONY: json-api-files
json-api-files: json-api-files:
$(WS_ROOT)/src/tools/vppapigen/generate_json.py $(WS_ROOT)/src/tools/vppapigen/generate_json.py
@ -773,10 +697,6 @@ json-api-files-debug:
go-api-files: json-api-files go-api-files: json-api-files
$(WS_ROOT)/src/tools/vppapigen/generate_go.py $(ARGS) $(WS_ROOT)/src/tools/vppapigen/generate_go.py $(ARGS)
.PHONY: cleanup-hst
cleanup-hst:
$(MAKE) -C extras/hs-test cleanup-hst
.PHONY: ctags .PHONY: ctags
ctags: ctags.files ctags: ctags.files
@ctags --totals --tag-relative=yes -L $< @ctags --totals --tag-relative=yes -L $<
@ -814,16 +734,8 @@ checkstyle-test:
checkstyle-python: checkstyle-python:
@$(MAKE) -C test checkstyle-python-all @$(MAKE) -C test checkstyle-python-all
.PHONY: checkstyle-go
checkstyle-go:
@$(MAKE) -C extras/hs-test checkstyle-go
.PHONY: fixstyle-go
fixstyle-go:
@$(MAKE) -C extras/hs-test fixstyle-go
.PHONY: checkstyle-all .PHONY: checkstyle-all
checkstyle-all: checkstyle-commit checkstyle checkstyle-python docs-spell checkstyle-go checkstyle-all: checkstyle-commit checkstyle checkstyle-python docs-spell
.PHONY: fixstyle .PHONY: fixstyle
fixstyle: fixstyle:

View File

@ -90,13 +90,6 @@ For this to work you will need a working installation of Vagrant. Instructions
for this can be found [on the Setting up Vagrant wiki page] for this can be found [on the Setting up Vagrant wiki page]
(https://wiki.fd.io/view/DEV/Setting_Up_Vagrant). (https://wiki.fd.io/view/DEV/Setting_Up_Vagrant).
### Quick-start: FreeBSD
VPP is packaged in the FreeBSD ports system. Binary packages are available and
can be installed with the following command:
# pkg install vpp
## More information ## More information

View File

@ -19,7 +19,7 @@ else
CMAKE?=cmake CMAKE?=cmake
endif endif
vpp_cmake_prefix_path = /opt/vpp/external/$(shell uname -m) /opt/vpp/optional/$(shell uname -m) vpp_cmake_prefix_path = /opt/vpp/external/$(shell uname -m)
vpp_cmake_prefix_path += $(PACKAGE_INSTALL_DIR)external vpp_cmake_prefix_path += $(PACKAGE_INSTALL_DIR)external
vpp_cmake_prefix_path := $(subst $() $(),;,$(vpp_cmake_prefix_path)) vpp_cmake_prefix_path := $(subst $() $(),;,$(vpp_cmake_prefix_path))

View File

@ -650,18 +650,11 @@ configure_check_timestamp = \
# /proc/cpuinfo does not exist on platforms without a /proc and on some # /proc/cpuinfo does not exist on platforms without a /proc and on some
# platforms, notably inside containers, it has no content. In those cases # platforms, notably inside containers, it has no content. In those cases
# we assume there's 1 processor; we use 2*ncpu for the -j option. # we assume there's 1 processor; we use 2*ncpu for the -j option.
#
# On FreeBSD we can call nproc to get the number of processors.
#
# NB: GNU Make 4.2 will let us use '$(file </proc/cpuinfo)' to both test # NB: GNU Make 4.2 will let us use '$(file </proc/cpuinfo)' to both test
# for file presence and content; for now this will have to do. # for file presence and content; for now this will have to do.
ifndef MAKE_PARALLEL_JOBS ifndef MAKE_PARALLEL_JOBS
ifeq ($(shell uname), FreeBSD)
MAKE_PARALLEL_JOBS = $(shell nproc)
else
MAKE_PARALLEL_JOBS = $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo), \ MAKE_PARALLEL_JOBS = $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo), \
$(shell grep -c ^processor /proc/cpuinfo), 2) $(shell grep -c ^processor /proc/cpuinfo), 2)
endif # FreeBSD
endif endif
MAKE_PARALLEL_FLAGS ?= $(if $($(PACKAGE)_make_parallel_fails),,-j $(MAKE_PARALLEL_JOBS)) MAKE_PARALLEL_FLAGS ?= $(if $($(PACKAGE)_make_parallel_fails),,-j $(MAKE_PARALLEL_JOBS))
@ -997,7 +990,7 @@ $(PLATFORM_IMAGE_DIR)/ro.img ro-image: $(patsubst %,%-find-source,$(ROOT_PACKAGE
| xargs sign $($(PLATFORM)_public_key) \ | xargs sign $($(PLATFORM)_public_key) \
$($(PLATFORM)_private_key_passphrase) ; \ $($(PLATFORM)_private_key_passphrase) ; \
fi ; \ fi ; \
: $(MAKE) read-only file system ; \ : make read-only file system ; \
mksquashfs \ mksquashfs \
$${tmp_dir} $${ro_image} \ $${tmp_dir} $${ro_image} \
-no-exports -no-progress -no-recovery ; \ -no-exports -no-progress -no-recovery ; \

View File

@ -1,48 +0,0 @@
# Copyright (c) 2024 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Scripts require non-POSIX parts of bash
SHELL := $(shell which bash)
DL_CACHE_DIR = $(HOME)/Downloads
MAKE_ARGS ?= -j
BUILD_DIR ?= $(CURDIR)/_build
INSTALL_DIR ?= $(CURDIR)/_install
DOWNLOAD_DIR ?= $(CURDIR)/downloads
PKG_VERSION ?= $(shell git describe --abbrev=0 --match 'v[0-9]*' | cut -d- -f1 | cut -dv -f2 | cut -d. -f1,2)
SOURCE_DATE_EPOCH ?= $(shell git log -1 --pretty=%ct .)
ifeq ($(shell uname), FreeBSD)
JOBS := $(shell nproc)
else
JOBS := $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo),\
$(shell grep -c ^processor /proc/cpuinfo), 2)
endif # FreeBSD
B := $(BUILD_DIR)
I := $(INSTALL_DIR)
D := $(DOWNLOAD_DIR)
ifeq ($(WORKSPACE),)
L := $(B)
else
L := $(WORKSPACE)/archives/vpp-ext-deps
$(shell rm -rf $(L) && mkdir -p $(L))
endif
ifneq ($(shell which cmake3),)
CMAKE?=cmake3
else
CMAKE?=cmake
endif
ARCH_X86_64=$(filter x86_64,$(shell uname -m))
AARCH64=$(filter aarch64,$(shell uname -m))

View File

@ -11,37 +11,48 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# Scripts require non-POSIX parts of bash
SHELL := $(shell which bash)
DL_CACHE_DIR = $(HOME)/Downloads
MAKE_ARGS ?= -j
BUILD_DIR ?= $(CURDIR)/_build
INSTALL_DIR ?= $(CURDIR)/_install
PKG_VERSION ?= $(shell git describe --abbrev=0 --match 'v[0-9]*' | cut -d- -f1 | cut -dv -f2 | cut -d. -f1,2)
PKG_SUFFIX ?= $(shell git log --oneline v$(PKG_VERSION)-rc0.. . | wc -l) PKG_SUFFIX ?= $(shell git log --oneline v$(PKG_VERSION)-rc0.. . | wc -l)
SOURCE_DATE_EPOCH ?= $(shell git log -1 --pretty=%ct .)
JOBS := $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo),\
$(shell grep -c ^processor /proc/cpuinfo), 2)
include ../build_common.mk B := $(BUILD_DIR)
include ../packages_common.mk I := $(INSTALL_DIR)
ifneq ($(shell which cmake3),)
CMAKE?=cmake3
else
CMAKE?=cmake
endif
ARCH_X86_64=$(filter x86_64,$(shell uname -m))
AARCH64=$(filter aarch64,$(shell uname -m))
include packages.mk
include packages/ipsec-mb.mk include packages/ipsec-mb.mk
include packages/quicly.mk include packages/quicly.mk
ifneq ($(shell uname), FreeBSD)
include packages/rdma-core.mk include packages/rdma-core.mk
include packages/dpdk.mk
include packages/xdp-tools.mk include packages/xdp-tools.mk
include packages/octeon-roc.mk include packages/octeon-roc.mk
endif # ! FreeBSD
include packages/dpdk.mk
.PHONY: clean .PHONY: clean
clean: clean:
@rm -rf $(B) $(I) @rm -rf $(B) $(I)
.PHONY: install .PHONY: install
ifeq ($(shell uname), FreeBSD)
install: $(if $(ARCH_X86_64), ipsec-mb-install) dpdk-install quicly-install
else
install: $(if $(ARCH_X86_64), ipsec-mb-install) dpdk-install rdma-core-install quicly-install xdp-tools-install $(if $(AARCH64), octeon-roc-install) install: $(if $(ARCH_X86_64), ipsec-mb-install) dpdk-install rdma-core-install quicly-install xdp-tools-install $(if $(AARCH64), octeon-roc-install)
endif # FreeBSD
.PHONY: config .PHONY: config
ifeq ($(shell uname), FreeBSD)
config: $(if $(ARCH_X86_64), ipsec-mb-config) dpdk-config quicly-build
else
config: $(if $(ARCH_X86_64), ipsec-mb-config) dpdk-config rdma-core-config quicly-build config: $(if $(ARCH_X86_64), ipsec-mb-config) dpdk-config rdma-core-config quicly-build
endif # FreeBSD
############################################################################## ##############################################################################
# .deb packaging # .deb packaging
@ -69,7 +80,7 @@ build-deb: $(DEV_DEB)
install-deb: install-deb:
ifneq ($(INSTALLED_VER),$(DEB_VER)-$(PKG_SUFFIX)) ifneq ($(INSTALLED_VER),$(DEB_VER)-$(PKG_SUFFIX))
@$(MAKE) $(DEV_DEB) @make $(DEV_DEB)
@sudo dpkg -i $(DEV_DEB) @sudo dpkg -i $(DEV_DEB)
else else
@echo "==========================================================" @echo "=========================================================="
@ -150,7 +161,7 @@ ifeq ($(INSTALLED_VER)$(INSTALLED_RPM_VER),)
$(MAKE) config $(MAKE) config
else else
ifneq ($(INSTALLED_VER),) ifneq ($(INSTALLED_VER),)
$(MAKE) check-deb make check-deb
endif endif
ifneq ($(INSTALLED_RPM_VER),) ifneq ($(INSTALLED_RPM_VER),)
$(MAKE) check-rpm $(MAKE) check-rpm

View File

@ -9,3 +9,5 @@ Package: vpp-ext-deps
Architecture: any Architecture: any
Depends: ${shlibs:Depends} Depends: ${shlibs:Depends}
Description: VPP developer package containing dependencies Description: VPP developer package containing dependencies
Replaces: vpp-dpdk-dev
Conflicts: vpp-dpdk-dev

View File

@ -30,4 +30,4 @@ override_dh_install:
dh_install -p$(PKG) --autodest /opt dh_install -p$(PKG) --autodest /opt
override_dh_shlibdeps: override_dh_shlibdeps:
dh_shlibdeps -l$(INSTALL_DIR)lib/:$(INSTALL_DIR)lib64 dh_shlibdeps -l$(INSTALL_DIR)lib/

View File

@ -1,3 +1,2 @@
rdma=46.1 dpdk=23.07
rdma=49.0 dpdk=23.11 rdma=49.0 dpdk=23.11
rdma=51.0 dpdk=24.03
rdma=52.0 dpdk=24.07

View File

@ -1,4 +1,4 @@
# Copyright (c) 2024 Cisco and/or its affiliates. # Copyright (c) 2018 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
# You may obtain a copy of the License at: # You may obtain a copy of the License at:
@ -21,15 +21,15 @@ $1_src_dir ?= $(B)/src-$1
$1_patch_dir ?= $(CURDIR)/patches/$1_$($1_version) $1_patch_dir ?= $(CURDIR)/patches/$1_$($1_version)
$1_build_dir ?= $(B)/build-$1 $1_build_dir ?= $(B)/build-$1
$1_install_dir ?= $(I) $1_install_dir ?= $(I)
$1_config_log ?= $(L)/$1.config.log $1_config_log ?= $(B)/$1.config.log
$1_build_log ?= $(L)/$1.build.log $1_build_log ?= $(B)/$1.build.log
$1_install_log ?= $(L)/$1.install.log $1_install_log ?= $(B)/$1.install.log
############################################################################## ##############################################################################
# Download # Download
############################################################################## ##############################################################################
$(D)/$($1_tarball): downloads/$($1_tarball):
mkdir -p $(D) mkdir -p downloads
@if [ -e $(DL_CACHE_DIR)/$($1_tarball) ] ; \ @if [ -e $(DL_CACHE_DIR)/$($1_tarball) ] ; \
then cp $(DL_CACHE_DIR)/$($1_tarball) $$@ ; \ then cp $(DL_CACHE_DIR)/$($1_tarball) $$@ ; \
else \ else \
@ -38,15 +38,15 @@ $(D)/$($1_tarball):
fi fi
@rm -f $(B)/.$1.download.ok @rm -f $(B)/.$1.download.ok
$(B)/.$1.download.ok: $(D)/$($1_tarball) $(B)/.$1.download.ok: downloads/$($1_tarball)
@mkdir -p $(B) @mkdir -p $(B)
$$(call h1,"validating $1 $($1_version) checksum") $$(call h1,"validating $1 $($1_version) checksum")
@SHA256SUM=$$(shell openssl sha256 $$< | cut -f 2 -d " " -) ; \ @SUM=$$(shell openssl md5 $$< | cut -f 2 -d " " -) ; \
(([ "$$$${SHA256SUM}" = "$($1_tarball_sha256sum)" ] && echo "SHA256 OK") || \ ([ "$$$${SUM}" = "$($1_tarball_md5sum)" ] || \
( echo "==========================================================" && \ ( echo "==========================================================" && \
echo "Bad Checksum!" && \ echo "Bad Checksum!" && \
echo "Expected SHA256: $($1_tarball_sha256)" && \ echo "Expected: $($1_tarball_md5sum)" && \
echo "Calculated SHA256: $$$${SHA256SUM}" && \ echo "Calculated: $$$${SUM}" && \
echo "Please remove $$< and retry" && \ echo "Please remove $$< and retry" && \
echo "==========================================================" && \ echo "==========================================================" && \
false )) false ))
@ -65,7 +65,7 @@ $(B)/.$1.extract.ok: $(B)/.$1.download.ok
--directory $$($1_src_dir) \ --directory $$($1_src_dir) \
--extract \ --extract \
--strip-components=$$($1_tarball_strip_dirs) \ --strip-components=$$($1_tarball_strip_dirs) \
--file $(D)/$($1_tarball) --file downloads/$($1_tarball)
@touch $$@ @touch $$@
.PHONY: $1-extract .PHONY: $1-extract

View File

@ -19,22 +19,21 @@ DPDK_FAILSAFE_PMD ?= n
DPDK_MACHINE ?= default DPDK_MACHINE ?= default
DPDK_MLX_IBV_LINK ?= static DPDK_MLX_IBV_LINK ?= static
dpdk_version ?= 24.07 dpdk_version ?= 23.11
dpdk_base_url ?= http://fast.dpdk.org/rel dpdk_base_url ?= http://fast.dpdk.org/rel
dpdk_tarball := dpdk-$(dpdk_version).tar.xz dpdk_tarball := dpdk-$(dpdk_version).tar.xz
dpdk_tarball_sha256sum_24.07 := 9944f7e5f268e7ac9b4193e2cd54ef6d98f6e1d7dddc967c77ae4f6616d6fbbd dpdk_tarball_md5sum_23.11 := 896c09f5b45b452bd77287994650b916
dpdk_tarball_md5sum_23.07 := 2b6d57f077585cb15b885482362fd47f
dpdk_tarball_sha256sum := $(dpdk_tarball_sha256sum_$(dpdk_version)) dpdk_tarball_md5sum_23.03 := 3cf8ebbcd412d5726db230f2eeb90cc9
dpdk_tarball_md5sum_22.11.1 := 0594708fe42ce186a55b0235c6e20cfe
dpdk_tarball_md5sum_22.07 := fb73b58b80b1349cd05fe9cf6984afd4
dpdk_tarball_md5sum_22.03 := a07ca8839f98062f46e1cc359735cce8
dpdk_tarball_md5sum_21.11 := 58660bbbe9e95abce86e47692b196555
dpdk_tarball_md5sum := $(dpdk_tarball_md5sum_$(dpdk_version))
dpdk_url := $(dpdk_base_url)/$(dpdk_tarball) dpdk_url := $(dpdk_base_url)/$(dpdk_tarball)
dpdk_tarball_strip_dirs := 1 dpdk_tarball_strip_dirs := 1
ifeq ($(shell uname), FreeBSD)
dpdk_depends := $(if $(ARCH_X86_64), ipsec-mb)
else
dpdk_depends := rdma-core $(if $(ARCH_X86_64), ipsec-mb) dpdk_depends := rdma-core $(if $(ARCH_X86_64), ipsec-mb)
endif
ifeq ($(rdma-core_version),)
$(error Missing rdma-core_version)
endif
DPDK_MLX_DEFAULT := $(shell if grep -q "rdma=$(rdma-core_version) dpdk=$(dpdk_version)" mlx_rdma_dpdk_matrix.txt; then echo 'y'; else echo 'n'; fi) DPDK_MLX_DEFAULT := $(shell if grep -q "rdma=$(rdma-core_version) dpdk=$(dpdk_version)" mlx_rdma_dpdk_matrix.txt; then echo 'y'; else echo 'n'; fi)
DPDK_MLX4_PMD ?= $(DPDK_MLX_DEFAULT) DPDK_MLX4_PMD ?= $(DPDK_MLX_DEFAULT)
DPDK_MLX5_PMD ?= $(DPDK_MLX_DEFAULT) DPDK_MLX5_PMD ?= $(DPDK_MLX_DEFAULT)
@ -134,19 +133,14 @@ endif
DPDK_DRIVERS_DISABLED := $(shell echo $(DPDK_DRIVERS_DISABLED) | tr -d '\\\t ') DPDK_DRIVERS_DISABLED := $(shell echo $(DPDK_DRIVERS_DISABLED) | tr -d '\\\t ')
DPDK_LIBS_DISABLED := $(shell echo $(DPDK_LIBS_DISABLED) | tr -d '\\\t ') DPDK_LIBS_DISABLED := $(shell echo $(DPDK_LIBS_DISABLED) | tr -d '\\\t ')
SED=sed
ifeq ($(shell uname), FreeBSD)
SED=gsed
endif
HASH := \# HASH := \#
# post-meson-setup snippet to alter rte_build_config.h # post-meson-setup snippet to alter rte_build_config.h
define dpdk_config define dpdk_config
if grep -q RTE_$(1) $(dpdk_src_dir)/config/rte_config.h ; then \ if grep -q RTE_$(1) $(dpdk_src_dir)/config/rte_config.h ; then \
$(SED) -i -e 's/$(HASH)define RTE_$(1).*/$(HASH)define RTE_$(1) $(DPDK_$(1))/' \ sed -i -e 's/$(HASH)define RTE_$(1).*/$(HASH)define RTE_$(1) $(DPDK_$(1))/' \
$(dpdk_src_dir)/config/rte_config.h; \ $(dpdk_src_dir)/config/rte_config.h; \
elif grep -q RTE_$(1) $(dpdk_build_dir)/rte_build_config.h ; then \ elif grep -q RTE_$(1) $(dpdk_build_dir)/rte_build_config.h ; then \
$(SED) -i -e 's/$(HASH)define RTE_$(1).*/$(HASH)define RTE_$(1) $(DPDK_$(1))/' \ sed -i -e 's/$(HASH)define RTE_$(1).*/$(HASH)define RTE_$(1) $(DPDK_$(1))/' \
$(dpdk_build_dir)/rte_build_config.h; \ $(dpdk_build_dir)/rte_build_config.h; \
else \ else \
echo '$(HASH)define RTE_$(1) $(DPDK_$(1))' \ echo '$(HASH)define RTE_$(1) $(DPDK_$(1))' \
@ -162,7 +156,7 @@ if [[ "$(DPDK_$(1))" == "y" ]]; then \
>> $(dpdk_build_dir)/rte_build_config.h ; \ >> $(dpdk_build_dir)/rte_build_config.h ; \
fi; \ fi; \
elif [[ "$(DPDK_$(1))" == "n" ]]; then \ elif [[ "$(DPDK_$(1))" == "n" ]]; then \
$(SED) -i '/$(HASH)define RTE_$(1) .*/d' $(dpdk_build_dir)/rte_build_config.h \ sed -i '/$(HASH)define RTE_$(1) .*/d' $(dpdk_build_dir)/rte_build_config.h \
$(dpdk_src_dir)/config/rte_config.h ; \ $(dpdk_src_dir)/config/rte_config.h ; \
fi fi
endef endef
@ -178,7 +172,6 @@ DPDK_MESON_ARGS = \
-Db_pie=true \ -Db_pie=true \
-Dmachine=$(DPDK_MACHINE) \ -Dmachine=$(DPDK_MACHINE) \
--buildtype=$(DPDK_BUILD_TYPE) \ --buildtype=$(DPDK_BUILD_TYPE) \
-Denable_kmods=false \
${DPDK_MLX_CONFIG_FLAG} ${DPDK_MLX_CONFIG_FLAG}
PIP_DOWNLOAD_DIR = $(CURDIR)/downloads/ PIP_DOWNLOAD_DIR = $(CURDIR)/downloads/

View File

@ -11,13 +11,18 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
ipsec-mb_version := 2.0 ipsec-mb_version := 1.5
ipsec-mb_patch_version := 0 ipsec-mb_patch_version := 0
ipsec-mb_version_str := $(ipsec-mb_version).$(ipsec-mb_patch_version) ipsec-mb_version_str := $(ipsec-mb_version).$(ipsec-mb_patch_version)
ipsec-mb_tarball := v$(ipsec-mb_version).tar.gz ipsec-mb_tarball := v$(ipsec-mb_version).tar.gz
ipsec-mb_tarball_sha256sum_2.0 := 0c60e56f63b14212c7b388668acc219cbc6b79e5e79732aff7542fefbb498413 ipsec-mb_tarball_md5sum_1.0 := 906e701937751e761671dc83a41cff65
ipsec-mb_tarball_md5sum_1.1 := 3916471d3713d27e42473cb6af9c65e5
ipsec-mb_tarball_md5sum_1.2 := f551d9c208893a436c1f5c146a615bd6
ipsec-mb_tarball_md5sum_1.3 := d8692db9efe32a263b61f12ac0dca950
ipsec-mb_tarball_md5sum_1.4 := fddba2611f822296ddd82d1c31d22b24
ipsec-mb_tarball_md5sum_1.5 := f18680f8dd43208a15a19a494423bdb9
ipsec-mb_tarball_sha256sum := $(ipsec-mb_tarball_sha256sum_$(ipsec-mb_version)) ipsec-mb_tarball_md5sum := $(ipsec-mb_tarball_md5sum_$(ipsec-mb_version))
ipsec-mb_tarball_strip_dirs := 1 ipsec-mb_tarball_strip_dirs := 1
ipsec-mb_url := http://github.com/intel/intel-ipsec-mb/archive/$(ipsec-mb_tarball) ipsec-mb_url := http://github.com/intel/intel-ipsec-mb/archive/$(ipsec-mb_tarball)
ipsec-mb_system_header := $(wildcard /usr/include/intel-ipsec-mb.h) ipsec-mb_system_header := $(wildcard /usr/include/intel-ipsec-mb.h)
@ -27,7 +32,7 @@ define ipsec-mb_config_cmds
endef endef
define ipsec-mb_build_cmds define ipsec-mb_build_cmds
@$(MAKE) -C $(ipsec-mb_src_dir)/lib -j \ @make -C $(ipsec-mb_src_dir)/lib -j \
SHARED=n \ SHARED=n \
SAFE_PARAM=n \ SAFE_PARAM=n \
SAFE_LOOKUP=n \ SAFE_LOOKUP=n \

View File

@ -2,12 +2,12 @@
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# https://spdx.org/licenses/Apache-2.0.html # https://spdx.org/licenses/Apache-2.0.html
octeon-roc_version := 0.5 octeon-roc_version := 0.2
octeon-roc_tarball := v$(octeon-roc_version).tar.gz octeon-roc_tarball := octeon-roc-v$(octeon-roc_version).tar.gz
octeon-roc_tarball_sha256sum := 030fc0f58d761525bf8814ed9d95f5ce999541b19bd75eb123dee90c9e2c52a0 octeon-roc_tarball_md5sum := 3e122beb30d57d6f70ea5ee106465b3b
octeon-roc_tarball_strip_dirs := 1 octeon-roc_tarball_strip_dirs := 1
octeon-roc_url := https://github.com/MarvellEmbeddedProcessors/marvell-octeon-roc/archive/refs/tags/$(octeon-roc_tarball) octeon-roc_url := https://github.com/MarvellEmbeddedProcessors/marvell-vpp/archive/refs/tags/$(octeon-roc_tarball)
define octeon-roc_config_cmds define octeon-roc_config_cmds
@true @true

View File

@ -11,9 +11,9 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
quicly_version := 0.1.5-vpp quicly_version := 0.1.4-vpp
quicly_tarball := quicly_$(quicly_version).tar.gz quicly_tarball := quicly_$(quicly_version).tar.gz
quicly_tarball_sha256sum := fb50ad8ce1136561ee08df02131030d89e38acd2cf8e36c65c074f3bd5034938 quicly_tarball_md5sum := 5419a0f340c5572bcf682c08acc84c77
quicly_tarball_strip_dirs := 1 quicly_tarball_strip_dirs := 1
quicly_url := https://github.com/vpp-quic/quicly/releases/download/v$(quicly_version)/quicly_$(quicly_version).tar.gz quicly_url := https://github.com/vpp-quic/quicly/releases/download/v$(quicly_version)/quicly_$(quicly_version).tar.gz

View File

@ -23,10 +23,11 @@ RDMA_CORE_DEBUG?=n
# 2. Verify that the file build/external/dpdk_mlx_default.sh was generated # 2. Verify that the file build/external/dpdk_mlx_default.sh was generated
# and contains 'DPDK_MLX_DEFAULT=y' # and contains 'DPDK_MLX_DEFAULT=y'
# #
rdma-core_version := 52.0 rdma-core_version := 49.0
rdma-core_tarball := rdma-core-$(rdma-core_version).tar.gz rdma-core_tarball := rdma-core-$(rdma-core_version).tar.gz
rdma-core_tarball_sha256sum_52.0 := 1f0ce5f2462c982b20d21156707076278807a7adf4d10e9142f3be4bec1b2b83 rdma-core_tarball_md5sum_46.1 := 3ac7c00717ea2720df5d90f8a43ae33a
rdma-core_tarball_sha256sum := $(rdma-core_tarball_sha256sum_$(rdma-core_version)) rdma-core_tarball_md5sum_49.0 := 9fe3909f19c7e0276c9e546411bbb49c
rdma-core_tarball_md5sum := $(rdma-core_tarball_md5sum_$(rdma-core_version))
rdma-core_tarball_strip_dirs := 1 rdma-core_tarball_strip_dirs := 1
rdma-core_url := http://github.com/linux-rdma/rdma-core/releases/download/v$(rdma-core_version)/$(rdma-core_tarball) rdma-core_url := http://github.com/linux-rdma/rdma-core/releases/download/v$(rdma-core_version)/$(rdma-core_tarball)

View File

@ -14,9 +14,8 @@
xdp-tools_version := 1.2.9 xdp-tools_version := 1.2.9
xdp-tools_tarball := xdp-tools-$(xdp-tools_version).tar.gz xdp-tools_tarball := xdp-tools-$(xdp-tools_version).tar.gz
xdp-tools_tarball_sha256sum_1.2.9 := 3f8d30bd2e00c522103d224014f59a95400144aba1f3b322c6ad473541a0f99e xdp-tools_tarball_md5sum_1.2.9:= 6e4a49ceea8354bb7bb3b55990e9aed7
xdp-tools_tarball_md5sum := $(xdp-tools_tarball_md5sum_$(xdp-tools_version))
xdp-tools_tarball_sha256sum := $(xdp-tools_tarball_sha256sum_$(xdp-tools_version))
xdp-tools_tarball_strip_dirs := 1 xdp-tools_tarball_strip_dirs := 1
xdp-tools_url := https://github.com/xdp-project/xdp-tools/releases/download/v$(xdp-tools_version)/$(xdp-tools_tarball) xdp-tools_url := https://github.com/xdp-project/xdp-tools/releases/download/v$(xdp-tools_version)/$(xdp-tools_tarball)
@ -25,15 +24,15 @@ define xdp-tools_config_cmds
endef endef
define xdp-tools_build_cmds define xdp-tools_build_cmds
@cd ${xdp-tools_src_dir} && $(MAKE) V=1 BUILD_STATIC_ONLY=y > $(xdp-tools_build_log) @cd ${xdp-tools_src_dir} && make V=1 BUILD_STATIC_ONLY=y > $(xdp-tools_build_log)
endef endef
define xdp-tools_install_cmds define xdp-tools_install_cmds
@rm -f $(xdp-tools_install_log) @rm -f $(xdp-tools_install_log)
@cd ${xdp-tools_src_dir} && \ @cd ${xdp-tools_src_dir} && \
$(MAKE) -C lib/libbpf/src install V=1 BUILD_STATIC_ONLY=y PREFIX='' DESTDIR='$(xdp-tools_install_dir)' >> $(xdp-tools_install_log) make -C lib/libbpf/src install V=1 BUILD_STATIC_ONLY=y PREFIX='' DESTDIR='$(xdp-tools_install_dir)' >> $(xdp-tools_install_log)
@cd ${xdp-tools_src_dir} && \ @cd ${xdp-tools_src_dir} && \
$(MAKE) libxdp_install V=1 BUILD_STATIC_ONLY=y PREFIX='' DESTDIR='$(xdp-tools_install_dir)' >> $(xdp-tools_install_log) make libxdp_install V=1 BUILD_STATIC_ONLY=y PREFIX='' DESTDIR='$(xdp-tools_install_dir)' >> $(xdp-tools_install_log)
endef endef
$(eval $(call package,xdp-tools)) $(eval $(call package,xdp-tools))

View File

@ -1,30 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5142bac..7b95f74 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -33,6 +33,8 @@ ENDIF(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_C_FLAGS "-std=c99 -Wall -g ${CC_WARNING_FLAGS} ${CMAKE_C_FLAGS}")
SET(CMAKE_C_FLAGS_DEBUG "-O0")
SET(CMAKE_C_FLAGS_RELEASE "-O2")
+SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
+SET(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY true)
INCLUDE_DIRECTORIES(
${OPENSSL_INCLUDE_DIR}
@@ -118,6 +120,16 @@ TARGET_LINK_LIBRARIES(examples-echo quicly ${OPENSSL_LIBRARIES} ${CMAKE_DL_LIBS}
ADD_EXECUTABLE(udpfw t/udpfw.c)
+INSTALL (
+ DIRECTORY ${CMAKE_SOURCE_DIR}/include/
+ DESTINATION include
+ FILES_MATCHING PATTERN "*.h")
+
+INSTALL(TARGETS quicly
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
+
ADD_CUSTOM_TARGET(check env BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} WITH_DTRACE=${WITH_DTRACE} prove --exec "sh -c" -v ${CMAKE_CURRENT_BINARY_DIR}/*.t t/*.t
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
DEPENDS cli test.t)

View File

@ -1,30 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d1d6c09..90d7221 100644
--- a/deps/picotls/CMakeLists.txt
+++ b/deps/picotls/CMakeLists.txt
@@ -13,6 +13,9 @@ IF (WITH_DTRACE)
ENDIF ()
SET(CMAKE_C_FLAGS "-std=c99 -Wall -O2 -g ${CC_WARNING_FLAGS} ${CMAKE_C_FLAGS}")
+SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
+SET(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY true)
+
INCLUDE_DIRECTORIES(
deps/cifra/src/ext
deps/cifra/src
@@ -161,6 +164,15 @@ TARGET_LINK_LIBRARIES(ptlsbench ${PTLSBENCH_LIBS})
ADD_CUSTOM_TARGET(check env BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} prove --exec '' -v ${CMAKE_CURRENT_BINARY_DIR}/*.t t/*.t WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DEPENDS ${TEST_EXES} cli)
+INSTALL (DIRECTORY ${CMAKE_SOURCE_DIR}/include/
+ DESTINATION include
+ FILES_MATCHING PATTERN "*.h")
+
+INSTALL(TARGETS picotls-core picotls-openssl
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
+
IF (CMAKE_SYSTEM_NAME STREQUAL "Linux")
SET(CMAKE_C_FLAGS "-D_GNU_SOURCE -pthread ${CMAKE_C_FLAGS}")
ELSEIF ("${CMAKE_SYSTEM_NAME}" MATCHES "SunOS")

View File

@ -1,158 +0,0 @@
# Copyright (c) 2024 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
PKG_SUFFIX ?= $(shell git log --oneline v$(PKG_VERSION)-rc0.. . | wc -l)
include ../build_common.mk
include ../packages_common.mk
ifneq ($(shell uname), FreeBSD)
include packages/openssl.mk
endif # ! FreeBSD
.PHONY: clean
clean:
@rm -rf $(B) $(I)
.PHONY: install
ifeq ($(shell uname), FreeBSD)
install:
else
install: openssl-install
endif # FreeBSD
.PHONY: config
ifeq ($(shell uname), FreeBSD)
config:
else
config: openssl-config
endif # FreeBSD
##############################################################################
# .deb packaging
##############################################################################
DEB_VER := $(PKG_VERSION)
DEB_ARCH=$(shell dpkg --print-architecture 2> /dev/null)
DEV_DEB=vpp-opt-deps_$(DEB_VER)-$(PKG_SUFFIX)_$(DEB_ARCH).deb
INSTALLED_VER=$(shell dpkg-query --showformat='$${Version}' --show vpp-opt-deps 2> /dev/null)
.PHONY: build-deb install-deb check-deb
deb/debian/changelog: Makefile
@echo "vpp-opt-deps ($(DEB_VER)-$(PKG_SUFFIX)) unstable; urgency=low" > $@
@echo "" >> $@
@echo " * Version $(DEB_VER)" >> $@
@echo "" >> $@
@echo " -- VPP Dev <vpp-dev@lists.fd.io> $(shell date -R --date=@${SOURCE_DATE_EPOCH})" >> $@
$(DEV_DEB): deb/debian/changelog
@cd deb && dpkg-buildpackage -b -uc -us
git clean -fdx deb
build-deb: $(DEV_DEB)
install-deb:
ifneq ($(INSTALLED_VER),$(DEB_VER)-$(PKG_SUFFIX))
@$(MAKE) $(DEV_DEB)
@sudo dpkg -i $(DEV_DEB)
else
@echo "=========================================================="
@echo " Up-to-date vpp-opt-deps package already installed"
@echo "=========================================================="
endif
check-deb:
ifneq ($(INSTALLED_VER),$(DEB_VER)-$(PKG_SUFFIX))
@echo "=========================================================="
@echo " Out of date vpp-opt-deps package installed."
@echo " Installed: $(INSTALLED_VER)"
@echo " Needed: $(DEB_VER)-$(PKG_SUFFIX)"
@echo ""
@echo " Please upgrade by invoking 'make install-opt-deps'"
@echo " from the top level directory."
@echo "=========================================================="
endif
##############################################################################
# .rpm packaging
##############################################################################
RPM_VER := $(PKG_VERSION)
RPM_ARCH=$(shell rpm --eval "%{_arch}" 2> /dev/null)
DEV_RPM=vpp-opt-deps-$(RPM_VER)-$(PKG_SUFFIX).$(RPM_ARCH).rpm
INSTALLED_RPM_VER=$(shell rpm -q --queryformat '%{VERSION}-%{RELEASE}' vpp-opt-deps 2> /dev/null | grep -v "vpp-opt-deps")
.PHONY: build-rpm install-rpm check-rpm
$(DEV_RPM): Makefile rpm/vpp-opt-deps.spec
@rpmbuild -bb \
--define "_topdir $(CURDIR)/rpm" \
--define "_version $(RPM_VER)" \
--define "_release $(PKG_SUFFIX)" \
$(CURDIR)/rpm/vpp-opt-deps.spec
mv rpm/RPMS/$(RPM_ARCH)/*.rpm .
@git clean -fdx rpm
build-rpm: $(DEV_RPM)
install-rpm:
ifneq ($(INSTALLED_RPM_VER),$(RPM_VER)-$(PKG_SUFFIX))
@$(MAKE) $(DEV_RPM)
sudo rpm -e vpp-opt-deps || true
sudo rpm -Uih --force $(DEV_RPM)
else
@echo "=========================================================="
@echo " Up-to-date vpp-opt-deps package already installed"
@echo "=========================================================="
endif
check-rpm:
ifneq ($(INSTALLED_RPM_VER),$(RPM_VER)-$(PKG_SUFFIX))
@echo "=========================================================="
@echo " Out of date vpp-opt-deps package installed."
@echo " Installed: $(INSTALLED_RPM_VER)"
@echo " Needed: $(RPM_VER)-$(PKG_SUFFIX)"
@echo ""
@echo " Please upgrade by invoking 'make install-opt-deps'"
@echo " from the top level directory."
@echo "=========================================================="
endif
##############################################################################
# ebuild support
##############################################################################
.PHONY: ebuild-build ebuild-install
ebuild-build:
ifeq ($(INSTALLED_VER)$(INSTALLED_RPM_VER),)
@echo "=========================================================="
@echo "Building vpp-opt-deps from source. Consider installing"
@echo "development package by invoking 'make install-opt-deps'"
@echo "from the top level directory"
@echo "=========================================================="
$(MAKE) config
else
ifneq ($(INSTALLED_VER),)
$(MAKE) check-deb
endif
ifneq ($(INSTALLED_RPM_VER),)
$(MAKE) check-rpm
endif
endif
ebuild-install:
ifeq ($(INSTALLED_VER)$(INSTALLED_RPM_VER),)
$(MAKE) install
endif

View File

@ -1 +0,0 @@
10

View File

@ -1,11 +0,0 @@
Source: vpp-opt-deps
Section: net
Priority: extra
Maintainer: vpp-dev@lists.fd.io
Build-Depends: debhelper (>= 9), dkms
Standards-Version: 3.9.4
Package: vpp-opt-deps
Architecture: any
Depends: ${shlibs:Depends}
Description: VPP developer package containing optional dependencies

View File

@ -1,33 +0,0 @@
#!/usr/bin/make -f
DH_VERBOSE = 1
DEB_BUILD_OPTIONS = noddebs
DEB_CFLAGS_MAINT_STRIP = -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -O2
DEB_LDFLAGS_MAINT_STRIP = -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects
DEB_CFLAGS_MAINT_APPEND = -O3
PKG=vpp-opt-deps
VERSION = $(shell dpkg-parsechangelog | sed -nr '/^Version:/s/Version: //p')
BASE_VER = $(word 1, $(subst -, ,$(VERSION)))
export BUILD_DIR=$(CURDIR)/_build
export INSTALL_DIR=$(CURDIR)/debian/tmp/opt/vpp/optional/$(shell uname -m)/
MAKE_ARGS=-C ..
include /usr/share/dpkg/default.mk
%:
dh $@
override_dh_clean:
make $(MAKE_ARGS) clean
override_dh_auto_configure:
override_dh_install:
make $(MAKE_ARGS) install
@mkdir -p $(INSTALL_DIR)
dh_install -p$(PKG) --autodest /opt
override_dh_shlibdeps:
dh_shlibdeps -l$(INSTALL_DIR)lib/:$(INSTALL_DIR)lib64

View File

@ -1,44 +0,0 @@
# Copyright (c) 2024 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
openssl_version := 3.4.0
openssl_tarball := openssl-$(openssl_version).tar.gz
openssl_tarball_sha256sum := e15dda82fe2fe8139dc2ac21a36d4ca01d5313c75f99f46c4e8a27709b7294bf
openssl_tarball_strip_dirs := 1
openssl_url := https://github.com/openssl/openssl/releases/download/openssl-$(openssl_version)/$(openssl_tarball)
define openssl_config_args
--prefix=$(openssl_install_dir) \
--openssldir=$(openssl_build_dir) \
no-dtls1
endef
define openssl_config_cmds
@cd $(openssl_src_dir) && \
$(openssl_src_dir)/config \
$(openssl_config_args) | tee -a $(openssl_config_log)
endef
define openssl_build_cmds
@cd $(openssl_src_dir) && \
$(MAKE) depend build_sw | tee $(openssl_build_log)
endef
define openssl_install_cmds
@cd $(openssl_src_dir) && \
$(MAKE) install_sw | tee $(openssl_install_log)
endef
$(eval $(call package,openssl))

14
configure vendored
View File

@ -33,7 +33,6 @@ OPTIONS:
--wipe, -w Wipe whole repo (except startup.* files) --wipe, -w Wipe whole repo (except startup.* files)
--sanitize, -s Enable sanitizer (mem) --sanitize, -s Enable sanitizer (mem)
--platform, -p Specify target platform --platform, -p Specify target platform
--option, -o Enable specific VPP options (fib8, fib16)
__EOF__ __EOF__
} }
@ -105,19 +104,6 @@ while (( "$#" )); do
;; ;;
esac esac
;; ;;
-o|--option)
shift 1
case "$1" in
fib8)
shift 1
args+=("-DVPP_IP_FIB_MTRIE_16=OFF")
;;
fib16)
shift 1
args+=("-DVPP_IP_FIB_MTRIE_16=ON")
;;
esac
;;
-*|--*=) # unsupported flags -*|--*=) # unsupported flags
echo "Error: Unsupported flag $1" >&2 echo "Error: Unsupported flag $1" >&2
exit 1 exit 1

View File

@ -70,7 +70,7 @@ venv:
spell: venv spell: venv
@( \ @( \
. ${VENV_DIR}/bin/activate; \ . ${VENV_DIR}/bin/activate; \
$(MAKE) -C ${SCRIPTS_DIR} generate && \ make -C ${SCRIPTS_DIR} generate && \
$(SPHINXBUILD) -b spelling $(SPHINXOPTS) $(BUILDDIR_SRC) $(BUILDDIR_OUT); \ $(SPHINXBUILD) -b spelling $(SPHINXOPTS) $(BUILDDIR_SRC) $(BUILDDIR_OUT); \
) )
@ -81,7 +81,7 @@ rebuild-spell: clean spell
docs: venv docs: venv
@( \ @( \
. ${VENV_DIR}/bin/activate; \ . ${VENV_DIR}/bin/activate; \
$(MAKE) -C ${SCRIPTS_DIR} generate && \ make -C ${SCRIPTS_DIR} generate && \
$(SPHINXBUILD) $(SPHINXOPTS) -b html $(BUILDDIR_SRC) $(BUILDDIR_OUT); \ $(SPHINXBUILD) $(SPHINXOPTS) -b html $(BUILDDIR_SRC) $(BUILDDIR_OUT); \
) )
@ -90,7 +90,7 @@ rebuild: clean docs
.PHONY: clean .PHONY: clean
clean: clean:
@$(MAKE) -C ${SCRIPTS_DIR} clean @make -C ${SCRIPTS_DIR} clean
.PHONY: build .PHONY: build
build: docs build: docs

View File

@ -6,8 +6,10 @@ Release notes
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
v24.10
v24.06
v24.02 v24.02
v23.10 v23.10
v23.06
v23.02
v22.10.1
v22.10
past past

Some files were not shown because too many files have changed in this diff Show More