Re: [lng-odp] [API-NEXT PATCH v2 2/5] api: pktio: added multiple pktio input queues

2015-11-12 Thread Bill Fischofer
On Thu, Nov 12, 2015 at 6:46 AM, Petri Savolainen < petri.savolai...@nokia.com> wrote: > Added input queue configuration parameters and functions > to setup multiple input queue and hashing. Added also > functions to query the number of queues and queue handles. > Direct receive does use new

Re: [lng-odp] [API-NEXT PATCH] api: sync: update spec and add odp_sync_loads

2015-11-12 Thread Savolainen, Petri (Nokia - FI/Espoo)
> > if (msg == UPDATE_FOO) { > > // Make sure that load of “foo” is not moved before schedule() > > odp_sync_loads(); > > odp_sync_acquire() would be a better name. > > > > > foo++; > > // Make sure that store of “foo” is not moved after queue_enq() > >odp_sync_stores(); > >

[lng-odp] [API-NEXT PATCH v3] api: atomic: added atomic_lock_free_u64

2015-11-12 Thread Petri Savolainen
Platforms may support some uint64 operations lock-free and others not. For example, inc_64 can be natively supported but cas_64 (or max_64/min_64) not. User may be able to switch to 32 bit variables when a 64 bit operation uses locks. The same atomic operation struture could be used for platform

[lng-odp] [API-NEXT PATCH 4/4] validation: crypto: add test for AES128-GCM

2015-11-12 Thread Nicolas Morey-Chaisemartin
Signed-off-by: Nicolas Morey-Chaisemartin --- test/validation/crypto/crypto.h | 4 + test/validation/crypto/odp_crypto_test_inp.c | 154 +++ test/validation/crypto/test_vectors.h| 152 ++

Re: [lng-odp] [PATCH 7/9] linux-generic: netmap: support segmented packets

2015-11-12 Thread Stuart Haslam
On Thu, Nov 12, 2015 at 10:52:18AM +0300, Maxim Uvarov wrote: > Hi Stuart, > > You will send updated patch, right? > > Maxim. Yes will do, I was waiting to see if anyone had comments on some of the other patches, but I'll rebase the series and send out a v2 shortly. -- Stuart. > > On

[lng-odp] [API-NEXT PATCH 3/4] api: crypto: Add AES1268-GCM support

2015-11-12 Thread Nicolas Morey-Chaisemartin
Signed-off-by: Nicolas Morey-Chaisemartin --- include/odp/api/crypto.h | 4 + .../linux-generic/include/odp_crypto_internal.h| 3 + platform/linux-generic/odp_crypto.c| 183 + 3 files changed, 190

[lng-odp] [API-NEXT PATCH 2/4] validation: crypto: allow custom auth/cipher range

2015-11-12 Thread Nicolas Morey-Chaisemartin
Signed-off-by: Nicolas Morey-Chaisemartin --- test/validation/crypto/odp_crypto_test_inp.c | 31 +++- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/test/validation/crypto/odp_crypto_test_inp.c

Re: [lng-odp] [API-NEXT PATCH 3/4] api: crypto: Add AES1268-GCM support

2015-11-12 Thread Savolainen, Petri (Nokia - FI/Espoo)
API change is OK. There's a typo in patch name: "AES1268-GCM support" should be "AES128-GCM support" -Petri > -Original Message- > From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of > EXT Nicolas Morey-Chaisemartin > Sent: Thursday, November 12, 2015 11:25 AM > To:

[lng-odp] [API-NEXT PATCH 1/4] validation: crypto: support validating both cipher and auth at the same time

2015-11-12 Thread Nicolas Morey-Chaisemartin
Signed-off-by: Nicolas Morey-Chaisemartin --- test/validation/crypto/odp_crypto_test_inp.c | 64 +++- 1 file changed, 35 insertions(+), 29 deletions(-) diff --git a/test/validation/crypto/odp_crypto_test_inp.c

[lng-odp] [PATCHv13 2/9] linux-generic: create internal pool create function with shm flags

2015-11-12 Thread Maxim Uvarov
On init odp creates odp_sched_pool. We can not modify API to add new parameter to odp_pool_param_t and this pool should not be shared between different processes. To do that implemented internal linux-generic function with parameters to created shm. Note: create shm before and then provide it to

[lng-odp] [PATCHv13 3/9] helper: flag to not link ring to linked list

2015-11-12 Thread Maxim Uvarov
Add flag ODPH_RING_NO_LIST to ring to not link it to linked list. Signed-off-by: Maxim Uvarov --- helper/include/odp/helper/ring.h | 7 --- helper/ring.c| 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git

[lng-odp] pktio selection

2015-11-12 Thread Christophe Milard
Hi, Today, as far as I can see (at least for linux generic), the type of pktio selected at open time depends on: 1) the priority order defined in pktio_io/io_ops.c (currentely: netmap mmap socket and usual sockets) 2)A set of environment variable (ODP_PKTIO_DISABLE_NETMAP,

[lng-odp] [PATCHv13 5/9] helper: move ring test to helper

2015-11-12 Thread Maxim Uvarov
Move ring test to helper and kill not needed api_test directory. Unfortunately odp_ring_test.c had some old dirty code so I had to clean up it to to use cunit and latest helper apis. Signed-off-by: Maxim Uvarov --- configure.ac |

[lng-odp] [PATCHv13 8/9] linux-generic: internal ipc_pktio test

2015-11-12 Thread Maxim Uvarov
2 example ipc pktio applications create ipc pktio to each other and do packet transfer, validation magic numbers and packets sequence counters inside it. Signed-off-by: Maxim Uvarov --- platform/linux-generic/Makefile.am | 1 +

[lng-odp] [PATCHv13 9/9] linux-generic: ipc pktio: add description

2015-11-12 Thread Maxim Uvarov
Add description for ipc pktio. Signed-off-by: Maxim Uvarov --- platform/linux-generic/pktio/ipc.README | 22 ++ 1 file changed, 22 insertions(+) create mode 100644 platform/linux-generic/pktio/ipc.README diff --git

[lng-odp] [PATCHv13 0/9] IPC (pktio)

2015-11-12 Thread Maxim Uvarov
v13: - added ipc.README with description and limitations notes. v12: - size size for ring names arrays; - add patch "linix-generic: return error for unsupported pktio calls" to not crash on unsupported calls; - fix sleep(0.1); - fix git ignore; v11: - removed odph_pause

[lng-odp] [PATCHv13 1/9] helper: ring: update ring with shm proc argument

2015-11-12 Thread Maxim Uvarov
Signed-off-by: Maxim Uvarov --- helper/include/odp/helper/ring.h | 2 ++ helper/ring.c| 9 - 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/helper/include/odp/helper/ring.h b/helper/include/odp/helper/ring.h index

[lng-odp] [PATCHv13 7/9] linux-generic: add ipc pktio support

2015-11-12 Thread Maxim Uvarov
Signed-off-by: Maxim Uvarov --- platform/linux-generic/Makefile.am | 2 + .../linux-generic/include/odp_buffer_internal.h| 3 + .../linux-generic/include/odp_packet_io_internal.h | 38 ++ .../include/odp_packet_io_ipc_internal.h | 47

[lng-odp] [PATCHv13 6/9] linix-generic: return error for unsupported pktio calls

2015-11-12 Thread Maxim Uvarov
For some pktios like loop and ipc functions like mtu, promisc, and mac addr are not applicable. Instead of crash on deference null pointer just return error if functions are not defined. Signed-off-by: Maxim Uvarov --- platform/linux-generic/odp_packet_io.c | 24

[lng-odp] [PATCHv13 4/9] helpers: remove odp_ prefix for tests source files

2015-11-12 Thread Maxim Uvarov
Prefixed were removed for validation test suite and to be consistent we need to do the same for helpers. Signed-off-by: Maxim Uvarov --- helper/test/.gitignore | 9 + helper/test/Makefile.am | 18 --

Re: [lng-odp] [API-NEXT PATCHv10 0/4] Egress Traffic Manager

2015-11-12 Thread Maxim Uvarov
now it compiles, but fails on execution in virtual machine: ./configure --with-platform=linux-generic --prefix=/builds/check-odp-new.git/new-build --host=aarch64-linux-gnu --enable-test-perf --with-openssl-path=/builds/check-odp-new.git/installed/arm64/openssl-OpenSSL_1_0_1h

Re: [lng-odp] [API-NEXT PATCHv10 0/4] Egress Traffic Manager

2015-11-12 Thread Alexandru Badicioiu
Compile with -march=armv8-a+crc. Alex On 13 November 2015 at 09:23, Maxim Uvarov wrote: > now it compiles, but fails on execution in virtual machine: > > ./configure --with-platform=linux-generic > --prefix=/builds/check-odp-new.git/new-build --host=aarch64-linux-gnu >

Re: [lng-odp] [API-NEXT PATCHv10 0/4] Egress Traffic Manager

2015-11-12 Thread Maxim Uvarov
On 11/13/2015 10:29, Alexandru Badicioiu wrote: Compile with -march=armv8-a+crc. Alex ok, now arm64 looks like work, but other arches broken: ./configure --with-platform=linux-generic --prefix=/builds/check-odp-new.git/new-build --enable-test-perf

Re: [lng-odp] [API-NEXT PATCH v2 2/5] api: pktio: added multiple pktio input queues

2015-11-12 Thread Savolainen, Petri (Nokia - FI/Espoo)
From: EXT Bill Fischofer [mailto:bill.fischo...@linaro.org] Sent: Thursday, November 12, 2015 9:48 PM To: Savolainen, Petri (Nokia - FI/Espoo) Cc: LNG ODP Mailman List Subject: Re: [lng-odp] [API-NEXT PATCH v2 2/5] api: pktio: added multiple pktio input queues On Thu, Nov 12, 2015 at 6:46

Re: [lng-odp] [API-NEXT PATCH 1/5] linux-generic: sockets: implement pktio statistics counters

2015-11-12 Thread Maxim Uvarov
On 11/10/2015 21:29, Stuart Haslam wrote: On Mon, Nov 09, 2015 at 02:21:49PM +0300, Maxim Uvarov wrote: Signed-off-by: Maxim Uvarov --- platform/linux-generic/Makefile.am | 1 + .../linux-generic/include/odp_packet_io_internal.h | 9 +++

Re: [lng-odp] pktio selection

2015-11-12 Thread Bala Manoharan
Hi, I went through the same issue as well.. In ODP we have defined that the dev-name is implementation specific and hence I like the idea to add socket type to dev-name something like "SOCKET_MMAP:eth0"/ "NETMAP: eth0" and this maps well with the ODP definition for device name. Regards, Bala On

Re: [lng-odp] pktio selection

2015-11-12 Thread Nicolas Morey-Chaisemartin
Hi, I like this. It seems more robust and easier extended than all the environment variable. We should also keep the basic portname. Ideally io_ops should be in performance order so if I write generic code that uses en0, it'll try netmap, then sock_mmap and finally fallback to standard sockets

[lng-odp] [PATCH] platform: move list of API files to Makefile.inc so it is common to all platforms

2015-11-12 Thread Nicolas Morey-Chaisemartin
Signed-off-by: Nicolas Morey-Chaisemartin --- platform/Makefile.inc | 39 ++ platform/linux-generic/Makefile.am | 39 -- 2 files changed, 39 insertions(+), 39 deletions(-) diff --git

[lng-odp] [API-NEXT PATCH v2 0/5] Multi-queue packet io APIs

2015-11-12 Thread Petri Savolainen
This patch set adds APIs for multi-queue packet IO. It does not remove or modify existing API calls, so that multi-queue can be verified first with couple of apps and implementations. Single queue APIs (e.g. odp_pktio_inq_setdef()) and potentially plain _recv() and _send() should be removed once

Re: [lng-odp] pktio selection

2015-11-12 Thread Bala Manoharan
Hi, I went through the same issue as well.. In ODP we have defined that the dev-name is implementation specific and hence I like the idea to add socket type to dev-name something like "SOCKET_MMAP:eth0"/ "NETMAP: eth0" and this maps well with the ODP definition for device name. Regards, Bala On

Re: [lng-odp] [API-NEXT PATCH 5/5] validation: implement pktio statistics counters

2015-11-12 Thread Maxim Uvarov
On 11/10/2015 21:30, Stuart Haslam wrote: On Mon, Nov 09, 2015 at 02:21:53PM +0300, Maxim Uvarov wrote: Signed-off-by: Maxim Uvarov --- test/validation/pktio/pktio.c | 130 ++ 1 file changed, 130 insertions(+) diff --git

[lng-odp] [API-NEXT PATCH v2 3/5] api: pktio: added direct queue receive

2015-11-12 Thread Petri Savolainen
Added odp_pktio_recv_queue for direct packet receive from pktio input queues. Signed-off-by: Petri Savolainen --- include/odp/api/packet_io.h | 33 - 1 file changed, 28 insertions(+), 5 deletions(-) diff --git

[lng-odp] [API-NEXT PATCH v2 2/5] api: pktio: added multiple pktio input queues

2015-11-12 Thread Petri Savolainen
Added input queue configuration parameters and functions to setup multiple input queue and hashing. Added also functions to query the number of queues and queue handles. Direct receive does use new odp_pktin_queue_t handle type. Signed-off-by: Petri Savolainen ---

[lng-odp] [API-NEXT PATCH v2 1/5] api: pktio: added pktio capability struct

2015-11-12 Thread Petri Savolainen
Added capability structure and a function to query it. Capability limits are used for advanced pktio configuration, like configuration of multiple input/output queues. Signed-off-by: Petri Savolainen --- include/odp/api/packet_io.h | 23 +++ 1

[lng-odp] [API-NEXT PATCH v2 5/5] api: pktio: added direct send to pktio output queue

2015-11-12 Thread Petri Savolainen
Added odp_pktio_send_queue for direct packet send to a pktio output queue. Signed-off-by: Petri Savolainen --- include/odp/api/packet_io.h | 39 +++ 1 file changed, 31 insertions(+), 8 deletions(-) diff --git

[lng-odp] [lng] [API-NEXT PATCH v2 3/7] linux-generic: schedule: use schedule time in ns

2015-11-12 Thread Ivan Khoronzhuk
In the schedule_loop the wait time is passed in units of scheduler time. At this moment there is no difference between wait time and odp_time, but in case if odp_time is smth different from uint64_t, it cannot be directly passed as uint64_t. So better to pass scheduler time as ns and convert them

[lng-odp] [lng] [API-NEXT PATCH v2 2/7] validation: time: don't assign int directly to odp_time_t

2015-11-12 Thread Ivan Khoronzhuk
Under opaque type can be structure that cannot be used with direct values, So, use conversion functions to get time_t to avoid build issues. Signed-off-by: Ivan Khoronzhuk --- test/validation/time/time.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff

[lng-odp] [lng] [API-NEXT PATCH v2 4/7] api: time: make odp_local_time to be monotonic

2015-11-12 Thread Ivan Khoronzhuk
It's more convenient the local time to be a monotonic source. The monotony allows to use local time in similar manner as it's supposed to be used with global time and the 64-bit timer is enough to guarantee it. Signed-off-by: Ivan Khoronzhuk ---

[lng-odp] [lng] [API-NEXT PATCH v2 5/7] linux-generic: odp_time: don't use cpu cycle API to get time

2015-11-12 Thread Ivan Khoronzhuk
The linux-generic time API implementation shouldn't depend on cpu cycle API wich is not stable enough to measure time period due to dynamic frequency scaling. Signed-off-by: Ivan Khoronzhuk --- platform/linux-generic/Makefile.am | 1 -

[lng-odp] [lng] [API-NEXT PATCH v2 6/7] validation: time: align tests with current time API

2015-11-12 Thread Ivan Khoronzhuk
Add test for odp_time_sum, odp_time_cmp, odp_time_to_u64 APIs. Sophisticate a little tests for odp_time_diff, odp_time_local_from_ns, odp_time_local_to_ns APIs. Check time on monotony. Signed-off-by: Ivan Khoronzhuk --- test/validation/time/time.c | 224

[lng-odp] [lng] [API-NEXT PATCH v2 0/7] api: time: update local time to be monotonic

2015-11-12 Thread Ivan Khoronzhuk
This series is intended to modify time API to be used as monotonic wall time in order to simplify time API usage and create prerequisites for adding global time API and local wall time API. Since v1: - corrected name of the series to be api-next - use thread local for holding start time Ivan

[lng-odp] [lng] [API-NEXT PATCH v2 1/7] api: time: use signed long for ODP_TIME_*

2015-11-12 Thread Ivan Khoronzhuk
Use signed long for ODP_TIME_*, that's enough and it allows to compare it with signed types, used for instance in timespec type. Signed-off-by: Ivan Khoronzhuk --- include/odp/api/time.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git

[lng-odp] [lng] [API-NEXT PATCH v2 7/7] api: time: make local time to be wall time

2015-11-12 Thread Ivan Khoronzhuk
It's more convenient the local time to be a wall time. It's allows to measure time beginning from start of the thread. This allows to use local time in similar manner as it's supposed to be used with global time and the 64-bit timer is enough to guarantee it. Correct validation test to check new

Re: [lng-odp] [lng] [PATCH 0/7] api: time: update local time to be monotonic

2015-11-12 Thread Ivan Khoronzhuk
Sent v2 already. On 12.11.15 19:05, Ivan Khoronzhuk wrote: This series is intended to modify time API to be used as monotonic wall time in order to simplify time API usage and create prerequisites for adding global time API and local wall time API. Ivan Khoronzhuk (7): api: time: use signed

[lng-odp] [lng] [PATCH 0/7] api: time: update local time to be monotonic

2015-11-12 Thread Ivan Khoronzhuk
This series is intended to modify time API to be used as monotonic wall time in order to simplify time API usage and create prerequisites for adding global time API and local wall time API. Ivan Khoronzhuk (7): api: time: use signed long for ODP_TIME_* validation: time: don't assign int

[lng-odp] [lng] [PATCH 2/7] validation: time: don't assign int directly to odp_time_t

2015-11-12 Thread Ivan Khoronzhuk
Under opaque type can be structure that cannot be used with direct values, So, use conversion functions to get time_t to avoid build issues. Signed-off-by: Ivan Khoronzhuk --- test/validation/time/time.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff

[lng-odp] [lng] [PATCH 6/7] validation: time: align tests with current time API

2015-11-12 Thread Ivan Khoronzhuk
Add test for odp_time_sum, odp_time_cmp, odp_time_to_u64 APIs. Sophisticate a little tests for odp_time_diff, odp_time_local_from_ns, odp_time_local_to_ns APIs. Check time on monotony. Signed-off-by: Ivan Khoronzhuk --- test/validation/time/time.c | 224

[lng-odp] [lng] [PATCH 5/7] linux-generic: odp_time: don't use cpu cycle API to get time

2015-11-12 Thread Ivan Khoronzhuk
The linux-generic time API implementation shouldn't depend on cpu cycle API wich is not stable enough to measure time period due to dynamic frequency scaling. Signed-off-by: Ivan Khoronzhuk --- platform/linux-generic/Makefile.am | 1 -

[lng-odp] [lng] [PATCH 7/7] api: time: make local time to be wall time

2015-11-12 Thread Ivan Khoronzhuk
It's more convenient the local time to be a wall time. It's allows to measure time beginning from start of the thread. This allows to use local time in similar manner as it's supposed to be used with global time and the 64-bit timer is enough to guarantee it. Signed-off-by: Ivan Khoronzhuk

[lng-odp] [lng] [PATCH 1/7] api: time: use signed long for ODP_TIME_*

2015-11-12 Thread Ivan Khoronzhuk
Use signed long for ODP_TIME_*, that's enough and it allows to compare it with signed types, used for instance in timespec type. Signed-off-by: Ivan Khoronzhuk --- include/odp/api/time.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git

[lng-odp] [lng] [PATCH 4/7] api: time: make odp_local_time to be monotonic

2015-11-12 Thread Ivan Khoronzhuk
It's more convenient the local time to be a monotonic source. The monotony allows to use local time in similar manner as it's supposed to be used with global time and the 64-bit timer is enough to guarantee it. Signed-off-by: Ivan Khoronzhuk ---

[lng-odp] [lng] [PATCH 3/7] linux-generic: schedule: use schedule time in ns

2015-11-12 Thread Ivan Khoronzhuk
In the schedule_loop the wait time is passed in units of scheduler time. At this moment there is no difference between wait time and odp_time, but in case if odp_time is smth different from uint64_t, it cannot be directly passed as uint64_t. So better to pass scheduler time as ns and convert them

[lng-odp] [API-NEXT PATCHv10 0/4] Egress Traffic Manager

2015-11-12 Thread Bill Fischofer
Changes in v10 - Add back ARM definitions for _crc32w() from Alex that got dropped in v9 Note: Checkpatch complains about the _asm() line. Says spaces are needed but if spaces are added then complains that spaces are prohibited. Rules need to be updated to ignore these sort of constructs.

[lng-odp] [PATCH] validation: crypto: limit packet size to maximum supported by platform

2015-11-12 Thread Nicolas Morey-Chaisemartin
Signed-off-by: Nicolas Morey-Chaisemartin --- test/validation/crypto/crypto.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/validation/crypto/crypto.c b/test/validation/crypto/crypto.c index 9229cab..1234f78 100644 --- a/test/validation/crypto/crypto.c +++

[lng-odp] [API-NEXT PATCHv10 3/4] linux-generic: tm: add tm to build

2015-11-12 Thread Bill Fischofer
From: Barry Spinney This commit causes the traffic_mgr to become part of the ODP linux-generic build. Signed-off-by: Barry Spinney Signed-off-by: Bill Fischofer --- platform/linux-generic/Makefile.am| 13

[lng-odp] [API-NEXT PATCHv10 4/4] example: tm: traffic manager example

2015-11-12 Thread Bill Fischofer
From: Barry Spinney This commit includes all of the changes to build the traffic_mgr example application. Signed-off-by: Barry Spinney Signed-off-by: Bill Fischofer --- configure.ac| 1 +

[lng-odp] [API-NEXT PATCHv10 1/4] api: tm: add tm API definitions

2015-11-12 Thread Bill Fischofer
From: Barry Spinney This introduces an API for configuring and using Traffic Management systems. The purpose of this API is as a general packet scheduling system that accepts packets from input queues and applies strict priority scheduling, weighted fair queuing scheduling

[lng-odp] [Bug 1873] odp process-mode is broken

2015-11-12 Thread bugzilla-daemon
https://bugs.linaro.org/show_bug.cgi?id=1873 --- Comment #5 from Mike Holmes --- Carl, Can you check the latest IPC to see if it will help your case ? I think if we go much further than v13 of IPC it may be an indication that there is not a strong enough use case for IPC