Could you please clarify the following :
Implementations are free to define flow signatures however they wish. The
only API requirement is that the same packet produce the same signature.
Is the requirement that for a given packet, the flow signature is the same
for any platform conforming to ODP
Hi,
From the implementation point of view it cannot predict in which part
the application is pushing the new header either in L2, L3 or L4. Hence
the application should take the responsibility to update the offsets.
The implementation should only update the available headroom value.
Regards,
Packet head push/pull calls do not automatically adjust
metadata offsets, only data pointer and headroom.
Signed-off-by: Petri Savolainen petri.savolai...@linaro.org
---
platform/linux-generic/include/odp_packet_internal.h | 8
1 file changed, 8 deletions(-)
diff --git
On Wed, Dec 17, 2014 at 09:28:48AM +0530, Jerin Jacob wrote:
On Mon, Dec 08, 2014 at 11:49:46PM +0100, Ola Liljedahl wrote:
Signed-off-by: Ola Liljedahl ola.liljed...@linaro.org
---
(This document/code contribution attached is provided under the terms of
agreement LES-LTM-21309)
A new
On Tue, Dec 16, 2014 at 11:13 AM, Ola Liljedahl
ola.liljed...@linaro.org wrote:
On 15 December 2014 at 23:20, Maxim Uvarov maxim.uva...@linaro.org wrote:
On 12/16/2014 12:35 AM, Mike Holmes wrote:
Termination of the string is not assured unless the string is
one char shorter than the buffer.
Use cases, use cases, use cases...
Talking about API details in isolation will probably just make us go
round in circles.
In my view, ODP should just provide precomputed L2/L3/L4 offsets for
ingress packets as those values likely have been computed by the (HW)
parser anyway (needed by the
On 17 December 2014 at 10:19, Jerin Jacob
jerin.ja...@caviumnetworks.com wrote:
On Wed, Dec 17, 2014 at 09:28:48AM +0530, Jerin Jacob wrote:
On Mon, Dec 08, 2014 at 11:49:46PM +0100, Ola Liljedahl wrote:
Signed-off-by: Ola Liljedahl ola.liljed...@linaro.org
---
(This document/code
On 17 December 2014 at 10:38, Ciprian Barbu ciprian.ba...@linaro.org wrote:
On Tue, Dec 16, 2014 at 11:13 AM, Ola Liljedahl
ola.liljed...@linaro.org wrote:
On 15 December 2014 at 23:20, Maxim Uvarov maxim.uva...@linaro.org wrote:
On 12/16/2014 12:35 AM, Mike Holmes wrote:
Termination of the
On 17 December 2014 at 12:16, Ola Liljedahl ola.liljed...@linaro.org
wrote:
On 17 December 2014 at 09:14, Alexandru Badicioiu
alexandru.badici...@linaro.org wrote:
Could you please clarify the following :
Implementations are free to define flow signatures however they wish.
The only API
On 17 December 2014 at 00:34, Anders Roxell anders.rox...@linaro.org wrote:
An earlier email described the a template for the short description:
(linux-generic|api|doc|validation|example): file/func: short desc.
This is the long description!
Signed-off-by: ...
---
say whatever you like
On 17 December 2014 at 11:21, Alexandru Badicioiu
alexandru.badici...@linaro.org wrote:
On 17 December 2014 at 12:16, Ola Liljedahl ola.liljed...@linaro.org
wrote:
On 17 December 2014 at 09:14, Alexandru Badicioiu
alexandru.badici...@linaro.org wrote:
Could you please clarify the
On 17 December 2014 at 12:39, Ola Liljedahl ola.liljed...@linaro.org
wrote:
On 17 December 2014 at 11:21, Alexandru Badicioiu
alexandru.badici...@linaro.org wrote:
On 17 December 2014 at 12:16, Ola Liljedahl ola.liljed...@linaro.org
wrote:
On 17 December 2014 at 09:14, Alexandru
Packet head push/pull calls do not automatically adjust
metadata offsets, only data pointer and headroom.
Signed-off-by: Petri Savolainen petri.savolai...@linaro.org
---
platform/linux-generic/include/odp_packet_internal.h | 8
1 file changed, 8 deletions(-)
diff --git
First set of synchronizer tests. This patch includes tests for locks,
barriers and atomics (sunny day tests only).
Most of this code comes from Barry Spinney and Yan Songming.
Please note that this code depends on ticketlock_trylock
Signed-off-by: Mario Torrecillas Rodriguez
If we do this we really need a documentation note that says:
Note: After doing a head push/pull, applications cannot use routines like
odp_packet_l3_ptr(), etc., until they make appropriate calls to
odp_packet_l3_offset_set(), etc., to reflect the previous operation.
Otherwise they will receive
On 17 December 2014 at 12:32, Bill Fischofer bill.fischo...@linaro.org wrote:
If we do this we really need a documentation note that says:
Note: After doing a head push/pull, applications cannot use routines like
odp_packet_l3_ptr(), etc., until they make appropriate calls to
You clearly read and understood the patch as written to be able to write
the above. If you wish to re-write the patch you're free to do so but it
is making a single logical and self-contained change and hence is properly
scoped.
On Wed, Dec 17, 2014 at 2:04 AM, Anders Roxell
The API says already:
“Operation does not modify packet segmentation or move data. Handles and
pointers remain valid. User is responsible to update packet meta-data
offsets when needed.”
If application modifies packet headers (adds/removes/changes them), it must
update those offsets that it or
On 17 December 2014 at 12:51, Savolainen, Petri (NSN - FI/Espoo)
petri.savolai...@nsn.com wrote:
The API says already:
“Operation does not modify packet segmentation or move data. Handles and
pointers remain valid. User is responsible to update packet meta-data
offsets when needed.”
We
You are correct that the API states this. What others are pointing out are
the non-intutive implications of choosing to define the API this way.
You've not provided a convincing rationale for making this choice. While
you can assert your right not to do so, it would be helpful to others if
you
On 17 December 2014 at 12:51, Savolainen, Petri (NSN - FI/Espoo)
petri.savolai...@nsn.com wrote:
The API says already:
“Operation does not modify packet segmentation or move data. Handles and
pointers remain valid. User is responsible to update packet meta-data
offsets when needed.”
But
Once again. There’s no point of implementation speculating what will happen to
the packet after the pull/push operation. Which L2/L3/L4/… offsets are going to
be changed and in which direction? Between which headers the application is
going to add/remove layers? What header are moved? What
On 17 December 2014 at 12:09, Alexandru Badicioiu
alexandru.badici...@linaro.org wrote:
On 17 December 2014 at 12:39, Ola Liljedahl ola.liljed...@linaro.org
wrote:
On 17 December 2014 at 11:21, Alexandru Badicioiu
alexandru.badici...@linaro.org wrote:
On 17 December 2014 at 12:16,
The first requirement is that packets of the same *flow* produce the same hash
value. As long as same packet header fields are used for hash calculation this
will be the case. The second requirement is how the user can control which
fields are taken into the hash calculation. This capability is
Merged,
Maxim.
On 12/16/2014 07:15 PM, Taras Kondratiuk wrote:
Signed-off-by: Taras Kondratiuk taras.kondrat...@linaro.org
---
v3: Move queue status check under a lock
v2: Handle scheduled queues destroy
.../linux-generic/include/odp_queue_internal.h | 23 ++--
We could take a timeout on this. Maybe it's better to specify that l2/3/4_ptr
and _offsets are valid only when odp_packet_has_l2/3/4() returns 1.
We wouldn't need to define ODP_PACKET_OFFSET_INVALID or NULL return values for
those functions.
-Petri
-Original Message-
From:
hm, I can not run this test case at all.
I.e. loop scenario. ODP_PKTIO_LOOPDEV= is needed to be set.
Maxim.
On 12/16/2014 02:42 PM, Stuart Haslam wrote:
On Tue, Dec 16, 2014 at 10:36:03AM +, Anders Roxell wrote:
On 2014-12-12 17:33, Stuart Haslam wrote:
This is primarily sunny day basic
While ODP may not know why an application is choosing to make a specific
push/pull request, the implications of any given call are precise. After
pushing the head by X bytes, all of the other packet offset metadata are
now in error until and unless they are adjusted. If it is part of the API
I think this is a good part of the spec and the omission in the code is
indeed a bug that should be corrected. If we couldn't find an L3 header,
for example, then what does odp_packet_l3_ptr() return? Without this fix
it returns the starting address of the packet, which is incorrect. With
this
From: ext Bill Fischofer [mailto:bill.fischo...@linaro.org]
Sent: Wednesday, December 17, 2014 2:40 PM
To: Savolainen, Petri (NSN - FI/Espoo)
Cc: Petri Savolainen; lng-odp-forward
Subject: Re: [lng-odp] [PATCH] Remove packet l2/l3/l4 offset adjustments
While ODP may not know why an application
It can still return NULL. Application should first check only *once* the
_has_l3(). After that every _l3_prt() and _l3_offset() call should succeed.
-Petri
From: ext Bill Fischofer [mailto:bill.fischo...@linaro.org]
Sent: Wednesday, December 17, 2014 2:48 PM
To: Savolainen, Petri (NSN -
On Wed, Dec 17, 2014 at 11:05:52AM +0100, Ola Liljedahl wrote:
On 17 December 2014 at 10:19, Jerin Jacob
jerin.ja...@caviumnetworks.com wrote:
On Wed, Dec 17, 2014 at 09:28:48AM +0530, Jerin Jacob wrote:
On Mon, Dec 08, 2014 at 11:49:46PM +0100, Ola Liljedahl wrote:
Signed-off-by: Ola
Application must check L2/L3/L4 pointer and offset validity with
corresponding odp_packet_has_l2/l3/l4() call.
Signed-off-by: Petri Savolainen petri.savolai...@linaro.org
---
platform/linux-generic/include/api/odp_packet.h | 32 +++--
1 file changed, 19 insertions(+), 13
int odp_pktio_inq_remdef(odp_pktio_t id)
{
return odp_pktio_inq_setdef(id, ODP_QUEUE_INVALID);
}
then:
int odp_pktio_inq_setdef(odp_pktio_t id, odp_queue_t queue)
{
pktio_entry_t *pktio_entry = get_pktio_entry(id);
queue_entry_t *qentry;
if (pktio_entry == NULL
On 17 December 2014 at 13:52, Savolainen, Petri (NSN - FI/Espoo)
petri.savolai...@nsn.com wrote:
From: ext Bill Fischofer [mailto:bill.fischo...@linaro.org]
Sent: Wednesday, December 17, 2014 2:40 PM
To: Savolainen, Petri (NSN - FI/Espoo)
Cc: Petri Savolainen; lng-odp-forward
Subject: Re:
No, the current code will not return NULL, hence this bug fix.
On Wed, Dec 17, 2014 at 6:55 AM, Savolainen, Petri (NSN - FI/Espoo)
petri.savolai...@nsn.com wrote:
It can still return NULL. Application should first check only **once**
the _*has*_l3(). After that every _*l3*_prt() and
On 17 December 2014 at 13:55, Savolainen, Petri (NSN - FI/Espoo)
petri.savolai...@nsn.com wrote:
It can still return NULL. Application should first check only *once* the
_has_l3(). After that every _l3_prt() and _l3_offset() call should succeed.
So application must call both odp_packet_has_l3()
On 17 December 2014 at 13:31, Savolainen, Petri (NSN - FI/Espoo)
petri.savolai...@nsn.com wrote:
The first requirement is that packets of the same **flow** produce the
same hash value.
But the hardware (ODP implementation) won't know what constitutes a flow
unless we tell it.
As long as
On Wed, Dec 17, 2014 at 01:56:56PM +, Maxim Uvarov wrote:
odp_pktio_inq_remdef() calls odp_pktio_inq_setdef() with
ODP_QUEUE_INVALID. odp_pktio_inq_setdef should set up
ODP_QUEUE_INVALID to pktio instead of returning with error.
Signed-off-by: Maxim Uvarov maxim.uva...@linaro.org
---
Signed-off-by: Taras Kondratiuk taras.kondrat...@linaro.org
---
platform/linux-generic/include/api/odp_init.h | 5 ++---
platform/linux-generic/include/odp_internal.h | 1 +
platform/linux-generic/odp_init.c | 4 +++-
platform/linux-generic/odp_linux.c| 10 --
Buffer pool terminate throws an error in case of any pool still exist
at ODP global termination stage.
Based on api: init: add a way to determine a last ODP thread termination
patch.
Signed-off-by: Taras Kondratiuk taras.kondrat...@linaro.org
---
platform/linux-generic/include/odp_internal.h |
On Wed, Dec 17, 2014 at 03:10:11PM +0200, Ciprian Barbu wrote:
Signed-off-by: Ciprian Barbu ciprian.ba...@linaro.org
---
test/validation/odp_schedule.c | 63
++
1 file changed, 58 insertions(+), 5 deletions(-)
diff --git
On Wed, Dec 17, 2014 at 03:20:06PM +, Maxim Uvarov wrote:
On 12/17/2014 05:45 PM, Stuart Haslam wrote:
On Wed, Dec 17, 2014 at 01:56:56PM +, Maxim Uvarov wrote:
odp_pktio_inq_remdef() calls odp_pktio_inq_setdef() with
ODP_QUEUE_INVALID. odp_pktio_inq_setdef should set up
On Wed, Dec 17, 2014 at 01:57:50PM +, Maxim Uvarov wrote:
sent a patch linux-generic: fix odp_pktio_inq_remdef
please review. This patch should go before you test cases.
When I initially sent the patch I deliberately left in the failing test
case to highlight that remdef was broken. I had
Improve documentation:
Application can check L2/3/4 validity with odp_packet_has_l2/3/4()
calls or by comparing against NULL/ODP_PACKET_OFFSET_INVALID.
Signed-off-by: Petri Savolainen petri.savolai...@linaro.org
---
platform/linux-generic/include/api/odp_packet.h | 30 +
First set of synchronizer tests. This patch includes tests for locks,
barriers and atomics (sunny day tests only).
Most of this code comes from Barry Spinney and Yan Songming.
Please note that this code depends on ticketlock_trylock
Signed-off-by: Mario Torrecillas Rodriguez
Correctly destroy queue and remove it from scheduler.
Signed-off-by: Maxim Uvarov maxim.uva...@linaro.org
---
v2:
I reused Tarases implementation for destroy queue,
which also removes this queue from scheduling.
Maxim.
platform/linux-generic/odp_packet_io.c | 14
-Original Message-
From: ext Taras Kondratiuk [mailto:taras.kondrat...@linaro.org]
Sent: Wednesday, December 17, 2014 4:49 PM
To: lng-odp@lists.linaro.org; Savolainen, Petri (NSN - FI/Espoo)
Cc: Taras Kondratiuk
Subject: [RFC PATCH] api: init: add a way to determine a last ODP
Merged,
Maxim.
On 12/04/2014 11:34 AM, Taras Kondratiuk wrote:
An exit status of 77 from a test application will denote a skipped test
for automake. So if exactly 77 failed we'd get a wrong result. Just
return -1 if any failure detected.
Reported-by: Stuart Haslam stuart.has...@arm.com
This version of the patch should fix all the issues mentioned so far (by
Jerin and Maxim, I believe).
Cheers,
Mario.
On 17/12/2014 16:31, Mario Torrecillas Rodriguez
mario.torrecillasrodrig...@arm.com wrote:
First set of synchronizer tests. This patch includes tests for locks,
barriers and
On 12/17/2014 07:03 PM, Stuart Haslam wrote:
On Wed, Dec 17, 2014 at 01:57:50PM +, Maxim Uvarov wrote:
sent a patch linux-generic: fix odp_pktio_inq_remdef
please review. This patch should go before you test cases.
When I initially sent the patch I deliberately left in the failing test
On 12/17/2014 01:23 PM, Ola Liljedahl wrote:
On 17 December 2014 at 00:34, Anders Roxell anders.rox...@linaro.org wrote:
An earlier email described the a template for the short description:
(linux-generic|api|doc|validation|example): file/func: short desc.
This is the long description!
On 12/17/2014 04:43 AM, Bill Fischofer wrote:
The subject is a single line. It is short. I see no rules saying
anything about names. It explains why the patch is being done.
Agree with Anders here. as requested by Petri should not be in git commit.
Maxim.
On Tue, Dec 16, 2014 at 5:34
On 17 December 2014 at 17:50, Maxim Uvarov maxim.uva...@linaro.org wrote:
On 12/17/2014 04:43 AM, Bill Fischofer wrote:
The subject is a single line. It is short. I see no rules saying
anything about names. It explains why the patch is being done.
Agree with Anders here. as requested by
These patches were resent yesterday and have been superseded by patches
Petri sent covering the same area.
On Wed, Dec 17, 2014 at 10:56 AM, Ola Liljedahl ola.liljed...@linaro.org
wrote:
On 17 December 2014 at 17:50, Maxim Uvarov maxim.uva...@linaro.org
wrote:
On 12/17/2014 04:43 AM, Bill
Mario just 2 new small notes and it's ok.
Maxim.
On 12/17/2014 07:31 PM, Mario Torrecillas Rodriguez wrote:
First set of synchronizer tests. This patch includes tests for locks,
barriers and atomics (sunny day tests only).
Most of this code comes from Barry Spinney and Yan Songming.
Please
On 12/17/2014 08:02 PM, Bill Fischofer wrote:
These patches were resent yesterday and have been superseded by
patches Petri sent covering the same area.
Can you add review-by to new patch?
Maxim.
On Wed, Dec 17, 2014 at 10:56 AM, Ola Liljedahl
ola.liljed...@linaro.org
On Wed, Dec 17, 2014 at 04:34:17PM +, Maxim Uvarov wrote:
Correctly destroy queue and remove it from scheduler.
Signed-off-by: Maxim Uvarov maxim.uva...@linaro.org
---
v2:
I reused Tarases implementation for destroy queue,
which also removes this queue from scheduling.
In order to build the documentation doxygen is required, to generate
a pdf further tools are needed.
Add instructions on how to do this.
Signed-off-by: Mike Holmes mike.hol...@linaro.org
---
DEPENDENCIES | 14 ++
1 file changed, 14 insertions(+)
diff --git a/DEPENDENCIES
On Tue, Dec 16, 2014 at 04:15:54PM +, Taras Kondratiuk wrote:
Signed-off-by: Taras Kondratiuk taras.kondrat...@linaro.org
---
v3: Move queue status check under a lock
v2: Handle scheduled queues destroy
I know this got merged already, but I've just spotted an issue below.
Add the required version of CUnit and provide better install instructions.
Signed-off-by: Mike Holmes mike.hol...@linaro.org
---
DEPENDENCIES | 18 ++
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/DEPENDENCIES b/DEPENDENCIES
index f70a1d4..bc39889 100644
---
On Wed, Dec 17, 2014 at 04:41:11PM +, Maxim Uvarov wrote:
On 12/17/2014 07:03 PM, Stuart Haslam wrote:
On Wed, Dec 17, 2014 at 01:57:50PM +, Maxim Uvarov wrote:
sent a patch linux-generic: fix odp_pktio_inq_remdef
please review. This patch should go before you test cases.
When I
Clarify the guide lines around using doxygen to document the ODP API.
Signed-off-by: Mike Holmes mike.hol...@linaro.org
---
doxygen_guide_lines.dox | 54 +
1 file changed, 54 insertions(+)
create mode 100644 doxygen_guide_lines.dox
diff --git
On Wed, Dec 17, 2014 at 2:12 PM, Mike Holmes mike.hol...@linaro.org wrote:
Clarify the guide lines around using doxygen to document the ODP API.
Signed-off-by: Mike Holmes mike.hol...@linaro.org
Reviewed-by: Bill Fischofer bill.fischo...@linaro.org
---
doxygen_guide_lines.dox | 54
On 17 December 2014 at 17:25, Anders Roxell anders.rox...@linaro.org
wrote:
On 17 December 2014 at 21:12, Mike Holmes mike.hol...@linaro.org wrote:
Clarify the guide lines around using doxygen to document the ODP API.
Signed-off-by: Mike Holmes mike.hol...@linaro.org
---
Correctly remove queue from packet i/o and remove it from scheduler.
Signed-off-by: Maxim Uvarov maxim.uva...@linaro.org
---
platform/linux-generic/odp_packet_io.c | 26 +-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git
Both test cases for pktio Maxims and Stuarts for 0.6.0
Maxim.
Maxim Uvarov (2):
linux-generic: fix odp_pktio_inq_remdef
validation: pktio: add mac, promisc and mtu tests
Stuart Haslam (1):
validation: pktio: initial pktio tests
platform/linux-generic/odp_packet_io.c | 26 +-
Signed-off-by: Maxim Uvarov maxim.uva...@linaro.org
---
test/validation/odp_pktio.c | 105
1 file changed, 96 insertions(+), 9 deletions(-)
diff --git a/test/validation/odp_pktio.c b/test/validation/odp_pktio.c
index 0ba9938..02c4a7b 100644
---
On 12/17/2014 06:36 PM, Savolainen, Petri (NSN - FI/Espoo) wrote:
-Original Message-
From: ext Taras Kondratiuk [mailto:taras.kondrat...@linaro.org]
Sent: Wednesday, December 17, 2014 4:49 PM
To: lng-odp@lists.linaro.org; Savolainen, Petri (NSN - FI/Espoo)
Cc: Taras Kondratiuk
Mike please suggest how to move this example to different file and link
with documentation.
I think that needs to be in ./example/timer/ directory and be build each
time. Otherwise very
soon documentation and code will not be synchronized.
Maxim.
On 12/17/2014 01:46 AM, Ola Liljedahl wrote:
Add segmented packet I/O support via sockets. RAW sockets limited to
single segment.
Signed-off-by: Bill Fischofer bill.fischo...@linaro.org
---
platform/linux-generic/odp_packet_socket.c | 33 +-
1 file changed, 19 insertions(+), 14 deletions(-)
diff --git
Enable segmentation in packet buffer pools by default
Signed-off-by: Bill Fischofer bill.fischo...@linaro.org
---
platform/linux-generic/odp_buffer_pool.c | 12
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/platform/linux-generic/odp_buffer_pool.c
On Wed, Dec 17, 2014 at 10:41:50PM +, Maxim Uvarov wrote:
Correctly remove queue from packet i/o and remove it from scheduler.
Signed-off-by: Maxim Uvarov maxim.uva...@linaro.org
---
platform/linux-generic/odp_packet_io.c | 26 +-
1 file changed, 25
This is primarily sunny day basic functional testing, all tests are
single threaded.
On platforms other than linux-generic testing will be performed using
the loop interface by default.
For linux-generic, since we don't have a working loop device, a
wrapper script is run that attempts to create
On Wed, Dec 17, 2014 at 10:41:52PM +, Maxim Uvarov wrote:
Signed-off-by: Maxim Uvarov maxim.uva...@linaro.org
---
test/validation/odp_pktio.c | 105
1 file changed, 96 insertions(+), 9 deletions(-)
diff --git a/test/validation/odp_pktio.c
On Wednesday 17 December 2014 07:51 PM, Ola Liljedahl wrote:
On 17 December 2014 at 13:31, Savolainen, Petri (NSN - FI/Espoo)
petri.savolai...@nsn.com wrote:
The first requirement is that packets of the same **flow** produce the
same hash value.
But the hardware (ODP implementation) won't
76 matches
Mail list logo