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 6947621e1b3a3c73c3ee351325f505e5e191474f (commit)
from 29cb860583cb906bc16eddf9a4c98d6bb37333e5 (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 6947621e1b3a3c73c3ee351325f505e5e191474f
Author: Josep Puigdemont <josep.puigdemont(a)linaro.org>
Date: Mon Apr 23 13:48:22 2018 +0200
linux-gen: fdserver: remove unnecessary locking
The locks in fdserver's operations don't serve any purpose, there is no
need to acquire a lock when registering a file descriptor to the server,
specially because the only place where the registering function is used
is already protected by another lock, and the same goes for
deregistering. Also, the fdserver handles requests sequentially.
On the other hand, removing the lock from the lookup function may return
a fd that is being deregistered, but this is not protecting us from
misusing it because the operation to be unregistered may be queued right
after the lookup request, at which point the fd is already invalid
anyway.
Signed-off-by: Josep Puigdemont <josep.puigdemont(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_fdserver.c b/platform/linux-generic/odp_fdserver.c
index 0e9fb0e4..774fe360 100644
--- a/platform/linux-generic/odp_fdserver.c
+++ b/platform/linux-generic/odp_fdserver.c
@@ -39,7 +39,6 @@
*/
#include <odp_posix_extensions.h>
-#include <odp/api/spinlock.h>
#include <odp_internal.h>
#include <odp_debug_internal.h>
#include <odp_fdserver_internal.h>
@@ -78,9 +77,6 @@
ODP_DBG(fmt, ##__VA_ARGS__);\
} while (0)
-/* when accessing the client functions, clients should be mutexed: */
-static odp_spinlock_t *client_lock;
-
/* define the tables of file descriptors handled by this server: */
#define FDSERVER_MAX_ENTRIES 256
typedef struct fdentry_s {
@@ -288,23 +284,18 @@ int _odp_fdserver_register_fd(fd_server_context_e context, uint64_t key,
int command;
int fd;
- odp_spinlock_lock(client_lock);
-
FD_ODP_DBG("FD client register: pid=%d key=%" PRIu64 ", fd=%d\n",
getpid(), key, fd_to_send);
s_sock = get_socket();
- if (s_sock < 0) {
- odp_spinlock_unlock(client_lock);
+ if (s_sock < 0)
return -1;
- }
res = send_fdserver_msg(s_sock, FD_REGISTER_REQ, context, key,
fd_to_send);
if (res < 0) {
ODP_ERR("fd registration failure\n");
close(s_sock);
- odp_spinlock_unlock(client_lock);
return -1;
}
@@ -313,13 +304,11 @@ int _odp_fdserver_register_fd(fd_server_context_e context, uint64_t key,
if ((res < 0) || (command != FD_REGISTER_ACK)) {
ODP_ERR("fd registration failure\n");
close(s_sock);
- odp_spinlock_unlock(client_lock);
return -1;
}
close(s_sock);
- odp_spinlock_unlock(client_lock);
return 0;
}
@@ -334,22 +323,17 @@ int _odp_fdserver_deregister_fd(fd_server_context_e context, uint64_t key)
int command;
int fd;
- odp_spinlock_lock(client_lock);
-
FD_ODP_DBG("FD client deregister: pid=%d key=%" PRIu64 "\n",
getpid(), key);
s_sock = get_socket();
- if (s_sock < 0) {
- odp_spinlock_unlock(client_lock);
+ if (s_sock < 0)
return -1;
- }
res = send_fdserver_msg(s_sock, FD_DEREGISTER_REQ, context, key, -1);
if (res < 0) {
ODP_ERR("fd de-registration failure\n");
close(s_sock);
- odp_spinlock_unlock(client_lock);
return -1;
}
@@ -358,13 +342,11 @@ int _odp_fdserver_deregister_fd(fd_server_context_e context, uint64_t key)
if ((res < 0) || (command != FD_DEREGISTER_ACK)) {
ODP_ERR("fd de-registration failure\n");
close(s_sock);
- odp_spinlock_unlock(client_lock);
return -1;
}
close(s_sock);
- odp_spinlock_unlock(client_lock);
return 0;
}
@@ -380,19 +362,14 @@ int _odp_fdserver_lookup_fd(fd_server_context_e context, uint64_t key)
int command;
int fd;
- odp_spinlock_lock(client_lock);
-
s_sock = get_socket();
- if (s_sock < 0) {
- odp_spinlock_unlock(client_lock);
+ if (s_sock < 0)
return -1;
- }
res = send_fdserver_msg(s_sock, FD_LOOKUP_REQ, context, key, -1);
if (res < 0) {
ODP_ERR("fd lookup failure\n");
close(s_sock);
- odp_spinlock_unlock(client_lock);
return -1;
}
@@ -401,7 +378,6 @@ int _odp_fdserver_lookup_fd(fd_server_context_e context, uint64_t key)
if ((res < 0) || (command != FD_LOOKUP_ACK)) {
ODP_ERR("fd lookup failure\n");
close(s_sock);
- odp_spinlock_unlock(client_lock);
return -1;
}
@@ -409,7 +385,6 @@ int _odp_fdserver_lookup_fd(fd_server_context_e context, uint64_t key)
ODP_DBG("FD client lookup: pid=%d, key=%" PRIu64 ", fd=%d\n",
getpid(), key, fd);
- odp_spinlock_unlock(client_lock);
return fd;
}
@@ -421,27 +396,21 @@ static int stop_server(void)
int s_sock; /* server socket */
int res;
- odp_spinlock_lock(client_lock);
-
FD_ODP_DBG("FD sending server stop request\n");
s_sock = get_socket();
- if (s_sock < 0) {
- odp_spinlock_unlock(client_lock);
+ if (s_sock < 0)
return -1;
- }
res = send_fdserver_msg(s_sock, FD_SERVERSTOP_REQ, 0, 0, -1);
if (res < 0) {
ODP_ERR("fd stop request failure\n");
close(s_sock);
- odp_spinlock_unlock(client_lock);
return -1;
}
close(s_sock);
- odp_spinlock_unlock(client_lock);
return 0;
}
@@ -595,12 +564,6 @@ int _odp_fdserver_init_global(void)
pid_t server_pid;
int res;
- /* create the client spinlock that any client can see: */
- client_lock = mmap(NULL, sizeof(odp_spinlock_t), PROT_READ | PROT_WRITE,
- MAP_SHARED | MAP_ANONYMOUS, -1, 0);
-
- odp_spinlock_init(client_lock);
-
snprintf(sockpath, FDSERVER_SOCKPATH_MAXLEN, FDSERVER_SOCKDIR_FORMAT,
odp_global_data.shm_dir,
odp_global_data.uid);
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/odp_fdserver.c | 45 ++++-------------------------------
1 file changed, 4 insertions(+), 41 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 acc05760d5060d1782aa597e44c72ccb9a71b63b (commit)
from c440dfceff97526d2763383afd8da064faef3d0d (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 acc05760d5060d1782aa597e44c72ccb9a71b63b
Author: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Date: Tue Apr 3 15:48:12 2018 +0300
validation: crypto: zero return code of odp_crypto_op/odp_crypto_op_enq
crypto_main test will accept odp_crypto_op/odp_crypto_op_enq
returning 0 meaning 0 packets were processed. Instead it
should mark test as failedin this case.
Fixes: https://bugs.linaro.org/show_bug.cgi?id=3763
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/test/validation/api/crypto/odp_crypto_test_inp.c b/test/validation/api/crypto/odp_crypto_test_inp.c
index aa053dd5..676b9b12 100644
--- a/test/validation/api/crypto/odp_crypto_test_inp.c
+++ b/test/validation/api/crypto/odp_crypto_test_inp.c
@@ -200,7 +200,7 @@ static int alg_packet_op(odp_packet_t pkt,
op_params.hash_result_offset = plaintext_len;
rc = odp_crypto_op(&pkt, &out_pkt, &op_params, 1);
- if (rc < 0) {
+ if (rc <= 0) {
CU_FAIL("Failed odp_crypto_packet_op()");
return rc;
}
@@ -261,7 +261,7 @@ static int alg_packet_op_enq(odp_packet_t pkt,
op_params.hash_result_offset = plaintext_len;
rc = odp_crypto_op_enq(&pkt, &pkt, &op_params, 1);
- if (rc < 0) {
+ if (rc <= 0) {
CU_FAIL("Failed odp_crypto_op_enq()");
return rc;
}
-----------------------------------------------------------------------
Summary of changes:
test/validation/api/crypto/odp_crypto_test_inp.c | 4 ++--
1 file changed, 2 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, tigermoth_lts has been created
at e828b4d6f503ff94c40e30b1d8babf0dcbecde91 (commit)
- Log -----------------------------------------------------------------
-----------------------------------------------------------------------
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.19.0.0_tigermoth has been created
at fea17c996d047d2f2d0c1de06d7d10613ab9763d (tag)
tagging e828b4d6f503ff94c40e30b1d8babf0dcbecde91 (commit)
replaces v1.18.0.1_tigermoth_rc3
tagged by Maxim Uvarov
on Thu Apr 19 18:01:15 2018 +0300
- Log -----------------------------------------------------------------
Tiger Moth LTS
Bill Fischofer (9):
doc: userguide: typo corrections
doc: userguide: change pool queue to plain queue
doc: userguide: shm corrections
doc: userguide: change sched type none to parallel
doc: userguide: refresh pktio code examples
doc: userguide: add packet checksum and parsing info
doc: userguide: add pktio capability and config info
example: l2fwd: update readme regarding ordered queue usage
changelog: updates for odp v1.19.0.0
Bogdan Pricope (3):
linux-gen: pktio: dpdk: accept UDPv4 packets with all-zero csum
linux-gen: pktio: dpdk: fix IPv4 csum calculation when l4 offset is not set
linux-gen: dpdk: fix runtime/default config read order
Dmitry Eremin-Solenikov (20):
performance: fix sched_latency test with huge cpu count
shippable: reenable non-ABI-compat build for GCC
test: misc: use C++ I/O instead of C
tests: add IPsec performance test
performance: ipsec: add AH measurements
performance: ipsec: add more algorithms
performance: crypto: add more algorithms
linux-gen: crypto: add IV length checks
linux-gen: ipsec: add proper support for AES-CCM
build: move odp scheduler setting to common m4 file
build: another DPDK-linking fix
build: don't use xxd to hexdump config file
build: fix autoconf error caused by double-registering config item
linux-gen: packet: IPv4 checksum insertion
linux-gen: packet: l4 checksum insertion support
linux-gen: pktio: loop: support IPv4/TCP/UDP checksum generation
validation: verify IPv4 and UDP checksum validation and generation
validation: ipsec: fix packet checksums
linux-gen: ipsec: implement outbound checksumming support
validation: ipsec: validate outbound checksumming support
Josep Puigdemont (8):
fdserver: handle interruption by signal in accept
linux-gen: shm: fill data used in do_map before the call
linux-gen: shm: do not close provided file descriptors
linux-gen: shm: be consistent with rest of the code
fdserver: change session ID after fork
linux-gen: fdserver: mask signals we don't need
linux-gen: shm: check return value when registering fds
fdserver: handle signal interruption in connect()
Juha-Matti Tilli (1):
linux-gen: netmap: ring configuration for VALE
Matias Elo (2):
linux-gen: dpdk: bump supported dpdk version to v17.11
linux-gen: dpdk: allocate huge page memory for all numa nodes
Maxim Uvarov (9):
shippable: simplify test execution
add odp_ipsec to .gitignore
linux-gen: clean up ishm file naming
linux-gen: hide debug prints from fd server
linux-gen: ishm: remove useless debug print
travis: use -M option for generated patches
linux-gen: fix clang on aarch64 build
shippable: reenable clang with disable abi compat options
configure.ac: update version to v1.19.0.0
Petri Savolainen (11):
linux-gen: queue: configurable default size
linux-gen: queue: configurable max size
linux-gen: sched: configurable priority spread
linux-gen: sched: decouple spread and group table sizes
linux-gen: sched: increase max spread
linux-gen: pktio: add error prints
linux-gen: pktio: add index to pktio print
test: sched_pktio: new scheduler performance test with pktio
test: sched_pktio: add option to collect statistics
test: sched_pktio: run in validation test suite
api: packet: UDP checksum value of zero
yhe (2):
linux-gen:crypto:implement AES-XCBC-MAC and SHA384-HMAC
validation:crypto:implement AES-XCBC-MAC and SHA384-HMAC
-----------------------------------------------------------------------
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 e828b4d6f503ff94c40e30b1d8babf0dcbecde91 (commit)
from 1e0ac11c75eee10959d1fa674a05e746476271b3 (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 e828b4d6f503ff94c40e30b1d8babf0dcbecde91
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Wed Apr 18 17:50:47 2018 +0300
configure.ac: update version to v1.19.0.0
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Reviewed-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
diff --git a/configure.ac b/configure.ac
index 904e8197..d3f02665 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,9 +3,9 @@ AC_PREREQ([2.5])
# Set correct API version
##########################################################################
m4_define([odpapi_generation_version], [1])
-m4_define([odpapi_major_version], [18])
+m4_define([odpapi_major_version], [19])
m4_define([odpapi_minor_version], [0])
-m4_define([odpapi_point_version], [1])
+m4_define([odpapi_point_version], [0])
m4_define([odpapi_version],
[odpapi_generation_version.odpapi_major_version.odpapi_minor_version.odpapi_point_version])
AC_INIT([OpenDataPlane],[odpapi_version],[lng-odp(a)lists.linaro.org])
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 4 ++--
1 file changed, 2 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 annotated tag, v1.19.0.0 has been created
at 200122ffa31e4cf5367edb528138d277a1f5da1e (tag)
tagging e828b4d6f503ff94c40e30b1d8babf0dcbecde91 (commit)
replaces v1.18.0.1_tigermoth_rc3
tagged by Maxim Uvarov
on Thu Apr 19 17:56:01 2018 +0300
- Log -----------------------------------------------------------------
== OpenDataPlane (1.19.0.0)
=== Summary of Changes
ODP v1.19.0.0 is the official Tiger Moth final release. It incorporates final
implementation changes and bug fixes and completes the Tiger Moth ODP
development cycle.
==== APIs
No functional changes for this release. The Tiger Moth API was frozen in ODP
v1.18.0.0.
===== API Documentation Update
The specification for the `odp_packet_l4_chksum_status()` API has been
clarified to reflect that in IPv4 UDP checksums are optional. As a result, a
zero (nonexistent) checksum will be reported as `ODP_PACKET_CHKSUM_OK`.
==== C++ Test Improvements
The {cpp} test included in the ODP validation suite now uses `cout` instead
of `printf()` to ensure that {cpp} is being used to compile it.
==== Queue and Scheduler Configuration
For the ODP Reference Implementation, The `config/odp-linux-generic.conf` file
is extended with sections to control the default and maximum sizes for basic
queues, and the priority spread used by the scheduler for scheduled queues.
The configuration file is a template named `platform/odp-$platform.conf` so
this can be easily inherited by other ODP implementations.
==== Runtime Default `config` File Read Order Improvements
For the ODP Reference Implementation, the default values of the
application-provided `config` file (if used) override the values provided by
the built-in `config/odp-linux-generic.conf` file.
=== Implementation Improvements
The `odp-linux` reference implementation is improved in a number of areas:
==== Netmap Ring Configuration for VALE
PktIO netmap support now uses the ODP config file to allow rings used for VALE
processing to be specified. The supplied defaults provide optimal performance
in typical settings.
==== AES-XCBC-MAC and SHA384-HMAC
These crypto/authentication algorithms are now implemented.
==== Packet Checksum Validation and Insertion
Proper packet checksum validation and insertion, in conformance with the
relevant ODP APIs, is now provided.
=== Dependency Changes
==== DPDK 17.11 Support
The Tiger Moth LTS release is synchronized with the most recent DPDK LTS
release for DPDK pktio support.
==== Removal of dependency on `xxd` package.
This dependency is removed. The Reference Implementation build tools now use
the standard `od` tool rather than the optional `xxd` package.
=== Performance Tests
==== `odp_sched_pktio`
A new test has been added to test the performance of PktIO operations in
scheduled mode. Scheduled PktIO is inherently more scalable and simpler from
an application standpoint than direct (polled) I/O, but depending on the
efficiency of the scheduler implementation can incur additional levels of
overhead. This test can give insight into a given platform's scheduler
efficiency. For the `odp-linux` reference implementation, this test has shown
scheduled I/O to be within 10% of rates achievable via direct I/O, meaning
that for many applications the simplicity and scalability of the event model
is preferable.
==== `odp_ipsec`
A new test has been added that measures outbound (TX) IPsec performance with
a variety of cipher and authentication algorithms.
=== Example Changes
==== `l2fwd` Example
The `README` file associated with this example has been clarified to explain
that this example is a throughput test and as a result does not preserve
packet order under all conditions.
=== Bug Fixes
==== https://bugs.linaro.org/show_bug.cgi?id=3611[Bug 3611]
ODP linux-generic fails on AArch64 in non-ABI-compat mode.
==== 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=3736[Bug 3736]
return value not checked for some fdserver interface functions
=== Known Issues
==== https://bugs.linaro.org/show_bug.cgi?id=2988[Bug 2988]
ODP exposes symbols outside of odp*/_odp* namespace
Bill Fischofer (9):
doc: userguide: typo corrections
doc: userguide: change pool queue to plain queue
doc: userguide: shm corrections
doc: userguide: change sched type none to parallel
doc: userguide: refresh pktio code examples
doc: userguide: add packet checksum and parsing info
doc: userguide: add pktio capability and config info
example: l2fwd: update readme regarding ordered queue usage
changelog: updates for odp v1.19.0.0
Bogdan Pricope (3):
linux-gen: pktio: dpdk: accept UDPv4 packets with all-zero csum
linux-gen: pktio: dpdk: fix IPv4 csum calculation when l4 offset is not set
linux-gen: dpdk: fix runtime/default config read order
Dmitry Eremin-Solenikov (20):
performance: fix sched_latency test with huge cpu count
shippable: reenable non-ABI-compat build for GCC
test: misc: use C++ I/O instead of C
tests: add IPsec performance test
performance: ipsec: add AH measurements
performance: ipsec: add more algorithms
performance: crypto: add more algorithms
linux-gen: crypto: add IV length checks
linux-gen: ipsec: add proper support for AES-CCM
build: move odp scheduler setting to common m4 file
build: another DPDK-linking fix
build: don't use xxd to hexdump config file
build: fix autoconf error caused by double-registering config item
linux-gen: packet: IPv4 checksum insertion
linux-gen: packet: l4 checksum insertion support
linux-gen: pktio: loop: support IPv4/TCP/UDP checksum generation
validation: verify IPv4 and UDP checksum validation and generation
validation: ipsec: fix packet checksums
linux-gen: ipsec: implement outbound checksumming support
validation: ipsec: validate outbound checksumming support
Josep Puigdemont (8):
fdserver: handle interruption by signal in accept
linux-gen: shm: fill data used in do_map before the call
linux-gen: shm: do not close provided file descriptors
linux-gen: shm: be consistent with rest of the code
fdserver: change session ID after fork
linux-gen: fdserver: mask signals we don't need
linux-gen: shm: check return value when registering fds
fdserver: handle signal interruption in connect()
Juha-Matti Tilli (1):
linux-gen: netmap: ring configuration for VALE
Matias Elo (2):
linux-gen: dpdk: bump supported dpdk version to v17.11
linux-gen: dpdk: allocate huge page memory for all numa nodes
Maxim Uvarov (9):
shippable: simplify test execution
add odp_ipsec to .gitignore
linux-gen: clean up ishm file naming
linux-gen: hide debug prints from fd server
linux-gen: ishm: remove useless debug print
travis: use -M option for generated patches
linux-gen: fix clang on aarch64 build
shippable: reenable clang with disable abi compat options
configure.ac: update version to v1.19.0.0
Petri Savolainen (11):
linux-gen: queue: configurable default size
linux-gen: queue: configurable max size
linux-gen: sched: configurable priority spread
linux-gen: sched: decouple spread and group table sizes
linux-gen: sched: increase max spread
linux-gen: pktio: add error prints
linux-gen: pktio: add index to pktio print
test: sched_pktio: new scheduler performance test with pktio
test: sched_pktio: add option to collect statistics
test: sched_pktio: run in validation test suite
api: packet: UDP checksum value of zero
yhe (2):
linux-gen:crypto:implement AES-XCBC-MAC and SHA384-HMAC
validation:crypto:implement AES-XCBC-MAC and SHA384-HMAC
-----------------------------------------------------------------------
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 1e0ac11c75eee10959d1fa674a05e746476271b3 (commit)
from 8caae505c35444706cff8815c41821d80e791403 (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 1e0ac11c75eee10959d1fa674a05e746476271b3
Author: Bill Fischofer <bill.fischofer(a)linaro.org>
Date: Sun Apr 8 20:30:18 2018 -0500
changelog: updates for odp v1.19.0.0
Add updates for ODP v1.19.0.0 (Tiger Moth Final Release)
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Reviewed-by: Bogdan Pricope <bogdan.pricope(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 1dfdd0e7..5af1777c 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,108 @@
+== OpenDataPlane (1.19.0.0)
+=== Summary of Changes
+ODP v1.19.0.0 is the official Tiger Moth final release. It incorporates final
+implementation changes and bug fixes and completes the Tiger Moth ODP
+development cycle.
+
+==== APIs
+No functional changes for this release. The Tiger Moth API was frozen in ODP
+v1.18.0.0.
+
+===== API Documentation Update
+The specification for the `odp_packet_l4_chksum_status()` API has been
+clarified to reflect that in IPv4 UDP checksums are optional. As a result, a
+zero (nonexistent) checksum will be reported as `ODP_PACKET_CHKSUM_OK`.
+
+==== C++ Test Improvements
+The {cpp} test included in the ODP validation suite now uses `cout` instead
+of `printf()` to ensure that {cpp} is being used to compile it.
+
+==== Queue and Scheduler Configuration
+For the ODP Reference Implementation, The `config/odp-linux-generic.conf` file
+is extended with sections to control the default and maximum sizes for basic
+queues, and the priority spread used by the scheduler for scheduled queues.
+
+The configuration file is a template named `platform/odp-$platform.conf` so
+this can be easily inherited by other ODP implementations.
+
+==== Runtime Default `config` File Read Order Improvements
+For the ODP Reference Implementation, the default values of the
+application-provided `config` file (if used) override the values provided by
+the built-in `config/odp-linux-generic.conf` file.
+
+=== Implementation Improvements
+The `odp-linux` reference implementation is improved in a number of areas:
+
+==== Netmap Ring Configuration for VALE
+PktIO netmap support now uses the ODP config file to allow rings used for VALE
+processing to be specified. The supplied defaults provide optimal performance
+in typical settings.
+
+==== AES-XCBC-MAC and SHA384-HMAC
+These crypto/authentication algorithms are now implemented.
+
+==== Packet Checksum Validation and Insertion
+Proper packet checksum validation and insertion, in conformance with the
+relevant ODP APIs, is now provided.
+
+=== Dependency Changes
+
+==== DPDK 17.11 Support
+The Tiger Moth LTS release is synchronized with the most recent DPDK LTS
+release for DPDK pktio support.
+
+==== Removal of dependency on `xxd` package.
+This dependency is removed. The Reference Implementation build tools now use
+the standard `od` tool rather than the optional `xxd` package.
+
+=== Performance Tests
+
+==== `odp_sched_pktio`
+A new test has been added to test the performance of PktIO operations in
+scheduled mode. Scheduled PktIO is inherently more scalable and simpler from
+an application standpoint than direct (polled) I/O, but depending on the
+efficiency of the scheduler implementation can incur additional levels of
+overhead. This test can give insight into a given platform's scheduler
+efficiency. For the `odp-linux` reference implementation, this test has shown
+scheduled I/O to be within 10% of rates achievable via direct I/O, meaning
+that for many applications the simplicity and scalability of the event model
+is preferable.
+
+==== `odp_ipsec`
+A new test has been added that measures outbound (TX) IPsec performance with
+a variety of cipher and authentication algorithms.
+
+=== Example Changes
+
+==== `l2fwd` Example
+The `README` file associated with this example has been clarified to explain
+that this example is a throughput test and as a result does not preserve
+packet order under all conditions.
+
+=== Bug Fixes
+==== https://bugs.linaro.org/show_bug.cgi?id=3611[Bug 3611]
+ODP linux-generic fails on AArch64 in non-ABI-compat mode.
+
+==== 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=3736[Bug 3736]
+return value not checked for some fdserver interface functions
+
+=== Known Issues
+
+==== https://bugs.linaro.org/show_bug.cgi?id=2988[Bug 2988]
+ODP exposes symbols outside of odp*/_odp* namespace
+
== OpenDataPlane (1.18.0.1)
=== Summary of Changes
ODP v1.18.0.1 is a fix level for Tiger Moth Release Candidate 2 (RC 2).
-----------------------------------------------------------------------
Summary of changes:
CHANGELOG | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 105 insertions(+)
hooks/post-receive
--