Merged.
On 12/01/16 21:36, Mike Holmes wrote:
>
>
> On 30 November 2016 at 15:32, Maxim Uvarov <maxim.uva...@linaro.org
> <mailto:maxim.uva...@linaro.org>> wrote:
>
> From: Bill Fischofer <bill.fischo...@linaro.org
> <mailto:bill.fischo...@linaro.org>>
>
> Signed-off-by: Bill Fischofer <bill.fischo...@linaro.org
> <mailto:bill.fischo...@linaro.org>>
> Signed-off-by: Maxim Uvarov <maxim.uva...@linaro.org
> <mailto:maxim.uva...@linaro.org>>
>
>
> Reviewed-by: Mike Holmes <mike.hol...@linaro.org
> <mailto: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
> <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
> <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
> <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
> <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"
>
> __
>
>