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 2bac2dbfd7a7c55e588a6b72af22ae7b810558f7 (commit)
via e93df7d7b3b278dfadba4a9b7c01afc0dd411f13 (commit)
via 39f85bc6cab329b4ae41ba2ec922370c24254325 (commit)
from a652887cfebadb30843a6fbfe9d5655031d46881 (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 2bac2dbfd7a7c55e588a6b72af22ae7b810558f7
Author: Petri Savolainen <petri.savolainen(a)linaro.org>
Date: Tue Feb 21 14:51:34 2017 +0200
linux-gen: dependencies: update cunit install instructions
Add missing commands and update instructions for installing into
default location for 'make distcheck'.
Signed-off-by: Petri Savolainen <petri.savolainen(a)linaro.org>
Reviewed-and-tested-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/DEPENDENCIES b/DEPENDENCIES
index 574859c..6b69bd9 100644
--- a/DEPENDENCIES
+++ b/DEPENDENCIES
@@ -215,8 +215,22 @@ Prerequisites for building the OpenDataPlane (ODP) API
tar -jxf *.bz2
cd CUnit*
./bootstrap
+
+ # Install CUnit into the default location (/usr/local). This is needed for
+ # 'make distcheck'.
+ ./configure
+ make
+ sudo make install
+
+ # ... OR ... Install CUnit into user defined location. The same path is
+ # used in step 4.4 --with-cunit-path=/home/<my_cunit_path>
+ ./configure --prefix=/home/<my_cunit_path>
+ make
make install
- #In Step 4.4 use --with-cunit-path=/home/${USER}/CUnitHome
+
+ # Also (in Ubuntu at least) run ldconfig to update shared lib cache or
+ # reboot, before trying to run e.g. 'make distcheck'.
+ sudo ldconfig
4.3 Cross compile of Cunit
@@ -227,8 +241,11 @@ Prerequisites for building the OpenDataPlane (ODP) API
4.4 Using Cunit with ODP
$ Add the configuration option to the regular configuration options
- ./configure --enable-cunit #if cunit is in the PATH
- ./configure --with-cunit-path=DIR #only if you need a path to Cunit libs and headers
+ # Use the default path ...
+ ./configure --enable-cunit
+
+ # ... OR the user defined path.
+ ./configure --with-cunit-path=/home/<my_cunit_path>
5.0 Documentation Images & Doxygen
commit e93df7d7b3b278dfadba4a9b7c01afc0dd411f13
Author: Petri Savolainen <petri.savolainen(a)linaro.org>
Date: Tue Feb 21 14:51:33 2017 +0200
helper: pkgconfig: remove linux-generic from helper lib name
Helper library should be built ABI compatible when it's part of
a distro. There's no need to have implementation specific helper
libs. Those would be needed only if non-ABI compat helper
libraries need to be distributed.
Signed-off-by: Petri Savolainen <petri.savolainen(a)linaro.org>
Reviewed-and-tested-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/configure.ac b/configure.ac
index 1f9e5cf..8be06de 100644
--- a/configure.ac
+++ b/configure.ac
@@ -328,7 +328,7 @@ AM_CXXFLAGS="-std=c++11"
AC_CONFIG_FILES([Makefile
pkgconfig/libodp-linux.pc
- pkgconfig/libodphelper-linux-generic.pc
+ pkgconfig/libodphelper.pc
])
AC_SEARCH_LIBS([timer_create],[rt posix4])
diff --git a/helper/Makefile.am b/helper/Makefile.am
index b478dcd..2c5452d 100644
--- a/helper/Makefile.am
+++ b/helper/Makefile.am
@@ -1,7 +1,7 @@
include $(top_srcdir)/platform/@with_platform@/Makefile.inc
pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = $(top_builddir)/pkgconfig/libodphelper-linux-generic.pc
+pkgconfig_DATA = $(top_builddir)/pkgconfig/libodphelper.pc
LIB = $(top_builddir)/lib
AM_CFLAGS += -I$(srcdir)/include
diff --git a/pkgconfig/libodphelper-linux-generic.pc.in b/pkgconfig/libodphelper.pc.in
similarity index 72%
rename from pkgconfig/libodphelper-linux-generic.pc.in
rename to pkgconfig/libodphelper.pc.in
index cab7be2..b14335e 100644
--- a/pkgconfig/libodphelper-linux-generic.pc.in
+++ b/pkgconfig/libodphelper.pc.in
@@ -3,9 +3,9 @@ exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
-Name: libodphelper-linux-generic
+Name: libodphelper
Description: Helper for the ODP packet processing engine
Version: @PKGCONFIG_VERSION@
-Libs: -L${libdir} -lodphelper-linux-generic
+Libs: -L${libdir} -lodphelper
Libs.private:
Cflags: -I${includedir}
commit 39f85bc6cab329b4ae41ba2ec922370c24254325
Author: Petri Savolainen <petri.savolainen(a)linaro.org>
Date: Tue Feb 21 14:51:32 2017 +0200
helper: linux: add common linux helper file
Added common helper file for backwards compatibility. This file
includes all headers under helper/linux directory. It's installed
only with --enable-helper-linux configuration option.
Signed-off-by: Petri Savolainen <petri.savolainen(a)linaro.org>
Reviewed-and-tested-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/helper/Makefile.am b/helper/Makefile.am
index 5757c7c..b478dcd 100644
--- a/helper/Makefile.am
+++ b/helper/Makefile.am
@@ -32,6 +32,9 @@ helperinclude_HEADERS = \
$(srcdir)/include/odp/helper/udp.h
if helper_linux
+helperinclude_HEADERS += \
+ $(srcdir)/include/odp/helper/linux.h
+
helperlinuxincludedir = $(includedir)/odp/helper/linux
helperlinuxinclude_HEADERS = \
$(srcdir)/include/odp/helper/linux/pthread.h \
diff --git a/helper/include/odp/helper/linux.h b/helper/include/odp/helper/linux.h
new file mode 100644
index 0000000..396203a
--- /dev/null
+++ b/helper/include/odp/helper/linux.h
@@ -0,0 +1,27 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * All ODP Linux helpers
+ *
+ */
+
+#ifndef ODP_HELPER_LINUX_H_
+#define ODP_HELPER_LINUX_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/helper/linux/process.h>
+#include <odp/helper/linux/pthread.h>
+
+#ifdef __cplusplus
+}
+#endif
+#endif
-----------------------------------------------------------------------
Summary of changes:
DEPENDENCIES | 23 +++++++++++++++---
configure.ac | 2 +-
helper/Makefile.am | 5 +++-
helper/include/odp/helper/linux.h | 27 ++++++++++++++++++++++
...lper-linux-generic.pc.in => libodphelper.pc.in} | 4 ++--
5 files changed, 54 insertions(+), 7 deletions(-)
create mode 100644 helper/include/odp/helper/linux.h
rename pkgconfig/{libodphelper-linux-generic.pc.in => libodphelper.pc.in} (72%)
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 annotated tag, v1.14.0.0 has been created
at 01ce17531870be078cfeeb9e450081ed4575fb02 (tag)
tagging a652887cfebadb30843a6fbfe9d5655031d46881 (commit)
replaces v1.13.0.0
tagged by Maxim Uvarov
on Wed Mar 1 22:01:23 2017 +0300
- Log -----------------------------------------------------------------
== OpenDataPlane (1.14.0.0)
=== New Features
==== APIs
ODP v1.14.0.0 represents another preview of the Tiger Moth release series and
introduces new APIs and extensions.
===== Packet References
Packet references are a lightweight mechanism to allow applications to create
and manipulate different "views" of packets. These views consist of shared
bytes common to all references created on the same `odp_packet_t`, possibly
prefixed with unique headers that are private to each reference. Five new APIs
are introduced to enable this feature:
`odp_packet_ref_static()`::
Static references allow a single packet to have multiple "aliases", all of
which must be treated as read only. This is useful, for example, to retain
a reference to a packet being transmitted to support retransmit processing,
since the actual storage represented by a packet is not released until all
references to it have been freed via `odp_packet_free()` calls.
`odp_packet_ref()`::
Dynamic references differ from static references is that they permit the
individual `odp_packet_t` handles to have unique prefixes created via
`odp_packet_push_head()` or `odp_packet_extend_head()` calls. This can be
used, for example, to support multicasting packets to different destinations
by creating packets that consist of unique headers followed by a common shared
payload.
`odp_packet_ref_pkt()`::
Similar to `odp_packet_ref()`, but creates a dynamic reference by prepending a
preexisting header onto another packet.
`odp_packet_has_ref()`::
Returns a boolean indicator of whether a given `odp_packet_t` has other
references that share bytes with this packet.
`odp_packet_unshared_len()`::
Returns the number of unshared bytes accessible through a given `odp_packet_t`
handle. These are the only bytes that should be changed. All other bytes
in the packet should be treated as read only as they are shared with other
`odp_packet_t` handles.
Note that while the packet reference APIs and associated validation tests are
present in this release, the `odp-linux` reference implementation currently
implements references via packet copying. A zero-copy implementation of packet
references is planned to be part of the ODP v1.15.0.0 release.
==== ABI Specification
ODP has supported an Application Binary Interface (ABI) that permits
applications to be generated that are binary portable between select ODP
implementations. This is now formalized with the addition of structures that
permit ABI specifications to be defined that are shared between ODP
implementations. ODP provides a default ABI specification that is the same as
was provided before. This change means that additional ABIs may be defined
that are optimized to collections of platforms that share an Instruction Set
Architecture (ISA) and subscribe to them.
ABI specifications live in the `include/odp/arch/...` directory.
==== Instance Query (iQuery) Scheduler
Adding to the range of scheduler implementations supported by `odp-linux`, a
new scheduler, the instance query scheduler, is available by specifying
`--enable-schedule-iquery` at `configure` time.
This scheduler uses sparse bitmaps and offers scalability advantages when
dealing with large numbers of schedule queues. It otherwise offers performance
comparable to the default ODP scheduler implementation.
=== Helpers
Helpers have been reorganized to provide better independence from odp-linux
and to make them more useful with other ODP implementations. These
reorganizations are functionally transparent to ODP users but should
simplifying packaging and porting to other ODP implementations. This includes
adding the "umbrella" include file `odph_api.h` which can be used to include
all helper API definitions in an application.
=== Classifier Improvements
The `odp-linux` reference implementation now supports Pattern Matching Rules
(PMRs) for IPv6 addresses, inner and outer VLAN IDs, and inner and outer
Ethernet types.
=== Performance
==== Improved inlining for embedded applications
The `odp-linux` reference implementation now offers improved inlining support
for ODP APIs for applications compiled against ODP configured with the
`--enable-abi-compat=no` option, meaning they wish to forego binary
compatibility in exchange for improved performance. These applications remain
source portable to other ODP implementations.
==== Native `odp_cpu_pause()` for ARM processors
A native implementation of the `odp_cpu_pause()` API has been added for ARMv7
and ARMv8 processors.
==== New Microbenchmark
The `odp_packet_bench` microbenchmark application has been added to the
test performance directory to allow implementations to measure and calibrate
the performance of individual ODP packet APIs.
==== Ordered PktIO Test
The `odp_pktio_ordered` application has been added to the test performance
directory to provide stress-testing of packet ordering features of ODP.
=== Documentation
In addition to expanded documentation related to the new packet reference APIs,
a section on applicatin portability has been added that discusses the types
of portability offered by ODP and the tradeoffs that application writers should
consider when using ODP.
=== Bug Fixes
==== https://bugs.linaro.org/show_bug.cgi?id=2806[Bug 2806]
The `hello.c` application can now run properly if Core 0 is not
available (any available core will be used).
==== https://bugs.linaro.org/show_bug.cgi?id=2827[Bug 2827]
Provide proper return code checking within _ishm.c
==== https://bugs.linaro.org/show_bug.cgi?id=2829[Bug 2829]
Remove unused variables in iplookuptable helper routine.
==== https://bugs.linaro.org/show_bug.cgi?id=2830[Bug 2830]
Avoid memory leaks on error paths in the cuckoo table helper functions.
==== https://bugs.linaro.org/show_bug.cgi?id=2834[Bug 2834]
Fixes a race condition in shared memory allocation.
==== https://bugs.linaro.org/show_bug.cgi?id=2842[Bug 2842]
Provide proper fallback for shared memory when hugepages are not available.
==== https://bugs.linaro.org/show_bug.cgi?id=2862[Bug 2862]
Avoid null pointer dereference in the iplookuptable helper routine.
==== https://bugs.linaro.org/show_bug.cgi?id=2865[Bug 2865]
Missing doxygen documentation for helper table functions are added.
=== Known Issues
==== https://bugs.linaro.org/show_bug.cgi?id=2852[Bug 2852]
C++ programs fail to compile if they attempt to include the ODP helper APIs.
==== https://bugs.linaro.org/show_bug.cgi?id=2895[Bug 2895]
The `odp_crypto_operation()` routine does not work with multi-segment packets.
Andriy Berestovskyy (1):
doc: fix k.org links in CONTRIBUTING
Balasubramanian Manoharan (6):
linux-generic: classification: implement ipv6 packet matching rule
validation: classification: add test case for ipv6 src and dst addr
linux-generic: classification: implement vlan id packet matching rule
validation: classification: add test case for outer and inner vlan id
linux-generic: classification: implement eth type packet matching rule
validation: classification: add test case for outer and inner eth type
Bill Fischofer (10):
helper: iplookuptable: avoid potential null pointer dereferences
doc: helper: add missing doxygen for helper table functions
helper: cuckootable: avoid storage leaks on error paths
helper: iplookuptable: removed unused variable
helper: tables: avoid invalid odp_shm_addr() calls
validation: packet: add packet reference tests
doc: userguide: add user documentation for packet references
doc: userguide: add section on application portability
doc: images: add images for packet reference documentation
changelog: summary of changes for ODP v1.14.0.0
Brian Brooks (1):
linux-generic: add ARM odp_cpu_pause()
Christophe Milard (5):
linux-gen: _ishm: fix normal page fallback
linux-gen: _ishm: checking fstat return value.
linux-gen: _ishmphy: fix possible race with malloc
travis: better comments to generate token in the travis file
linux-generic: cosmetic changes on byteorder files
Dmitry Eremin-Solenikov (3):
linux-generic: crypto: add missing include
linux-generic: crypto: port to OpenSSL 1.0.x thread id API
linux-generic: crypto: support OpenSSL 1.1.0
Matias Elo (9):
test: perf: add new packet function microbenchmark application
linux-gen: netmap: fix interface flags initialization
linux-gen: netmap: bump supported netmap version to 11.2
test: perf: add new ordered pktio application
test: pktio_ordered: add test script
validation: crypto: fix hw cipher/auth algorithm check
validation: crypto: check cipher/auth algorithm support before use
validation: crypto: check cipher options support before running tests
validation: crypto: check auth options support before running tests
Maxim Uvarov (17):
example: hello: ask odp for available core
helper: fix compilation with warnings
configure.ac: helper: print debug config option
test: linux-gen: vlan insertion: add time-out exit
test: linux-gen: vlan insertion: reduce memory pool
travis: add netmap pktio tests
linux-gen: fix dpdk pktio init
codecov: add code coverage integrated to github
travis: add code style checks
travis: mirror cunit on github
travis: switch to ubuntu trusty
travis: clang 3.8
travis: catch doxygen errors
linux-gen: do not do double symlinks on make distcheck
linux-gen: makefile: remove pass command
codecov: lower expectations from codecov
update API version number from v1.13.0.0 to v1.14.0.0
Mike Holmes (8):
configure: use helper configure.m4
helper: cleanup Linux rename to thread
helper: move thread implementation under platform
helper: remove dependence on test dir
helper: add odph_api.h for existing exported headers
helper: use odph_api.h for test include for unexported files
test: use odph_api.h
examples: use odph_api.h
Petri Savolainen (28):
linux-gen: align: round up power of two as macro
linux-gen: align: clean up macros
abi: event: added the first ABI spec file
abi: buffer: added initial definitions
abi: classifier: added initial definitions
abi: crypto: added initial definitions
abi: packet: added initial definitions
abi: pool: added initial definitions
abi: queue: added initial definitions
abi: shm: added initial definitions
test: l2fwd: add pktio driver print out
validation: packet: print reason for suite init failure
test: generator: various improvements
test: l2fwd script: limit number of generator cpus
test: l2fwd: use packet_data
helper: linux: renamed threads_extn to linux helpers
linux-gen: abi: add symlink to arch specific dir
linux-gen: inline: rename _STATIC to _ODP_INLINE
linux-gen: ticketlock: inline also in application
linux-gen: packet: packet handle is hdr pointer
linux-gen: packet: inline functions
linux-gen: packet: inline flag functions
linux-gen: ipc: use hdr to handle conversion function
linux-gen: tm: use handle conversion function
api: packet: add support for packet references
api: packet: references may be implemented as copy
validation: packet: remove non compatible tests
linux-gen: packet: implement references as copy
Yi He (6):
linux-gen: sched: fix SP scheduler hang in process mode
linux-gen: sched: solve ordered context inversion
linux-gen: sched: add unsched_queue callback
linux-gen: add generic bitmaps and iterators
linux-gen: add interests query (iquery) scheduler
linux-gen: fix odp_schedule.m4
-----------------------------------------------------------------------
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 a652887cfebadb30843a6fbfe9d5655031d46881 (commit)
from 919d6924c532d46a52e467d481ee30b6b8bd78ec (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 -----------------------------------------------------------------
-----------------------------------------------------------------------
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 ff7600a119f02bb1ef2a57e5611e392968666420 (commit)
via a09bc35bf1159478195484e11eccb52cb33ae554 (commit)
from bd9f58474822c5c58f1b5ad52edb169264900772 (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 -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/include/odp_packet_internal.h | 5 +++++
platform/linux-generic/odp_packet.c | 5 -----
platform/linux-generic/odp_traffic_mngr.c | 2 +-
platform/linux-generic/pktio/ipc.c | 2 +-
4 files changed, 7 insertions(+), 7 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, api-next has been updated
via 926505016132ba543251eb109d5c9c93f8520314 (commit)
via 037e35f0f948a87e3daede33747177615aa3bab0 (commit)
from 144a2cd89865b5565a6064c3b1db4987bd1b4e58 (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 926505016132ba543251eb109d5c9c93f8520314
Author: Petri Savolainen <petri.savolainen(a)linaro.org>
Date: Fri Feb 17 16:20:07 2017 +0200
linux-gen: pktio: parser default config
Fill default parser configuration and capability. All pktios
use same parser code, so the capability is the same (all layers).
Signed-off-by: Petri Savolainen <petri.savolainen(a)linaro.org>
Reviewed-and-tested-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_packet_io.c b/platform/linux-generic/odp_packet_io.c
index 98460a5..5e783d8 100644
--- a/platform/linux-generic/odp_packet_io.c
+++ b/platform/linux-generic/odp_packet_io.c
@@ -923,6 +923,8 @@ void odp_pktout_queue_param_init(odp_pktout_queue_param_t *param)
void odp_pktio_config_init(odp_pktio_config_t *config)
{
memset(config, 0, sizeof(odp_pktio_config_t));
+
+ config->parser.layer = ODP_PKTIO_PARSER_LAYER_ALL;
}
int odp_pktio_info(odp_pktio_t hdl, odp_pktio_info_t *info)
@@ -1098,6 +1100,7 @@ int odp_pktio_term_global(void)
int odp_pktio_capability(odp_pktio_t pktio, odp_pktio_capability_t *capa)
{
pktio_entry_t *entry;
+ int ret;
entry = get_pktio_entry(pktio);
if (entry == NULL) {
@@ -1106,9 +1109,15 @@ int odp_pktio_capability(odp_pktio_t pktio, odp_pktio_capability_t *capa)
}
if (entry->s.ops->capability)
- return entry->s.ops->capability(entry, capa);
+ ret = entry->s.ops->capability(entry, capa);
+ else
+ ret = single_capability(capa);
- return single_capability(capa);
+ /* The same parser is used for all pktios */
+ if (ret == 0)
+ capa->config.parser.layer = ODP_PKTIO_PARSER_LAYER_ALL;
+
+ return ret;
}
unsigned odp_pktio_max_index(void)
diff --git a/test/common_plat/validation/api/pktio/pktio.c b/test/common_plat/validation/api/pktio/pktio.c
index 4f3c0c0..8d62bb1 100644
--- a/test/common_plat/validation/api/pktio/pktio.c
+++ b/test/common_plat/validation/api/pktio/pktio.c
@@ -1178,6 +1178,8 @@ void pktio_test_pktio_config(void)
odp_pktio_config_init(&config);
+ CU_ASSERT(config.parser.layer == ODP_PKTIO_PARSER_LAYER_ALL);
+
CU_ASSERT(odp_pktio_config(pktio, NULL) == 0);
CU_ASSERT(odp_pktio_config(pktio, &config) == 0);
commit 037e35f0f948a87e3daede33747177615aa3bab0
Author: Petri Savolainen <petri.savolainen(a)linaro.org>
Date: Fri Feb 17 16:20:06 2017 +0200
api: pktio: add parser configuration
Packet input parsing level configuration is added. An application
may express the maximum layer it is interested about.
Implementations may optimize packet input performance as parsing
can be stopped on the application required level. Implementations
are free to parse more layers than application requests.
Lazy parsing (e.g. in current odp-linux) does not work in practice.
The implementation cannot continue parsing after the application
has got access to packet data, since application may overwrite
some packet headers. Parse results must reflect the format of the
received packet.
Signed-off-by: Petri Savolainen <petri.savolainen(a)linaro.org>
Reviewed-and-tested-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/include/odp/api/spec/packet_io.h b/include/odp/api/spec/packet_io.h
index 85cd6d1..cec1f22 100644
--- a/include/odp/api/spec/packet_io.h
+++ b/include/odp/api/spec/packet_io.h
@@ -346,6 +346,39 @@ typedef union odp_pktout_config_opt_t {
} odp_pktout_config_opt_t;
/**
+ * Parser layers
+ */
+typedef enum odp_pktio_parser_layer_t {
+ /** No layers */
+ ODP_PKTIO_PARSER_LAYER_NONE = 0,
+
+ /** Layer L2 protocols (Ethernet, VLAN, ARP, etc) */
+ ODP_PKTIO_PARSER_LAYER_L2,
+
+ /** Layer L3 protocols (IPv4, IPv6, ICMP, IPsec, etc) */
+ ODP_PKTIO_PARSER_LAYER_L3,
+
+ /** Layer L4 protocols (UDP, TCP, SCTP) */
+ ODP_PKTIO_PARSER_LAYER_L4,
+
+ /** All layers */
+ ODP_PKTIO_PARSER_LAYER_ALL
+
+} odp_pktio_parser_layer_t;
+
+/**
+ * Parser configuration
+ */
+typedef struct odp_pktio_parser_config_t {
+ /** Protocol parsing level in packet input
+ *
+ * Parse protocol layers in minimum up to this level during packet
+ * input. The default value is ODP_PKTIO_PARSER_LAYER_ALL. */
+ odp_pktio_parser_layer_t layer;
+
+} odp_pktio_parser_config_t;
+
+/**
* Packet IO configuration options
*
* Packet IO interface level configuration options. Use odp_pktio_capability()
@@ -363,6 +396,9 @@ typedef struct odp_pktio_config_t {
* Default value for all bits is zero. */
odp_pktout_config_opt_t pktout;
+ /** Packet input parser configuration */
+ odp_pktio_parser_config_t parser;
+
/** Interface loopback mode
*
* In this mode the packets sent out through the interface is
-----------------------------------------------------------------------
Summary of changes:
include/odp/api/spec/packet_io.h | 36 +++++++++++++++++++++++++++
platform/linux-generic/odp_packet_io.c | 13 ++++++++--
test/common_plat/validation/api/pktio/pktio.c | 2 ++
3 files changed, 49 insertions(+), 2 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 484f37b71aac5f5a56cd12c72c348d90d1095e31 (commit)
via bcf8b3b1b5d509ba01c0daff9f2b2056026b643a (commit)
via 17454218029d3f22c15755d91b9e97c46fb16d61 (commit)
from 63a39fabe4924d142d2df041d817f732eb4fdafb (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 484f37b71aac5f5a56cd12c72c348d90d1095e31
Author: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Date: Thu Feb 23 16:37:34 2017 +0300
linux-generic: crypto: support OpenSSL 1.1.0
OpenSSL 1.1.0 uses new threading API. It is no longer necessary to set
locking callbacks to use OpenSSL in a multi-threaded environment.
OpenSSL provides compatibility callbacks, but ODP compilation still
fails with unused function/argument errors. So, to support compiling ODP
with OpenSSL 1.1.x, add ODP_UNUSED annotiations to lock/thread_id
callbacks.
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Reviewed-and-tested-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 adadbf9..54b222f 100644
--- a/platform/linux-generic/odp_crypto.c
+++ b/platform/linux-generic/odp_crypto.c
@@ -949,14 +949,14 @@ odp_crypto_operation(odp_crypto_op_param_t *param,
return 0;
}
-static void openssl_thread_id(CRYPTO_THREADID *id)
+static void ODP_UNUSED openssl_thread_id(CRYPTO_THREADID ODP_UNUSED *id)
{
CRYPTO_THREADID_set_numeric(id, odp_thread_id());
}
-static void openssl_lock(int mode, int n,
- const char *file ODP_UNUSED,
- int line ODP_UNUSED)
+static void ODP_UNUSED openssl_lock(int mode, int n,
+ const char *file ODP_UNUSED,
+ int line ODP_UNUSED)
{
if (mode & CRYPTO_LOCK)
odp_ticketlock_lock((odp_ticketlock_t *)
commit bcf8b3b1b5d509ba01c0daff9f2b2056026b643a
Author: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Date: Thu Feb 23 16:37:33 2017 +0300
linux-generic: crypto: port to OpenSSL 1.0.x thread id API
OpenSSL 1.0.x has deperecated old 0.9.x thread id callbacks. If the
library is compiled without deprecated functions, compiling ODP fails
with missing functions errors. So, let's port odp_crypto to OpenSSL 1.0
thread ID API.
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Reviewed-and-tested-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 b53b0fc..adadbf9 100644
--- a/platform/linux-generic/odp_crypto.c
+++ b/platform/linux-generic/odp_crypto.c
@@ -949,9 +949,9 @@ odp_crypto_operation(odp_crypto_op_param_t *param,
return 0;
}
-static unsigned long openssl_thread_id(void)
+static void openssl_thread_id(CRYPTO_THREADID *id)
{
- return (unsigned long)odp_thread_id();
+ CRYPTO_THREADID_set_numeric(id, odp_thread_id());
}
static void openssl_lock(int mode, int n,
@@ -1003,7 +1003,7 @@ odp_crypto_init_global(void)
odp_ticketlock_init((odp_ticketlock_t *)
&global->openssl_lock[idx]);
- CRYPTO_set_id_callback(openssl_thread_id);
+ CRYPTO_THREADID_set_callback(openssl_thread_id);
CRYPTO_set_locking_callback(openssl_lock);
}
commit 17454218029d3f22c15755d91b9e97c46fb16d61
Author: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Date: Thu Feb 23 16:37:32 2017 +0300
linux-generic: crypto: add missing include
OpenSSL 1.1.0 headers do not include <openssl/evp.h>, so include it
manually to fix the following error:
In file included from ./include/odp_packet_internal.h:28:0,
from odp_classification.c:13:
./include/odp_crypto_internal.h:55:5: error: unknown type name ‘EVP_CIPHER_CTX’
EVP_CIPHER_CTX *ctx;
^~~~~~~~~~~~~~
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Reviewed-and-tested-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/linux-generic/include/odp_crypto_internal.h b/platform/linux-generic/include/odp_crypto_internal.h
index c7b893a..f85b76e 100644
--- a/platform/linux-generic/include/odp_crypto_internal.h
+++ b/platform/linux-generic/include/odp_crypto_internal.h
@@ -13,6 +13,7 @@ extern "C" {
#include <openssl/des.h>
#include <openssl/aes.h>
+#include <openssl/evp.h>
#define MAX_IV_LEN 64
#define OP_RESULT_MAGIC 0x91919191
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/include/odp_crypto_internal.h | 1 +
platform/linux-generic/odp_crypto.c | 12 ++++++------
2 files changed, 7 insertions(+), 6 deletions(-)
hooks/post-receive
--