From patchwork Tue Nov 7 00:00:08 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Github ODP bot X-Patchwork-Id: 118099 Delivered-To: patch@linaro.org Received: by 10.80.245.45 with SMTP id t42csp3196122edm; Mon, 6 Nov 2017 16:00:49 -0800 (PST) X-Google-Smtp-Source: ABhQp+TQlIpr0jDnci3uqof1K9CjnK6MXc7qhkDT20zAnsLMMHcblG0FYyNQUP1w1ILfX/WrwOjx X-Received: by 10.36.135.202 with SMTP id f193mr11955603ite.47.1510012849464; Mon, 06 Nov 2017 16:00:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510012849; cv=none; d=google.com; s=arc-20160816; b=b/hmO243AvUwIItRJLMCnUU3olLxEgn2ib/s89ZIhBuKyO8dQuB0zKcJTkfSXFAFhG Bqtq/nBuVW6Von/SNrGNQYG69325TTpOhOivd3m7kwRmlLkkVCO5MhB/54gaeagGqiJD LFaZ9oLBxZnErBmG3vMKsCLIJd4+bikPr8qSjybsJ4iXRwv7mrunBscalH6pwb1d6xIv wHK0+/ez5I6oeNOBA0//aHF0BhP2W7vq1bdiLqQknyBu1w/fEwTDPGDOXvxh/SF5mr1H 0acXNMwFkj7FRXAkXnlcLR5t7F+X1RXc/QO3Gm+uYXbfM92C/Pc753zf5Dxso7Vgj9vu 2iLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:github-pr-num :references:in-reply-to:message-id:date:to:from:delivered-to :arc-authentication-results; bh=PD2lfXZzeFKJirzPvIy4tt/lsfLiX83MlhPNmCIMXKk=; b=m4DFLRAt1nZKBKoMGuN53gOiJi+qV3lCITYFKm3KZP4pdpkJfgRHrFCihl9zj6PxSV TCCm7aicC53DjWlBKV0FDzMbyXNiEcKTGNx7pseG2VVVSaGOpMIg26riFtReRqaq3hyH bkV0x8jTuPHgVQb6uF5W4UwNW2vdPecjx6ilbnEqWRNKtb527tZ8UgLz2fyA22Rd5/5a 47GkpDp2IZm+0ItvFKCcj1y6zCh5nowAl+6Zwy4/X+6FQ8zg8Cw5mupwd8HxFEvL/HA1 ot33XXHodcc9R0L45ofvzfsCMipAXumjdb1k3uD6jl/EHBb4ro0e6VLWnyRRIewSZPO8 5Bcw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Return-Path: Received: from lists.linaro.org (ec2-54-197-127-237.compute-1.amazonaws.com. [54.197.127.237]) by mx.google.com with ESMTP id c81si165650itc.103.2017.11.06.16.00.49; Mon, 06 Nov 2017 16:00:49 -0800 (PST) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) client-ip=54.197.127.237; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Received: by lists.linaro.org (Postfix, from userid 109) id DE2D760592; Tue, 7 Nov 2017 00:00:48 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 1DDC860BF6; Tue, 7 Nov 2017 00:00:24 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id E15DA6050D; Tue, 7 Nov 2017 00:00:18 +0000 (UTC) Received: from forward101j.mail.yandex.net (forward101j.mail.yandex.net [5.45.198.241]) by lists.linaro.org (Postfix) with ESMTPS id 9709F6050D for ; Tue, 7 Nov 2017 00:00:11 +0000 (UTC) Received: from mxback3g.mail.yandex.net (mxback3g.mail.yandex.net [IPv6:2a02:6b8:0:1472:2741:0:8b7:164]) by forward101j.mail.yandex.net (Yandex) with ESMTP id D79DF124262C for ; Tue, 7 Nov 2017 03:00:09 +0300 (MSK) Received: from smtp4o.mail.yandex.net (smtp4o.mail.yandex.net [2a02:6b8:0:1a2d::28]) by mxback3g.mail.yandex.net (nwsmtp/Yandex) with ESMTP id bUCgHFerEJ-09g4HvpS; Tue, 07 Nov 2017 03:00:09 +0300 Received: by smtp4o.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id COTRioqjUn-09o8ltRF; Tue, 07 Nov 2017 03:00:09 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (Client certificate not present) From: Github ODP bot To: lng-odp@lists.linaro.org Date: Tue, 7 Nov 2017 03:00:08 +0300 Message-Id: <1510012808-17034-2-git-send-email-odpbot@yandex.ru> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1510012808-17034-1-git-send-email-odpbot@yandex.ru> References: <1510012808-17034-1-git-send-email-odpbot@yandex.ru> Github-pr-num: 275 Subject: [lng-odp] [PATCH v2 1/1] changelog: updates for odp v1.16.0.0 X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" From: Bill Fischofer Signed-off-by: Bill Fischofer --- /** Email created from pull request 275 (Bill-Fischofer-Linaro:v1.16-changelog) ** https://github.com/Linaro/odp/pull/275 ** Patch: https://github.com/Linaro/odp/pull/275.patch ** Base sha: f318c88f26b15140dda243e6a1d27e3c8f9d275b ** Merge commit sha: bb0af2fe74203f4b5aa28d5eaeac38035c111b46 **/ CHANGELOG | 207 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 207 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 866e51e95..ec0f777cb 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,210 @@ +== 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. + +=== 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=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 + +=== 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