diff options
author | Bill Fischofer <bill.fischofer@linaro.org> | 2017-11-01 13:51:05 -0500 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2017-11-10 14:04:24 +0300 |
commit | bb6abbb8a5a8f92a7b18c7c2b3336be1ef264e11 (patch) | |
tree | 9ff7d09892e8dda0bca1435df441c73d10d63d3d /CHANGELOG | |
parent | 45d422099d86461c48871879e0f7abbf37acfd5c (diff) |
changelog: updates for odp v1.16.0.0
Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'CHANGELOG')
-rw-r--r-- | CHANGELOG | 222 |
1 files changed, 222 insertions, 0 deletions
@@ -1,3 +1,225 @@ +== OpenDataPlane (1.16.0.0) +=== New Features +ODP v1.16.0.0 is the final preview release before the official release of +Tiger Moth. It introduces new APIs and extensions, as well as bug fixes and +functional improvements. + +==== APIs +The following new and changed APIs are included in this release: + +===== Initialization Changes +The new `odp_feature_t` type is introduced that defines various feature bits +for ODP components. This is used in an expanded `odp_init_t` argument to +`odp_init_global()` to specify which ODP features are unused by the +application. For example, if the application knows it will not be making use +of crypto features or the classifier, this may permit the ODP implementation +to configure itself more efficiently. Results are undefined if an application +asserts that it will not be using a feature and it attempts to do so +afterwards. + +Associated with this new support the `odp_init_param_init()` API is added +to initialize the `odp_init_t` struct to default values. + +===== Packet API Changes + +* The `odp_packet_unshared_len()` API is removed. Testing showed that this +API was non-essential and conflicted with the goal of implementation +efficiency. +* The `odp_print_packet_data()` API is added. This permits packet data to +be logged along with platform-defined metadata for debugging or diagnostic +purposes. + +===== PktIO API Changes + +* The `loop_supported` attribute of the `odp_pktio_capability_t` struct is +deprecated since this is redundant. The `enable_loop` field of the +`odp_pktio_config_t` struct (which is returned as part of the +`odp_packet_capability_t` struct) is the proper way to determine whether a +PktIO supports loopback mode. + +===== System Info API Changes + +* The documentation for the `odp_sys_huge_page_size()` API is updated to +clarify that a 0 return code indicates that huge pages are not supported by +this platform. +* The `odp_sys_huge_page_size_all()` API is added to return all +huge page sizes supported by this platform. + +===== Timer API Changes + +* The documentation for the various parameters contained in the +`odp_timer_pool_param_t` struct are expanded and clarified. + +=== Miscellaneous Fixes and Improvements + +==== Default Packet Headroom +The default packet headroom in `odp-linux` has been increased from 66 to +128 bytes for better compatibility with `odp-dpdk`. + +==== Zero-copy Packet References +The `odp-linux` reference implementation now fully supports zero-copy +packet references. Previously these APIs were implemented via packet copies, +which while functionally correct, were not how these APIs are intended to +operate. + +==== DPDK Zero-copy I/O support +The `--enable-dpdk-zero-copy` `configure` option is added to allow DPDK PktIO +devices to avoid data copies, leading to improved performance. + +==== DPDK Checksum offload support +DPDK PktIO now makes use of RX and TX IP/UDP/TCP checksum offload. + +==== Shared memory stored in /dev/shm +In the `odp-linux` reference implementation, shared memory is now backed to +`/dev/shm` rather than `/tmp` for better reliability and robustness. This may +be overridden as part of ODP build-time customization if desired. + +==== IPC Improvements +PktIO IPC support has received improvements in both performance and +reliability and is now suitable for development use. + +==== Netmap Improvements +The thread ID is now used to create unique vdev MAC addresses to avoid +conflicts with multiple ODP processes running on the same host system. + +==== `drv` directory removed +The `include/odp/drv` directory and related files have been removed. Driver +support is moved to a follow-on ODP release, so removing these files avoids +confusion as they are still incomplete. + +=== Dependency Changes + +==== Dependency on autoconf-archive removed +Since some build environments do not supply autoconf-archive, this dependency +is removed. + +==== DPDK support upgraded to 17.08 release +The ODP DPDK Packet I/O support has been upgraded to work with the DPDK 17.08 +release. + +==== Added support for OpenSSL 1.1.x releases +ODP use of OpenSSL for crypto processing has been upgraded to allow use of +OpenSSL 1.1.x. + +=== Build System Restructure +The ODP build system has been overhauled to support more comprehensive and +efficient automated testing under Travis CI. Greater use of Autoconf is now +made to control ODP configuration and build options, permitting greater +environmental flexibility. This includes an expanded range of test coverage, +including cross-compilation support for ARMv8, MIPS,and Power architectures, +as well as testing under the latest levels of GCC and clang. + +=== Arm Architecture Support Improvements + +* ARMv8 generic timer support is now included +* Improved time efficiency and accuracy by using native ARMv8 time/clock +instructions. + +==== Test Improvements +The `test` directory has been reorganized and streamlined. Platform-specific +tests are moved from `test/linux-generic` to +`platform/linux-generic/test/`. As a result, the `test/common_plat` +directory is deleted so that `test/validation`, `test/performance`, etc. are +now used for all platform-independent tests. + +==== Examples Improvements + +===== IPv4 Fragmentation Reassembly Example +The `ipfragreass` example program has been added to demonstrate IPv4 fragment +reassembly. + +===== ODP Generator Improvements +The `odp_generator` example program now uses packet references for improved +performance in UDP and ICMP traffic. The program also now makes use of HW +checksum offload support, when available. + +=== Documentation Improvements + +* The ODP Users Guide has clarified usage information about the ODP time +APIs for better portability. +* A section has been added to the ODP Users Guide on API specification +principles. This clarifies expected behavior of ODP applications and +implementations and makes explicit what the specification means by "undefined +behavior". +* All Doxygen used in ODP is upgraded to conform to the stricter documentation +requirements introduced by Doxygen 1.8.13. + +=== Bug Fixes + +==== https://bugs.linaro.org/show_bug.cgi?id=2254[Bug 2254] +check-odp: valgrind generates "No rule to make target" + +==== https://bugs.linaro.org/show_bug.cgi?id=2407[Bug 2407] +test odp_l2fwd_run.sh contains todo items + +==== https://bugs.linaro.org/show_bug.cgi?id=2812[Bug 2812] +Helper/test/process fails on a single core system + +==== https://bugs.linaro.org/show_bug.cgi?id=2861[Bug 2861] +Remove redundant loop_support parameter in pktio capability + +==== https://bugs.linaro.org/show_bug.cgi?id=2938[Bug 2938] +Make file deps failure + +==== https://bugs.linaro.org/show_bug.cgi?id=2976[Bug 2976] +IP headers checksum functions are incorrect + +==== https://bugs.linaro.org/show_bug.cgi?id=3024[Bug 3024] +odp_traffic_mngr example is broken + +==== https://bugs.linaro.org/show_bug.cgi?id=3026[Bug 3026] +pktio_ipc_run test can fail due to segfault + +==== https://bugs.linaro.org/show_bug.cgi?id=3043[Bug 3043] +User guide error (packet diagram fix) + +==== https://bugs.linaro.org/show_bug.cgi?id=3052[Bug 3052] +api-next out of tree build broken + +==== https://bugs.linaro.org/show_bug.cgi?id=3066[Bug 3066] +Cross compile broken for ARMv8 + +==== https://bugs.linaro.org/show_bug.cgi?id=3126[Bug 3126] +IPC pktio test fails with taskset -c 1-2 + +==== https://bugs.linaro.org/show_bug.cgi?id=3177[Bug 3177] +Test case for classification enable + +==== https://bugs.linaro.org/show_bug.cgi?id=3182[Bug 3182] +Memory allocation checks (in traffic manager) + +==== https://bugs.linaro.org/show_bug.cgi?id=3216[Bug 3216] +Adding --enable-helper-linux configure flag breaks build + +==== https://bugs.linaro.org/show_bug.cgi?id=3238[Bug 3238] +Doxygen warnings on helper header files + +==== https://bugs.linaro.org/show_bug.cgi?id=3241[Bug 3241] +codecov: _odp_packet_cmp_data is not covered + +==== https://bugs.linaro.org/show_bug.cgi?id=3242[Bug 3242] +setup_pktio_entry missing unlock + +==== https://bugs.linaro.org/show_bug.cgi?id=3249[Bug 3249] +odp_cpu_hz() does not work on all Linux distros + +==== https://bugs.linaro.org/show_bug.cgi?id=3262[Bug 3262] +Missing doxygen detected by Travis + +==== https://bugs.linaro.org/show_bug.cgi?id=3289[Bug 3289] +'num_queues' isn't ignored when "classifier_enable" is enabled + +==== https://bugs.linaro.org/show_bug.cgi?id=3300[Bug 3300] +Validation tests cannot be disabled after commit b4d17b1 + +==== https://bugs.linaro.org/show_bug.cgi?id=3411[Bug 3411] +wrong openssl_lock pointer type + +=== Known Issues + +==== https://bugs.linaro.org/show_bug.cgi?id=3245[Bug 3245] +Cannot run l2fwd application on Cavium ThunderX platform + == OpenDataPlane (1.15.0.0) === New Features ODP v1.15.0.0 continues the preview of Tiger Moth, introducing new APIs and |