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 900c9ca3d4099178a328433d32d84a825264aaa1 (commit)
via d660e0e1647d7f1a6c6698b6f1b79b4590b84e1f (commit)
from 42d0b99c453f269fbe21cc92652440bdbbd10ba4 (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 900c9ca3d4099178a328433d32d84a825264aaa1
Author: Mike Holmes <mike.holmes(a)linaro.org>
Date: Wed Dec 7 14:43:25 2016 -0500
configure: remove duplicate info
Signed-off-by: Mike Holmes <mike.holmes(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/configure.ac b/configure.ac
index a9bd098..20ec479 100644
--- a/configure.ac
+++ b/configure.ac
@@ -344,7 +344,6 @@ AC_MSG_RESULT([
static libraries: ${enable_static}
shared libraries: ${enable_shared}
ABI compatible: ${abi_compat}
- ODP_ABI_COMPAT: ${ODP_ABI_COMPAT}
cunit: ${cunit_support}
test_vald: ${test_vald}
test_perf: ${test_perf}
commit d660e0e1647d7f1a6c6698b6f1b79b4590b84e1f
Author: Mike Holmes <mike.holmes(a)linaro.org>
Date: Wed Dec 7 14:43:24 2016 -0500
configure: if no ABI reset .so to 0
Signed-off-by: Mike Holmes <mike.holmes(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/configure.ac b/configure.ac
index 3e89b0a..a9bd098 100644
--- a/configure.ac
+++ b/configure.ac
@@ -254,6 +254,8 @@ AC_ARG_ENABLE([abi-compat],
ODP_ABI_COMPAT=0
abi_compat=no
enable_shared=no
+ #if there is no ABI compatibility the .so numbers are meaningless
+ ODP_LIBSO_VERSION=0:0:0
fi])
AC_SUBST(ODP_ABI_COMPAT)
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
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, monarch_lts has been updated
via 5481d365e81f35d940b7eb3bd57ef5246332f4d5 (commit)
from 6dac46d9c8dd8cc1f27638215704effcf6269baf (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 5481d365e81f35d940b7eb3bd57ef5246332f4d5
Author: Mike Holmes <mike.holmes(a)linaro.org>
Date: Thu Dec 1 14:28:20 2016 -0500
configure.ac: fix builds from raw git tar
Signed-off-by: Mike Holmes <mike.holmes(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/configure.ac b/configure.ac
index 48fe0be..5c7ddd0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ([2.5])
-AC_INIT([OpenDataPlane], m4_esyscmd(./scripts/git_hash.sh .), [lng-odp(a)lists.linaro.org])
+AC_INIT([OpenDataPlane], m4_esyscmd_s(./scripts/git_hash.sh .), [lng-odp(a)lists.linaro.org])
AM_INIT_AUTOMAKE([1.9 tar-pax subdir-objects])
AC_CONFIG_SRCDIR([helper/config.h.in])
AM_CONFIG_HEADER([helper/config.h])
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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 f0d6c01a0fb51904d5dd049be8402531ec185dcc (commit)
from 10f2f857f6a38c89afff6bdfcc932e18e49ca9a2 (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 f0d6c01a0fb51904d5dd049be8402531ec185dcc
Author: Christophe Milard <christophe.milard(a)linaro.org>
Date: Fri Nov 25 15:39:33 2016 +0100
linux-gen: _fdserver: request sigterm if parent dies
_fdserver now request SIGTERM if parent process (ODP instantiation
process) dies, hence avoiding it to become orphan and reattached to the
init process.
Signed-off-by: Christophe Milard <christophe.milard(a)linaro.org>
Reviewed-by: Mike Holmes <mike.holmes(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/linux-generic/_fdserver.c b/platform/linux-generic/_fdserver.c
index 41a630b..9aed7a9 100644
--- a/platform/linux-generic/_fdserver.c
+++ b/platform/linux-generic/_fdserver.c
@@ -41,6 +41,8 @@
#include <odp_internal.h>
#include <odp_debug_internal.h>
#include <_fdserver_internal.h>
+#include <sys/prctl.h>
+#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
@@ -622,6 +624,10 @@ int _odp_fdserver_init_global(void)
/* TODO: pin the server on appropriate service cpu mask */
/* when (if) we can agree on the usage of service mask */
+ /* request to be killed if parent dies, hence avoiding */
+ /* orphans being "adopted" by the init process... */
+ prctl(PR_SET_PDEATHSIG, SIGTERM);
+
/* allocate the space for the file descriptor<->key table: */
fd_table = malloc(FDSERVER_MAX_ENTRIES * sizeof(fdentry_t));
if (!fd_table) {
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/_fdserver.c | 6 ++++++
1 file changed, 6 insertions(+)
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.12.0.0 has been created
at 953fcfa24571d1da9901e262c3fe92ecd796c343 (tag)
tagging 4cfe988cc6e0667928c23a4715eeac8a301396ac (commit)
replaces v1.11.0.0_monarch
tagged by Maxim Uvarov
on Fri Dec 2 18:26:02 2016 +0300
- Log -----------------------------------------------------------------
== OpenDataPlane (1.12.0.0)
=== New Features
==== APIs
ODP v1.12.0.0 has no API changes from previous v1.11.0 Monarch LTS. Version
is increased in current development release to make room for Monarch updates
numbers.
==== Application Binary Interface (ABI) Support
Support is added to enable ODP applications to be binary compatible across
different implementations of ODP sharing the same Instruction Set Architecture
(ISA). This support introduces a new `configure` option:
`no abi disable option`::
This is the default and specifies that the ODP library is to be built to
support ABI compatibility mode. In this mode ODP APIs are never inlined. ABI
compatibility ensures maximum application portability in cloud environments.
`--disable-abi-compat`::
Specify this option to enable the inlining of ODP APIs. This may result in
improved performance at the cost of ABI compatibility and is suitable for
applications running in embedded environments.
Note that ODP applications retain source code portability between ODP
implementations regardless of the ABI mode chosen. To move to a different ODP
application running on a different ISA, code need simply be recompiled against
that target ODP implementation.
==== SCTP Parsing Support
The ODP classifier adds support for recognizing Stream Control Transmission
Protocol (SCTP) packets. The APIs for this were previously not implemented.
=== Packaging and Implementation Refinements
==== Remove dependency on Linux headers
ODP no longer has a dependency on Linux headers. This will help make the
odp-linux reference implementation more easily portable to non-Linux
environments.
==== Remove dependency on helpers
The odp-linux implementation has been made independent of the helper library
to avoid circular dependency issues with packaging. Helper functions may use
ODP APIs, however ODP implementations should not use helper functions.
==== Reorganization of `test` directory
The `test` directory has been reorganized to better support a unified approach
to ODP component testing. API tests now live in
`test/common_plat/validation/api` instead of the former
`test/validation`. With this change performance and validation tests, as well
as common and platform-specific tests can all be part of a unified test
hierarchy.
The resulting test tree now looks like:
.New `test` directory hierarchy
-----
test
├── common_plat
│ ├── common
│ ├── m4
│ ├── miscellaneous
│ ├── performance
│ └── validation
│ └── api
│ ├── atomic
│ ├── barrier
│ ├── buffer
│ ├── classification
│ ├── cpumask
│ ├── crypto
│ ├── errno
│ ├── hash
│ ├── init
│ ├── lock
│ ├── packet
│ ├── pktio
│ ├── pool
│ ├── queue
│ ├── random
│ ├── scheduler
│ ├── shmem
│ ├── std_clib
│ ├── system
│ ├── thread
│ ├── time
│ ├── timer
│ └── traffic_mngr
├── linux-generic
│ ├── m4
│ ├── mmap_vlan_ins
│ ├── performance
│ ├── pktio_ipc
│ ├── ring
│ └── validation
│ └── api
│ ├── pktio
│ └── shmem
└── m4
-----
==== Pools
The maximum number of pools that may be created in the odp-linux reference
implementation has been raised from 16 to 64.
==== Upgrade to DPDK 16.07
The DPDK pktio support in odp-linux has been upgraded to work with DPDK 16.07.
A number of miscellaneous fixes and performance improvements in this support
are also present.
==== PktIO TAP Interface Classifier Support
Packet I/O interfaces operating in TAP mode now can feed packets to the ODP
classifier the same as other pktio modes can do.
=== Performance Improvements
==== Burst-mode buffer allocation
The scheduler and pktio components have been reworked to use burst-mode
buffer allocation/deallocation, yielding a measurable performance gain in
almost all cases.
==== Burst-mode queue operations
ODP queues internally now attempt to use burst-mode enq/deq operations to
accelerate performance where applicable.
==== Ring-based Scheduler Priority Queues
The ODP scheduler has been enhanced to use ring-based priority queues, resulting
in significantly better scalability in many core environments.
==== GitHub Automation Support
ODP now supports the Travis framework needed to trigger CI automation in
conjunction with GitHub. This support is considered experimental for now.
=== Examples
==== New `l3fwd` Example
A new example application is provided that illustrates use
of ODP for simple Layer 3 forwarding across multiple interfaces.
=== Documentation
==== Pure API Documentation
ODP now generates "pure" (implementation independent) doxygen documentation in
addition to the specific documentation for the odp-linux implementation. The
pure version is applicable to any ODP implementation as it simply describes
the ODP API specification. Implementation-specific versions of this
documentation describe both the APIs as well as specifics concerning typedefs,
enums, etc. This should help clarify what aspects of ODP are platform
independent.
==== Clarify ODP Thread Definition
The definition of an ODP thread in odp-linux has been clarified to specify that
for this implementation ODP threads are Linux pthreads or Linux processes.
Currently threads as processes is considered experimental in odp-linux.
=== Bug Fixes
Numerous refinements have been incorporated to make
validation tests more robust in API coverage as well as correcting corner
cases in the implementation of many ODP APIs. Notable fixes include:
==== https://bugs.linaro.org/show_bug.cgi?id=2316[Bug 2316]
`ODP_TIMEOUT_INVALID` is now defined consistently with other pool elements so
the restriction on using Pool 0 as a timer pool is removed.
==== https://bugs.linaro.org/show_bug.cgi?id=2310[Bug 2310]
The `odp_packet_copy()` API now correctly handles user areas between pools that
are configured with different sized per-packet user area definitions.
==== https://bugs.linaro.org/show_bug.cgi?id=2571[Bug 2571]
Corrects the implementation of AES GCM decryption in the ODP crypto API.
=== Known Issues
==== https://bugs.linaro.org/show_bug.cgi?id=2309[Bug 2309]
The Timer validation test fails sporadically in environments with high core
counts.
Anders Roxell (1):
linux-gen: Makefile: Move EXTRA_DIST to to platform/Makefile.inc
Balasubramanian Manoharan (1):
api: traffic_mngr: Add pktio interface to odp_tm_egress_t struct
Barry Spinney (3):
api: tm: resolve todo
linux-generic: tm: made tm thread creation more flexible
linux-generic: tm: fix off by 1 bug accessing queue_num_tbl
Bill Fischofer (10):
validation: tm: use strncmp() to avoid potential string overrun
doc: release-guide: elaborate release naming scheme
linux-generic: tm: handle pktout queue check properly
test: performance: capture termination failures in final return code
linux-generic: configure: add conditional shared library support
linux-generic: make: fix distribution build for inlines.h
linux-generic: ticketlock: add missing doxygen for ticketlock_inlines.h
linux-generic: config: add missing doxygen documentation for abi macros
linux-generic: packet: add fall through comments to parser
changelog: summary of changes for odp v1.12.0.0
Brian Brooks (4):
linux-generic: internal cache line size
timers: fix off by one tick in timer expiration processing
example: odp_timer_simple: decrease timer pool resolution
timer: add missing atomic decrement
Christophe Milard (9):
validation: diverse cosmetic fixes for checkpatch
validation: moving api validation tests to prepare for new interfaces
test: restructuring platform-specific tests to allow other interface
doc: implementers guide update with the new structure
test: update in readme file
linux-gen: doc: defining the ODP thread
linux-gen: using ODP instantiation pid as odp instance
linux-gen: packet_io: handling term_global while in CLOSE_PENDING
performance: odp_pktio_perf: adding missing term functions
Juha Mattila (1):
linux-gen: tap: add classifier support
Khalil Blaiech (1):
helper: fixing helper prefix in chksum.c
Matias Elo (20):
linux-gen: pool: optimize thread local buffer cache
linux-gen: pktio: use multi alloc
linux-gen: netmap: use multi alloc/free
performance: odp_scheduling: use multi alloc/free buffer functions
linux-gen: dpdk: bump target dpdk version to 16.07
linux-gen: dpdk: free used mempool when closing pktio device
linux-gen: dpdk: fix buffer freeing in mbuf_to_pkt()
linux-gen: dpdk: bulk alloc mbufs in tx
linux-gen: dpdk: move rx/tx locks
test: perf: add new scheduling latency test
test: sched_latency: add test script
linux-gen: packet: enable parsing only selected packet header layers
linux-gen: packet: parse only required packet header layers
linux-gen: packet: identify sctp packets
example: l3fwd: add missing gitignores
example: l3fwd: optimize ip checksum update
example: l3fwd: make packet error check optional
example: l3fwd: remove unnecessary output arguments
example: l3fwd: simplify worker main loop
example: l3fwd: prevent possible use of uninitialised variables
Maxim Uvarov (24):
linux-gen: fix odp_pool_print
api: system: specify default huge page size
linux-gen: fix possible overflow in pktio ipc code
linux-gen: test add termination path for ipc pktio test
linux-gen: do not init scheduler context on termination
example: odp_l2fwd place readme with symlink
test: linux-gen: ipc do not use pid -1 value
linux-gen: socket mmap remove todo
example: l2fwd_simple add termination path
example: l3fwd: fix clang build
Revert "example: generator: actually use specified default"
linux-gen: pktio: ipc: remove todos
test: skip pktio_perf tests on 1 and 2 cpus machines
Revert "test: skip pktio_perf tests on 1 and 2 cpus machines"
test: skip pktio_perf tests on 1 and 2 cpus machines
fix out of tree build
linux-gen: crypto: fix aes gcm decryption
linux-generic: add vlan insertion test
test: linux-gen: mmap_vlan_ins change bin to test programs
travis: linux-gen: add dpdk pktio
Merge tag 'v1.11.0.0_monarch'
test: linux-gen: fix termination in mmap_vlan_ins
configure.ac: disable shared library for non abi compat mode
configure.ac update version numbers
Mike Holmes (10):
example: odp_traffic_mgmt: remove unused includes
doc: implimenters: fix spelling
test:linux-generic: run odp_scheduling in process mode
doc: release-guide: add LTS details
test: perf: add prime num threads to odp_scheduling
example: generator: actually use specified default
example: generator: actually use specified default
configure: the version cannot use a script
add travis.yml for gitub automation
travis.yml: add coverity support
Nikhil Agarwal (2):
example:ipsec: removed invalid todos.
api:crypto: resolve todo items
Oriol Arcas (1):
linux-generic: pool: set maximum number of pools to 64
Petri Savolainen (15):
linux-gen: sched: keep scheduling over empty queues
test: l2fwd: remove wait time from sched mode
linux-gen: sched: ring based priority queues
linux-gen: sched: ring based pktio command queues
linux-gen: sched: increase number of pktin
linux-gen: sched: pktio poll loop optimization
linux-gen: sched: increase max dequeue batch size
linux-gen: sched: call schedule_release_atomic directly
linux-gen: queue: reuse enq_ and deq_multi
linux-gen: queue: burst enq and deq
linux-gen: ticketlock: inline ticketlock implementation
linux-gen: queue: use inlined ticketlock
linux-gen: pool: use inlined ticketlock
linux-gen: config: increase burst sizes
linux-gen: build: de-couple abi compatibility from shared lib
Xuelin Shi (4):
example: introducing l3fwd
example/l3fwd: add test script
example/l3fwd: enhance flow lookup performance in hash
linux-generic: fix ISO C compiling issue with -Werror=pedantic
-----------------------------------------------------------------------
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 4cfe988cc6e0667928c23a4715eeac8a301396ac (commit)
from 290b6f6464a81d65333657dfff7922203614748c (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 4cfe988cc6e0667928c23a4715eeac8a301396ac
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Wed Nov 30 23:32:53 2016 +0300
configure.ac update version numbers
Update numbers for .so and add short description.
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Mike Holmes <mike.holmes(a)linaro.org>
diff --git a/configure.ac b/configure.ac
index b460a65..3e89b0a 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], [11])
+m4_define([odpapi_major_version], [12])
m4_define([odpapi_minor_version], [0])
m4_define([odpapi_point_version], [0])
m4_define([odpapi_version],
@@ -28,12 +28,20 @@ AC_CONFIG_MACRO_DIR([m4])
AM_SILENT_RULES([yes])
##########################################################################
-# Set correct platform library version
+# Set platform library version
+#
+# Follow version rules described here:
+# https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info…
+# Version is Current:Revision:Age
+# 1. if there are only source changes, use C:R+1:A
+# 2. if interfaces were added use C+1:0:A+1
+# 3. if interfaces were removed, then use C+1:0:0
##########################################################################
-ODP_LIBSO_VERSION=111:0:0
+
+ODP_LIBSO_VERSION=112:0:0
AC_SUBST(ODP_LIBSO_VERSION)
-ODPHELPER_LIBSO_VERSION=110:0:1
+ODPHELPER_LIBSO_VERSION=110:1:1
AC_SUBST(ODPHELPER_LIBSO_VERSION)
# Checks for programs.
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 16 ++++++++++++----
1 file changed, 12 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, api-next has been updated
via a70fa333ebb25a8331bd203440fbe81bf84946b1 (commit)
from b5781eeee0fa56710ea865e67f47ad9b3656b955 (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 a70fa333ebb25a8331bd203440fbe81bf84946b1
Author: Bill Fischofer <bill.fischofer(a)linaro.org>
Date: Wed Nov 30 17:08:48 2016 -0600
linux-generic: pool: reset origin_qe on buffer allocation
Resolve bug https://bugs.linaro.org/show_bug.cgi?id=2622 by
re-initializing origin_qe to NULL when a buffer is allocated. This step
was omitted in the switch to ring pool allocation introduced in
commit ID c8cf1d87783d4b4c628f219803b78731b8d4ade4
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Reviewed-and-tested-by: Yi He <yi.he(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/linux-generic/odp_pool.c b/platform/linux-generic/odp_pool.c
index 4be3827..8c38c93 100644
--- a/platform/linux-generic/odp_pool.c
+++ b/platform/linux-generic/odp_pool.c
@@ -588,6 +588,7 @@ int buffer_alloc_multi(pool_t *pool, odp_buffer_t buf[],
uint32_t mask, i;
pool_cache_t *cache;
uint32_t cache_num, num_ch, num_deq, burst;
+ odp_buffer_hdr_t *hdr;
ring = &pool->ring.hdr;
mask = pool->ring_mask;
@@ -608,8 +609,13 @@ int buffer_alloc_multi(pool_t *pool, odp_buffer_t buf[],
}
/* Get buffers from the cache */
- for (i = 0; i < num_ch; i++)
+ for (i = 0; i < num_ch; i++) {
buf[i] = cache->buf[cache_num - num_ch + i];
+ hdr = buf_hdl_to_hdr(buf[i]);
+ hdr->origin_qe = NULL;
+ if (buf_hdr)
+ buf_hdr[i] = hdr;
+ }
/* If needed, get more from the global pool */
if (odp_unlikely(num_deq)) {
@@ -629,9 +635,11 @@ int buffer_alloc_multi(pool_t *pool, odp_buffer_t buf[],
uint32_t idx = num_ch + i;
buf[idx] = (odp_buffer_t)(uintptr_t)data[i];
+ hdr = buf_hdl_to_hdr(buf[idx]);
+ hdr->origin_qe = NULL;
if (buf_hdr) {
- buf_hdr[idx] = buf_hdl_to_hdr(buf[idx]);
+ buf_hdr[idx] = hdr;
/* Prefetch newly allocated and soon to be used
* buffer headers. */
odp_prefetch(buf_hdr[idx]);
@@ -648,11 +656,6 @@ int buffer_alloc_multi(pool_t *pool, odp_buffer_t buf[],
cache->num = cache_num - num_ch;
}
- if (buf_hdr) {
- for (i = 0; i < num_ch; i++)
- buf_hdr[i] = buf_hdl_to_hdr(buf[i]);
- }
-
return num_ch + num_deq;
}
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/odp_pool.c | 17 ++++++++++-------
1 file changed, 10 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, master has been updated
via 290b6f6464a81d65333657dfff7922203614748c (commit)
via 2f78516616ba40cfa316c739816ef34ef7924a49 (commit)
from 783ca69b2f6e1ce1d7e2b2e2774d4d475a12cf10 (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 290b6f6464a81d65333657dfff7922203614748c
Author: Bill Fischofer <bill.fischofer(a)linaro.org>
Date: Tue Nov 29 19:32:35 2016 +0300
changelog: summary of changes for odp v1.12.0.0
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Mike Holmes <mike.holmes(a)linaro.org>
diff --git a/CHANGELOG b/CHANGELOG
index 1d652a8..17afe44 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,180 @@
+== OpenDataPlane (1.12.0.0)
+
+=== New Features
+
+==== APIs
+ODP v1.12.0.0 has no API changes from previous v1.11.0 Monarch LTS. Version
+is increased in current development release to make room for Monarch updates
+numbers.
+
+==== Application Binary Interface (ABI) Support
+Support is added to enable ODP applications to be binary compatible across
+different implementations of ODP sharing the same Instruction Set Architecture
+(ISA). This support introduces a new `configure` option:
+
+`no abi disable option`::
+This is the default and specifies that the ODP library is to be built to
+support ABI compatibility mode. In this mode ODP APIs are never inlined. ABI
+compatibility ensures maximum application portability in cloud environments.
+
+`--disable-abi-compat`::
+Specify this option to enable the inlining of ODP APIs. This may result in
+improved performance at the cost of ABI compatibility and is suitable for
+applications running in embedded environments.
+
+Note that ODP applications retain source code portability between ODP
+implementations regardless of the ABI mode chosen. To move to a different ODP
+application running on a different ISA, code need simply be recompiled against
+that target ODP implementation.
+
+==== SCTP Parsing Support
+The ODP classifier adds support for recognizing Stream Control Transmission
+Protocol (SCTP) packets. The APIs for this were previously not implemented.
+
+=== Packaging and Implementation Refinements
+
+==== Remove dependency on Linux headers
+ODP no longer has a dependency on Linux headers. This will help make the
+odp-linux reference implementation more easily portable to non-Linux
+environments.
+
+==== Remove dependency on helpers
+The odp-linux implementation has been made independent of the helper library
+to avoid circular dependency issues with packaging. Helper functions may use
+ODP APIs, however ODP implementations should not use helper functions.
+
+==== Reorganization of `test` directory
+The `test` directory has been reorganized to better support a unified approach
+to ODP component testing. API tests now live in
+`test/common_plat/validation/api` instead of the former
+`test/validation`. With this change performance and validation tests, as well
+as common and platform-specific tests can all be part of a unified test
+hierarchy.
+
+The resulting test tree now looks like:
+
+.New `test` directory hierarchy
+-----
+test
+├── common_plat
+│ ├── common
+│ ├── m4
+│ ├── miscellaneous
+│ ├── performance
+│ └── validation
+│ └── api
+│ ├── atomic
+│ ├── barrier
+│ ├── buffer
+│ ├── classification
+│ ├── cpumask
+│ ├── crypto
+│ ├── errno
+│ ├── hash
+│ ├── init
+│ ├── lock
+│ ├── packet
+│ ├── pktio
+│ ├── pool
+│ ├── queue
+│ ├── random
+│ ├── scheduler
+│ ├── shmem
+│ ├── std_clib
+│ ├── system
+│ ├── thread
+│ ├── time
+│ ├── timer
+│ └── traffic_mngr
+├── linux-generic
+│ ├── m4
+│ ├── mmap_vlan_ins
+│ ├── performance
+│ ├── pktio_ipc
+│ ├── ring
+│ └── validation
+│ └── api
+│ ├── pktio
+│ └── shmem
+└── m4
+-----
+
+==== Pools
+The maximum number of pools that may be created in the odp-linux reference
+implementation has been raised from 16 to 64.
+
+==== Upgrade to DPDK 16.07
+The DPDK pktio support in odp-linux has been upgraded to work with DPDK 16.07.
+A number of miscellaneous fixes and performance improvements in this support
+are also present.
+
+==== PktIO TAP Interface Classifier Support
+Packet I/O interfaces operating in TAP mode now can feed packets to the ODP
+classifier the same as other pktio modes can do.
+
+=== Performance Improvements
+
+==== Burst-mode buffer allocation
+The scheduler and pktio components have been reworked to use burst-mode
+buffer allocation/deallocation, yielding a measurable performance gain in
+almost all cases.
+
+==== Burst-mode queue operations
+ODP queues internally now attempt to use burst-mode enq/deq operations to
+accelerate performance where applicable.
+
+==== Ring-based Scheduler Priority Queues
+The ODP scheduler has been enhanced to use ring-based priority queues, resulting
+in significantly better scalability in many core environments.
+
+==== GitHub Automation Support
+ODP now supports the Travis framework needed to trigger CI automation in
+conjunction with GitHub. This support is considered experimental for now.
+
+=== Examples
+
+==== New `l3fwd` Example
+A new example application is provided that illustrates use
+of ODP for simple Layer 3 forwarding across multiple interfaces.
+
+=== Documentation
+
+==== Pure API Documentation
+ODP now generates "pure" (implementation independent) doxygen documentation in
+addition to the specific documentation for the odp-linux implementation. The
+pure version is applicable to any ODP implementation as it simply describes
+the ODP API specification. Implementation-specific versions of this
+documentation describe both the APIs as well as specifics concerning typedefs,
+enums, etc. This should help clarify what aspects of ODP are platform
+independent.
+
+==== Clarify ODP Thread Definition
+The definition of an ODP thread in odp-linux has been clarified to specify that
+for this implementation ODP threads are Linux pthreads or Linux processes.
+Currently threads as processes is considered experimental in odp-linux.
+
+=== Bug Fixes
+Numerous refinements have been incorporated to make
+validation tests more robust in API coverage as well as correcting corner
+cases in the implementation of many ODP APIs. Notable fixes include:
+
+==== https://bugs.linaro.org/show_bug.cgi?id=2316[Bug 2316]
+`ODP_TIMEOUT_INVALID` is now defined consistently with other pool elements so
+the restriction on using Pool 0 as a timer pool is removed.
+
+==== https://bugs.linaro.org/show_bug.cgi?id=2310[Bug 2310]
+The `odp_packet_copy()` API now correctly handles user areas between pools that
+are configured with different sized per-packet user area definitions.
+
+==== https://bugs.linaro.org/show_bug.cgi?id=2571[Bug 2571]
+Corrects the implementation of AES GCM decryption in the ODP crypto API.
+
+=== Known Issues
+
+==== https://bugs.linaro.org/show_bug.cgi?id=2309[Bug 2309]
+The Timer validation test fails sporadically in environments with high core
+counts.
+
== OpenDataPlane (1.11.0.0)
ODP v1.11.0 is the base tag and branch for the Monarch LTS (Long Term Support)
release of ODP.
commit 2f78516616ba40cfa316c739816ef34ef7924a49
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Tue Nov 29 19:32:34 2016 +0300
configure.ac: disable shared library for non abi compat mode
original configure.ac enables abi compat mode by default,
even without --enable-abi-compat provided. And has broken
logic to disable abi compat mode. Correct logic to build abi
compat mode and option to disable it. Shared library is not
needed for non abi compat mode, so turn it off.
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Mike Holmes <mike.holmes(a)linaro.org>
diff --git a/configure.ac b/configure.ac
index be5a292..b460a65 100644
--- a/configure.ac
+++ b/configure.ac
@@ -241,13 +241,11 @@ ODP_CFLAGS="$ODP_CFLAGS -DODP_DEBUG=$ODP_DEBUG"
ODP_ABI_COMPAT=1
abi_compat=yes
AC_ARG_ENABLE([abi-compat],
- [ --enable-abi-compat build all targets in ABI compatible mode (default=yes)],
- [if test "x$enableval" = "xyes"; then
- ODP_ABI_COMPAT=1
- abi_compat=yes
- else
+ [ --disable-abi-compat disables ABI compatible mode, enables inline code in header files],
+ [if test "x$enableval" = "xno"; then
ODP_ABI_COMPAT=0
abi_compat=no
+ enable_shared=no
fi])
AC_SUBST(ODP_ABI_COMPAT)
@@ -336,6 +334,7 @@ AC_MSG_RESULT([
static libraries: ${enable_static}
shared libraries: ${enable_shared}
ABI compatible: ${abi_compat}
+ ODP_ABI_COMPAT: ${ODP_ABI_COMPAT}
cunit: ${cunit_support}
test_vald: ${test_vald}
test_perf: ${test_perf}
-----------------------------------------------------------------------
Summary of changes:
CHANGELOG | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
configure.ac | 9 ++-
2 files changed, 181 insertions(+), 5 deletions(-)
hooks/post-receive
--