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 (126.96.36.199) > + > +=== New Features > + > +==== APIs > +ODP v188.8.131.52 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 (184.108.40.206) > ODP v1.11.0 is the base tag and branch for the Monarch LTS (Long Term > Support) > release of ODP. > -- > 220.127.116.11.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"