Re: [lng-odp] [API-NEXT PATCH 0/7] IPC version v4

2015-04-29 Thread Ola Liljedahl
On 29 April 2015 at 04:51, BenoƮt Ganne bga...@kalray.eu wrote: We are also interested by IPC and I also think that pktio is the way to go. pktio because it is an already existing concept in ODP we can potentially piggy back on. But IPC has some differences compared to the vanilla packet

Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

2015-04-29 Thread Bala Manoharan
Hi, Sorry I clicked send way too early in the previous mail :) We can optimize the odp_packet_parse_flags_t struct to support both layered parsing and individual parsing by the following way. I believe this might be useful for both application and implementation. typedef struct

Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

2015-04-29 Thread Savolainen, Petri (Nokia - FI/Espoo)
-Original Message- From: ext Bala Manoharan [mailto:bala.manoha...@linaro.org] Sent: Wednesday, April 29, 2015 11:12 AM To: Savolainen, Petri (Nokia - FI/Espoo) Cc: ext Zoltan Kiss; lng-odp@lists.linaro.org Subject: Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

[lng-odp] [PATCHv1] example: classifier: remove odp_pmr_create_range() support

2015-04-29 Thread bala . manoharan
From: Balasubramanian Manoharan bala.manoha...@linaro.org This patch removes support for odp_pmr_create_range() function in the classifier example application. Signed-off-by: Balasubramanian Manoharan bala.manoha...@linaro.org --- example/classifier/odp_classifier.c | 106

Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

2015-04-29 Thread Bala Manoharan
Hi, We can optimize the odp_packet_parse_flags_t in the following way to handle the layered approach for parsing +typedef struct odp_packet_parse_flags_t { + uint32_t eth:1; /** See odp_packet_has_eth() */ + uint32_t jumbo:1; /** See odp_packet_has_jumbo() */ +

Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

2015-04-29 Thread Bala Manoharan
On 29 April 2015 at 13:24, Savolainen, Petri (Nokia - FI/Espoo) petri.savolai...@nokia.com wrote: Hi, Possibly. Although, grouping adds struct complexity, so there should be some benefit on doing that. I was going to add union all there, but decided to leave it out since unnamed

Re: [lng-odp] how to receive and send on multiple threads with multiple NIC queues?

2015-04-29 Thread Savolainen, Petri (Nokia - FI/Espoo)
-Original Message- From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of ext Zoltan Kiss Sent: Tuesday, April 28, 2015 8:59 PM To: lng-odp Subject: [lng-odp] how to receive and send on multiple threads with multiple NIC queues? Hi, During fixing a bug in

Re: [lng-odp] ODP-accelerated OVS plans

2015-04-29 Thread Nikita Kalyazin
Mike, Zoltan, Thanks for sharing this. -- Best regards, Nikita Kalyazin, n.kalya...@samsung.com CE OS Group Samsung RD Institute Russia Tel: +7 (495) 797-25-00 #3816 Tel: +7 (495) 797-25-03 Office #1501, 12-1, Dvintsev str., Moscow, 127018, Russia On Tue, Apr 28, 2015 at 08:51:01AM -0400,

Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

2015-04-29 Thread Savolainen, Petri (Nokia - FI/Espoo)
Hi, Possibly. Although, grouping adds struct complexity, so there should be some benefit on doing that. I was going to add union all there, but decided to leave it out since unnamed structs/unions are not defined in C99, so the both the union and the bit field struct inside would have to be

Re: [lng-odp] [PATCH 1/2] performance: pktio: test return value of odp_pktio_close()

2015-04-29 Thread Maxim Uvarov
Merged both patches. Maxim. On 04/27/2015 19:48, Stuart Haslam wrote: Coverity complains that the return value of odp_pktio_close() isn't being checked. This fixes https://bugs.linaro.org/show_bug.cgi?id=1513 Signed-off-by: Stuart Haslam stuart.has...@linaro.org ---

Re: [lng-odp] [PATCH v2] example: timer: remove global variables to share the data between workers

2015-04-29 Thread Maxim Uvarov
Ola, Mike please add your review. Maxim. On 04/27/2015 19:19, Jerin Jacob wrote: use the odp_shared_memory allocater instead of global variables to enable the timer example to run on baremetal/linux process execution environments Signed-off-by: Jerin Jacob jerin.ja...@caviumnetworks.com ---

Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

2015-04-29 Thread Savolainen, Petri (Nokia - FI/Espoo)
It's (v2) on the list (since last Thu): [lng-odp] [API-NEXT PATCH v2 4/5] api: packet_io: added parse mode -Petri -Original Message- From: ext Zoltan Kiss [mailto:zoltan.k...@linaro.org] Sent: Tuesday, April 28, 2015 9:17 PM To: Savolainen, Petri (Nokia - FI/Espoo);

Re: [lng-odp] [PATCHv1] example: classifier: remove odp_pmr_create_range() support

2015-04-29 Thread Mike Holmes
api-next should = master + proposed new API work. I think this change is needed in api-next so that the merge to master just migrates a complete working solution. That is a requirement for any proposed API change making it into master, it must have working tests, and no regressions in api-next

Re: [lng-odp] [PATCHv1] example: classifier: remove odp_pmr_create_range() support

2015-04-29 Thread Maxim Uvarov
On 04/29/2015 11:36, Bala Manoharan wrote: This patch needs to be applied on the master branch after the following patches are merged from api-next to master branch. api: classification: remove odp_pmr_create_range() function definition linux-generic: classification: remove

Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

2015-04-29 Thread Zoltan Kiss
On 29/04/15 16:41, Ola Liljedahl wrote: On 29 April 2015 at 16:10, Bill Fischofer bill.fischo...@linaro.org mailto:bill.fischo...@linaro.org wrote: We need to be careful about trying to solve problems that haven't arisen yet. There are several interrelated issues here: 1.

[lng-odp] [Bug 1518] New: CID 88336: Wrong sizeof argument odp_l2fwd.c

2015-04-29 Thread bugzilla-daemon
https://bugs.linaro.org/show_bug.cgi?id=1518 Bug ID: 1518 Summary: CID 88336: Wrong sizeof argument odp_l2fwd.c Product: OpenDataPlane Version: 1.0.3 Hardware: Other OS: Linux Status: UNCONFIRMED

Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

2015-04-29 Thread Ola Liljedahl
On 29 April 2015 at 16:10, Bill Fischofer bill.fischo...@linaro.org wrote: We need to be careful about trying to solve problems that haven't arisen yet. There are several interrelated issues here: 1. Parsing (and classification) in SW takes cycles. This should only be done once, not

Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

2015-04-29 Thread Bill Fischofer
I'll post a (crude) lazy eval patch to enable initial evaluation. Right now linux-generic and linux-dpdk have drifted apart in this area but I'm also working to re-converge things a bit to help keep non-DPDK-related maintenance in sync. On Wed, Apr 29, 2015 at 10:41 AM, Ola Liljedahl

Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

2015-04-29 Thread Bill Fischofer
BTW, what complicates doing lazy evaluation is the existence of the various odp_packet_has_xxx_set() APIs we've defined. If you set a value you should be able to retrieve it without triggering parsing since you've taking control of that variable yourself. So each parse bit actually needs to be a

Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

2015-04-29 Thread Zoltan Kiss
It doesn't apply to api-next. Anyway, I've sent an implementation, see [API-NEXT PATCH] packet: implement optional parsing. But if we go with Ola's idea, it won't be needed. On 29/04/15 07:45, Savolainen, Petri (Nokia - FI/Espoo) wrote: It's (v2) on the list (since last Thu): [lng-odp]

Re: [lng-odp] proposal for test enviroment

2015-04-29 Thread Maxim Uvarov
On 04/29/2015 19:35, Christophe Milard wrote: It looks that Stuart and I now agree on what we hope would be an improvment of the test environment. I guess you (Maxim, Mike, Anders) have been following the conversation, but here comes some summary. I lost on some point. Sorry. But after

[lng-odp] [API-NEXT PATCH] packet: implement optional parsing

2015-04-29 Thread Zoltan Kiss
All the examples are setting the param structure to 0, and ODP_PKTIN_PARSE_ALL is 0, so no need to change their default behavious. Signed-off-by: Zoltan Kiss zoltan.k...@linaro.org --- platform/linux-generic/odp_packet.c | 5 + 1 file changed, 5 insertions(+) diff --git

Re: [lng-odp] [API-NEXT PATCH v2 1/5] api: packet_io: change word instance to interface

2015-04-29 Thread Robbie King (robking)
Hey Petri, I like the API changes. A very minor nit, looks like a few places where extra whitespace got injected if you happen to be making other changes. The review is for the patch set. Reviewed-by: Robbie King robk...@cisco.com -Original Message- From: lng-odp

Re: [lng-odp] [PATCHv1] example: classifier: remove odp_pmr_create_range() support

2015-04-29 Thread Maxim Uvarov
Hi Bala, thank you! I added that to api-next and rebased it on current master. Now api-next and master are synced again. And all api-next patches are on top. Thanks, Maxim. On 04/29/2015 11:36, Bala Manoharan wrote: This patch needs to be applied on the master branch after the following

Re: [lng-odp] [PATCH] api: time: force time defines as ULL to avoid computation overflows on 32bits systems

2015-04-29 Thread Maxim Uvarov
Merged. Discussed with Mike on his comment that there is no API change it's define value change, i.e. implementation. While api: patch prefix is good here to indicate that api file was touched. Thank you, Maxim. On 04/28/2015 14:44, Savolainen, Petri (Nokia - FI/Espoo) wrote: OK. It avoids

[lng-odp] proposal for test enviroment

2015-04-29 Thread Christophe Milard
It looks that Stuart and I now agree on what we hope would be an improvment of the test environment. I guess you (Maxim, Mike, Anders) have been following the conversation, but here comes some summary. Does this looks reasonable for you as well? Christophe. 1) validation would contain 1

Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

2015-04-29 Thread Ola Liljedahl
On 29 April 2015 at 17:50, Zoltan Kiss zoltan.k...@linaro.org wrote: On 29/04/15 16:41, Ola Liljedahl wrote: On 29 April 2015 at 16:10, Bill Fischofer bill.fischo...@linaro.org mailto:bill.fischo...@linaro.org wrote: We need to be careful about trying to solve problems that haven't

Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

2015-04-29 Thread Zoltan Kiss
On 29/04/15 18:19, Ola Liljedahl wrote: On 29 April 2015 at 18:14, Zoltan Kiss zoltan.k...@linaro.org mailto:zoltan.k...@linaro.org wrote: It doesn't apply to api-next. Anyway, I've sent an implementation, see [API-NEXT PATCH] packet: implement optional parsing. But if we go with

Re: [lng-odp] [PATCH] api: time: force time defines as ULL to avoid computation overflows on 32bits systems

2015-04-29 Thread Maxim Uvarov
On 04/29/2015 23:06, Anders Roxell wrote: On 29 April 2015 at 21:56, Maxim Uvarov maxim.uva...@linaro.org wrote: On 04/29/2015 21:55, Anders Roxell wrote: On 2015-04-29 14:43, Mike Holmes wrote: On 29 April 2015 at 12:25, Maxim Uvarov maxim.uva...@linaro.org wrote: Merged. Discussed with

Re: [lng-odp] [PATCH] api: time: force time defines as ULL to avoid computation overflows on 32bits systems

2015-04-29 Thread Maxim Uvarov
On 04/29/2015 21:55, Anders Roxell wrote: On 2015-04-29 14:43, Mike Holmes wrote: On 29 April 2015 at 12:25, Maxim Uvarov maxim.uva...@linaro.org wrote: Merged. Discussed with Mike on his comment that there is no API change it's define value change, i.e. implementation. To clarify, we

Re: [lng-odp] [PATCH] api: time: force time defines as ULL to avoid computation overflows on 32bits systems

2015-04-29 Thread Anders Roxell
On 29 April 2015 at 21:56, Maxim Uvarov maxim.uva...@linaro.org wrote: On 04/29/2015 21:55, Anders Roxell wrote: On 2015-04-29 14:43, Mike Holmes wrote: On 29 April 2015 at 12:25, Maxim Uvarov maxim.uva...@linaro.org wrote: Merged. Discussed with Mike on his comment that there is no API

Re: [lng-odp] [PATCH v2] example: timer: remove global variables to share the data between workers

2015-04-29 Thread Mike Holmes
On 27 April 2015 at 12:19, Jerin Jacob jerin.ja...@caviumnetworks.com wrote: use the odp_shared_memory allocater instead of global variables to enable the timer example to run on baremetal/linux process execution environments Signed-off-by: Jerin Jacob jerin.ja...@caviumnetworks.com

Re: [lng-odp] [PATCH] api: time: force time defines as ULL to avoid computation overflows on 32bits systems

2015-04-29 Thread Mike Holmes
On 29 April 2015 at 12:25, Maxim Uvarov maxim.uva...@linaro.org wrote: Merged. Discussed with Mike on his comment that there is no API change it's define value change, i.e. implementation. To clarify, we discussed if this is an API change and should come via api-next. My initial point was

Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

2015-04-29 Thread Ola Liljedahl
On 29 April 2015 at 18:14, Zoltan Kiss zoltan.k...@linaro.org wrote: It doesn't apply to api-next. Anyway, I've sent an implementation, see [API-NEXT PATCH] packet: implement optional parsing. But if we go with Ola's idea, it won't be needed. Actually Bill's idea. If parsing is made lazy,

[lng-odp] [PATCH] update version number from v1.0.3 to v1.0.4

2015-04-29 Thread Maxim Uvarov
Signed-off-by: Maxim Uvarov maxim.uva...@linaro.org --- debian/changelog | 27 +++ include/odp/api/version.h | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 2087289..c6c0ec8 100644 ---

Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

2015-04-29 Thread Bill Fischofer
I'm currently playing around with this and as usual there's no free lunch. The only way to know whether you need to parse is to check a bit, which at least doubles the cost of the odp_packet_has_xxx() calls since normally they are just returning a bit. So now the logic for each of these is: if

Re: [lng-odp] [PATCH] api: time: force time defines as ULL to avoid computation overflows on 32bits systems

2015-04-29 Thread Anders Roxell
On 2015-04-29 14:43, Mike Holmes wrote: On 29 April 2015 at 12:25, Maxim Uvarov maxim.uva...@linaro.org wrote: Merged. Discussed with Mike on his comment that there is no API change it's define value change, i.e. implementation. To clarify, we discussed if this is an API change and

Re: [lng-odp] [API-NEXT PATCH v2 4/5] api: packet_io: added parse mode

2015-04-29 Thread Maxim Uvarov
On 04/23/2015 13:29, Petri Savolainen wrote: Application can indicate which packet parsing results it is interested in (all or none). Signed-off-by: Petri Savolainen petri.savolai...@nokia.com --- include/odp/api/packet_flags.h | 1 + include/odp/api/packet_io.h| 13 + 2

Re: [lng-odp] [API-NEXT PATCH v2 5/5] api: packet_io: added start and stop

2015-04-29 Thread Maxim Uvarov
do we need odp_pktio_status() also? Maxim. On 04/23/2015 13:29, Petri Savolainen wrote: Packet IO start and stop enable a controlled setup and tear down phases. Interface control sequence: * odp_pktio_open() creates a pktio interface object * potential interface configurations

Re: [lng-odp] [API-NEXT PATCH v2 1/5] api: packet_io: change word instance to interface

2015-04-29 Thread Maxim Uvarov
Robbie, please also take a look at proposed pktio api change. Thanks, Maxim. On 04/29/2015 09:56, Savolainen, Petri (Nokia - FI/Espoo) wrote: Ping. Review for the series needed. -Original Message- From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of ext Petri

[lng-odp] [PATCH] linux-generic: packet: Add lazy parsing support

2015-04-29 Thread Bill Fischofer
Lazy parsing defers parsing until the results are actually needed. This allows applications that do their own parsing and never reference ODP parse results to avoid the overhead of SW parsing. Signed-off-by: Bill Fischofer bill.fischo...@linaro.org ---

Re: [lng-odp] [API-NEXT PATCH v2 4/5] api: packet_io: added parse mode

2015-04-29 Thread Ola Liljedahl
I disprove of this patch. There are ways to accomplish what we need without changing the API. On 29 April 2015 at 15:06, Maxim Uvarov maxim.uva...@linaro.org wrote: On 04/23/2015 13:29, Petri Savolainen wrote: Application can indicate which packet parsing results it is interested in (all or

Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

2015-04-29 Thread Bill Fischofer
A lazy parser only parses when the results of parsing are asked for by the application. So if the application never asks (as is the case for OVS today) then nothing gets called, so no overhead. There is a certain amount of overhead imposed by lazy parsing for programs that do ask for parse

Re: [lng-odp] [API-NEXT PATCH v2 4/5] api: packet_io: added parse mode

2015-04-29 Thread Bill Fischofer
I've posted patch http://patches.opendataplane.org/patch/1511/ to add lazy parsing support to linux-generic. Needs to be ported to odp-dpdk but that should be straightforward. This version implements all/none lazy parsing. The first reference to any ODP parse results API causes a full parse to

Re: [lng-odp] [API-NEXT PATCH] packet: implement optional parsing

2015-04-29 Thread Bill Fischofer
Need to evaluate this against patch http://patches.opendataplane.org/patch/1511/ which implements lazy parsing as an alternative to the API change. On Wed, Apr 29, 2015 at 12:05 PM, Zoltan Kiss zoltan.k...@linaro.org wrote: All the examples are setting the param structure to 0, and

Re: [lng-odp] [PATCH API-NEXT 4/5] api: packet_io: added parse mode

2015-04-29 Thread Bill Fischofer
We need to be careful about trying to solve problems that haven't arisen yet. There are several interrelated issues here: 1. Parsing (and classification) in SW takes cycles. This should only be done once, not duplicated between the app and the ODP implementation, and ideally should only be done