On 30 November 2016 at 15:32, Maxim Uvarov <maxim.uva...@linaro.org> wrote:

> From: Bill Fischofer <bill.fischo...@linaro.org>
>
> Signed-off-by: Bill Fischofer <bill.fischo...@linaro.org>
> Signed-off-by: Maxim Uvarov <maxim.uva...@linaro.org>
>

Reviewed-by: Mike Holmes <mike.hol...@linaro.org>



> ---
>  CHANGELOG | 177 ++++++++++++++++++++++++++++++
> ++++++++++++++++++++++++++++++++
>  1 file changed, 177 insertions(+)
>
> 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.
> --
> 2.7.1.250.gff4ea60
>
>


-- 
Mike Holmes
Program Manager - Linaro Networking Group
Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs
"Work should be fun and collaborative, the rest follows"

Reply via email to