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 bed462d28fa081a0d66dd29a8034f188256c7d04 (commit)
from 2b27f75b587cf23d2687dd37897cbb26ed915890 (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 bed462d28fa081a0d66dd29a8034f188256c7d04
Author: Bill Fischofer <bill.fischofer(a)linaro.org>
Date: Mon May 7 15:29:04 2018 -0500
changelog: updates for odp v1.19.0.1
Add updates for ODP v1.19.0.1 (Tiger Moth Service Update 1)
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Reviewed-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/CHANGELOG b/CHANGELOG
index 5af1777c..96655320 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,127 @@
+== OpenDataPlane (1.19.0.1)
+=== Summary of Changes
+ODP v1.19.0.1 is the first service update for the Tiger Moth release. It
+incorporates a number of corrections and enhancements that improve the quality
+and testability of ODP.
+
+==== APIs
+There are no API changes in this release.
+
+==== DPDK Service Release Sync
+ODP is now paired with DPDK 17.11.2 for it's DPDK-related support. This is the
+current service level for the DPDK 17.11 LTS package used by ODP Tiger Moth
+and incorporates a number of important bug fixes.
+
+=== Implementation Improvements
+The ODP reference implementation has been improved in a number of areas.
+
+==== GCC 8 Support
+The GCC 8 series of compilers provides additional warnings about possible
+string truncation. A few ODP modules were changed to avoid misleading
+warnings when compiling with this level of GCC.
+
+==== Linking with `libnuma`
+The `libnuma` library is used for DPDK pktios to provide proper memory
+allocation on NUMA-aware systems. Linking with this library is improved to
+avoid extraneous error messages at build time.
+
+==== Packet metadata reorganization
+Packet metadata is reorganized to reduce the cache footprint used by the ODP
+reference implementation, resulting in performance improvements.
+
+==== Random split from crypto module
+The `odp_random_xxx()` family of APIs was moved to a separate module
+(`odp_random.c`) for modularity and better isolation from planned crypto
+enhancements.
+
+==== Shmem improvements
+Unnecessary locking is removed from the `odp_fdserver` module, streamlining
+operations on shared memory.
+
+==== Timer pools
+The default number of timer pools supported by the ODP reference
+implementation has been reduced from 255 to 32. This lower number remains
+generously adequate for most applications and meaningfully reduces memory
+footprint, giving better performance.
+
+==== Timer resolution
+During initialization ODP normally measures timer resolution to set the
+reported `highest_res_ns`. When such measurement is not able to be performed,
+this is not limited to 500ns to avoid bounds errors with overly precise
+resolutions.
+
+=== Validation Improvements
+The ODP validation test suite has been improved in a number of areas.
+
+==== Crypto validation test
+The validation test now correctly handles corner cases when the implementation
+under test fails to process any test packets. It also includes the
+previously missing `ODP_CIPHER_ALG_AES_CTR` name.
+
+Additionally, since individual implementations indicate which crypto/hash
+algorithms are supported via the `odp_crypto_capability()` API, the crypto
+validation test now properly uses this information and only tests those
+algorithms that the implementation reports as supported. The list of
+unsupported algorithms is also reported as part of the test results.
+
+==== `odp_sched_pktio` test improvements
+The number of input/output queues used by this test can now be specified,
+providing additional controls for test flexibility. In addition, pktout
+queues are now selected based on input queue rather than worker id, thus
+ensuring packet order flow is maintained.
+
+Finally, an inactivity timer is added that allows the test to report when
+packets were handled due to timeout rather than I/O activity.
+
+==== Timer validation test
+The validation test for the ODP timer APIs has been reorganized to better
+characterize an implementation's conformance to the ODP Timer API
+specification. Since implementations can have widely differing timer accuracy
+levels, particularly when running in virtualized environments, the test also
+relaxes its bounds checking and enforcement somewhat to better avoid false
+negative test results.
+
+Additionally, a timer pool create/destroy test was added as this area was
+not adequately covered previously.
+
+=== Documentation Improvements
+The `EXTRA_ASCIIDOC_FLAGS` environment variable may now be used to supply
+additional build flags for Asciidoctor, which can be used to override
+icons and/or fonts for distribution or other needs.
+
+=== Bug Fixes
+==== https://bugs.linaro.org/show_bug.cgi?id=3657[Bug 3657]
+PktIO does not work with Mellanox Interfaces
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3685[Bug 3685]
+RX UDP checksum offload drops valid UDP packets with Niantic
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3686[Bug 3686]
+IP header checksum not inserted if L4 offset not set
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3690[Bug 3690]
+fdserver process interferes with signal handling
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3763[Bug 3763]
+tests should fail if odp_crypto_op/op_enq process 0 packets
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3764[Bug 3764]
+IPsec code can occasionally damage packets
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3772[Bug 3772]
+Timer segfaults when creating and destroying multiple timer pools
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3788[Bug 3788]
+linux-gen: ipc test fails to reserve memory
+
+=== Known Issues
+==== https://bugs.linaro.org/show_bug.cgi?id=3774[Bug 3774]
+Shmem validation test runs indefinitely with 1GB huge pages
+
+==== https://bugs.linaro.org/show_bug.cgi?id=3787[Bug 3787]
+Timeout accuracy breaks down with odd resolution requests
+
+
== OpenDataPlane (1.19.0.0)
=== Summary of Changes
ODP v1.19.0.0 is the official Tiger Moth final release. It incorporates final
-----------------------------------------------------------------------
Summary of changes:
CHANGELOG | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 124 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 branch, master has been updated
via 2b27f75b587cf23d2687dd37897cbb26ed915890 (commit)
from 79781031e28dee010425f575d1bf5de5b18af0d6 (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 2b27f75b587cf23d2687dd37897cbb26ed915890
Author: Josep Puigdemont <josep.puigdemont(a)linaro.org>
Date: Fri May 4 14:04:21 2018 +0200
linux-gen: fix compilation warnings
gcc 8 complains when strncpy may truncate the destination string,
possibly not copying the null terminating character
(-Werror=stringop-truncation).
By using memcpy we silent gcc8, but we also make sure that the
strings are null-terminated.
Signed-off-by: Josep Puigdemont <josep.puigdemont(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/linux-generic/odp_fdserver.c b/platform/linux-generic/odp_fdserver.c
index 774fe360..4b6fd088 100644
--- a/platform/linux-generic/odp_fdserver.c
+++ b/platform/linux-generic/odp_fdserver.c
@@ -588,7 +588,9 @@ int _odp_fdserver_init_global(void)
/* bind to new named socket: */
local.sun_family = AF_UNIX;
- strncpy(local.sun_path, sockpath, sizeof(local.sun_path));
+ memcpy(local.sun_path, sockpath, sizeof(local.sun_path));
+ local.sun_path[sizeof(local.sun_path) - 1] = '\0';
+
res = bind(sock, (struct sockaddr *)&local, sizeof(struct sockaddr_un));
if (res == -1) {
ODP_ERR("_odp_fdserver_init_global: %s\n", strerror(errno));
diff --git a/platform/linux-generic/odp_ishm.c b/platform/linux-generic/odp_ishm.c
index babf51b9..cf4ec9cf 100644
--- a/platform/linux-generic/odp_ishm.c
+++ b/platform/linux-generic/odp_ishm.c
@@ -475,8 +475,7 @@ static int create_file(int block_index, huge_flag_t huge, uint64_t len,
* external ref:
*/
if (flags & _ODP_ISHM_EXPORT) {
- strncpy(new_block->filename, filename,
- ISHM_FILENAME_MAXLEN - 1);
+ memcpy(new_block->filename, filename, ISHM_FILENAME_MAXLEN);
snprintf(new_block->exptname, ISHM_FILENAME_MAXLEN,
ISHM_EXPTNAME_FORMAT,
odp_global_data.shm_dir,
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/odp_fdserver.c | 4 +++-
platform/linux-generic/odp_ishm.c | 3 +--
2 files changed, 4 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 d189d704a29f490583057ccb5c762432a4e4b7a7 (commit)
from 122b74c0074329f1758b2ed5d241e0e9a790087b (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 d189d704a29f490583057ccb5c762432a4e4b7a7
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Fri May 4 12:33:26 2018 +0300
linux-gen: pktio: ipc free ring memory on error
ipc pktio can fail on open if second process is not
yet ready to connect. But on this error free of ring
memory is missing which leads to taking all available shm
descriptors.
https://bugs.linaro.org/show_bug.cgi?id=3788
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
diff --git a/platform/linux-generic/pktio/ipc.c b/platform/linux-generic/pktio/ipc.c
index 08e3e4bc..d1e30ab8 100644
--- a/platform/linux-generic/pktio/ipc.c
+++ b/platform/linux-generic/pktio/ipc.c
@@ -347,6 +347,8 @@ static int ipc_pktio_open(odp_pktio_t id ODP_UNUSED,
pktio_entry->s.ipc.rx.cache = _ring_create("ipc_rx_cache",
PKTIO_IPC_ENTRIES,
_RING_NO_LIST);
+ if (!pktio_entry->s.ipc.rx.cache)
+ return -1;
/* Shared info about remote pktio */
if (sscanf(dev, "ipc:%d:%s", &pid, tail) == 2) {
@@ -355,12 +357,15 @@ static int ipc_pktio_open(odp_pktio_t id ODP_UNUSED,
snprintf(name, sizeof(name), "ipc:%s_info", tail);
IPC_ODP_DBG("lookup for name %s for pid %d\n", name, pid);
shm = odp_shm_import(name, pid, name);
- if (ODP_SHM_INVALID == shm)
+ if (ODP_SHM_INVALID == shm) {
+ _ring_destroy("ipc_rx_cache");
return -1;
+ }
pinfo = odp_shm_addr(shm);
if (!pinfo->master.init_done) {
odp_shm_free(shm);
+ _ring_destroy("ipc_rx_cache");
return -1;
}
pktio_entry->s.ipc.pinfo = pinfo;
@@ -374,6 +379,7 @@ static int ipc_pktio_open(odp_pktio_t id ODP_UNUSED,
ODP_CACHE_LINE_SIZE,
_ODP_ISHM_EXPORT | _ODP_ISHM_LOCK);
if (ODP_SHM_INVALID == shm) {
+ _ring_destroy("ipc_rx_cache");
ODP_ERR("can not create shm %s\n", name);
return -1;
}
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/pktio/ipc.c | 8 +++++++-
1 file changed, 7 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, master has been updated
via 122b74c0074329f1758b2ed5d241e0e9a790087b (commit)
from bd37df82b49faefef078558cdb2a54477bec6c5a (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 122b74c0074329f1758b2ed5d241e0e9a790087b
Author: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Date: Mon Apr 23 15:59:38 2018 +0300
build: odp_dpdk: add dependencies for crypto PMDs
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Reviewed-by: Matias Elo <matias.elo(a)nokia.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/m4/odp_dpdk.m4 b/m4/odp_dpdk.m4
index ec248e76..2ef5253c 100644
--- a/m4/odp_dpdk.m4
+++ b/m4/odp_dpdk.m4
@@ -12,6 +12,12 @@ AS_CASE([$cur_driver],
[rte_pmd_mlx4], [AS_VAR_APPEND([DPDK_LIBS], [" -lmlx4 -libverbs"])],
[rte_pmd_mlx5], [AS_VAR_APPEND([DPDK_LIBS], [" -lmlx5 -libverbs"])],
[rte_pmd_pcap], [AS_VAR_APPEND([DPDK_LIBS], [" -lpcap"])],
+ [rte_pmd_aesni_gcm], [AS_VAR_APPEND([DPDK_LIBS], [" -lIPSec_MB"])],
+ [rte_pmd_aesni_mb], [AS_VAR_APPEND([DPDK_LIBS], [" -lIPSec_MB"])],
+ [rte_pmd_kasumi], [AS_VAR_APPEND([DPDK_LIBS], [" -lsso_kasumi"])],
+ [rte_pmd_snow3g], [AS_VAR_APPEND([DPDK_LIBS], [" -lsso_snow3g"])],
+ [rte_pmd_zuc], [AS_VAR_APPEND([DPDK_LIBS], [" -lsso_zuc"])],
+ [rte_pmd_qat], [AS_VAR_APPEND([DPDK_LIBS], [" -lcrypto"])],
[rte_pmd_openssl], [AS_VAR_APPEND([DPDK_LIBS], [" -lcrypto"])])
done
AS_VAR_APPEND([DPDK_PMDS], [--no-whole-archive])
-----------------------------------------------------------------------
Summary of changes:
m4/odp_dpdk.m4 | 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 branch, master has been updated
via 3600304c30c4a345538f6c06ca50183b14cd12b1 (commit)
via 4ec4a756c7607e3a78878e6699a82ccf6d0a1461 (commit)
from 0f700e1a4b8e66c269081eba64eb5be8c37de868 (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 3600304c30c4a345538f6c06ca50183b14cd12b1
Author: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Date: Sat Apr 28 16:06:42 2018 +0300
doc: allow user to provide exta asciidoctor flags
Allow user to provide extra asciidoctor flags. E.g. this allows one to
override icons and/or fonts placement.
Signed-off-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/doc/Makefile.inc b/doc/Makefile.inc
index 23703127..1732c355 100644
--- a/doc/Makefile.inc
+++ b/doc/Makefile.inc
@@ -13,4 +13,5 @@ SUFFIXES = .svg .msc .gv .html .adoc
.adoc.html:
asciidoctor $(ASCIIDOC_FLAGS) --out-file=$@ $<
-ASCIIDOC_FLAGS =-a data-uri -b html5 -a icons=font -a toc2
+ASCIIDOC_FLAGS =-a data-uri -b html5 -a icons=font -a toc2 \
+ $(EXTRA_ASCIIDOC_FLAGS)
commit 4ec4a756c7607e3a78878e6699a82ccf6d0a1461
Author: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Date: Sat Apr 28 10:57:32 2018 +0300
travis: do not run gcov before executing codecov script
There is no need to manually run gcov from Travis script, codecov.io
will do that for us.
Signed-off-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/.travis.yml b/.travis.yml
index a6cce816..cb05b839 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -310,7 +310,7 @@ jobs:
- sudo CCACHE_DISABLE=1 ODP_SCHEDULER=sp LD_LIBRARY_PATH="$HOME/cunit-install/$CROSS_ARCH/lib:$LD_LIBRARY_PATH" make check
- sudo CCACHE_DISABLE=1 ODP_SCHEDULER=iquery LD_LIBRARY_PATH="$HOME/cunit-install/$CROSS_ARCH/lib:$LD_LIBRARY_PATH" make check
- sudo CCACHE_DISABLE=1 ODP_SCHEDULER=scalable LD_LIBRARY_PATH="$HOME/cunit-install/$CROSS_ARCH/lib:$LD_LIBRARY_PATH" make check
- - find . -type f -iname '*.[ch]' -not -path ".git/*" -execdir gcov {} \; ; bash <(curl -s https://codecov.io/bash) -X coveragepy
+ - bash <(curl -s https://codecov.io/bash) -X coveragepy
- stage: test
env: TEST=distcheck
compiler: gcc
-----------------------------------------------------------------------
Summary of changes:
.travis.yml | 2 +-
doc/Makefile.inc | 3 ++-
2 files changed, 3 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 82499a9a4c80670de20825992478ccd4d764e28c (commit)
from c164ad605422f90f3566e4c4ebed0ea3c2adb3a8 (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 82499a9a4c80670de20825992478ccd4d764e28c
Author: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Date: Sun Apr 22 23:49:15 2018 +0300
linux-gen: dpdk: fix linking to libnuma
Linking to dpdk/numa can fail with the following message:
/usr/bin/x86_64-linux-gnu-ld: lib/.libs/libodp-linux.a(dpdk.o):
undefined reference to symbol 'numa_num_configured_nodes@@libnuma_1.2'
//usr/lib/x86_64-linux-gnu/libnuma.so.1:
error adding symbols: DSO missing from command line
Signed-off-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/m4/odp_dpdk.m4 b/platform/linux-generic/m4/odp_dpdk.m4
index cb2ed60d..09dde35a 100644
--- a/platform/linux-generic/m4/odp_dpdk.m4
+++ b/platform/linux-generic/m4/odp_dpdk.m4
@@ -40,6 +40,14 @@ then
;;
esac
+ OLD_LIBS=$LIBS
+ LIBS="-lnuma"
+ AC_TRY_LINK_FUNC([numa_num_configured_nodes],
+ [AC_DEFINE([HAVE_NUMA_LIBRARY], [1],
+ [Define to 1 if numa library is usable])
+ AS_VAR_APPEND([DPDK_LIBS_LIBODP], [" -lnuma"])])
+ LIBS=$OLD_LIBS
+
AC_DEFINE([ODP_PKTIO_DPDK], [1],
[Define to 1 to enable DPDK packet I/O support])
AC_DEFINE_UNQUOTED([ODP_DPDK_ZERO_COPY], [$zero_copy],
diff --git a/platform/linux-generic/pktio/dpdk.c b/platform/linux-generic/pktio/dpdk.c
index 0550416b..14d59d8e 100644
--- a/platform/linux-generic/pktio/dpdk.c
+++ b/platform/linux-generic/pktio/dpdk.c
@@ -50,7 +50,7 @@
#include <rte_version.h>
/* NUMA is not supported on all platforms */
-#ifdef RTE_EAL_NUMA_AWARE_HUGEPAGES
+#ifdef HAVE_NUMA_LIBRARY
#include <numa.h>
#else
#define numa_num_configured_nodes() 1
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/m4/odp_dpdk.m4 | 8 ++++++++
platform/linux-generic/pktio/dpdk.c | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
hooks/post-receive
--