diff mbox

[PATCHv10,2/3] changelog: summary of changes for odp v1.12.0.0

Message ID 1480537973-7830-3-git-send-email-maxim.uvarov@linaro.org
State Accepted
Commit 290b6f6464a81d65333657dfff7922203614748c
Headers show

Commit Message

Maxim Uvarov Nov. 30, 2016, 8:32 p.m. UTC
From: Bill Fischofer <bill.fischofer@linaro.org>


Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org>

Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>

---
 CHANGELOG | 177 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 177 insertions(+)

-- 
2.7.1.250.gff4ea60

Comments

Mike Holmes Dec. 1, 2016, 6:36 p.m. UTC | #1
On 30 November 2016 at 15:32, Maxim Uvarov <maxim.uvarov@linaro.org> wrote:

> From: Bill Fischofer <bill.fischofer@linaro.org>

>

> Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org>

> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>

>


Reviewed-by: Mike Holmes <mike.holmes@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"
Maxim Uvarov Dec. 1, 2016, 7:50 p.m. UTC | #2
Merged.

On 12/01/16 21:36, Mike Holmes wrote:
> 

> 

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

> <mailto:maxim.uvarov@linaro.org>> wrote:

> 

>     From: Bill Fischofer <bill.fischofer@linaro.org

>     <mailto:bill.fischofer@linaro.org>>

> 

>     Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org

>     <mailto:bill.fischofer@linaro.org>>

>     Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org

>     <mailto:maxim.uvarov@linaro.org>>

> 

> 

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

> <mailto:mike.holmes@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"

> 

> __

> 

>
diff mbox

Patch

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.