This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, next has been updated
via 88e124e13900109e0d0aec1981417382f357c98a (commit)
from b61de566190e19cc79531fdca737787cc359584b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 88e124e13900109e0d0aec1981417382f357c98a
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Wed Nov 8 15:50:47 2017 +0300
configure.ac: update API and .so versions
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
diff --git a/configure.ac b/configure.ac
index 4bce0534..1a96ef82 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_PREREQ([2.5])
# Set correct API version
##########################################################################
m4_define([odpapi_generation_version], [1])
-m4_define([odpapi_major_version], [15])
+m4_define([odpapi_major_version], [16])
m4_define([odpapi_minor_version], [0])
m4_define([odpapi_point_version], [0])
m4_define([odpapi_version],
@@ -36,10 +36,10 @@ AM_SILENT_RULES([yes])
# 3. if interfaces were removed, then use C+1:0:0
##########################################################################
-ODP_LIBSO_VERSION=115:0:2
+ODP_LIBSO_VERSION=116:0:0
AC_SUBST(ODP_LIBSO_VERSION)
-ODPHELPER_LIBSO_VERSION=112:1:0
+ODPHELPER_LIBSO_VERSION=113:1:1
AC_SUBST(ODPHELPER_LIBSO_VERSION)
# Checks for programs.
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, master has been updated
via 0e04be4851ecc94da8b4cac3c576260c0518c936 (commit)
from d59c00c5f0255a5f1fc462332eef291bb2993f64 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 0e04be4851ecc94da8b4cac3c576260c0518c936
Author: Petri Savolainen <petri.savolainen(a)linaro.org>
Date: Fri Nov 3 15:38:37 2017 +0200
linux-gen: crypto: fix openssl_lock pointer type
Wrong pointer type (pointer to pointer) to openssl_lock array
caused data overlapping when running on other than 64-bit
machines.
Fixed pointer type and simplified global data structure to
contain only one dynamically sized array (openssl locks).
Session array was already fixed size but was not defined as
such.
Fixes bug: https://bugs.linaro.org/show_bug.cgi?id=3411
Signed-off-by: Petri Savolainen <petri.savolainen(a)linaro.org>
Signed-off-by: Viktor Tikkanen <viktor.tikkanen(a)nokia.com>
Reviewed-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/linux-generic/odp_crypto.c b/platform/linux-generic/odp_crypto.c
index 40b6d74b..9cf903d0 100644
--- a/platform/linux-generic/odp_crypto.c
+++ b/platform/linux-generic/odp_crypto.c
@@ -83,9 +83,9 @@ typedef struct odp_crypto_global_s odp_crypto_global_t;
struct odp_crypto_global_s {
odp_spinlock_t lock;
- odp_ticketlock_t **openssl_lock;
odp_crypto_generic_session_t *free;
- odp_crypto_generic_session_t sessions[0];
+ odp_crypto_generic_session_t sessions[MAX_SESSIONS];
+ odp_ticketlock_t openssl_lock[0];
};
static odp_crypto_global_t *global;
@@ -961,11 +961,9 @@ static void ODP_UNUSED openssl_lock(int mode, int n,
int line ODP_UNUSED)
{
if (mode & CRYPTO_LOCK)
- odp_ticketlock_lock((odp_ticketlock_t *)
- &global->openssl_lock[n]);
+ odp_ticketlock_lock(&global->openssl_lock[n]);
else
- odp_ticketlock_unlock((odp_ticketlock_t *)
- &global->openssl_lock[n]);
+ odp_ticketlock_unlock(&global->openssl_lock[n]);
}
int
@@ -977,8 +975,7 @@ odp_crypto_init_global(void)
int nlocks = CRYPTO_num_locks();
/* Calculate the memory size we need */
- mem_size = sizeof(*global);
- mem_size += (MAX_SESSIONS * sizeof(odp_crypto_generic_session_t));
+ mem_size = sizeof(odp_crypto_global_t);
mem_size += nlocks * sizeof(odp_ticketlock_t);
/* Allocate our globally shared memory */
@@ -998,12 +995,8 @@ odp_crypto_init_global(void)
odp_spinlock_init(&global->lock);
if (nlocks > 0) {
- global->openssl_lock =
- (odp_ticketlock_t **)&global->sessions[MAX_SESSIONS];
-
for (idx = 0; idx < nlocks; idx++)
- odp_ticketlock_init((odp_ticketlock_t *)
- &global->openssl_lock[idx]);
+ odp_ticketlock_init(&global->openssl_lock[idx]);
CRYPTO_THREADID_set_callback(openssl_thread_id);
CRYPTO_set_locking_callback(openssl_lock);
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/odp_crypto.c | 19 ++++++-------------
1 file changed, 6 insertions(+), 13 deletions(-)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, master has been updated
via d59c00c5f0255a5f1fc462332eef291bb2993f64 (commit)
from 29c7a054f7151d33795a0d8d7df5594bf4fddb55 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d59c00c5f0255a5f1fc462332eef291bb2993f64
Author: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Date: Wed Nov 8 16:58:14 2017 +0300
example: fix pointers to odp_l2fwd.c source
During mass-move of tests I forgot to update odp_l2fwd example to point
to new locattion. Fix that now.
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/example/l2fwd/README b/example/l2fwd/README
index 891620bd..f6fdc01c 100644
--- a/example/l2fwd/README
+++ b/example/l2fwd/README
@@ -1,7 +1,6 @@
ODP L2FWD application
-Source code and Makefiles placed under test/common_plat/performance/
-directory.
+Source code and Makefiles placed under test/performance/ directory.
This L2 forwarding application can be used as example reference as well
as performance test for different odp modes (direct, queue or scheduler
diff --git a/example/l2fwd/odp_l2fwd.c b/example/l2fwd/odp_l2fwd.c
index eea3a34c..fb585f43 120000
--- a/example/l2fwd/odp_l2fwd.c
+++ b/example/l2fwd/odp_l2fwd.c
@@ -1 +1 @@
-../../test/common_plat/performance/odp_l2fwd.c
\ No newline at end of file
+../../test/performance/odp_l2fwd.c
\ No newline at end of file
-----------------------------------------------------------------------
Summary of changes:
example/l2fwd/README | 3 +--
example/l2fwd/odp_l2fwd.c | 2 +-
2 files changed, 2 insertions(+), 3 deletions(-)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, master has been updated
via 29c7a054f7151d33795a0d8d7df5594bf4fddb55 (commit)
from 2dd964e170d71078cfe03d4c9e00c6f592b4326b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 29c7a054f7151d33795a0d8d7df5594bf4fddb55
Author: Matias Elo <matias.elo(a)nokia.com>
Date: Tue Sep 26 11:28:01 2017 -0700
test: l2fwd script: run generator on a single core
Run packet generator on a single core to minimize the penalty from running
generator and l2fwd applications on overlapping cores (both use
odp_cpumask_default_worker()). On a generic server this change increases
packet rate by ~40X.
Fixes https://bugs.linaro.org/show_bug.cgi?id=2407
Signed-off-by: Matias Elo <matias.elo(a)nokia.com>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/test/performance/odp_l2fwd_run.sh b/test/performance/odp_l2fwd_run.sh
index 3bb00e32..0cb293dc 100755
--- a/test/performance/odp_l2fwd_run.sh
+++ b/test/performance/odp_l2fwd_run.sh
@@ -67,12 +67,10 @@ run_l2fwd()
exit 1
fi
- # Max 4 workers
- # @todo: ensure that generator and l2fwd workers are not allocated to
- # the same CPUs
+ # Run generator with one worker
(odp_generator${EXEEXT} --interval $FLOOD_MODE -I $IF0 \
--srcip 192.168.0.1 --dstip 192.168.0.2 \
- -m u -w 4 2>&1 > /dev/null) \
+ -m u -w 1 2>&1 > /dev/null) \
2>&1 > /dev/null &
GEN_PID=$!
-----------------------------------------------------------------------
Summary of changes:
test/performance/odp_l2fwd_run.sh | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, next has been updated
via b61de566190e19cc79531fdca737787cc359584b (commit)
via ae393d6677e242464773aa81a5c18fdfe1ce2c85 (commit)
via 9f02c58d41ec59f443e880766855265885f3a13d (commit)
via 4954fd9289befbdd06d52b4d9b7ed7a83f268b10 (commit)
via fb667f44a397a34bc1c4af41c49a766156740ff3 (commit)
from f318c88f26b15140dda243e6a1d27e3c8f9d275b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b61de566190e19cc79531fdca737787cc359584b
Author: Bill Fischofer <bill.fischofer(a)linaro.org>
Date: Wed Nov 1 13:51:05 2017 -0500
changelog: updates for odp v1.16.0.0
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/CHANGELOG b/CHANGELOG
index 866e51e9..ec0f777c 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,210 @@
+== OpenDataPlane (1.16.0.0)
+=== New Features
+ODP v1.16.0.0 is the final preview release before the official release of
+Tiger Moth. It introduces new APIs and extensions, as well as bug fixes and
+functional improvements.
+
+==== APIs
+The following new and changed APIs are included in this release:
+
+===== Initialization Changes
+The new `odp_feature_t` type is introduced that defines various feature bits
+for ODP components. This is used in an expanded `odp_init_t` argument to
+`odp_init_global()` to specify which ODP features are unused by the
+application. For example, if the application knows it will not be making use
+of crypto features or the classifier, this may permit the ODP implementation
+to configure itself more efficiently. Results are undefined if an application
+asserts that it will not be using a feature and it attempts to do so
+afterwards.
+
+Associated with this new support the `odp_init_param_init()` API is added
+to initialize the `odp_init_t` struct to default values.
+
+===== Packet API Changes
+
+* The `odp_packet_unshared_len()` API is removed. Testing showed that this
+API was non-essential and conflicted with the goal of implementation
+efficiency.
+* The `odp_print_packet_data()` API is added. This permits packet data to
+be logged along with platform-defined metadata for debugging or diagnostic
+purposes.
+
+===== PktIO API Changes
+
+* The `loop_supported` attribute of the `odp_pktio_capability_t` struct is
+deprecated since this is redundant. The `enable_loop` field of the
+`odp_pktio_config_t` struct (which is returned as part of the
+`odp_packet_capability_t` struct) is the proper way to determine whether a
+PktIO supports loopback mode.
+
+===== System Info API Changes
+
+* The documentation for the `odp_sys_huge_page_size()` API is updated to
+clarify that a 0 return code indicates that huge pages are not supported by
+this platform.
+* The `odp_sys_huge_page_size_all()` API is added to return all
+huge page sizes supported by this platform.
+
+===== Timer API Changes
+
+* The documentation for the various parameters contained in the
+`odp_timer_pool_param_t` struct are expanded and clarified.
+
+=== Miscellaneous Fixes and Improvements
+
+==== Default Packet Headroom
+The default packet headroom in `odp-linux` has been increased from 66 to
+128 bytes for better compatibility with `odp-dpdk`.
+
+==== Zero-copy Packet References
+The `odp-linux` reference implementation now fully supports zero-copy
+packet references. Previously these APIs were implemented via packet copies,
+which while functionally correct, were not how these APIs are intended to
+operate.
+
+==== DPDK Zero-copy I/O support
+The `--enable-dpdk-zero-copy` `configure` option is added to allow DPDK PktIO
+devices to avoid data copies, leading to improved performance.
+
+==== DPDK Checksum offload support
+DPDK PktIO now makes use of RX and TX IP/UDP/TCP checksum offload.
+
+==== Shared memory stored in /dev/shm
+In the `odp-linux` reference implementation, shared memory is now backed to
+`/dev/shm` rather than `/tmp` for better reliability and robustness. This may
+be overridden as part of ODP build-time customization if desired.
+
+==== IPC Improvements
+PktIO IPC support has received improvements in both performance and
+reliability and is now suitable for development use.
+
+=== Dependency Changes
+
+==== Dependency on autoconf-archive removed
+Since some build environments do not supply autoconf-archive, this dependency
+is removed.
+
+==== DPDK support upgraded to 17.08 release
+The ODP DPDK Packet I/O support has been upgraded to work with the DPDK 17.08
+release.
+
+==== Added support for OpenSSL 1.1.x releases
+ODP use of OpenSSL for crypto processing has been upgraded to allow use of
+OpenSSL 1.1.x.
+
+=== Build System Restructure
+The ODP build system has been overhauled to support more comprehensive and
+efficient automated testing under Travis CI. Greater use of Autoconf is now
+made to control ODP configuration and build options, permitting greater
+environmental flexibility. This includes an expanded range of test coverage,
+including cross-compilation support for ARMv8, MIPS,and Power architectures,
+as well as testing under the latest levels of GCC and clang.
+
+=== Arm Architecture Support Improvements
+
+* ARMv8 generic timer support is now included
+* Improved time efficiency and accuracy by using native ARMv8 time/clock
+instructions.
+
+==== Test Improvements
+The `test` directory has been reorganized and streamlined. Platform-specific
+tests are moved from `test/linux-generic` to
+`platform/linux-generic/test/`. As a result, the `test/common_plat`
+directory is deleted so that `test/validation`, `test/performance`, etc. are
+now used for all platform-independent tests.
+
+==== Examples Improvements
+
+===== IPv4 Fragmentation Reassembly Example
+The `ipfragreass` example program has been added to demonstrate IPv4 fragment
+reassembly.
+
+===== ODP Generator Improvements
+The `odp_generator` example program now uses packet references for improved
+performance in UDP and ICMP traffic. The program also now makes use of HW
+checksum offload support, when available.
+
+=== Documentation Improvements
+
+* The ODP Users Guide has clarified usage information about the ODP time
+APIs for better portability.
+* A section has been added to the ODP Users Guide on API specification
+principles. This clarifies expected behavior of ODP applications and
+implementations and makes explicit what the specification means by "undefined
+behavior".
+* All Doxygen used in ODP is upgraded to conform to the stricter documentation
+requirements introduced by Doxygen 1.8.13.
+
+=== Bug Fixes
+
+==== https://bugs.linaro.org/show_bug.cgi?id=2254[Bug 2254]
+check-odp: valgrind generates "No rule to make target"
+
+==== https://bugs.linaro.org/show_bug.cgi?id=2812[Bug 2812]
+Helper/test/process fails on a single core system
+
+==== https://bugs.linaro.org/show_bug.cgi?id=2861[Bug 2861]
+Remove redundant loop_support parameter in pktio capability
+
+==== https://bugs.linaro.org/show_bug.cgi?id=2938[Bug 2938]
+Make file deps failure
+
+==== https://bugs.linaro.org/show_bug.cgi?id=2976[Bug 2976]
+IP headers checksum functions are incorrect
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3024[Bug 3024]
+odp_traffic_mngr example is broken
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3026[Bug 3026]
+pktio_ipc_run test can fail due to segfault
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3043[Bug 3043]
+User guide error (packet diagram fix)
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3052[Bug 3052]
+api-next out of tree build broken
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3066[Bug 3066]
+Cross compile broken for ARMv8
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3126[Bug 3126]
+IPC pktio test fails with taskset -c 1-2
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3177[Bug 3177]
+Test case for classification enable
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3182[Bug 3182]
+Memory allocation checks (in traffic manager)
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3216[Bug 3216]
+Adding --enable-helper-linux configure flag breaks build
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3238[Bug 3238]
+Doxygen warnings on helper header files
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3241[Bug 3241]
+codecov: _odp_packet_cmp_data is not covered
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3242[Bug 3242]
+setup_pktio_entry missing unlock
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3249[Bug 3249]
+odp_cpu_hz() does not work on all Linux distros
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3262[Bug 3262]
+Missing doxygen detected by Travis
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3289[Bug 3289]
+'num_queues' isn't ignored when "classifier_enable" is enabled
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3300[Bug 3300]
+Validation tests cannot be disabled after commit b4d17b1
+
+=== Known Issues
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3245[Bug 3245]
+Cannot run l2fwd application on Cavium ThunderX platform
+
== OpenDataPlane (1.15.0.0)
=== New Features
ODP v1.15.0.0 continues the preview of Tiger Moth, introducing new APIs and
commit ae393d6677e242464773aa81a5c18fdfe1ce2c85
Author: Bill Fischofer <bill.fischofer(a)linaro.org>
Date: Tue Jun 13 07:55:14 2017 -0500
validation: init: use odp_init_param_init() in init tests
Provide test coverage for odp_init_param_init() API.
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Reviewed-by: Petri Savolainen <petri.savolainen(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/test/validation/api/init/init.c b/test/validation/api/init/init.c
index d44ff234..3dc40ea5 100644
--- a/test/validation/api/init/init.c
+++ b/test/validation/api/init/init.c
@@ -26,10 +26,10 @@ static int odp_init_log(odp_log_level_t level, const char *fmt, ...);
void init_test_odp_init_global_replace_abort(void)
{
int status;
- struct odp_init_t init_data;
+ odp_init_t init_data;
odp_instance_t instance;
- memset(&init_data, 0, sizeof(init_data));
+ odp_init_param_init(&init_data);
init_data.abort_fn = &odp_init_abort;
status = odp_init_global(&instance, &init_data, NULL);
@@ -79,10 +79,10 @@ int init_main_abort(int argc, char *argv[])
void init_test_odp_init_global_replace_log(void)
{
int status;
- struct odp_init_t init_data;
+ odp_init_t init_data;
odp_instance_t instance;
- memset(&init_data, 0, sizeof(init_data));
+ odp_init_param_init(&init_data);
init_data.log_fn = &odp_init_log;
replacement_logging_used = 0;
commit 9f02c58d41ec59f443e880766855265885f3a13d
Author: Bill Fischofer <bill.fischofer(a)linaro.org>
Date: Tue Jun 13 07:55:13 2017 -0500
linux-generic: init: implement odp_init_param_init()
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Reviewed-by: Petri Savolainen <petri.savolainen(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/linux-generic/odp_init.c b/platform/linux-generic/odp_init.c
index 92a58370..fe03709b 100644
--- a/platform/linux-generic/odp_init.c
+++ b/platform/linux-generic/odp_init.c
@@ -25,6 +25,11 @@
struct odp_global_data_s odp_global_data;
+void odp_init_param_init(odp_init_t *param)
+{
+ memset(param, 0, sizeof(odp_init_t));
+}
+
int odp_init_global(odp_instance_t *instance,
const odp_init_t *params,
const odp_platform_init_t *platform_params ODP_UNUSED)
commit 4954fd9289befbdd06d52b4d9b7ed7a83f268b10
Author: Bill Fischofer <bill.fischofer(a)linaro.org>
Date: Tue Jun 13 07:55:12 2017 -0500
api: init: add support for unused features
Add the not_used field to odp_init_t to permit applications to
specify that they will not use various ODP features. This may
allow implementations to provide optimized behavior.
Also add the odp_init_param_init() API to initialize odp_init_t
to default values.
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Reviewed-by: Petri Savolainen <petri.savolainen(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/include/odp/api/spec/init.h b/include/odp/api/spec/init.h
index 154cdf8f..e8ec4113 100644
--- a/include/odp/api/spec/init.h
+++ b/include/odp/api/spec/init.h
@@ -29,6 +29,7 @@ extern "C" {
#include <odp/api/std_types.h>
#include <odp/api/hints.h>
+#include <odp/api/feature.h>
#include <odp/api/thread.h>
#include <odp/api/cpumask.h>
@@ -153,8 +154,22 @@ typedef struct odp_init_t {
odp_log_func_t log_fn;
/** Replacement for the default abort fn */
odp_abort_func_t abort_fn;
+ /** Unused features. These are hints to the ODP implementation that
+ * the application will not use any APIs associated with these
+ * features. Implementations may use this information to provide
+ * optimized behavior. Results are undefined if applications assert
+ * that a feature will not be used and it is used anyway.
+ */
+ odp_feature_t not_used;
} odp_init_t;
+/**
+ * Initialize the odp_init_t to default values for all fields
+ *
+ * @param[out] param Address of the odp_init_t to be initialized
+ */
+void odp_init_param_init(odp_init_t *param);
+
/**
* @typedef odp_platform_init_t
* ODP platform initialization data
commit fb667f44a397a34bc1c4af41c49a766156740ff3
Author: Bill Fischofer <bill.fischofer(a)linaro.org>
Date: Tue Jun 13 07:55:11 2017 -0500
api: feature: add odp feature bits
Add new odp_feature_t bits that permit other APIs/components to
refer to various ODP features.
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Reviewed-by: Petri Savolainen <petri.savolainen(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/include/Makefile.am b/include/Makefile.am
index a3a7e165..746b5975 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -17,6 +17,7 @@ odpapispecinclude_HEADERS = \
odp/api/spec/debug.h \
odp/api/spec/errno.h \
odp/api/spec/event.h \
+ odp/api/spec/feature.h \
odp/api/spec/hash.h \
odp/api/spec/hints.h \
odp/api/spec/init.h \
diff --git a/include/odp/api/spec/feature.h b/include/odp/api/spec/feature.h
new file mode 100644
index 00000000..0cfc141d
--- /dev/null
+++ b/include/odp/api/spec/feature.h
@@ -0,0 +1,69 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP features.
+ * Define various ODP feature sets that can be referenced by other
+ * components.
+ */
+
+#ifndef ODP_API_FEATURE_H_
+#define ODP_API_FEATURE_H_
+#include <odp/visibility_begin.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/api/std_types.h>
+
+/** @defgroup odp_features ODP_FEATURE
+ * ODP feature definitions
+ * @{
+ */
+
+/** Definition of ODP features */
+typedef union odp_feature_t {
+ /** All features */
+ uint32_t all_feat;
+
+ /** Individual feature bits */
+ struct {
+ /** Classifier APIs, e.g., odp_cls_xxx(), odp_cos_xxx() */
+ uint32_t cls:1;
+
+ /** Crypto APIs, e.g., odp_crypto_xxx() */
+ uint32_t crypto:1;
+
+ /** IPsec APIs, e.g., odp_ipsec_xxx() */
+ uint32_t ipsec:1;
+
+ /** Scheduler APIs, e.g., odp_schedule_xxx() */
+ uint32_t schedule:1;
+
+ /** Time APIs are, e.g., odp_time_xxx() */
+ uint32_t time:1;
+
+ /** Timer APIs, e.g., odp_timer_xxx(), odp_timeout_xxx() */
+ uint32_t timer:1;
+
+ /** Traffic Manager APIs, e.g., odp_tm_xxx() */
+ uint32_t tm:1;
+ } feat;
+} odp_feature_t;
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#include <odp/visibility_end.h>
+#endif
diff --git a/include/odp_api.h b/include/odp_api.h
index 060ec888..3a03a05b 100644
--- a/include/odp_api.h
+++ b/include/odp_api.h
@@ -32,6 +32,7 @@ extern "C" {
#include <odp/api/barrier.h>
#include <odp/api/spinlock.h>
#include <odp/api/atomic.h>
+#include <odp/api/feature.h>
#include <odp/api/init.h>
#include <odp/api/system_info.h>
#include <odp/api/thread.h>
diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am
index 0b29e613..356f229b 100644
--- a/platform/linux-generic/Makefile.am
+++ b/platform/linux-generic/Makefile.am
@@ -35,6 +35,7 @@ odpapiinclude_HEADERS = \
include/odp/api/deprecated.h \
include/odp/api/errno.h \
include/odp/api/event.h \
+ include/odp/api/feature.h \
include/odp/api/hash.h \
include/odp/api/hints.h \
include/odp/api/init.h \
diff --git a/platform/linux-generic/include/odp/api/feature.h b/platform/linux-generic/include/odp/api/feature.h
new file mode 100644
index 00000000..55a86a83
--- /dev/null
+++ b/platform/linux-generic/include/odp/api/feature.h
@@ -0,0 +1,34 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP features.
+ */
+
+#ifndef ODP_PLAT_FEATURE_H_
+#define ODP_PLAT_FEATURE_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/** @ingroup odp_feature
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+#include <odp/api/spec/feature.h>
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
-----------------------------------------------------------------------
Summary of changes:
CHANGELOG | 207 +++++++++++++++++++++
include/Makefile.am | 1 +
include/odp/api/spec/feature.h | 69 +++++++
include/odp/api/spec/init.h | 15 ++
include/odp_api.h | 1 +
platform/linux-generic/Makefile.am | 1 +
.../{odp_errno_define.h => odp/api/feature.h} | 16 +-
platform/linux-generic/odp_init.c | 5 +
test/validation/api/init/init.c | 8 +-
9 files changed, 315 insertions(+), 8 deletions(-)
create mode 100644 include/odp/api/spec/feature.h
copy platform/linux-generic/include/{odp_errno_define.h => odp/api/feature.h} (57%)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, 2.0-native-drivers has been created
at c0f99c441feadd1566b7e92789b11c30c6ee3f64 (commit)
- Log -----------------------------------------------------------------
-----------------------------------------------------------------------
hooks/post-receive
--