Compare commits

..

21 Commits

Author SHA1 Message Date
1b93285ce0 nat: fix nat44 vrf handlers
Change of enums used in REPLY_MACRO() to appropriate one
for handlers:
-vl_api_nat44_ed_add_del_vrf_table_t_handler
-vl_api_nat44_ed_add_del_vrf_route_t_handler

Type: fix

Change-Id: I58e97817b1678da7c025c0d03a8b938a4e0f7b6c
Signed-off-by: Daniel Béreš <daniel.beres@pantheon.tech>
(cherry picked from commit 2c03879ce4)
2023-03-31 15:22:28 +00:00
57302fe52f misc: VPP 22.10.1 Release Notes
Type: docs
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I70374ea376c895d92d5789debf4b437113e3d884
2023-02-10 19:20:28 -05:00
6d93d060a8 misc: VPP 22.06.1 Release Notes
Type: docs
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I8770a35c801126ffd2de8f58d79e6616642709a9
(cherry picked from commit 1513b381d8)
2023-02-10 14:23:56 -05:00
474f0ba2ab ipsec: fix AES CBC IV generation (CVE-2022-46397)
For AES-CBC, the IV must be unpredictable (see NIST SP800-38a Appendix
C). Chaining IVs like is done by ipsecmb and native backends for the
VNET_CRYPTO_OP_FLAG_INIT_IV is fully predictable.
Encrypt a counter as part of the message, making the (predictable)
counter-generated IV unpredictable.

Fixes: VPP-2037
Type: fix

Change-Id: If4f192d62bf97dda553e7573331c75efa11822ae
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2023-02-03 21:04:11 -05:00
b89dcf8241 dpdk: link DPDK with MLX4/MLX5 libraries again
Previously it was linked and worker properly. While rdma build
was simplified, link was lost so all encrypted data won't pass
via Mellanox interfaces(ipsec, ipip, ssh etc) and NetVSC taps
won't created the right way.

 Errors:
mlx5_common: Verbs device not found: 21a5:00:02.0
mlx5_common: Failed to initialize device context.
EAL: Requested device 21a5:00:02.0 cannot be used
 Tested on Azure. Same errors appears on physical machine with
Mellanox connect adapter

Type: fix

Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com>
Change-Id: Ib68976282e0ed91c016a7318db6b5eddf5510c47
(cherry picked from commit 413447451e)
2022-12-21 19:55:00 +00:00
4b6fb593fb vapi: use the correct my_context_id when disconnecting API clients
While before the my_client_index variable was stored as global variable
in api_main_t, after commit 2ca88ff978
the my_client_index becomes part of vapi_ctx_t.

Each API client (internal/external) connected to VPP stores its
client index in vapi_ctx_t.

The issue is in the client disconnection. The vapi_disconnect is
untouched in patch 2ca88ff978,
so it keeps the behavior of using the my_client_index stored
in api_main_t.

Ticket: VPP-2069
Type: fix
Fixes: 2ca88ff978

Signed-off-by: Mauro Sardara <msardara@cisco.com>
Change-Id: Idf8c1d1056cbd631cc3057cf7acc486216fa8303
(cherry picked from commit 8c626b41ea)
2022-12-20 12:09:26 +00:00
267175fd04 ipsec: Failure at the start of the batch should not invalidate the rest of the batch
Type: fix

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Icd1e43a5764496784c355c93066273435f16dd35
(cherry picked from commit fe2d23f916)
2022-11-21 01:02:29 +00:00
07e0c05e69 misc: VPP 22.10 Release Notes
Type: docs

Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: If0f2ca0344640b064fde52b8f2c09a340ed9c71b
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2022-10-26 12:53:34 +00:00
ad569da163 packetforge: fix GTP-Extension header field data
Fix the incorrect fields data of GTP-Extension header.

Type: fix
Signed-off-by: Ting Xu <ting.xu@intel.com>
Change-Id: Iafc5e852910649afcf0e583a5513b1ab33f5b5e8
(cherry picked from commit c9d916c7cc)
2022-10-25 02:07:51 +00:00
92ab02e8c0 docs: update cnat docs to current vpp version
The documentation for the cnat plugin is highly outdated specially on
the snat section.

Type: docs

Signed-off-by: Miguel Borges de Freitas <miguel-r-freitas@alticelabs.com>
Change-Id: I30b0c6295d3c812b636374753af3c37f29b0cc53
(cherry picked from commit 938bff8084)
2022-10-24 16:19:59 +00:00
f06253edb0 vppinfra: fix incorrect sizeof() argument due to typo
fixes coverity 282527

Type: fix
Fixes: fecb2524ab
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: I9ac72c3802e66369a8f24c92451e33f22c058f24
(cherry picked from commit 0d36720f8d)
2022-10-24 13:21:54 +00:00
e3618c1960 crypto-sw-scheduler: fix queue iterator
When there are several workers, iterator can and will skip
head iterator and it will last until BARRIER_SYNC_TIMEOUT won't
expire and will cause SIGABRT with `worker thread deadlock`

Type: fix

Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com>
Change-Id: Id4def4d5894e077ae27592367b141ecd822e86af
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
(cherry picked from commit 65bff88c36)
2022-10-20 22:13:34 +00:00
b807f08d87 vppinfra: send minimal needed mask to the set_mempolicy syscall
Type: fix
fixes: 561ae5d

Change-Id: I0d98f5b43bc9ab5d31463b285177a11a10b864d2
Signed-off-by: Damjan Marion <dmarion@me.com>
(cherry picked from commit fecb2524ab)
2022-10-18 15:41:42 +00:00
225d15cae9 vpp-swan: Add plugin for vpp-swan
Added plugin vpp-swan is a plugin that helps offloading
Strongswan IPsec ESP process from Linux Kernel to VPP.

Type: feature
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Change-Id: Iec77945892453fac1890d3c49d7d86fc6b09c893
(cherry picked from commit 4e88e041ad)
2022-10-18 06:26:30 +00:00
994d86f70e vlib: Counter free needs to NULL the allocated counter vector
otherwise the next time the counter is validated this is dangling.

Type: fix
Fixes: 58fd481d73

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Ifa8d5ff27175cf6dfb30cbf023fa3251fe5c780e
(cherry picked from commit 80c0ae2437)
2022-10-17 05:44:34 +00:00
13c7e8f7a1 docs: fix memory traces command
Type: fix

Change-Id: I8fc949da209a5067c702952fbd0e6ce77b921d02
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 70892fcada)
2022-10-13 18:19:15 +00:00
61bae8a54d 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
(cherry picked from commit 14b118b4c7)
2022-10-07 18:54:15 +00:00
582c81e686 rdma: unhackish build of rdma-core
Change-Id: I2040b560b2a00f8bd176ae6ad46035678a2b249e
Type: improvement
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
(cherry picked from commit 45e4e9444d)
2022-10-05 02:19:30 +00:00
9aae8a4a9e 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>
(cherry picked from commit 4e939ced65)
2022-10-05 00:58:06 +00:00
569763f948 vcl: repatch "align the RST behaviour with kernel"
The previous patch[37164] was a bit flawed.

Type: fix
Signed-off-by: Yacan Liu <liuyacan@corp.netease.com>
Change-Id: Ia9d8b9c7853e8f4b960ce7de26d0384243deb667
(cherry picked from commit ab15770ec6)
2022-09-27 06:09:28 +00:00
f845abb5dd misc: Initial changes for stable/2210 branch
Type: docs
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: I5b0e4a503867d339b901ef1a5a9ebc938bcd068b
2022-09-21 13:00:17 +00:00
1352 changed files with 23381 additions and 93261 deletions

View File

@ -13,32 +13,18 @@ ForEachMacros:
- 'clib_bitmap_foreach'
- 'pool_foreach'
- 'pool_foreach_index'
- 'pool_foreach_pointer'
- 'vec_foreach'
- 'vec_foreach_backwards'
- 'vec_foreach_index'
- 'vec_foreach_index_backwards'
- 'vec_foreach_pointer'
- 'vlib_foreach_rx_tx'
- 'foreach_int'
- 'foreach_pointer'
- 'foreach_vlib_main'
- 'foreach_set_bit_index'
- 'foreach_vlib_frame_bitmap_set_bit_index'
- 'FOREACH_ARRAY_ELT'
- 'RTE_ETH_FOREACH_DEV'
- 'foreach_vnet_dev_rx_queue_runtime'
- 'foreach_vnet_dev_counter'
- 'foreach_vnet_dev_port_rx_queue'
- 'foreach_vnet_dev_port_tx_queue'
- 'foreach_vnet_dev_port'
- 'foreach_vnet_dev_args'
- 'foreach_vnet_dev_port_args'
StatementMacros:
- 'CLIB_MULTIARCH_FN'
- 'VLIB_NODE_FN'
- 'VNET_DEV_NODE_FN'
- 'VNET_DEVICE_CLASS_TX_FN'
- '__clib_section'
- '__clib_aligned'

31
.gitignore vendored
View File

@ -16,8 +16,14 @@
/build-root/*.tar.xz
/build-root/*.changes
/build-root/rpmbuild/
/build-root/test-coverage/
/build-root/test-doc/
/build-root/test-cov/
/build-root/test/
/test/run/
/test/build/
/test/coverage/
/test/vapi_test/
/test/doc/build/
/build-config.mk
/build/external/*.tar.gz
/build/external/*.tar.xz
@ -82,7 +88,6 @@ GTAGS
# language servers
compile_commands.json
.clangd
.cache
# indent backup files
*.BAK
@ -114,25 +119,3 @@ compile_commands.json
# debian packaging
.pc
# No test log files
**/test-run-*-*-*
# host stack test framework
/extras/hs-test/vpp-data
/extras/hs-test/hs-test
/extras/hs-test/http_server
/extras/hs-test/.build.vpp
# ./configure
/CMakeFiles
/bin
/lib
/.ninja_deps
/.ninja_log
/.cmake
/CMakeCache.txt
/build.ninja
/cmake_install.cmake
/startup.conf
/startup.vpp

View File

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

View File

@ -86,10 +86,6 @@ committers:
company: 'intel'
email: 'roy.fan.zhang@intel.com'
id: 'royzhang1980'
- name: 'Mohammed HAWARI'
company: 'cisco'
email: 'momohawari@gmail.com'
id: 'momohawari'
tsc:
# yamllint disable rule:line-length
approval: 'https://wiki.fd.io/view/TSC/Meeting_Minutes'
@ -100,6 +96,3 @@ tsc:
- type: 'Addition'
name: 'Fan Zhang'
link: 'https://lists.fd.io/g/vpp-dev/message/19068'
- type: 'Approval'
name: 'Mohammed HAWARI'
link: 'https://ircbot.wl.linuxfoundation.org/meetings/fdio-meeting/2023/fd_io_tsc/fdio-meeting-fd_io_tsc.2023-06-01-15.00.html'

View File

@ -98,41 +98,31 @@ I: policer
M: Neale Ranns <neale@graphiant.com>
F: src/vnet/policer/
VNET New Device Drivers Infra
I: dev
M: Damjan Marion <damarion@cisco.com>
F: src/vnet/dev/
VNET Device Drivers
I: devices
Y: src/vnet/devices/af_packet/FEATURE.yaml
Y: src/vnet/devices/pipe/FEATURE.yaml
M: Damjan Marion <damarion@cisco.com>
F: src/vnet/devices/
AF PACKET Drivers
I: af_packet
Y: src/plugins/af_packet/FEATURE.yaml
M: Mohsin Kazmi <mohsin.kazmi14@gmail.com>
F: src/plugins/af_packet
VNET TAP Drivers
I: tap
Y: src/vnet/devices/tap/FEATURE.yaml
M: Damjan Marion <damarion@cisco.com>
M: Steven Luong <sluong@cisco.com>
M: Mohsin Kazmi <mohsin.kazmi14@gmail.com>
M: Mohsin Kazmi <sykazmi@cisco.com>
F: src/vnet/devices/tap/
VNET Vhost User Driver
I: vhost
Y: src/plugins/vhost/FEATURE.yaml
Y: src/vnet/devices/virtio/FEATURE.yaml
M: Steven Luong <sluong@cisco.com>
F: src/plugins/vhost
F: src/vnet/devices/virtio/vhost_user*
VNET Native Virtio Drivers
I: virtio
Y: src/vnet/devices/virtio/FEATURE.yaml
M: Mohsin Kazmi <mohsin.kazmi14@gmail.com>
M: Mohsin Kazmi <sykazmi@cisco.com>
M: Damjan Marion <damarion@cisco.com>
F: src/vnet/devices/virtio/
@ -199,7 +189,7 @@ VNET IPSec
I: ipsec
M: Neale Ranns <neale@graphiant.com>
M: Radu Nicolau <radu.nicolau@intel.com>
M: Fan Zhang <fanzhang.oss@gmail.com>
M: Fan Zhang <roy.fan.zhang@intel.com>
F: src/vnet/ipsec/
VNET Crypto Infra
@ -231,12 +221,12 @@ F: src/plugins/crypto_openssl/
Plugin - Crypto - ipsecmb
I: crypto-ipsecmb
M: Neale Ranns <neale@graphiant.com>
M: Fan Zhang <fanzhang.oss@gmail.com>
M: Fan Zhang <roy.fan.zhang@intel.com>
F: src/plugins/crypto_ipsecmb/
Plugin - Crypto - sw_scheduler
I: crypto-sw-scheduler
M: Fan Zhang <fanzhang.oss@gmail.com>
M: Fan Zhang <roy.fan.zhang@intel.com>
F: src/plugs/crypto_sw_scheduler/
VNET L2
@ -253,7 +243,7 @@ F: src/vnet/gre/
VNET GSO
I: gso
M: Andrew Yourtchenko <ayourtch@gmail.com>
M: Mohsin Kazmi <mohsin.kazmi14@gmail.com>
M: Mohsin Kazmi <sykazmi@cisco.com>
F: src/vnet/gso/
Plugin - MAP
@ -293,10 +283,9 @@ F: src/vnet/udp
VNET VXLAN
I: vxlan
Y: src/plugins/vxlan/FEATURE.yaml
M: John Lo <lojultra2020@outlook.com>
M: Steven Luong <sluong@cisco.com>
F: src/plugins/vxlan/
F: src/vnet/vxlan/
VNET VXLAN-GPE
I: vxlan-gpe
@ -363,7 +352,7 @@ F: src/vnet/flow/
VNET Hash
I: hash
M: Mohsin Kazmi <mohsin.kazmi14@gmail.com>
M: Mohsin Kazmi <sykazmi@cisco.com>
M: Damjan Marion <damarion@cisco.com>
F: src/vnet/hash/
@ -410,22 +399,6 @@ I: avf
M: Damjan Marion <damarion@cisco.com>
F: src/plugins/avf/
Plugin - IAVF Device driver
I: iavf
M: Damjan Marion <damarion@cisco.com>
F: src/plugins/dev_iavf/
Plugin - Amazon Elastic Network Adapter (ENA) device driver
I: ena
M: Damjan Marion <damarion@cisco.com>
F: src/plugins/dev_ena/
Plugin - Marvell Octeon device driver
I: octeon
M: Monendra Singh Kushwaha <kmonendra@marvell.com>
M: Damjan Marion <damarion@cisco.com>
F: src/plugins/dev_octeon/
Plugin - Dispatch Trace PCAP
I: dispatch-trace
M: Dave Barach <vpp@barachs.net>
@ -439,8 +412,9 @@ F: src/plugins/dpdk/
Plugin - DPDK Crypto
I: dpdk-cryptodev
M: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@outlook.com>
M: Radu Nicolau <radu.nicolau@intel.com>
M: Fan Zhang <fanzhang.oss@gmail.com>
M: Fan Zhang <roy.fan.zhang@intel.com>
F: src/plugins/dpdk/cryptodev/
Plugin - flowprobe
@ -449,11 +423,6 @@ Y: src/plugins/flowprobe/FEATURE.yaml
M: Ole Troan <otroan@employees.org>
F: src/plugins/flowprobe/
Plugin - fateshare
I: fateshare
M: Andrew Yourtchenko <ayourtch@gmail.com>
F: src/plugins/fateshare/
Plugin - http_static
I: http_static
M: Dave Barach <vpp@barachs.net>
@ -597,11 +566,6 @@ M: Dave Barach <vpp@barachs.net>
M: Florin Coras <fcoras@cisco.com>
F: src/plugins/unittest/
Plugin - IDPF Device driver
I: idpf
M: Ting Xu <ting.xu@intel.com>
F: src/plugins/idpf/
Plugin - Intel DMA engines
I: dma_intel
M: Marvin Liu <yong.liu@intel.com>
@ -686,7 +650,7 @@ F: src/plugins/snort/
libmemif
I: libmemif
M: Mohsin Kazmi <sykazmi@cisco.com>
M: Damjan Marion <damarion@cisco.com>
F: extras/libmemif
gomemif
@ -772,7 +736,7 @@ F: src/plugins/cnat
Plugin - Wireguard
I: wireguard
M: Artem Glazychev <artem.glazychev@xored.com>
M: Fan Zhang <fanzhang.oss@gmail.com>
M: Fan Zhang <roy.fan.zhang@intel.com>
F: src/plugins/wireguard
Packetforge
@ -801,11 +765,6 @@ I: geneve
M: community vpp-dev@lists.fd.io
F: src/plugins/geneve/
Plugin - IP session redirect
I: ip_session_redirect
M: Benoît Ganne <bganne@cisco.com>
F: src/plugins/ip_session_redirect/
Plugin - linux-cp
I: linux-cp
M: Neale Ranns <neale@graphiant.com>
@ -837,21 +796,6 @@ I: prom
M: Florin Coras <fcoras@cisco.com>
F: src/plugins/prom
Plugin - BPF Trace Filter
I: bpf_trace_filter
M: Mohammed Hawari <mohammed@hawari.fr>
F: src/plugins/bpf_trace_filter
Plugin - NPTv6
I: npt66
M: Ole Troan <otroan@employees.org>
F: src/plugins/npt66
Plugin - Trace node
I: tracenode
M: Maxime Peim <mpeim@cisco.com>
F: src/plugins/tracenode
cJSON
I: cjson
M: Ole Troan <ot@cisco.com>
@ -875,17 +819,10 @@ F: src/extras/rpm/opensuse
VPP StrongSwan Daemon
I: vpp-swan
M: Fan Zhang <fanzhang.oss@gmail.com>
M: Fan Zhang <roy.fan.zhang@intel.com>
M: Gabriel Oginski <gabrielx.oginski@intel.com>
F: extras/strongswan/vpp_sswan
Host stack test framework
I: hs-test
M: Florin Coras <fcoras@cisco.com>
M: Filip Tehlar <ftehlar@cisco.com>
M: Maros Ondrejicka <maros.ondrejicka@pantheon.tech>
F: extras/hs-test
THE REST
I: misc
M: vpp-dev Mailing List <vpp-dev@fd.io>

161
Makefile

File diff suppressed because it is too large Load Diff

View File

@ -42,4 +42,4 @@ external_configure = echo
external_build = echo
external_install = $(MAKE) $(DPDK_MAKE_ARGS) -C external ebuild-build ebuild-install
external_install = make $(DPDK_MAKE_ARGS) -C external ebuild-build ebuild-install

View File

@ -30,15 +30,6 @@ vpp_cmake_args += -DCMAKE_PREFIX_PATH:PATH="$(vpp_cmake_prefix_path)"
ifeq ("$(V)","1")
vpp_cmake_args += -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
endif
ifneq ($(VPP_PLATFORM),)
vpp_cmake_args += -DVPP_PLATFORM="$(VPP_PLATFORM)"
endif
ifneq ($(VPP_EXCLUDED_PLUGINS),)
vpp_cmake_args += -DVPP_EXCLUDED_PLUGINS="$(VPP_EXCLUDED_PLUGINS)"
endif
ifneq (${SOURCE_DATE_EPOCH}),)
vpp_cmake_args += -DVPP_SOURCE_DATE_EPOCH="$(SOURCE_DATE_EPOCH)"
endif
ifneq ($(VPP_EXTRA_CMAKE_ARGS),)
vpp_cmake_args += $(VPP_EXTRA_CMAKE_ARGS)

View File

@ -39,7 +39,7 @@
######################################################################
# Scripts require non-POSIX parts of bash
SHELL := $(shell which bash)
SHELL := /bin/bash
# Where this makefile lives
MU_BUILD_ROOT_DIR = $(shell pwd)
@ -365,7 +365,7 @@ NATIVE_TOOLS_$(IS_LINUX) += $(NATIVE_TOOLS_LINUX)
CROSS_TOOLS_$(IS_LINUX) += glibc gcc
# must be first for bootstrapping
NATIVE_TOOLS = findutils $(MAKE)
NATIVE_TOOLS = findutils make
# basic tools needed for build system
NATIVE_TOOLS += git automake autoconf libtool texinfo tar
@ -614,7 +614,7 @@ check_platform = \
-a ! -x "`which 2> /dev/null $${target_gcc}`" ] ; then \
$(call build_msg_fn, \
No cross-compiler found for platform $(PLATFORM) target $(TARGET); \
try $(MAKE) PLATFORM=$(PLATFORM) install-tools) ; \
try make PLATFORM=$(PLATFORM) install-tools) ; \
exit 1 ; \
fi
@ -800,7 +800,7 @@ pull-all:
$(call build_msg_fn,Git pull build tools) ; \
$(call tool_make_target_fn,pull-all) ; \
$(call build_msg_fn,Git pull packages for platform $(PLATFORM)) ; \
$(MAKE) PLATFORM=$(PLATFORM) $(patsubst %,%-pull-all,$(ROOT_PACKAGES))
make PLATFORM=$(PLATFORM) $(patsubst %,%-pull-all,$(ROOT_PACKAGES))
.PHONY: %-diff
%-diff:
@ -962,13 +962,13 @@ $(PLATFORM_IMAGE_DIR)/ro.img ro-image: $(patsubst %,%-find-source,$(ROOT_PACKAGE
chmod 0755 $${tmp_dir} ; \
cd $${tmp_dir} ; \
trap "rm -rf $${tmp_dir}" err ; \
fakeroot $(SHELL) -c "{ \
fakeroot /bin/bash -c "{ \
set -eu$(BUILD_DEBUG) ; \
$(MAKE) -C $(MU_BUILD_ROOT_DIR) IMAGE_INSTALL_DIR=$${tmp_dir} \
$(patsubst %,%-image_install, \
basic_system \
$(ROOT_PACKAGES)) ; \
: $(MAKE) dev directory ; \
: make dev directory ; \
$(linuxrc_makedev) ; \
echo @@@@ Relocating ELF executables to run in / @@@@ ; \
scripts/set-rpath /$(arch_lib_dir):/lib ; \
@ -1054,7 +1054,7 @@ rw-image: rw-image-check-type ro-image
chmod 0755 $${tmp_dir} ; \
cd $${tmp_dir} ; \
trap "rm -rf $${tmp_dir}" err ; \
fakeroot $(SHELL) -c "{ \
fakeroot /bin/bash -c "{ \
set -eu$(BUILD_DEBUG) ; \
$(linuxrc_makedev) ; \
$(call rw_image_embed_ro_image_fn,$${ro_image}) ; \

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/bin/bash
# Copyright (c) 2015 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");

View File

@ -12,15 +12,15 @@
# limitations under the License.
# Scripts require non-POSIX parts of bash
SHELL := $(shell which bash)
SHELL := /bin/bash
DL_CACHE_DIR = $(HOME)/Downloads
MAKE ?= make
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)
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)
@ -34,22 +34,20 @@ 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/quicly.mk
include packages/rdma-core.mk
include packages/dpdk.mk
include packages/xdp-tools.mk
include packages/octeon-roc.mk
include packages/libbpf.mk
.PHONY: clean
clean:
@rm -rf $(B) $(I)
.PHONY: install
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 libbpf-install
.PHONY: config
config: $(if $(ARCH_X86_64), ipsec-mb-config) dpdk-config rdma-core-config quicly-build
@ -70,7 +68,7 @@ deb/debian/changelog: Makefile
@echo "" >> $@
@echo " * Version $(DEB_VER)" >> $@
@echo "" >> $@
@echo " -- VPP Dev <vpp-dev@lists.fd.io> $(shell date -R --date=@${SOURCE_DATE_EPOCH})" >> $@
@echo " -- VPP Dev <vpp-dev@lists.fd.io> $(shell date -R)" >> $@
$(DEV_DEB): deb/debian/changelog
@cd deb && dpkg-buildpackage -b -uc -us
@ -158,17 +156,17 @@ ifeq ($(INSTALLED_VER)$(INSTALLED_RPM_VER),)
@echo "development package by invoking 'make install-ext-deps'"
@echo "from the top level directory"
@echo "=========================================================="
$(MAKE) config
make config
else
ifneq ($(INSTALLED_VER),)
make check-deb
endif
ifneq ($(INSTALLED_RPM_VER),)
$(MAKE) check-rpm
make check-rpm
endif
endif
ebuild-install:
ifeq ($(INSTALLED_VER)$(INSTALLED_RPM_VER),)
$(MAKE) install
make install
endif

View File

@ -26,7 +26,6 @@ override_dh_auto_configure:
override_dh_install:
make $(MAKE_ARGS) install
@mkdir -p $(INSTALL_DIR)
dh_install -p$(PKG) --autodest /opt
override_dh_shlibdeps:

View File

@ -1,2 +1 @@
rdma=46.1 dpdk=23.07
rdma=49.0 dpdk=23.11
rdma=41.0 dpdk=22.07

View File

@ -101,18 +101,11 @@ define $1_config_cmds
endef
endif
ifneq ($(filter $1,$(VPP_SKIP_EXTERNAL)), $1)
$(B)/.$1.config.ok: $(B)/.$1.patch.ok $(addprefix $(B)/.,$(addsuffix .install.ok,$($1_depends)))
$(B)/.$1.config.ok: $(B)/.$1.patch.ok $(addsuffix -install,$($1_depends))
$$(call h1,"configuring $1 $($1_version) - log: $$($1_config_log)")
@mkdir -p $$($1_build_dir)
$$(call $1_config_cmds)
@touch $$@
else
$(B)/.$1.config.ok:
$$(call h1,"Skipping $1 $($1_version)")
@mkdir -p $(B)
@touch $$@
endif
.PHONY: $1-config
$1-config: $(B)/.$1.config.ok
@ -127,17 +120,10 @@ define $1_build_cmds
endef
endif
ifneq ($(filter $1,$(VPP_SKIP_EXTERNAL)), $1)
$(B)/.$1.build.ok: $(B)/.$1.config.ok
$$(call h1,"building $1 $($1_version) - log: $$($1_build_log)")
$$(call $1_build_cmds)
@touch $$@
else
$(B)/.$1.build.ok:
$$(call h1,"Skipping $1 $($1_version)")
@mkdir -p $(B)
@touch $$@
endif
.PHONY: $1-build
$1-build: $(B)/.$1.build.ok
@ -152,17 +138,10 @@ define $1_install_cmds
endef
endif
ifneq ($(filter $1,$(VPP_SKIP_EXTERNAL)), $1)
$(B)/.$1.install.ok: $(B)/.$1.build.ok
$$(call h1,"installing $1 $($1_version) - log: $$($1_install_log)")
$$(call $1_install_cmds)
@touch $$@
else
$(B)/.$1.install.ok:
$$(call h1,"Skipping $1 $($1_version)")
@mkdir -p $(B)
@touch $$@
endif
.PHONY: $1-install
$1-install: $(B)/.$1.install.ok

View File

@ -19,16 +19,14 @@ DPDK_FAILSAFE_PMD ?= n
DPDK_MACHINE ?= default
DPDK_MLX_IBV_LINK ?= static
dpdk_version ?= 23.11
dpdk_version ?= 22.07
dpdk_base_url ?= http://fast.dpdk.org/rel
dpdk_tarball := dpdk-$(dpdk_version).tar.xz
dpdk_tarball_md5sum_23.11 := 896c09f5b45b452bd77287994650b916
dpdk_tarball_md5sum_23.07 := 2b6d57f077585cb15b885482362fd47f
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_21.08 := de33433a1806280996a0ecbe66e3642f
dpdk_tarball_md5sum_21.05 := a78bba290b11d9717d1272cc6bfaf7c3
dpdk_tarball_md5sum := $(dpdk_tarball_md5sum_$(dpdk_version))
dpdk_url := $(dpdk_base_url)/$(dpdk_tarball)
dpdk_tarball_strip_dirs := 1
@ -166,7 +164,6 @@ DPDK_MESON_ARGS = \
--libdir lib \
--prefix $(dpdk_install_dir) \
-Dtests=false \
-Denable_driver_sdk=true \
"-Ddisable_drivers=$(DPDK_DRIVERS_DISABLED)" \
"-Ddisable_libs=$(DPDK_LIBS_DISABLED)" \
-Db_pie=true \
@ -183,8 +180,8 @@ define dpdk_config_cmds
mkdir -p ../dpdk-meson-venv && \
python3 -m venv ../dpdk-meson-venv && \
source ../dpdk-meson-venv/bin/activate && \
(if ! ls $(PIP_DOWNLOAD_DIR)meson* ; then pip3 download -d $(PIP_DOWNLOAD_DIR) -f $(DL_CACHE_DIR) meson==0.55.3 setuptools wheel pyelftools; fi) && \
pip3 install --no-index --find-links=$(PIP_DOWNLOAD_DIR) meson==0.55.3 pyelftools && \
(if ! ls $(PIP_DOWNLOAD_DIR)meson* ; then pip3 download -d $(PIP_DOWNLOAD_DIR) -f $(DL_CACHE_DIR) meson==0.55 setuptools wheel pyelftools; fi) && \
pip3 install --no-index --find-links=$(PIP_DOWNLOAD_DIR) meson==0.55 pyelftools && \
PKG_CONFIG_PATH=$(dpdk_install_dir)/lib/pkgconfig meson setup $(dpdk_src_dir) \
$(dpdk_build_dir) \
$(DPDK_MESON_ARGS) \

View File

@ -11,21 +11,17 @@
# See the License for the specific language governing permissions and
# limitations under the License.
ipsec-mb_version := 1.5
ipsec-mb_patch_version := 0
ipsec-mb_version_str := $(ipsec-mb_version).$(ipsec-mb_patch_version)
ipsec-mb_version := 1.2
ipsec-mb_tarball := v$(ipsec-mb_version).tar.gz
ipsec-mb_tarball_md5sum_0.54 := 258941f7ba90c275fcf9d19c622d2d21
ipsec-mb_tarball_md5sum_0.55 := deca674bca7ae2282890e1fa7f953609
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_md5sum := $(ipsec-mb_tarball_md5sum_$(ipsec-mb_version))
ipsec-mb_tarball_strip_dirs := 1
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_url := http://github.com/01org/intel-ipsec-mb/archive/$(ipsec-mb_tarball)
define ipsec-mb_config_cmds
@true
@ -41,22 +37,7 @@ define ipsec-mb_build_cmds
EXTRA_CFLAGS="-g -msse4.2" > $(ipsec-mb_build_log)
endef
ifneq ($(ipsec-mb_system_header), )
ipsec-mb_system_ver_str := $(shell awk '/^#define\s+IMB_VERSION_STR/ { print $$3 }' \
$(ipsec-mb_system_header))
endif
define ipsec-mb_install_cmds
if [[ -n "$(ipsec-mb_system_header)" ]]; then \
if [[ "$(ipsec-mb_system_ver_str)" != "$(ipsec-mb_version_str)" ]]; then \
echo "Intel-ipsec-mb build Error: System installed Intel IPsec-mb lib \
version mismatch with target version, \
expecting $(ipsec-mb_version_str), \
but system has $(ipsec-mb_system_ver_str) \
please align/remove system installed $(ipsec-mb_system_header) before building."; \
exit 1; \
fi \
fi
@mkdir -p $(ipsec-mb_install_dir)/include
@mkdir -p $(ipsec-mb_install_dir)/lib
@cp $(ipsec-mb_src_dir)/lib/intel-ipsec-mb.h $(ipsec-mb_install_dir)/include

58
build/external/packages/libbpf.mk vendored Normal file
View File

@ -0,0 +1,58 @@
# Copyright (c) 2018 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.
LIBBPF_DEBUG?=n
libbpf_version := 0.5.0
libbpf_tarball := v$(libbpf_version).tar.gz
libbpf_tarball_md5sum_0.2 := cd0f82d76a9830c1e66b1a249393d5a8
libbpf_tarball_md5sum_0.5.0:= ba0a514d2775f033c24a6fec37e587bc
libbpf_tarball_md5sum := $(libbpf_tarball_md5sum_$(libbpf_version))
libbpf_tarball_strip_dirs := 1
libbpf_url := https://github.com/libbpf/libbpf/archive/$(libbpf_tarball)
LIBBPF_CFLAGS:=-g -Werror -Wall -fPIC -fvisibility=hidden
ifeq ($(LIBBPF_DEBUG),y)
LIBBPF_CFLAGS+= -O0
else
LIBBPF_CFLAGS+= -O2
endif
# check for libelf, zlib and kernel if_xdp.h presence
LIBBPF_DEPS_CHECK:="\#include <linux/if_xdp.h>\\n\#include <gelf.h>\\n\#include <zlib.h>\\nint main(void){return 0;}"
LIBBPF_DEPS_CHECK:=$(shell echo -e $(LIBBPF_DEPS_CHECK) | $(CC) -xc -lelf -lz -o /dev/null - > /dev/null 2>&1)
LIBBPF_DEPS_CHECK:=$(.SHELLSTATUS)
define libbpf_config_cmds
@true
endef
define libbpf_build_cmds__
BUILD_STATIC_ONLY=y OBJDIR='$(libbpf_build_dir)' PREFIX='' DESTDIR='$(libbpf_install_dir)' CFLAGS='$(LIBBPF_CFLAGS)' make -C '$(libbpf_src_dir)/src' $(1) > $(2)
endef
define libbpf_build_cmds
$(call libbpf_build_cmds__,,$(libbpf_build_log))
endef
define libbpf_install_cmds
$(call libbpf_build_cmds__,install,$(libbpf_install_log))
endef
ifneq ($(LIBBPF_DEPS_CHECK),0)
$(warning "Missing libbpf dependencies. libbpf will be skipped.")
libbpf-install:
@true
else
$(eval $(call package,libbpf))
endif

View File

@ -1,26 +0,0 @@
# Copyright (c) 2023 Marvell.
# SPDX-License-Identifier: Apache-2.0
# https://spdx.org/licenses/Apache-2.0.html
octeon-roc_version := 0.2
octeon-roc_tarball := octeon-roc-v$(octeon-roc_version).tar.gz
octeon-roc_tarball_md5sum := a72bb3b27fd3bbaf58aadd99514620e1
octeon-roc_tarball_strip_dirs := 1
octeon-roc_url := https://github.com/MarvellEmbeddedProcessors/marvell-vpp/archive/refs/tags/$(octeon-roc_tarball)
define octeon-roc_config_cmds
@true
endef
define octeon-roc_build_cmds
@cd ${octeon-roc_src_dir} && rm -f $(octeon-roc_build_log) && $(CMAKE) ${octeon-roc_src_dir} -DCMAKE_INSTALL_PREFIX='$(octeon-roc_install_dir)' >> $(octeon-roc_build_log)
@$(MAKE) -C ${octeon-roc_src_dir} >> $(octeon-roc_build_log)
endef
define octeon-roc_install_cmds
@$(MAKE) -C ${octeon-roc_src_dir} install >> $(octeon-roc_install_log)
endef
$(eval $(call package,octeon-roc))

View File

@ -11,9 +11,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
quicly_version := 0.1.4-vpp
quicly_version := 0.1.3-vpp
quicly_tarball := quicly_$(quicly_version).tar.gz
quicly_tarball_md5sum := 5419a0f340c5572bcf682c08acc84c77
quicly_tarball_md5sum := 195f156f311458f1bd4540765e62dd27
quicly_tarball_strip_dirs := 1
quicly_url := https://github.com/vpp-quic/quicly/releases/download/v$(quicly_version)/quicly_$(quicly_version).tar.gz
@ -21,17 +21,16 @@ picotls_build_dir := $(B)/build-picotls
define quicly_build_cmds
@cd $(quicly_build_dir) && \
rm -f $(quicly_build_log) && \
$(CMAKE) -DWITH_DTRACE=OFF \
-DCMAKE_INSTALL_PREFIX:PATH=$(quicly_install_dir) \
$(quicly_src_dir) >> $(quicly_build_log)
@$(MAKE) quicly $(MAKE_ARGS) -C $(quicly_build_dir) >> $(quicly_build_log)
$(quicly_src_dir) > $(quicly_build_log)
@$(MAKE) quicly $(MAKE_ARGS) -C $(quicly_build_dir) > $(quicly_build_log)
@mkdir -p $(picotls_build_dir)
@cd $(picotls_build_dir) && \
$(CMAKE) -DWITH_DTRACE=OFF -DCMAKE_INSTALL_PREFIX:PATH=$(quicly_install_dir) \
$(quicly_src_dir)/deps/picotls >> $(quicly_build_log)
@$(MAKE) picotls-core picotls-openssl $(MAKE_ARGS) -C $(picotls_build_dir) >> $(quicly_build_log)
$(quicly_src_dir)/deps/picotls > $(quicly_build_log)
@$(MAKE) picotls-core picotls-openssl $(MAKE_ARGS) -C $(picotls_build_dir) > $(quicly_build_log)
endef
define quicly_config_cmds
@ -39,9 +38,8 @@ define quicly_config_cmds
endef
define quicly_install_cmds
@rm -f $(quicly_install_log)
@$(MAKE) $(MAKE_ARGS) -C $(quicly_build_dir) install >> $(quicly_install_log)
@$(MAKE) $(MAKE_ARGS) -C $(picotls_build_dir) install >> $(quicly_install_log)
@$(MAKE) $(MAKE_ARGS) -C $(quicly_build_dir) install > $(quicly_install_log)
@$(MAKE) $(MAKE_ARGS) -C $(picotls_build_dir) install > $(quicly_install_log)
endef

View File

@ -13,20 +13,10 @@
RDMA_CORE_DEBUG?=n
# NOTE: When updating the rdma-core version in conjunction with an update of the
# dpdk version, please update ../mlx_rdma_dpdk_matrix.txt to include the
# updated version matrix with the dpdk and rdma-core version.
#
# Also, please verify that the DPDK RDMA driver is built into the dpdk plugin
# as follows:
# 1. from workspace root directory, 'make -C build/external build-deb'
# 2. Verify that the file build/external/dpdk_mlx_default.sh was generated
# and contains 'DPDK_MLX_DEFAULT=y'
#
rdma-core_version := 49.0
rdma-core_version := 41.0
rdma-core_tarball := rdma-core-$(rdma-core_version).tar.gz
rdma-core_tarball_md5sum_46.1 := 3ac7c00717ea2720df5d90f8a43ae33a
rdma-core_tarball_md5sum_49.0 := 9fe3909f19c7e0276c9e546411bbb49c
rdma-core_tarball_md5sum_39.1 := 63ba4632fd01173a2331e5b990373330
rdma-core_tarball_md5sum_41.0 := 2250389cb61a7130133e6411fdeef2f9
rdma-core_tarball_md5sum := $(rdma-core_tarball_md5sum_$(rdma-core_version))
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)

View File

@ -1,38 +0,0 @@
# Copyright (c) 2023 Intel and/or its affiliates.
# Copyright (c) 2018 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.
xdp-tools_version := 1.2.9
xdp-tools_tarball := xdp-tools-$(xdp-tools_version).tar.gz
xdp-tools_tarball_md5sum_1.2.9:= 6e4a49ceea8354bb7bb3b55990e9aed7
xdp-tools_tarball_md5sum := $(xdp-tools_tarball_md5sum_$(xdp-tools_version))
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)
define xdp-tools_config_cmds
@true
endef
define xdp-tools_build_cmds
@cd ${xdp-tools_src_dir} && make V=1 BUILD_STATIC_ONLY=y > $(xdp-tools_build_log)
endef
define xdp-tools_install_cmds
@rm -f $(xdp-tools_install_log)
@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)
@cd ${xdp-tools_src_dir} && \
make libxdp_install V=1 BUILD_STATIC_ONLY=y PREFIX='' DESTDIR='$(xdp-tools_install_dir)' >> $(xdp-tools_install_log)
endef
$(eval $(call package,xdp-tools))

View File

@ -1,54 +0,0 @@
From baa172f1a9e370a0549a31840c3cd148046d1d84 Mon Sep 17 00:00:00 2001
From: Xinyao Cai <xinyao.cai@intel.com>
Date: Tue, 18 Apr 2023 16:37:17 +0800
Subject: [PATCH] allow the use of -a and -b flag the same time in EAL
parameters.
---
lib/eal/common/eal_common_options.c | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/lib/eal/common/eal_common_options.c b/lib/eal/common/eal_common_options.c
index 0305933698..0d8f9c5a38 100644
--- a/lib/eal/common/eal_common_options.c
+++ b/lib/eal/common/eal_common_options.c
@@ -1623,24 +1623,15 @@ int
eal_parse_common_option(int opt, const char *optarg,
struct internal_config *conf)
{
- static int b_used;
- static int a_used;
-
switch (opt) {
case 'b':
- if (a_used)
- goto ba_conflict;
if (eal_option_device_add(RTE_DEVTYPE_BLOCKED, optarg) < 0)
return -1;
- b_used = 1;
break;
case 'a':
- if (b_used)
- goto ba_conflict;
if (eal_option_device_add(RTE_DEVTYPE_ALLOWED, optarg) < 0)
return -1;
- a_used = 1;
break;
/* coremask */
case 'c': {
@@ -1929,11 +1920,6 @@ eal_parse_common_option(int opt, const char *optarg,
}
return 0;
-
-ba_conflict:
- RTE_LOG(ERR, EAL,
- "Options allow (-a) and block (-b) can't be used at the same time\n");
- return -1;
}
static void
--
2.34.1

View File

@ -1,54 +0,0 @@
From baa172f1a9e370a0549a31840c3cd148046d1d84 Mon Sep 17 00:00:00 2001
From: Xinyao Cai <xinyao.cai@intel.com>
Date: Tue, 18 Apr 2023 16:37:17 +0800
Subject: [PATCH] allow the use of -a and -b flag the same time in EAL
parameters.
---
lib/eal/common/eal_common_options.c | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/lib/eal/common/eal_common_options.c b/lib/eal/common/eal_common_options.c
index 0305933698..0d8f9c5a38 100644
--- a/lib/eal/common/eal_common_options.c
+++ b/lib/eal/common/eal_common_options.c
@@ -1623,24 +1623,15 @@ int
eal_parse_common_option(int opt, const char *optarg,
struct internal_config *conf)
{
- static int b_used;
- static int a_used;
-
switch (opt) {
case 'b':
- if (a_used)
- goto ba_conflict;
if (eal_option_device_add(RTE_DEVTYPE_BLOCKED, optarg) < 0)
return -1;
- b_used = 1;
break;
case 'a':
- if (b_used)
- goto ba_conflict;
if (eal_option_device_add(RTE_DEVTYPE_ALLOWED, optarg) < 0)
return -1;
- a_used = 1;
break;
/* coremask */
case 'c': {
@@ -1929,11 +1920,6 @@ eal_parse_common_option(int opt, const char *optarg,
}
return 0;
-
-ba_conflict:
- RTE_LOG(ERR, EAL,
- "Options allow (-a) and block (-b) can't be used at the same time\n");
- return -1;
}
static void
--
2.34.1

View File

@ -1,63 +0,0 @@
From 6429e38ae77c7998c84d5a0ed26b4fb0d81424c1 Mon Sep 17 00:00:00 2001
From: Ting Xu <ting.xu@intel.com>
Date: Thu, 15 Jun 2023 01:33:37 +0000
Subject: [PATCH v1] net: fix pkt length type for raw pattern
In current pattern parsing function for raw pattern, the packet length
variable is defined as uint8_t, which is too small for a large packet,
such as srv6. Change the type to uint16_t.
Fixes: 1b9c68120a1c ("net/ice: enable protocol agnostic flow offloading
in RSS")
Signed-off-by: Ting Xu <ting.xu@intel.com>
---
drivers/net/iavf/iavf_hash.c | 2 +-
drivers/net/ice/ice_fdir_filter.c | 2 +-
drivers/net/ice/ice_hash.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/iavf/iavf_hash.c b/drivers/net/iavf/iavf_hash.c
index ae6fb38594..cf4d677101 100644
--- a/drivers/net/iavf/iavf_hash.c
+++ b/drivers/net/iavf/iavf_hash.c
@@ -886,8 +886,8 @@ iavf_hash_parse_raw_pattern(const struct rte_flow_item *item,
struct iavf_rss_meta *meta)
{
const struct rte_flow_item_raw *raw_spec, *raw_mask;
+ uint16_t spec_len, pkt_len;
uint8_t *pkt_buf, *msk_buf;
- uint8_t spec_len, pkt_len;
uint8_t tmp_val = 0;
uint8_t tmp_c = 0;
int i, j;
diff --git a/drivers/net/ice/ice_fdir_filter.c b/drivers/net/ice/ice_fdir_filter.c
index 480b369af8..e8842bc242 100644
--- a/drivers/net/ice/ice_fdir_filter.c
+++ b/drivers/net/ice/ice_fdir_filter.c
@@ -1876,7 +1876,7 @@ ice_fdir_parse_pattern(__rte_unused struct ice_adapter *ad,
(uint8_t *)(uintptr_t)raw_mask->pattern;
uint8_t *tmp_spec, *tmp_mask;
uint16_t tmp_val = 0;
- uint8_t pkt_len = 0;
+ uint16_t pkt_len = 0;
uint8_t tmp = 0;
int i, j;
diff --git a/drivers/net/ice/ice_hash.c b/drivers/net/ice/ice_hash.c
index f35727856e..52646e9408 100644
--- a/drivers/net/ice/ice_hash.c
+++ b/drivers/net/ice/ice_hash.c
@@ -653,8 +653,8 @@ ice_hash_parse_raw_pattern(struct ice_adapter *ad,
const struct rte_flow_item_raw *raw_spec, *raw_mask;
struct ice_parser_profile prof;
struct ice_parser_result rslt;
+ uint16_t spec_len, pkt_len;
uint8_t *pkt_buf, *msk_buf;
- uint8_t spec_len, pkt_len;
uint8_t tmp_val = 0;
uint8_t tmp_c = 0;
int i, j;
--
2.25.1

View File

@ -1,70 +0,0 @@
From 6b941770f0114d42e87875562d5174bc70c5ac65 Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Tue, 6 Dec 2022 10:59:35 +0000
Subject: [PATCH] Fix for perf scaling on release 1.3
---
lib/include/error.h | 10 +++++++---
lib/include/error.inc | 3 +++
lib/x86_64/error.c | 2 +-
3 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/lib/include/error.h b/lib/include/error.h
index 73d44f51..778df4b1 100644
--- a/lib/include/error.h
+++ b/lib/include/error.h
@@ -32,7 +32,7 @@
* declare global variable to store
* process wide error status
*/
-extern int imb_errno;
+extern volatile int imb_errno;
/**
* @brief API to set error status
@@ -47,8 +47,12 @@ void imb_set_errno(IMB_MGR *mb_mgr, const int errnum)
if (mb_mgr != NULL)
mb_mgr->imb_errno = errnum;
- /* set global error status */
- imb_errno = errnum;
+ /*
+ * set global error status
+ * (only if different, to limit unneeded stores)
+ */
+ if (imb_errno != errnum)
+ imb_errno = errnum;
}
#endif /* ERROR_H */
diff --git a/lib/include/error.inc b/lib/include/error.inc
index 54df265f..5ea53a59 100644
--- a/lib/include/error.inc
+++ b/lib/include/error.inc
@@ -103,7 +103,10 @@ SET_ERRNO_TYPES \
;; Reset global imb_errno to 0
%macro IMB_ERR_CHECK_RESET 0
+ cmp dword [rel imb_errno], 0
+ jz %%do_not_reset
mov dword [rel imb_errno], 0
+%%do_not_reset:
%endmacro
;; Set GP reg and global imb_errno to 0
diff --git a/lib/x86_64/error.c b/lib/x86_64/error.c
index 19189093..24dcded3 100644
--- a/lib/x86_64/error.c
+++ b/lib/x86_64/error.c
@@ -39,7 +39,7 @@
#pragma warning(disable : 4996)
#endif
-IMB_DLL_LOCAL int imb_errno;
+IMB_DLL_LOCAL volatile int imb_errno;
IMB_DLL_LOCAL const int imb_errno_types[] = {
IMB_ERR_NULL_MBMGR,
IMB_ERR_JOB_NULL_SRC,
--
2.34.1

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,26 +0,0 @@
From e83f80443a2f23a68037bf4c7ba16b3723d193a4 Mon Sep 17 00:00:00 2001
From: Yulong <yulong.pei@intel.com>
Date: Tue, 3 Jan 2023 14:16:17 +0000
Subject: [PATCH] libxdp: add fPIC with static lib build
Signed-off-by: Yulong <yulong.pei@intel.com>
---
lib/libxdp/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/libxdp/Makefile b/lib/libxdp/Makefile
index 358b751..a9bb414 100644
--- a/lib/libxdp/Makefile
+++ b/lib/libxdp/Makefile
@@ -88,7 +88,7 @@ $(SHARED_OBJDIR):
$(Q)mkdir -p $(SHARED_OBJDIR)
$(STATIC_OBJDIR)/%.o: %.c $(EXTRA_LIB_DEPS) | $(STATIC_OBJDIR)
- $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) -D LIBXDP_STATIC=1 -Wall -I../../headers -c $< -o $@
+ $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -D LIBXDP_STATIC=1 -Wall -I../../headers -c $< -o $@
$(SHARED_OBJDIR)/%.o: %.c $(EXTRA_LIB_DEPS) | $(SHARED_OBJDIR)
$(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(SHARED_CFLAGS) -Wall -I../../headers -c $< -o $@
--
2.25.1

View File

@ -1,32 +0,0 @@
From 51ea3b590f5e0a6b34b5148af43996029fd60ac6 Mon Sep 17 00:00:00 2001
From: Yulong <yulong.pei@intel.com>
Date: Fri, 6 Jan 2023 07:46:10 +0000
Subject: [PATCH 2/2] libxdp: fix asm/types.h file not found issue
The file asm/types.h located in /usr/include/$(uname -m)-linux-gnu,
the path string already assigned to ARCH_INCLUDES when run xdp-tools
configure, so include ARCH_INCLUDES to CFLAGS and BPF_CFLAGS directly.
Signed-off-by: Yulong <yulong.pei@intel.com>
---
lib/defines.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/defines.mk b/lib/defines.mk
index f134c43..515411c 100644
--- a/lib/defines.mk
+++ b/lib/defines.mk
@@ -40,8 +40,8 @@ endif
DEFINES += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-CFLAGS += -std=gnu11 -Wextra -Werror $(DEFINES)
-BPF_CFLAGS += $(DEFINES) $(filter -ffile-prefix-map=%,$(CFLAGS))
+CFLAGS += -std=gnu11 -Wextra -Werror $(DEFINES) $(ARCH_INCLUDES)
+BPF_CFLAGS += $(DEFINES) $(filter -ffile-prefix-map=%,$(CFLAGS)) $(ARCH_INCLUDES)
CONFIGMK := $(LIB_DIR)/../config.mk
LIBMK := Makefile $(CONFIGMK) $(LIB_DIR)/defines.mk $(LIB_DIR)/common.mk $(LIB_DIR)/../version.mk
--
2.25.1

View File

@ -1,26 +0,0 @@
From 3033b9bdbcdb270f15373b27933d554f847e01d4 Mon Sep 17 00:00:00 2001
From: Yulong <yulong.pei@intel.com>
Date: Fri, 6 Jan 2023 14:31:24 +0000
Subject: [PATCH 3/3] libxdp: fix maybe-uninitialized compiler warning
Signed-off-by: Yulong <yulong.pei@intel.com>
---
lib/common.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/common.mk b/lib/common.mk
index 56c0406..f7a88a1 100644
--- a/lib/common.mk
+++ b/lib/common.mk
@@ -101,7 +101,7 @@ $(LIB_OBJS): %.o: %.c %.h $(LIB_H)
ALL_EXEC_TARGETS=$(USER_TARGETS) $(TEST_TARGETS)
$(ALL_EXEC_TARGETS): %: %.c $(OBJECT_LIBBPF) $(OBJECT_LIBXDP) $(LIBMK) $(LIB_OBJS) $(KERN_USER_H) $(EXTRA_DEPS) $(EXTRA_USER_DEPS)
- $(QUIET_CC)$(CC) -Wall $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $(LIB_OBJS) \
+ $(QUIET_CC)$(CC) -Wall -Wno-maybe-uninitialized $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $(LIB_OBJS) \
$< $(LDLIBS)
$(XDP_OBJ): %.o: %.c $(KERN_USER_H) $(EXTRA_DEPS) $(BPF_HEADERS) $(LIBMK)
--
2.25.1

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