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 or
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 {
> > +
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) */
+ ODP_IPS
On Wed, Mar 22, 2017 at 6:37 AM, Peltonen, Janne (Nokia - FI/Espoo) <
janne.pelto...@nokia.com> wrote:
> Hi,
>
> > > +
> > > + /** Outer headers for inline output operation
> > > +*
> > > +* Outbound inline IPSEC operation uses this information to
> > > prepend
> > > +
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
Reviewed-by: Bill Fischofer
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: example/generator/odp_generator.c:34
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 +++
platfo
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 c
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 insertions(+)
create mode 100644 pl
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 chan
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| 212
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 | 1 +
test/common_plat/
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 a/platform/linux-generic/drv_driver.c
b/
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 +
.../validation/drv
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
callba
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
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
---
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 a/platform/linux-generic/drv_driver.c
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 a/platform/linux-generic/drv_driver.c
b/platform/linux-generic/drv
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 g
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 ++
.../validation/drv/drvdriver/drvdriver_devio.c | 209 ++
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
---
include/odp/drv/spec/
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
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 a/platform/linux-generic/drv_driver.c
b/platform/
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 +
.../validation/drv/drvdriver/drvdriver_driv
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| 218 +
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 | 18 ++
1 file ch
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 a/platform/linux-generic/drv_driver.c
b/platform/linux-generic/drv
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 --git a/include/odp/drv/spec/d
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 a/test/common_plat/validation/drv/drvdriver/drvdriver_driver.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 Milard
> ---
> include/odp/dr
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 | 5 +
test/
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 ++-
platform/linux-generic/odp_packet.c
Test packet parsing using predefined test packets (byte arrays). Test
packets are looped through tested pktio interfaces to force packet parsing.
Signed-off-by: Matias Elo
---
test/common_plat/validation/api/pktio/Makefile.am | 4 +-
test/common_plat/validation/api/pktio/parser.c| 545
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 -
.../linux-generic/include/odp_packet_internal.h|
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
> ---
> platform/linux-generic/include/odp_ri
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
> ---
> platform/linux-generic/include/odp_ri
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 chip.
>>
>> Signed-off-by:
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)
Changed paths:
M platfor
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 itself as deadlock when
>>>
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 chip.
>>
>> Signed-off-by:
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)
Changed paths:
M pla
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).
43 matches
Mail list logo