[lng-odp] 32b support in ODP-Cloud

2017-03-22 Thread Honnappa Nagarahalli
Hi Bill / Matt and others, What I was trying to say in our discussion is that, the ODP-Cloud code should not be pointer heavy. Please take a look at this video from BUD17: http://connect.linaro.org/resource/bud17/bud17-101/ (unfortunately there are no slides, I am trying to get them).

[lng-odp] [Linaro/odp] 88dbb0: linux-generic: pool: add odp_pool_capability() rc ...

2017-03-22 Thread GitHub
Branch: refs/heads/api-next Home: https://github.com/Linaro/odp Commit: 88dbb00623102878f2e0e1dd720a942fdd980ca3 https://github.com/Linaro/odp/commit/88dbb00623102878f2e0e1dd720a942fdd980ca3 Author: Bill Fischofer Date: 2017-03-02 (Thu, 02 Mar 2017)

Re: [lng-odp] [PATCH] Fix memory ordering in ring dequeue

2017-03-22 Thread Brian Brooks
On Wed, Mar 22, 2017 at 10:37 AM, Maxim Uvarov wrote: > On 03/22/17 07:54, Brian Brooks wrote: >> Acquire ordering is needed to maintain proper release consistency with >> the ring enqueue operation. This issue presented itself as deadlock when >> running on an ARM-based

Re: [lng-odp] [PATCH] Fix memory ordering in ring dequeue

2017-03-22 Thread Maxim Uvarov
On 03/22/17 18:47, Bill Fischofer wrote: > On Wed, Mar 22, 2017 at 10:37 AM, Maxim Uvarov > wrote: >> On 03/22/17 07:54, Brian Brooks wrote: >>> Acquire ordering is needed to maintain proper release consistency with >>> the ring enqueue operation. This issue presented

[lng-odp] [Linaro/odp] 7ba232: linux-gen: ring: fix memory ordering in ring deque...

2017-03-22 Thread GitHub
Branch: refs/heads/master Home: https://github.com/Linaro/odp Commit: 7ba232f77c60f707d279478a798f6ea14fe9c143 https://github.com/Linaro/odp/commit/7ba232f77c60f707d279478a798f6ea14fe9c143 Author: Brian Brooks Date: 2017-03-22 (Wed, 22 Mar 2017)

Re: [lng-odp] [PATCH] Fix memory ordering in ring dequeue

2017-03-22 Thread Bill Fischofer
On Wed, Mar 22, 2017 at 10:37 AM, Maxim Uvarov wrote: > On 03/22/17 07:54, Brian Brooks wrote: >> Acquire ordering is needed to maintain proper release consistency with >> the ring enqueue operation. This issue presented itself as deadlock when >> running on an ARM-based

Re: [lng-odp] [PATCH] Fix memory ordering in ring dequeue

2017-03-22 Thread Maxim Uvarov
On 03/22/17 07:54, Brian Brooks wrote: > Acquire ordering is needed to maintain proper release consistency with > the ring enqueue operation. This issue presented itself as deadlock when > running on an ARM-based chip. > > Signed-off-by: Brian Brooks > --- >

Re: [lng-odp] [PATCH] Fix memory ordering in ring dequeue

2017-03-22 Thread Maxim Uvarov
On 03/22/17 07:54, Brian Brooks wrote: > Acquire ordering is needed to maintain proper release consistency with > the ring enqueue operation. This issue presented itself as deadlock when > running on an ARM-based chip. > > Signed-off-by: Brian Brooks > --- >

[lng-odp] [API-NEXT PATCH 2/4] linux-gen: packet: remove lazy parsing

2017-03-22 Thread Matias Elo
Replace old lazy parsing code with a new packet parsing implementation which follows the latest API (parsing level is selected using odp_pktio_config()). Signed-off-by: Matias Elo --- .../include/odp/api/plat/packet_types.h| 1 -

[lng-odp] [API-NEXT PATCH 1/4] linux-gen: packet: recognize ICMPv6 packets

2017-03-22 Thread Matias Elo
Signed-off-by: Matias Elo --- example/generator/odp_generator.c | 4 ++-- example/ipsec/odp_ipsec_stream.c | 6 +++--- helper/include/odp/helper/ip.h| 3 ++- platform/linux-generic/include/protocols/ip.h | 3 ++-

[lng-odp] [API-NEXT PATCH 3/4] examples: use odp_pktio_config() to select required packet parsing level

2017-03-22 Thread Matias Elo
Select required packet parsing level when full packet parsing is not required. Signed-off-by: Matias Elo --- example/l2fwd_simple/odp_l2fwd_simple.c | 5 + example/l3fwd/odp_l3fwd.c| 7 +++ example/switch/odp_switch.c

Re: [lng-odp] [API-NEXT PATCHv2 01/23] drv: adding compiler hints in the driver interface

2017-03-22 Thread Bill Fischofer
On Wed, Mar 22, 2017 at 9:48 AM, Christophe Milard wrote: > Largely inspired from its north api counterpart, the drv/spec/hint.h > file is added. Also includes the __constructor__ attributes that many > driver interface items will need. > > Signed-off-by: Christophe

[lng-odp] [API-NEXT PATCHv2 23/23] test: drv: test for setting and retrieving driver's data

2017-03-22 Thread Christophe Milard
trivial tests for function odpdrv_device_set_data() and odpdrv_device_get_data(). Signed-off-by: Christophe Milard --- test/common_plat/validation/drv/drvdriver/drvdriver_driver.c | 3 +++ 1 file changed, 3 insertions(+) diff --git

[lng-odp] [API-NEXT PATCHv2 21/23] drv: driver: adding functions to attach driver's data to the device

2017-03-22 Thread Christophe Milard
Driver will need to attach their data to devices when bound. The patch introduce a data setter and a data getter function to do so. Signed-off-by: Christophe Milard --- include/odp/drv/spec/driver.h | 21 + 1 file changed, 21 insertions(+) diff

[lng-odp] [API-NEXT PATCHv2 22/23] linux-gen: adding functions to attach driver's data to the device

2017-03-22 Thread Christophe Milard
Implementation of the functions to set/retrieve driver's data to/from a bound device. Signed-off-by: Christophe Milard --- platform/linux-generic/drv_driver.c | 18 ++ 1 file changed, 18 insertions(+) diff --git

[lng-odp] [API-NEXT PATCHv2 14/23] drv: driver: adding a probe and remove callback for devio

2017-03-22 Thread Christophe Milard
Needed to delete the resources needed for the devio. That is possibly the memory allocated for its "ops" part if it was allocated. May be NULL if nothing needs to be done at devio deletion time. Signed-off-by: Christophe Milard --- include/odp/drv/spec/driver.h |

[lng-odp] [API-NEXT PATCHv2 13/23] test: drv: device creation and destruction

2017-03-22 Thread Christophe Milard
Testing that devices can be created and removed from ODP. Signed-off-by: Christophe Milard --- .../validation/drv/drvdriver/.gitignore| 1 + .../validation/drv/drvdriver/Makefile.am | 11 ++ .../validation/drv/drvdriver/drvdriver_device.c

[lng-odp] [API-NEXT PATCHv2 20/23] test: drv: driver registration and probing

2017-03-22 Thread Christophe Milard
Register driver, devios, enumerators, create devices, and check that probing occurs correctely. Signed-off-by: Christophe Milard --- .../validation/drv/drvdriver/.gitignore| 1 + .../validation/drv/drvdriver/Makefile.am | 11 +

[lng-odp] [API-NEXT PATCHv2 19/23] linux-gen: driver registration and probing

2017-03-22 Thread Christophe Milard
Driver registration and probing is implemented for linux-gen ODP. Signed-off-by: Christophe Milard --- platform/linux-generic/drv_driver.c | 349 ++-- 1 file changed, 336 insertions(+), 13 deletions(-) diff --git

[lng-odp] [API-NEXT PATCHv2 18/23] drv: complement parameters to the driver probe() function

2017-03-22 Thread Christophe Milard
Of course, when probing a driver, the latter should be given the devio handle to be used. This is what this patch adds. It also adds the index of the devio, hence telling the driver which of the possible ODPDRV_MAX_DEVIOS devios was selected, as this is going to be the first thing the driver needs

[lng-odp] [API-NEXT PATCHv2 17/23] drv: adding driver remove function

2017-03-22 Thread Christophe Milard
The remove function, as for other driver items (such as enumerators...) is called before the driver is to be removed, i.e. after all devices have been been unbound from the driver. remove() should release any resource held by the driver. Signed-off-by: Christophe Milard

[lng-odp] [API-NEXT PATCHv2 16/23] test: drv: devio creation and destruction

2017-03-22 Thread Christophe Milard
Testing that devios can be registered and removed in/from ODP. Signed-off-by: Christophe Milard --- .../validation/drv/drvdriver/.gitignore| 1 + .../validation/drv/drvdriver/Makefile.am | 11 ++

[lng-odp] [API-NEXT PATCHv2 15/23] linux-gen: drv: devio registration

2017-03-22 Thread Christophe Milard
devios (dev IO) provide a interface for drivers to access a device: Devices enumerated by enumerators may be accessed in by different mechanisms (depending on iommu presence or other factors). This extra abstraction is provided by devios, which provide a sets of methods to access the devices of a

[lng-odp] [API-NEXT PATCHv2 12/23] linux-gen: drv: driver: adding device querry function

2017-03-22 Thread Christophe Milard
Implementation of the device query function for the linux-gen ODP. Signed-off-by: Christophe Milard --- platform/linux-generic/drv_driver.c | 37 + 1 file changed, 37 insertions(+) diff --git

[lng-odp] [API-NEXT PATCHv2 10/23] linux-gen: drv: device creation and deletion

2017-03-22 Thread Christophe Milard
Functions to create and remove devices are populated to do more proper things. Signed-off-by: Christophe Milard --- platform/linux-generic/drv_driver.c | 181 ++-- 1 file changed, 173 insertions(+), 8 deletions(-) diff --git

[lng-odp] [API-NEXT PATCHv2 11/23] drv: driver: adding device query function

2017-03-22 Thread Christophe Milard
Adding a function for querying a list of devices: this function may be used by enumerators to query for the list of their registered devices or for a subset of them. Note that this function returns a malloc'd list of devices which is to be freed by the caller. Signed-off-by: Christophe Milard

[lng-odp] [API-NEXT PATCHv2 08/23] drv: driver: change drv unbind function name and pass correct parameter

2017-03-22 Thread Christophe Milard
The driver removal function expects a device, of course... Also unbind seems a better name to disconnect from a device since remove has been used for removing the object itself for enumerators. Some extra parameters to allow for graceful unbinding are also added. Signed-off-by: Christophe Milard

[lng-odp] [API-NEXT PATCHv2 09/23] drv: driver: add callback function for device destruction

2017-03-22 Thread Christophe Milard
When a device is destroyed by an enumerator, odpdrv_device_destroy() is called. However, the complete device destruction may require waiting for IO to be completed: the device destruction is therefore divided in 2 steps: odpdrv_device_destroy() starts the device destruction, and the provided

[lng-odp] [API-NEXT PATCHv2 07/23] test: drv: enumerator registration tests

2017-03-22 Thread Christophe Milard
making sure that enumerators are probed. Signed-off-by: Christophe Milard --- .../validation/drv/drvdriver/.gitignore| 1 + .../validation/drv/drvdriver/Makefile.am | 11 + .../validation/drv/drvdriver/drvdriver_enumr.c | 303

[lng-odp] [API-NEXT PATCHv2 06/23] linux-gen: drv: enumerator registration

2017-03-22 Thread Christophe Milard
The enumerator registration functions for the linux-gen ODP implementation. Signed-off-by: Christophe Milard --- platform/linux-generic/drv_driver.c | 139 +++- 1 file changed, 136 insertions(+), 3 deletions(-) diff --git

[lng-odp] [API-NEXT PATCHv2 05/23] test: drv: enumerator_class registration tests

2017-03-22 Thread Christophe Milard
Testing that enumerators classes can register properly. Saddly restricted to statically linked enumerators classes, as testing with modules in autotools seems to be an issue so far. Signed-off-by: Christophe Milard --- test/common_plat/m4/configure.m4

[lng-odp] [API-NEXT PATCHv2 04/23] linux-gen: drv: enumerator_class registration

2017-03-22 Thread Christophe Milard
The functions to register and probe enumerator classes are added. Signed-off-by: Christophe Milard --- platform/linux-generic/Makefile.am | 1 + platform/linux-generic/_modules.c | 4 + platform/linux-generic/drv_driver.c

[lng-odp] [API-NEXT PATCHv2 03/23] drv: making parameter strings dynamically computable

2017-03-22 Thread Christophe Milard
Declaring strings as const in the driver API prevents dynamic calculation of these strings, which is a drawback. For instance, the device addresses (string) are typically calculated by enumerators, and should therefore not be const... Other strings may also be the result of a computation. This

[lng-odp] [API-NEXT PATCHv2 02/23] linux-gen: adding compiler hints in the driver interface

2017-03-22 Thread Christophe Milard
Just including the spec file from the linux-generic side, as usual. Signed-off-by: Christophe Milard --- include/odp_drv.h | 1 + platform/linux-generic/include/odp/drv/hints.h | 34 ++ 2 files changed, 35

[lng-odp] [API-NEXT PATCHv2 00/23] driver items registration and probing

2017-03-22 Thread Christophe Milard
This patch series can be pulled from: https://git.linaro.org/people/christophe.milard/odp.git/log/?h=drv_framework_v2 Since V1: Fixes following Bill's comments. Note: I am not really sure this is still in phase with what was discussed at connect, since I couldn't attend. But, at least I did the

[lng-odp] [API-NEXT PATCHv2 01/23] drv: adding compiler hints in the driver interface

2017-03-22 Thread Christophe Milard
Largely inspired from its north api counterpart, the drv/spec/hint.h file is added. Also includes the __constructor__ attributes that many driver interface items will need. Signed-off-by: Christophe Milard --- include/odp/drv/spec/hints.h | 119

Re: [lng-odp] [PATCHv3 0/5] test: generator: improve performance

2017-03-22 Thread Maxim Uvarov
CHECK: Alignment should match open parenthesis #99: FILE: example/generator/odp_generator.c:254: + odp_memcpy(buf, odp_packet_data(pkt_ref), + args->appl.payload + ODPH_UDPHDR_LEN + CHECK: Alignment should match open parenthesis #189: FILE:

Re: [lng-odp] [PATCH] Fix memory ordering in ring dequeue

2017-03-22 Thread Bill Fischofer
On Tue, Mar 21, 2017 at 11:54 PM, Brian Brooks wrote: > > Acquire ordering is needed to maintain proper release consistency with > the ring enqueue operation. This issue presented itself as deadlock when > running on an ARM-based chip. > > Signed-off-by: Brian Brooks

Re: [lng-odp] [API-NEXT PATCH v2 2/3] api: ipsec: add inline IPSEC support

2017-03-22 Thread Savolainen, Petri (Nokia - FI/Espoo)
NO HTML mails to the ODP list please. Indentation is lost due to HTML.  /** + * Protocol layers in IPSEC configuration + */ +typedef enum odp_ipsec_proto_layer_t { +       /** No layers */ +       ODP_IPSEC_LAYER_NONE = 0, + +       /** Layer L2 protocols (Ethernet, VLAN, etc) */ +       

Re: [lng-odp] [API-NEXT PATCH v2 2/3] api: ipsec: add inline IPSEC support

2017-03-22 Thread Peltonen, Janne (Nokia - FI/Espoo)
Hi, > > + > > + /** Outer headers for inline output operation > > +* > > +* Outbound inline IPSEC operation uses this information to > > prepend > > +* outer headers to the IPSEC packet before sending it out. > > +*/ > > + struct { > > +

Re: [lng-odp] [RFC, API-NEXT v1 1/1] comp:compression interface

2017-03-22 Thread Bogdan Pricope
Hi, My understanding is that: - compression can be used in stateless or statefull mode. How can we differentiate between the two configurations: by specifying a special algorithm on session creation or by setting "last" field to "true" for every operation? Do we need this setting per operation

Re: [lng-odp] [PATCHv3 1/5] test: generator: compose sending packets from reference packet plus differences

2017-03-22 Thread Yi He
For this patch series: Reviewed-and-tested-by: Yi He On 20 March 2017 at 15:28, Bogdan Pricope wrote: > Signed-off-by: Bogdan Pricope > --- > example/generator/odp_generator.c | 130 ++ >