[dpdk-dev] [PATCH 1/7] net/qede: refactoring vport handling code

2017-05-28 Thread Rasesh Mody
From: Harish Patil The refactoring is mainly for two reasons: - To remove an additional layer of internal callbacks for all vport related operations from the struct qed_eth_ops_pass. Instead, we can invoke base APIs directly. - Splitting a single large vport-update configuration into multiple and

[dpdk-dev] [PATCH 2/7] net/qede: refactoring multi-queue implementation

2017-05-28 Thread Rasesh Mody
From: Harish Patil This patch does the following refactoring and cleanup: - As part of multi-queue support a struct member called 'type' was added in struct qede_fastpath in order to identify whether a queue is RX or TX and take actions based on that. This was unnecessary in the first place since

[dpdk-dev] [PATCH 0/7] net/qede/base: update PMD to 2.5.0.1

2017-05-28 Thread Rasesh Mody
Hi, This patch set adds support for new firmware 8.20.0.0, includes code refactoring, adds an offload type and a bug fix. This patch set updates PMD version to 2.5.0.1. Please apply to dpdk-net-next for 17.08 release. Thanks! Rasesh Harish Patil (6): net/qede: refactoring vport handling code

[dpdk-dev] [PATCH 4/7] net/qede: fix VXLAN tunnel Tx offload flag setting

2017-05-28 Thread Rasesh Mody
From: Harish Patil This patch fixes missing PKT_TX_TUNNEL_VXLAN Tx offload flag from the supported Tx offloads and an incorrect tunnel TX BD bit setting. Fixes: 3d4bb4411683 ("net/qede: add fastpath support for VXLAN tunneling") Cc: sta...@dpdk.org Signed-off-by: Harish Patil --- drivers/net/

[dpdk-dev] [PATCH 3/7] net/qede/base: upgrade the FW to 8.20.0.0

2017-05-28 Thread Rasesh Mody
This patch adds changes to upgrade to 8.20.0.0 FW. Signed-off-by: Rasesh Mody --- drivers/net/qede/base/bcm_osal.h |3 + drivers/net/qede/base/common_hsi.h| 68 +-- drivers/net/qede/base/ecore.h |2 +- drivers/net/qede/base/ecore_dev.c

[dpdk-dev] [PATCH 6/7] mbuf: introduce new Tx offload flag for MPLS-in-UDP

2017-05-28 Thread Rasesh Mody
From: Harish Patil Some PMDs need to know the tunnel type in order to handle advance TX features. This patch adds a new TX offload flag for MPLS-in-UDP packets. Signed-off-by: Harish Patil --- lib/librte_mbuf/rte_mbuf.c |2 ++ lib/librte_mbuf/rte_mbuf.h | 17 ++--- 2 files ch

[dpdk-dev] [PATCH 5/7] net/qede: refactor Tx routine

2017-05-28 Thread Rasesh Mody
From: Harish Patil Refactor TX routine such that TX BD updates can all be grouped together. Based on the TX offloads requested the TX bitfields are calculated in a temporary variable and TX BDs are updated at the end. This will minimize the if checks also. This change is done to easily accommodat

[dpdk-dev] [PATCH 7/7] net/qede: add Tx offloads for MPLS-in-UDP packets

2017-05-28 Thread Rasesh Mody
From: Harish Patil Add support for inner/outer L3/L4 TX csum offload for MPLS-in-UDP packets. The driver checks for PKT_TX_TUNNEL_MPLSINUDP in Tx ol_flags and updates TX BD elements with appropriate offsets/length of tunnel headers. The pseudo csum calculation is removed from qede_xmit_prep_pkts(

[dpdk-dev] [PATCH] net/mlx4: support user space rxq interrupt event

2017-05-28 Thread Moti Haimovsky
Implement rxq interrupt callbacks Based on implemantation done for mlx5 Signed-off-by: Moti Haimovsky --- doc/guides/nics/features/mlx4.ini | 1 + doc/guides/rel_notes/release_17_08.rst | 5 + drivers/net/mlx4/mlx4.c| 218 - drivers/net/ml

[dpdk-dev] [PATCH] net/mlx5: add vectorized Rx

2017-05-28 Thread Yongseok Koh
Vectorized Rx API for x86 is added. Signed-off-by: Yongseok Koh --- drivers/net/mlx5/Makefile | 1 + drivers/net/mlx5/mlx5_defs.h | 6 + drivers/net/mlx5/mlx5_ethdev.c | 8 + drivers/net/mlx5/mlx5_rxq.c| 39 +++- drivers/net/mlx5/mlx5_rxtx.c | 485

[dpdk-dev] [RFC] Add hot plug event in rte eal interrupt and inplement it in i40e driver.

2017-05-28 Thread Jeff Guo
For HW hotplug feature, we had already got upstream that removal event adding from 6wind as bellow. dependency of “add device removal event” patch set: http://dpdk.org/dev/patchwork/patch/23693/ [dpdk-dev,v2,1/5] ethdev: introduce device removal event http://dpdk.org/dev/patchwork/patch/23694/ [d

[dpdk-dev] [PATCH v2] net/mlx4: support user space rxq interrupt event

2017-05-28 Thread Moti Haimovsky
*** BLURB HERE *** Moti Haimovsky (1): net/mlx4: support user space rxq interrupt event doc/guides/nics/features/mlx4.ini | 1 + doc/guides/rel_notes/release_17_08.rst | 5 + drivers/net/mlx4/mlx4.c| 218 - drivers/net/mlx4/mlx4.h

[dpdk-dev] [PATCH v2] net/mlx4: support user space rxq interrupt event

2017-05-28 Thread Moti Haimovsky
Moti Haimovsky (1): net/mlx4: support user space rxq interrupt event doc/guides/nics/features/mlx4.ini | 1 + doc/guides/rel_notes/release_17_08.rst | 5 + drivers/net/mlx4/mlx4.c| 218 - drivers/net/mlx4/mlx4.h| 1 + 4

[dpdk-dev] [PATCH v2] net/mlx4: support user space rxq interrupt event

2017-05-28 Thread Moti Haimovsky
Implement rxq interrupt callbacks Signed-off-by: Moti Haimovsky --- doc/guides/nics/features/mlx4.ini | 1 + doc/guides/rel_notes/release_17_08.rst | 5 + drivers/net/mlx4/mlx4.c| 218 - drivers/net/mlx4/mlx4.h| 1 + 4 fi

Re: [dpdk-dev] [RFC] Kernel Control Path (KCP)

2017-05-28 Thread Wiles, Keith
> On May 26, 2017, at 11:52 AM, Ferruh Yigit wrote: > > We are looking for re-sending [1] the Kernel Control Path (KCP) > with some updates [2]. > > Mainly this is an usability improvement for DPDK. > > And a quick reminder about what KCP is: > > "KCP is Linux virtual network interface that c

[dpdk-dev] DPDK Summit China 201i, CFP.

2017-05-28 Thread Zhu, Heqing
Hello, If you happen to visit www.dpdksummit.org , and this is what you will find. :) This year, the DPDK Summit China will be held in Shanghai on June 27th, the same week as Mobile World Congress Shanghai. The event will provide an opp

[dpdk-dev] DPDK Summit China 2017, CFP

2017-05-28 Thread Zhu, Heqing
Hello, If you happen to visit www.dpdksummit.org , and this is what you will find. :) This year, the DPDK Summit China will be held in Shanghai on June 27th, the same week as Mobile World Congress Shanghai. The event will provide an opp

[dpdk-dev] [PATCH] bonding: allow to create master bonding

2017-05-28 Thread Tomasz Kulasek
This patch removes restrictions in bonded device library which prevent a bonded device to be added to another bonded device. There's two limitations to create master bonding: - Total depth of nesting is limited to two levels, - 802.3ad mode is not supported if one or more slaves is a bond devic

[dpdk-dev] [PATCH 00/33] introduce generic eventdev test application framework

2017-05-28 Thread Jerin Jacob
The dpdk-test-eventdev tool is a Data Plane Development Kit (DPDK) application that allows exercising various eventdev use cases. This application has a generic framework to add new eventdev based test cases to verify functionality and measure the performance parameters of DPDK eventdev devices. T

[dpdk-dev] [PATCH 01/33] app/testeventdev: introduce dpdk-test-eventdev application

2017-05-28 Thread Jerin Jacob
The dpdk-test-eventdev tool is a Data Plane Development Kit (DPDK) application that allows exercising various eventdev use cases. This application has a generic framework to add new eventdev based test cases to verify functionality and measure the performance parameters of DPDK eventdev devices. T

[dpdk-dev] [PATCH 02/33] app/testeventdev: define eventdev test ops

2017-05-28 Thread Jerin Jacob
In order to extend the test framework to realize different use cases, The ops with function pointer callback scheme has been chosen. This patch defines the callbacks for each test case. Signed-off-by: Jerin Jacob --- app/test-eventdev/evt_test.h | 97

[dpdk-dev] [PATCH 04/33] app/testeventdev: add string parsing helpers

2017-05-28 Thread Jerin Jacob
From: Guduri Prathyusha Add a couple of help functions that will allow parsing many types of input parameters, i.e.: bool, 16, 32, 64 bits, hex and list of cores etc. Derived from examples/ip_pipeline/parser.h Signed-off-by: Guduri Prathyusha --- app/test-eventdev/Makefile | 1 + app/test-e

[dpdk-dev] [PATCH 03/33] app/testeventdev: add eventdev test registration framework

2017-05-28 Thread Jerin Jacob
adding routines to register and retrieve eventdev test cases. The RTE_INIT based constructor approach has been taken to simplify the test case registration. Signed-off-by: Jerin Jacob --- app/test-eventdev/Makefile | 1 + app/test-eventdev/evt_test.c | 70 +

[dpdk-dev] [PATCH 08/33] app/testeventdev: add helper functions to dump options

2017-05-28 Thread Jerin Jacob
Signed-off-by: Jerin Jacob Signed-off-by: Guduri Prathyusha --- app/test-eventdev/evt_options.c | 23 ++ app/test-eventdev/evt_options.h | 97 + 2 files changed, 120 insertions(+) diff --git a/app/test-eventdev/evt_options.c b/app/test-eventdev/ev

[dpdk-dev] [PATCH 07/33] app/testeventdev: add helper functions to check options

2017-05-28 Thread Jerin Jacob
Signed-off-by: Jerin Jacob Signed-off-by: Guduri Prathyusha --- app/test-eventdev/evt_options.h | 91 + 1 file changed, 91 insertions(+) diff --git a/app/test-eventdev/evt_options.h b/app/test-eventdev/evt_options.h index b38dd4b04..1a932febc 100644 --- a

[dpdk-dev] [PATCH 05/33] app/testeventdev: add common helper functions

2017-05-28 Thread Jerin Jacob
adding common helper functions that used in test framework and in all the test cases. Signed-off-by: Jerin Jacob Signed-off-by: Guduri Prathyusha --- app/test-eventdev/evt_common.h | 105 + 1 file changed, 105 insertions(+) create mode 100644 app/test-ev

[dpdk-dev] [PATCH 06/33] app/testeventdev: define the test options

2017-05-28 Thread Jerin Jacob
Define the test options that used across all test cases and fill the default values for the same. Signed-off-by: Jerin Jacob Signed-off-by: Guduri Prathyusha --- app/test-eventdev/Makefile | 1 + app/test-eventdev/evt_options.c | 58 +++ app/test-eventdev/e

[dpdk-dev] [PATCH 09/33] app/testeventdev: update options through the command line

2017-05-28 Thread Jerin Jacob
From: Guduri Prathyusha Add an infrastructure for updating the options through application specific command line arguments. Signed-off-by: Guduri Prathyusha Signed-off-by: Jerin Jacob --- app/test-eventdev/evt_options.c | 258 app/test-eventdev/evt_opt

[dpdk-dev] [PATCH 12/33] app/testeventdev: order: add test setup and destroy

2017-05-28 Thread Jerin Jacob
order test has the queue and all types queue variants.Introduce test_order_common* to share the common code between those tests. Signed-off-by: Jerin Jacob --- app/test-eventdev/Makefile| 2 + app/test-eventdev/test_order_common.c | 92 +++ app/test-e

[dpdk-dev] [PATCH 11/33] app/testeventdev: add the signal handler

2017-05-28 Thread Jerin Jacob
Signed-off-by: Jerin Jacob --- app/test-eventdev/evt_main.c | 33 + 1 file changed, 33 insertions(+) diff --git a/app/test-eventdev/evt_main.c b/app/test-eventdev/evt_main.c index 27d0ae683..56cd137ce 100644 --- a/app/test-eventdev/evt_main.c +++ b/app/test-eventd

[dpdk-dev] [PATCH 10/33] app/testeventdev: invoke the test ops

2017-05-28 Thread Jerin Jacob
This patch retrieves the test ops from the given test case name and invokes the registered test ops callbacks in order and print the test result. Signed-off-by: Jerin Jacob --- app/test-eventdev/evt_main.c | 136 +++ 1 file changed, 136 insertions(+) diff

[dpdk-dev] [PATCH 13/33] app/testeventdev: order: add basic functions

2017-05-28 Thread Jerin Jacob
add functions to create mempool, destroy mempool, dump the options, check the options and print the test result. Signed-off-by: Jerin Jacob --- app/test-eventdev/test_order_common.c | 95 +++ app/test-eventdev/test_order_common.h | 12 + 2 files changed, 107 i

[dpdk-dev] [PATCH 14/33] app/testeventdev: order: add eventdev port setup

2017-05-28 Thread Jerin Jacob
Setup one port per worker and link to all queues and setup one producer port to inject the events. Signed-off-by: Jerin Jacob --- app/test-eventdev/test_order_common.c | 55 +++ app/test-eventdev/test_order_common.h | 2 ++ 2 files changed, 57 insertions(+) diff

[dpdk-dev] [PATCH 16/33] app/testeventdev: add order queue test

2017-05-28 Thread Jerin Jacob
The order queue test configures the eventdev with two queues and an event producer to inject the events to q0(ordered) queue. Both q0(ordered) and q1(atomic) are linked to all the workers. The event producer maintains a sequence number per flow and injects the events to the ordered queue. The wor

[dpdk-dev] [PATCH 15/33] app/testeventdev: order: launch lcores

2017-05-28 Thread Jerin Jacob
The event producer and master lcore's test end and failure detection logic are common for the queue and all types queue test.Move them as the common function. Signed-off-by: Jerin Jacob --- app/test-eventdev/test_order_common.c | 114 ++ app/test-eventdev/test_ord

[dpdk-dev] [PATCH 19/33] app/testeventdev: perf: add test setup and destroy

2017-05-28 Thread Jerin Jacob
perf test has the queue and all types queue variants. Introduce test_perf_common* to share the common code between those tests. Signed-off-by: Jerin Jacob --- app/test-eventdev/Makefile | 2 + app/test-eventdev/test_perf_common.c | 71 + app/test-eventdev/t

[dpdk-dev] [PATCH 17/33] app/testeventdev: order queue: add worker functions

2017-05-28 Thread Jerin Jacob
Signed-off-by: Jerin Jacob --- app/test-eventdev/test_order_common.h | 47 app/test-eventdev/test_order_queue.c | 100 ++ 2 files changed, 147 insertions(+) diff --git a/app/test-eventdev/test_order_common.h b/app/test-eventdev/test_order_commo

[dpdk-dev] [PATCH 18/33] app/testeventdev: add order "all types queue" test

2017-05-28 Thread Jerin Jacob
This test verifies the same aspects of order_queue test, The difference is the number of queues used, this test operates on a single "all types queue"(atq) instead of two different queues for ordered and atomic. Example command to run order all types queue test: sudo build/app/dpdk-test-eventdev -

[dpdk-dev] [PATCH 20/33] app/testeventdev: perf: add basic functions

2017-05-28 Thread Jerin Jacob
add functions to create mempool, destroy mempool and print the test result. Signed-off-by: Jerin Jacob --- app/test-eventdev/test_perf_common.c | 53 app/test-eventdev/test_perf_common.h | 8 ++ 2 files changed, 61 insertions(+) diff --git a/app/test-ev

[dpdk-dev] [PATCH 21/33] app/testeventdev: perf: add opt dump and check functions

2017-05-28 Thread Jerin Jacob
Signed-off-by: Jerin Jacob --- app/test-eventdev/test_perf_common.c | 109 +++ app/test-eventdev/test_perf_common.h | 9 +++ 2 files changed, 118 insertions(+) diff --git a/app/test-eventdev/test_perf_common.c b/app/test-eventdev/test_perf_common.c index a44f2d

[dpdk-dev] [PATCH 22/33] app/testeventdev: perf: add eventdev port setup

2017-05-28 Thread Jerin Jacob
Setup one port per worker and link to all queues and setup N producer ports to inject the events. Signed-off-by: Jerin Jacob --- app/test-eventdev/test_perf_common.c | 65 app/test-eventdev/test_perf_common.h | 2 ++ 2 files changed, 67 insertions(+) diff -

[dpdk-dev] [PATCH 23/33] app/testeventdev: perf: launch lcores

2017-05-28 Thread Jerin Jacob
The event producer and master lcore's test termination and the logic to print the mpps and latency are common for the queue and all types queue test. Move them as the common function. Signed-off-by: Jerin Jacob --- app/test-eventdev/test_perf_common.c | 197 +++

[dpdk-dev] [PATCH 25/33] app/testeventdev: perf queue: add worker functions

2017-05-28 Thread Jerin Jacob
Signed-off-by: Jerin Jacob --- app/test-eventdev/test_perf_common.h | 60 +++ app/test-eventdev/test_perf_queue.c | 137 +++ 2 files changed, 197 insertions(+) diff --git a/app/test-eventdev/test_perf_common.h b/app/test-eventdev/test_perf_common.h

[dpdk-dev] [PATCH 24/33] app/testeventdev: add perf queue test

2017-05-28 Thread Jerin Jacob
This is a performance test case that aims at testing the following: 1. Measure the number of events can be processed in a second. 2. Measure the latency to forward an event. The perf queue test configures the eventdev with Q queues and P ports, where Q is nb_producers * nb_stages and P is nb_worke

[dpdk-dev] [PATCH 26/33] app/testeventdev: add perf "all types queue" test

2017-05-28 Thread Jerin Jacob
This is a performance test case that aims at testing the following: 1. Measure the number of events can be processed in a second. 2. Measure the latency to forward an event. The atq queue test functions as same as "perf_queue" test. The difference is, it uses, "all type queue" scheme instead of se

[dpdk-dev] [PATCH 27/33] app/testeventdev: perf: add "all type queue" worker function

2017-05-28 Thread Jerin Jacob
Signed-off-by: Jerin Jacob --- app/test-eventdev/test_perf_atq.c | 141 ++ 1 file changed, 141 insertions(+) diff --git a/app/test-eventdev/test_perf_atq.c b/app/test-eventdev/test_perf_atq.c index 963fa1954..3445cc346 100644 --- a/app/test-eventdev/test_perf

[dpdk-dev] [PATCH 28/33] doc: describe the new eventdev test application

2017-05-28 Thread Jerin Jacob
From: Guduri Prathyusha Add documentation to describe usage of eventdev test application and supported command line arguments. CC: John McNamara Signed-off-by: Guduri Prathyusha Signed-off-by: Jerin Jacob --- doc/guides/tools/index.rst| 2 +- doc/guides/tools/testeventdev.rst | 156

[dpdk-dev] [PATCH 29/33] doc/testeventdev: add "order queue" test details

2017-05-28 Thread Jerin Jacob
CC: John McNamara Signed-off-by: Jerin Jacob Signed-off-by: Guduri Prathyusha --- doc/guides/tools/img/eventdev_order_queue_test.svg | 1673 doc/guides/tools/testeventdev.rst | 83 + 2 files changed, 1756 insertions(+) create mode 100644 doc/guides/tools

[dpdk-dev] [PATCH 31/33] doc/testeventdev: add "perf queue" test details

2017-05-28 Thread Jerin Jacob
CC: John McNamara Signed-off-by: Jerin Jacob Signed-off-by: Guduri Prathyusha --- doc/guides/tools/img/eventdev_perf_queue_test.svg | 2599 + doc/guides/tools/testeventdev.rst | 86 + 2 files changed, 2685 insertions(+) create mode 100644 doc/guides/tools/

[dpdk-dev] [PATCH 30/33] doc/testeventdev: add "order all types queue" test details

2017-05-28 Thread Jerin Jacob
CC: John McNamara Signed-off-by: Jerin Jacob Signed-off-by: Guduri Prathyusha --- doc/guides/tools/img/eventdev_order_atq_test.svg | 1576 ++ doc/guides/tools/testeventdev.rst| 61 + 2 files changed, 1637 insertions(+) create mode 100644 doc/guides/tools/i

[dpdk-dev] [PATCH 33/33] maintainers: claim responsibility for the eventdev test app

2017-05-28 Thread Jerin Jacob
Signed-off-by: Jerin Jacob --- MAINTAINERS | 6 ++ 1 file changed, 6 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index afb4cab75..463befb0c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -790,6 +790,12 @@ M: Reshma Pattan F: app/proc_info/ F: doc/guides/tools/proc_info.rst +Even

[dpdk-dev] [PATCH] crypto/scheduler: add multicore scheduling mode

2017-05-28 Thread Pablo de Lara
From: Kirill Rybalchenko Multi-core scheduling mode is a mode where scheduler distributes crypto operations in a round-robin base, between several core assigned as workers. Signed-off-by: Kirill Rybalchenko --- app/test-crypto-perf/cperf_test_throughput.c | 2 + drivers/crypto/schedule

[dpdk-dev] [PATCH 32/33] doc/testeventdev: add "perf all types queue" test details

2017-05-28 Thread Jerin Jacob
CC: John McNamara Signed-off-by: Jerin Jacob Signed-off-by: Guduri Prathyusha --- doc/guides/tools/img/eventdev_perf_atq_test.svg | 3188 +++ doc/guides/tools/testeventdev.rst | 75 + 2 files changed, 3263 insertions(+) create mode 100644 doc/guides/tools/im

[dpdk-dev] [PATCH 00/13] Crypto operation restructuring

2017-05-28 Thread Pablo de Lara
This patchset attempts to correct and improve the current crypto operation (rte_crypto_op) and symmetric crypto operation (rte_crypto_sym_op) structures, shrinking their sizes to fit both structures into two 64-byte cache lines (with extra space for the IV and other user data) as one of the goals

[dpdk-dev] [PATCH 01/13] cryptodev: move session type to generic crypto op

2017-05-28 Thread Pablo de Lara
Session type (operation with or without session) is not something specific to symmetric operations. Therefore, the variable is moved to the generic crypto operation structure. Signed-off-by: Pablo de Lara --- drivers/crypto/aesni_gcm/aesni_gcm_pmd.c| 15 --- drivers/crypto/aesni_

[dpdk-dev] [PATCH 02/13] cryptodev: replace enums with 1-byte variables

2017-05-28 Thread Pablo de Lara
Instead of storing some crypto operation flags, such as operation status, as enumerations, store them as uint8_t, for memory efficiency. Also, reserve extra 5 bytes in the crypto operation, for future additions. Signed-off-by: Pablo de Lara --- lib/librte_cryptodev/rte_crypto.h | 9 + 1

[dpdk-dev] [PATCH 04/13] cryptodev: do not store pointer to op specific params

2017-05-28 Thread Pablo de Lara
Instead of storing a pointer to operation specific parameters, such as symmetric crypto parameters, use a zero-length array, to mark that these parameters will be stored after the generic crypto operation structure, which was already assumed in the code. Signed-off-by: Pablo de Lara --- lib/libr

[dpdk-dev] [PATCH 03/13] cryptodev: remove opaque data pointer in crypto op

2017-05-28 Thread Pablo de Lara
Storing a pointer to the user data is unnecessary, since user can store additional data, after the crypto operation. Signed-off-by: Pablo de Lara --- app/test-crypto-perf/cperf_test_latency.c | 30 +++--- lib/librte_cryptodev/rte_crypto.h | 5 - 2 files chang

[dpdk-dev] [PATCH 05/13] cryptodev: add crypto op helper macros

2017-05-28 Thread Pablo de Lara
In order to facilitate the access to the private data, after the crypto operation, two new macros have been implemented: - rte_crypto_op_ctod_offset(c,t,o), which returns a pointer to "o" bytes after the start of the crypto operation - rte_crypto_op_ctophys_offset(c, o), which returns the phys

[dpdk-dev] [PATCH 06/13] cryptodev: remove additional auth data from xform

2017-05-28 Thread Pablo de Lara
Additional authenticated data (AAD) information was duplicated in the authentication transform and in the crypto operation structures. Since AAD could be modified per operation, it is removed from the transform. Signed-off-by: Pablo de Lara --- app/test-crypto-perf/cperf_ops.c |

[dpdk-dev] [PATCH 07/13] cryptodev: remove digest length from crypto op

2017-05-28 Thread Pablo de Lara
Digest length was duplicated in the authentication transform and the crypto operation structures. Since digest length is not expected to change in a same session, it is removed from the crypto operation. Also, the length has been shrunk to 16 bits, which should be sufficient for any digest. Sign

[dpdk-dev] [PATCH 08/13] app/crypto-perf: move IV to crypto op private data

2017-05-28 Thread Pablo de Lara
Usually, IV will change for each crypto operation. Therefore, instead of pointing at the same location, IV is copied after each crypto operation. This will let the IV to be passed as an offset from the beginning of the crypto operation, instead of a pointer. Signed-off-by: Pablo de Lara --- app

[dpdk-dev] [PATCH 09/13] cryptodev: pass IV as offset

2017-05-28 Thread Pablo de Lara
Since IV now is copied after the crypto operation, in its private size, IV can be passed only with offset and length. Signed-off-by: Pablo de Lara --- app/test-crypto-perf/cperf_ops.c| 21 +++-- drivers/crypto/aesni_gcm/aesni_gcm_pmd.c| 68 +++-- drive

[dpdk-dev] [PATCH 11/13] drivers/crypto: do not use AAD in wireless algorithms

2017-05-28 Thread Pablo de Lara
For wireless algorithms (SNOW3G, KASUMI, ZUC), the IV for the authentication algorithms (F9, UIA2 and EIA3) was taken from the AAD parameter, as there was no IV parameter in the authentication structure, and this was pointing at IV. Now that IV is available for all algorithms, there is need to kee

[dpdk-dev] [PATCH 12/13] cryptodev: aad AEAD specific data

2017-05-28 Thread Pablo de Lara
AEAD algorithms such as AES-GCM needed to be used as a concatenation of a cipher transform and an authentication transform. Instead, a new transform and functions to handle it are created to support these kind of algorithms, making their use easier. Signed-off-by: Pablo de Lara --- lib/librte_c

[dpdk-dev] [PATCH 10/13] cryptodev: move IV parameters to crypto session

2017-05-28 Thread Pablo de Lara
Since IV parameters (offset and length) should not change for operations in the same session, these parameters are moved to the crypto transform structure, so they will be stored in the sessions. Also, IV is not related to only cipher algorithms anymore, as other algorithms like GMAC or the wirele

[dpdk-dev] [PATCH 13/13] cryptodev: add AEAD parameters in crypto operation

2017-05-28 Thread Pablo de Lara
AEAD operation parameters can be set in the new aead structure, in the crypto operation. This structure is within an union with the cipher and authentication parameters, since operations can be: - AEAD: using the aead structure - Cipher only: using only the cipher structure - Auth only: using onl

[dpdk-dev] [PATCH] app/testpmd: add parameter to start forwarding sending

2017-05-28 Thread Pablo de Lara
Add parameter to start forwarding sending first a burst of packets, which is useful when testing a loopback connection. This was already implemented as an internal command, but adding it as a parameter is interesting, as it allows the user to test a loopback connection without entering in the inte

[dpdk-dev] [PATCH] app/testpmd: print statistics periodically

2017-05-28 Thread Pablo de Lara
Add parameter to print port statistics periodically (disabled by default), if interactive mode is not enabled. This is useful to allow the user to see port statistics without having to get into the internal command line. Signed-off-by: Pablo de Lara --- app/test-pmd/parameters.c | 1