Skip to content

Commit

Permalink
Merge ODP v1.39.0.0
Browse files Browse the repository at this point in the history
Merge ODP linux-generic v1.39.0.0 into linux-dpdk.
  • Loading branch information
MatiasElo authored Dec 13, 2022
2 parents 00285f3 + d62cba7 commit 282188e
Show file tree
Hide file tree
Showing 112 changed files with 5,771 additions and 2,651 deletions.
37 changes: 35 additions & 2 deletions .github/workflows/ci-pipeline-arm64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,26 @@ jobs:
if: ${{ failure() }}
run: find . -name config.log -exec cat {} \;

Build_static_u22:
if: ${{ github.repository == 'OpenDataPlane/odp-dpdk' }}
runs-on: [self-hosted, ARM64]
env:
OS: ubuntu_22.04
CONF: "--disable-shared --without-openssl --without-pcap"
strategy:
fail-fast: false
matrix:
cc_ver: [10, 11, 12]
conf: ['', '--enable-lto']
steps:
- uses: AutoModality/[email protected]
- 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="${CONF} ${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH}-native /odp/scripts/ci/build_static.sh
- name: Failure log
if: ${{ failure() }}
run: find . -name config.log -exec cat {} \;

Build_OS:
if: ${{ github.repository == 'OpenDataPlane/odp-dpdk' }}
runs-on: [self-hosted, ARM64]
Expand All @@ -52,7 +72,7 @@ jobs:
if: ${{ failure() }}
run: find . -name config.log -exec cat {} \;

Build_gcc:
Build_gcc_u22:
if: ${{ github.repository == 'OpenDataPlane/odp-dpdk' }}
runs-on: [self-hosted, ARM64]
env:
Expand All @@ -61,7 +81,7 @@ jobs:
fail-fast: false
matrix:
cc_ver: [10, 11, 12]
conf: ['', '--enable-lto']
conf: ['', '--enable-abi-compat']
steps:
- uses: AutoModality/[email protected]
- uses: actions/checkout@v3
Expand Down Expand Up @@ -177,6 +197,19 @@ jobs:
if: ${{ failure() }}
run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done

Run_process_mode:
if: ${{ github.repository == 'OpenDataPlane/odp-dpdk' }}
runs-on: [self-hosted, ARM64]
steps:
- uses: AutoModality/[email protected]
- uses: actions/checkout@v3
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" -e ARCH="${ARCH}"
-e CONF="${CONF}" -e ODP_CONFIG_FILE=/odp/platform/linux-dpdk/test/process-mode.conf
-e ODPH_PROC_MODE=1 $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH}-native /odp/scripts/ci/check.sh
- name: Failure log
if: ${{ failure() }}
run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done

Run_dpdk-20_11:
if: ${{ github.repository == 'OpenDataPlane/odp-dpdk' }}
runs-on: [self-hosted, ARM64]
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/ci-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ jobs:
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="${CONF} ${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH}-static /odp/scripts/ci/build_static_${ARCH}.sh
-e CONF="${CONF} ${{matrix.conf}}" $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH}-static /odp/scripts/ci/build_static.sh
- name: Failure log
if: ${{ failure() }}
run: find . -name config.log -exec cat {} \;
Expand Down Expand Up @@ -327,7 +327,8 @@ jobs:
steps:
- uses: actions/checkout@v3
- run: sudo docker run -i -v `pwd`:/odp --privileged --shm-size 8g -e CC="${CC}" -e ARCH="${ARCH}"
-e CONF="${CONF}" -e ODPH_PROC_MODE=1 $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check.sh
-e CONF="${CONF}" -e ODP_CONFIG_FILE=/odp/platform/linux-dpdk/test/process-mode.conf
-e ODPH_PROC_MODE=1 $CONTAINER_NAMESPACE/odp-ci-${OS}-${ARCH} /odp/scripts/ci/check.sh
- name: Failure log
if: ${{ failure() }}
run: find . -name "*.trs" | xargs grep -l '^.test-result. FAIL' | while read trs ; do echo FAILURE detected at $trs; cat ${trs%%.trs}.log ; done
Expand Down
55 changes: 55 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,58 @@
== OpenDataPlane (1.39.0.0)

=== Backward incompatible API changes
==== Classifier
* Deprecate `odp_cos_with_l2_priority()` function. Use `ODP_PMR_VLAN_PCP_0`
instead.
* Deprecate packet drop policy option (`odp_cls_cos_param_t.drop_policy`) and
related functions `odp_cos_drop()` and `odp_cos_drop_set()`.

==== Shared Memory
* Change `odp_shm_info()` specification to disallow usage of invalid SHM
handles.

=== Backward compatible API changes
==== Buffer
* Add multi variants of event conversion functions
(`odp_buffer_from_event_multi()` and `odp_buffer_to_event_multi()`).

==== Classifier
* Add PFC priority level (`odp_bp_param_t.pfc_level`) to back pressure
parameters.
* Clarify PMR specification to state that in case of multiple PMRs matching
within a CoS, it is implementation specific which PMR is selected.

==== Crypto
* Fix a stale reference to the renamed `hash_result_not_in_auth_range`
session parameter to use the correct name (`hash_result_in_auth_range`)
in the comment text of `hash_result_offset`.

==== Packet
* Add support for additional L3 and L4 protocol types.

==== Packet IO
* Add `ODP_PKTIN_MAX_QUEUES` define for maximum number of packet input queues.
* Add new packet input queue size configuration option
`odp_pktin_queue_param_t.queue_size` and matching capabilities
`odp_pktio_capability_t.min_input_queue_size` and
`odp_pktio_capability_t.max_input_queue_size`.
* Add missing documentation to `odp_pktio_link_status_t`,
`odp_pktio_link_duplex_t`, and `odp_pktio_link_pause_t` enumerations.
* Add `ODP_PKTIO_LINK_PFC_ON` enumeration for PFC flow control mode.
* Add capabilities (`odp_pktio_capability_t.flow_control`) and configuration
parameters to control reception (`odp_pktio_config_t.flow_control.pause_rx`) and
transmission (`odp_pktio_config_t.flow_control.pause_tx`) of Ethernet pause
frames.

==== Shared Memory
* Add `odp_shm_segment_info()` function for retrieving information about each
memory segment of an SHM block.
* Clarified `odp_shm_reserve()` operation with the default options (no flags).

==== System
* Add `odp_system_meminfo()` function for retrieving information about ODP
memory usage.

== OpenDataPlane (1.38.0.0)

=== Backward incompatible API changes
Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ AC_PREREQ([2.5])
# ODP API version
##########################################################################
m4_define([odp_version_generation], [1])
m4_define([odp_version_major], [38])
m4_define([odp_version_major], [39])
m4_define([odp_version_minor], [0])
m4_define([odp_version_patch], [0])

Expand Down
4 changes: 2 additions & 2 deletions example/classifier/odp_classifier.c
Original file line number Diff line number Diff line change
Expand Up @@ -493,7 +493,7 @@ static odp_cos_t configure_default_cos(odp_pktio_t pktio, appl_args_t *args)
odp_cls_cos_param_init(&cls_param);
cls_param.pool = pool_default;
cls_param.queue = queue_default;
cls_param.drop_policy = ODP_COS_DROP_POOL;

cos_default = odp_cls_cos_create(cos_name, &cls_param);

if (cos_default == ODP_COS_INVALID) {
Expand Down Expand Up @@ -571,7 +571,7 @@ static void configure_cos(odp_cos_t default_cos, appl_args_t *args)
if (appl_args_gbl->cos_pools)
stats->pool = cls_param.pool;
cls_param.queue = stats->queue;
cls_param.drop_policy = ODP_COS_DROP_POOL;

stats->cos = odp_cls_cos_create(cos_name, &cls_param);

odp_atomic_init_u64(&stats->queue_pkt_count, 0);
Expand Down
9 changes: 9 additions & 0 deletions include/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ odpapiinclude_HEADERS = \
odp/api/hints.h \
odp/api/init.h \
odp/api/ipsec.h \
odp/api/ipsec_types.h \
odp/api/packet.h \
odp/api/packet_types.h \
odp/api/packet_flags.h \
Expand Down Expand Up @@ -93,6 +94,7 @@ odpapispecinclude_HEADERS = \
odp/api/spec/hints.h \
odp/api/spec/init.h \
odp/api/spec/ipsec.h \
odp/api/spec/ipsec_types.h \
odp/api/spec/packet.h \
odp/api/spec/packet_types.h \
odp/api/spec/packet_flags.h \
Expand Down Expand Up @@ -156,6 +158,7 @@ odpapiabidefaultinclude_HEADERS = \
odp/api/abi-default/hash.h \
odp/api/abi-default/init.h \
odp/api/abi-default/ipsec.h \
odp/api/abi-default/ipsec_types.h \
odp/api/abi-default/packet.h \
odp/api/abi-default/packet_types.h \
odp/api/abi-default/packet_flags.h \
Expand Down Expand Up @@ -213,6 +216,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/arm32-linux/odp/api/abi/hash.h \
odp/arch/arm32-linux/odp/api/abi/init.h \
odp/arch/arm32-linux/odp/api/abi/ipsec.h \
odp/arch/arm32-linux/odp/api/abi/ipsec_types.h \
odp/arch/arm32-linux/odp/api/abi/packet.h \
odp/arch/arm32-linux/odp/api/abi/packet_types.h \
odp/arch/arm32-linux/odp/api/abi/packet_flags.h \
Expand Down Expand Up @@ -266,6 +270,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/arm64-linux/odp/api/abi/hash.h \
odp/arch/arm64-linux/odp/api/abi/init.h \
odp/arch/arm64-linux/odp/api/abi/ipsec.h \
odp/arch/arm64-linux/odp/api/abi/ipsec_types.h \
odp/arch/arm64-linux/odp/api/abi/packet.h \
odp/arch/arm64-linux/odp/api/abi/packet_types.h \
odp/arch/arm64-linux/odp/api/abi/packet_flags.h \
Expand Down Expand Up @@ -319,6 +324,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/default-linux/odp/api/abi/hash.h \
odp/arch/default-linux/odp/api/abi/init.h \
odp/arch/default-linux/odp/api/abi/ipsec.h \
odp/arch/default-linux/odp/api/abi/ipsec_types.h \
odp/arch/default-linux/odp/api/abi/packet.h \
odp/arch/default-linux/odp/api/abi/packet_types.h \
odp/arch/default-linux/odp/api/abi/packet_flags.h \
Expand Down Expand Up @@ -372,6 +378,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/power64-linux/odp/api/abi/hash.h \
odp/arch/power64-linux/odp/api/abi/init.h \
odp/arch/power64-linux/odp/api/abi/ipsec.h \
odp/arch/power64-linux/odp/api/abi/ipsec_types.h \
odp/arch/power64-linux/odp/api/abi/packet.h \
odp/arch/power64-linux/odp/api/abi/packet_types.h \
odp/arch/power64-linux/odp/api/abi/packet_flags.h \
Expand Down Expand Up @@ -425,6 +432,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/x86_32-linux/odp/api/abi/hash.h \
odp/arch/x86_32-linux/odp/api/abi/init.h \
odp/arch/x86_32-linux/odp/api/abi/ipsec.h \
odp/arch/x86_32-linux/odp/api/abi/ipsec_types.h \
odp/arch/x86_32-linux/odp/api/abi/packet.h \
odp/arch/x86_32-linux/odp/api/abi/packet_types.h \
odp/arch/x86_32-linux/odp/api/abi/packet_flags.h \
Expand Down Expand Up @@ -478,6 +486,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/x86_64-linux/odp/api/abi/hash.h \
odp/arch/x86_64-linux/odp/api/abi/init.h \
odp/arch/x86_64-linux/odp/api/abi/ipsec.h \
odp/arch/x86_64-linux/odp/api/abi/ipsec_types.h \
odp/arch/x86_64-linux/odp/api/abi/packet.h \
odp/arch/x86_64-linux/odp/api/abi/packet_types.h \
odp/arch/x86_64-linux/odp/api/abi/packet_flags.h \
Expand Down
24 changes: 2 additions & 22 deletions include/odp/api/abi-default/ipsec.h
Original file line number Diff line number Diff line change
@@ -1,38 +1,18 @@
/* Copyright (c) 2016-2018, Linaro Limited
* Copyright (c) 2022, Nokia
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/

/**
* @file
*
* ODP IPSEC API - platform specific types
*/

#ifndef ODP_ABI_IPSEC_H_
#define ODP_ABI_IPSEC_H_

#ifdef __cplusplus
extern "C" {
#endif

#include <odp/api/std_types.h>

/** @internal Dummy type for strong typing */
typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_ipsec_sa_t;

/** @ingroup odp_ipsec
* @{
*/

typedef _odp_abi_ipsec_sa_t *odp_ipsec_sa_t;

#define ODP_IPSEC_SA_INVALID ((odp_ipsec_sa_t)0)

/**
* @}
*/
/* Empty header required due to the packet inline functions */

#ifdef __cplusplus
}
Expand Down
36 changes: 36 additions & 0 deletions include/odp/api/abi-default/ipsec_types.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/* Copyright (c) 2016-2018, Linaro Limited
* Copyright (c) 2022, Nokia
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/

#ifndef ODP_ABI_IPSEC_TYPES_H_
#define ODP_ABI_IPSEC_TYPES_H_

#ifdef __cplusplus
extern "C" {
#endif

#include <odp/api/std_types.h>

/** @internal Dummy type for strong typing */
typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_ipsec_sa_t;

/** @ingroup odp_ipsec
* @{
*/

typedef _odp_abi_ipsec_sa_t *odp_ipsec_sa_t;

#define ODP_IPSEC_SA_INVALID ((odp_ipsec_sa_t)0)

/**
* @}
*/

#ifdef __cplusplus
}
#endif

#endif
2 changes: 2 additions & 0 deletions include/odp/api/abi-default/packet_io_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ typedef struct odp_pktout_queue_t {

#define ODP_PKTIN_NO_WAIT 0

#define ODP_PKTIN_MAX_QUEUES 64

#define ODP_PKTOUT_MAX_QUEUES 64

#define ODP_PKTIO_STATS_EXTRA_NAME_LEN 64
Expand Down
33 changes: 0 additions & 33 deletions include/odp/api/abi-default/packet_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,39 +46,6 @@ typedef _odp_abi_packet_tx_compl_t *odp_packet_tx_compl_t;
#define ODP_PACKET_VECTOR_INVALID ((odp_packet_vector_t)0)
#define ODP_PACKET_TX_COMPL_INVALID ((odp_packet_tx_compl_t)0)

typedef uint8_t odp_proto_l2_type_t;

#define ODP_PROTO_L2_TYPE_NONE 0
#define ODP_PROTO_L2_TYPE_ETH 1

typedef uint8_t odp_proto_l3_type_t;

#define ODP_PROTO_L3_TYPE_NONE 0
#define ODP_PROTO_L3_TYPE_ARP 1
#define ODP_PROTO_L3_TYPE_RARP 2
#define ODP_PROTO_L3_TYPE_MPLS 3
#define ODP_PROTO_L3_TYPE_IPV4 4
#define ODP_PROTO_L3_TYPE_IPV6 6

typedef uint8_t odp_proto_l4_type_t;

/* Numbers from IANA Assigned Internet Protocol Numbers list */
#define ODP_PROTO_L4_TYPE_NONE 0
#define ODP_PROTO_L4_TYPE_ICMPV4 1
#define ODP_PROTO_L4_TYPE_IGMP 2
#define ODP_PROTO_L4_TYPE_IPV4 4
#define ODP_PROTO_L4_TYPE_TCP 6
#define ODP_PROTO_L4_TYPE_UDP 17
#define ODP_PROTO_L4_TYPE_IPV6 41
#define ODP_PROTO_L4_TYPE_GRE 47
#define ODP_PROTO_L4_TYPE_ESP 50
#define ODP_PROTO_L4_TYPE_AH 51
#define ODP_PROTO_L4_TYPE_ICMPV6 58
#define ODP_PROTO_L4_TYPE_NO_NEXT 59
#define ODP_PROTO_L4_TYPE_IPCOMP 108
#define ODP_PROTO_L4_TYPE_SCTP 132
#define ODP_PROTO_L4_TYPE_ROHC 142

/** Packet Color */
typedef enum {
ODP_PACKET_GREEN = 0,
Expand Down
3 changes: 3 additions & 0 deletions include/odp/api/abi-default/shared_memory.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ typedef _odp_abi_shm_t *odp_shm_t;
#define ODP_SHM_INVALID ((odp_shm_t)0)
#define ODP_SHM_NAME_LEN 32

#define ODP_SHM_IOVA_INVALID ((uint64_t)-1)
#define ODP_SHM_PA_INVALID ODP_SHM_IOVA_INVALID

/**
* @}
*/
Expand Down
Loading

0 comments on commit 282188e

Please sign in to comment.