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).
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)
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
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
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)
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
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
> ---
>
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
> ---
>
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 -
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 ++-
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
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
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
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
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
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 |
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
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 +
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
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
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
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 ++
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
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
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) */
+
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 {
> > +
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
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 ++
>
42 matches
Mail list logo