Skip to content

Commit

Permalink
Merge ODP v1.42.0.0
Browse files Browse the repository at this point in the history
Merge ODP linux-generic v1.42.0.0 into linux-dpdk.
  • Loading branch information
MatiasElo committed Aug 17, 2023
2 parents de97121 + 7a200d7 commit 5d505fd
Show file tree
Hide file tree
Showing 102 changed files with 2,724 additions and 1,560 deletions.
21 changes: 1 addition & 20 deletions .github/workflows/ci-pipeline-arm64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ jobs:
strategy:
fail-fast: false
matrix:
cc_ver: [10, 11, 12]
cc_ver: [10, 11, 12, 13]
conf: ['', '--enable-abi-compat']
steps:
- uses: OpenDataPlane/action-clean-up@main
Expand All @@ -91,25 +91,6 @@ jobs:
if: ${{ failure() }}
run: find . -name config.log -exec cat {} \;

Build_gcc_u23:
if: ${{ github.repository == 'OpenDataPlane/odp-dpdk' }}
runs-on: [self-hosted, ARM64]
env:
OS: ubuntu_23.04
strategy:
fail-fast: false
matrix:
cc_ver: [13]
conf: ['', '--enable-abi-compat']
steps:
- uses: OpenDataPlane/action-clean-up@main
- uses: actions/checkout@v3
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="gcc-${{matrix.cc_ver}}" -e CXX="g++-${{matrix.cc_ver}}"
-e CONF="${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH}-native /odp/scripts/ci/build_${ARCH}.sh
- name: Failure log
if: ${{ failure() }}
run: find . -name config.log -exec cat {} \;

Build_out-of-tree:
if: ${{ github.repository == 'OpenDataPlane/odp-dpdk' }}
runs-on: [self-hosted, ARM64]
Expand Down
19 changes: 1 addition & 18 deletions .github/workflows/ci-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ jobs:
strategy:
fail-fast: false
matrix:
cc_ver: [10, 11, 12]
cc_ver: [10, 11, 12, 13]
conf: ['', '--enable-abi-compat']
steps:
- uses: actions/checkout@v3
Expand All @@ -220,23 +220,6 @@ jobs:
if: ${{ failure() }}
run: find . -name config.log -exec cat {} \;

Build_gcc_u23:
runs-on: ubuntu-20.04
env:
OS: ubuntu_23.04
strategy:
fail-fast: false
matrix:
cc_ver: [13]
conf: ['', '--enable-abi-compat']
steps:
- uses: actions/checkout@v3
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="gcc-${{matrix.cc_ver}}" -e CXX="g++-${{matrix.cc_ver}}"
-e CONF="${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/build_${ARCH}.sh
- name: Failure log
if: ${{ failure() }}
run: find . -name config.log -exec cat {} \;

Build_out-of-tree:
runs-on: ubuntu-20.04
steps:
Expand Down
66 changes: 66 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,69 @@
== OpenDataPlane (1.42.0.0)

=== Backward incompatible API changes
==== Crypto
* Add `odp_crypto_session_param_t.cipher_range_in_bits` and
`odp_crypto_session_param_t.auth_range_in_bits` session parameters that control
whether cipher/auth range is given in bits or bytes.
* Change `odp_crypto_cipher_capability_t.bit_mode` cipher/auth capability flag
to indicate whether bit mode is supported in addition to byte mode that is
always supported.

=== Backward compatible API changes
==== Barrier
* Add memory barriers (`odp_mb_sync()`, `odp_mb_sync_load()`,
`odp_mb_sync_store()`) which ensure that load/store instructions started before
the barrier are complete, before load/store instructions after the barrier are
started.

==== Crypto
* Allow non-zero-length cipher and auth ranges
(`odp_crypto_packet_op_param_t.cipher_range/auth_range`) for the null cipher and
auth algorithms in the OOP operation type.

==== DMA
* Add new `odp_dma_pool_capability_t.uarea_persistence` pool capability to
signal if implementation is able to maintain the content of pool user areas
across frees and allocations.
* Add new `odp_dma_pool_param_t.uarea_init` pool parameters `init_fn` and
`args` that can be used to initialize event user areas of a pool at pool
creation time.
* Move `odp_dma_seg_t` structure fields so that `addr/packet` field is directly
followed by `len` and `offset` fields. After this change all commonly used
fields are located in the first 16 bytes of the structure.

==== Event
* Add new `odp_event_types_multi()` function for reading event types and
subtypes (optional) from all given events.
* Add new `odp_event_user_area_and_flag()` function for reading both event
user area pointer and user flag value.

==== Init
* Add new `ODP_LOG_WARN` log level to `odp_log_level_t`.

==== Packet
* Change `odp_packet_user_flag()` and `odp_packet_vector_user_flag()`
documentations to specify that the return values are positive if user flag is
set.

==== Pool
* Add new `uarea_persistence` pool capability to signal if implementation is
able to maintain the content of pool user areas across frees and allocations.
* Add new `uarea_init` pool parameters `init_fn` and `args` that can be used to
initialize event user areas of a pool at pool creation time.

==== Timer
* Add new `odp_timeout_from_event_multi()` function for converting multiple
events of type `ODP_EVENT_TIMEOUT` to timeout handles.
* Clarify `odp_timer_alloc()` and `odp_timer_restart()` documentation.

=== Implementation
==== Time
* Refactor time codebase to enable more optimized architecture specific
implementations. x86 and aarch64 architectures are assumed to always have
support for HW time and fallback to POSIX time functions has been removed for
improved performance.

== OpenDataPlane (1.41.1.0)

=== Backward compatible API changes
Expand Down
19 changes: 9 additions & 10 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
Copyright (c) 2013-2018, Linaro Limited
All rights reserved.

SPDX-License-Identifier: BSD-3-Clause
SPDX-License-Identifier: BSD-3-Clause
Copyright (c) 2013-2019 Linaro Limited
Copyright (c) 2019-2023 OpenFastPath Foundation

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.

Neither the name of Linaro Limited nor the names of its contributors may be
used to endorse or promote products derived from this software without specific
prior written permission.
3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
Expand Down
1 change: 1 addition & 0 deletions Makefile.inc
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ ODP_INCLUDES += \
-I$(top_srcdir)/platform/@with_platform@/include \
-I$(top_srcdir)/platform/@with_platform@/arch/@ARCH_DIR@ \
-I$(top_srcdir)/platform/@with_platform@/arch/default \
-I$(top_srcdir)/platform/@with_platform@/arch/common \
-I$(top_srcdir)/platform/@with_platform@/include-abi
endif

Expand Down
13 changes: 7 additions & 6 deletions README
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
Copyright (c) 2013-2019, Linaro Limited
All rights reserved.

SPDX-License-Identifier: BSD-3-Clause
SPDX-License-Identifier: BSD-3-Clause
Copyright (c) 2013-2019 Linaro Limited
Copyright (c) 2019-2023 OpenFastPath Foundation

OpenDataPlane (ODP) project web page:
https://www.opendataplane.org
Expand Down Expand Up @@ -40,8 +39,10 @@ How to build:
make

Licensing:
ODP project uses BSD-3-Clause license as the default license. See LICENSE
file for details.
The default license for ODP project is BSD-3-Clause (see LICENSE file).
SPDX short-form identifiers (https://spdx.dev/ids/) are used in project
source files to identify the used license. The SPDX license list can be
found from https://spdx.org/licenses/.

Mailing list:
odp@lists.opendataplane.org
Expand Down
4 changes: 2 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ AC_PREREQ([2.5])
# ODP API version
##########################################################################
m4_define([odp_version_generation], [1])
m4_define([odp_version_major], [41])
m4_define([odp_version_minor], [1])
m4_define([odp_version_major], [42])
m4_define([odp_version_minor], [0])
m4_define([odp_version_patch], [0])

m4_define([odp_version_api],
Expand Down
7 changes: 7 additions & 0 deletions include/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ odpapiabidefaultinclude_HEADERS = \
odp/api/abi-default/crypto.h \
odp/api/abi-default/crypto_types.h \
odp/api/abi-default/debug.h \
odp/api/abi-default/dma.h \
odp/api/abi-default/dma_types.h \
odp/api/abi-default/errno.h \
odp/api/abi-default/event.h \
Expand Down Expand Up @@ -220,6 +221,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/arm32-linux/odp/api/abi/crypto.h \
odp/arch/arm32-linux/odp/api/abi/crypto_types.h \
odp/arch/arm32-linux/odp/api/abi/debug.h \
odp/arch/arm32-linux/odp/api/abi/dma.h \
odp/arch/arm32-linux/odp/api/abi/dma_types.h \
odp/arch/arm32-linux/odp/api/abi/errno.h \
odp/arch/arm32-linux/odp/api/abi/event.h \
Expand Down Expand Up @@ -277,6 +279,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/arm64-linux/odp/api/abi/crypto.h \
odp/arch/arm64-linux/odp/api/abi/crypto_types.h \
odp/arch/arm64-linux/odp/api/abi/debug.h \
odp/arch/arm64-linux/odp/api/abi/dma.h \
odp/arch/arm64-linux/odp/api/abi/dma_types.h \
odp/arch/arm64-linux/odp/api/abi/errno.h \
odp/arch/arm64-linux/odp/api/abi/event.h \
Expand Down Expand Up @@ -334,6 +337,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/default-linux/odp/api/abi/crypto.h \
odp/arch/default-linux/odp/api/abi/crypto_types.h \
odp/arch/default-linux/odp/api/abi/debug.h \
odp/arch/default-linux/odp/api/abi/dma.h \
odp/arch/default-linux/odp/api/abi/dma_types.h \
odp/arch/default-linux/odp/api/abi/errno.h \
odp/arch/default-linux/odp/api/abi/event.h \
Expand Down Expand Up @@ -391,6 +395,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/power64-linux/odp/api/abi/crypto.h \
odp/arch/power64-linux/odp/api/abi/crypto_types.h \
odp/arch/power64-linux/odp/api/abi/debug.h \
odp/arch/power64-linux/odp/api/abi/dma.h \
odp/arch/power64-linux/odp/api/abi/dma_types.h \
odp/arch/power64-linux/odp/api/abi/errno.h \
odp/arch/power64-linux/odp/api/abi/event.h \
Expand Down Expand Up @@ -448,6 +453,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/x86_32-linux/odp/api/abi/crypto.h \
odp/arch/x86_32-linux/odp/api/abi/crypto_types.h \
odp/arch/x86_32-linux/odp/api/abi/debug.h \
odp/arch/x86_32-linux/odp/api/abi/dma.h \
odp/arch/x86_32-linux/odp/api/abi/dma_types.h \
odp/arch/x86_32-linux/odp/api/abi/errno.h \
odp/arch/x86_32-linux/odp/api/abi/event.h \
Expand Down Expand Up @@ -505,6 +511,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/x86_64-linux/odp/api/abi/crypto.h \
odp/arch/x86_64-linux/odp/api/abi/crypto_types.h \
odp/arch/x86_64-linux/odp/api/abi/debug.h \
odp/arch/x86_64-linux/odp/api/abi/dma.h \
odp/arch/x86_64-linux/odp/api/abi/dma_types.h \
odp/arch/x86_64-linux/odp/api/abi/errno.h \
odp/arch/x86_64-linux/odp/api/abi/event.h \
Expand Down
20 changes: 20 additions & 0 deletions include/odp/api/abi-default/dma.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/* Copyright (c) 2023, Nokia
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/

#ifndef ODP_ABI_DMA_H_
#define ODP_ABI_DMA_H_

#ifdef __cplusplus
extern "C" {
#endif

/* Empty header required due to the inline functions */

#ifdef __cplusplus
}
#endif

#endif
2 changes: 2 additions & 0 deletions include/odp/api/dma.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
extern "C" {
#endif

#include <odp/api/abi/dma.h>

#include <odp/api/spec/dma.h>

#ifdef __cplusplus
Expand Down
4 changes: 1 addition & 3 deletions include/odp/api/spec/crypto.h
Original file line number Diff line number Diff line change
Expand Up @@ -255,9 +255,7 @@ int odp_crypto_result(odp_crypto_packet_result_t *result,
* input packet to the output packet and then the crypto operation
* was applied to the output packet.
*
* Crypto range and auth range of null cipher and auth algorithms are
* ignored, i.e. not copied in the output packet. Auth range of (AEAD)
* algorithms that ignore auth range is not copied.
* Auth range of (AEAD) algorithms that ignore auth range is not copied.
*
* The offset of the crypto range and auth range in the output packet is
* the same as in the input packet, adjusted by dst_offset_shift operation
Expand Down
Loading

0 comments on commit 5d505fd

Please sign in to comment.