#
c4f916e3 |
| 04-Oct-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: support multiple queue pairs
Add support for multiple queue pairs, when there are more logical cores available than crypto devices enabled. For instance, if there are 4 cores availa
app/crypto-perf: support multiple queue pairs
Add support for multiple queue pairs, when there are more logical cores available than crypto devices enabled. For instance, if there are 4 cores available and 2 crypto devices, each device will have two queue pairs.
This is useful to have multiple logical cores using a single crypto device, without needing to initialize a crypto device per core.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
5b2b0a74 |
| 04-Oct-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: overwrite mbuf when verifying
When running the verify test, mbufs in the pool were populated with the test vector loaded from a file. To avoid limiting the number of operations to t
app/crypto-perf: overwrite mbuf when verifying
When running the verify test, mbufs in the pool were populated with the test vector loaded from a file. To avoid limiting the number of operations to the pool size, mbufs will be rewritten with the test vector, before linking them to the crypto operations.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
083de3eb |
| 04-Oct-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: parse segment size
Instead of parsing number of segments, from the command line, parse segment size, as it is a more usual case to have the segment size fixed and then different pac
app/crypto-perf: parse segment size
Instead of parsing number of segments, from the command line, parse segment size, as it is a more usual case to have the segment size fixed and then different packet sizes will require different number of segments.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
0b242422 |
| 04-Oct-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: set AAD after the crypto operation
Instead of prepending the AAD (Additional Authenticated Data) in the mbuf, it is easier to set after the crypto operation, as it is a read-only va
app/crypto-perf: set AAD after the crypto operation
Instead of prepending the AAD (Additional Authenticated Data) in the mbuf, it is easier to set after the crypto operation, as it is a read-only value, like the IV, and then it is not restricted to the size of the mbuf headroom.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
253624f4 |
| 04-Oct-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: refactor common test code
Currently, there is some duplication in all the test types, in the crypto performance application.
In order to improve maintainability of this code, and e
app/crypto-perf: refactor common test code
Currently, there is some duplication in all the test types, in the crypto performance application.
In order to improve maintainability of this code, and ease future work on it, common functions have been separated in a different file that gets included in all the tests.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
addaac42 |
| 11-Sep-2017 |
Olivier Matz <olivier.matz@6wind.com> |
app/test-crypto-perf: fix compilation with -Og
The compilation with gcc-6.3.0 and EXTRA_CFLAGS=-Og gives the following error:
CC cperf_test_verify.o cperf_test_verify.c: In function ‘cperf_verify
app/test-crypto-perf: fix compilation with -Og
The compilation with gcc-6.3.0 and EXTRA_CFLAGS=-Og gives the following error:
CC cperf_test_verify.o cperf_test_verify.c: In function ‘cperf_verify_op’: cperf_test_verify.c:382:5: error: ‘auth’ may be used uninitialized in this function [-Werror=maybe-uninitialized] if (auth == 1) { ^ cperf_test_verify.c:371:5: error: ‘cipher’ may be used uninitialized in this function [-Werror=maybe-uninitialized] if (cipher == 1) { ^ cperf_test_verify.c:384:11: error: ‘auth_offset’ may be used uninitialized in this function [-Werror=maybe-uninitialized] res += memcmp(data + auth_offset, ^~~~~~~~~~~~~~~~~~~~~~~~~~ vector->digest.data, ~~~~~~~~~~~~~~~~~~~~ options->digest_sz); ~~~~~~~~~~~~~~~~~~~ cperf_test_verify.c:377:11: error: ‘cipher_offset’ may be used uninitialized in this function [-Werror=maybe-uninitialized] res += memcmp(data + cipher_offset, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ vector->plaintext.data, ~~~~~~~~~~~~~~~~~~~~~~~ options->test_buffer_size); ~~~~~~~~~~~~~~~~~~~~~~~~~~
There is no default case in the switch statement, so if options->op_type is an unknown value, the function will use uninitialized values. Fix it by adding a default.
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application") Cc: stable@dpdk.org
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
0afa5e39 |
| 11-Sep-2017 |
Olivier Matz <olivier.matz@6wind.com> |
app/test-crypto-perf: fix memory leak
data is allocated but never freed.
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application") Cc: stable@dpdk.org
Signed-off-by: Olivier
app/test-crypto-perf: fix memory leak
data is allocated but never freed.
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application") Cc: stable@dpdk.org
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
b27074cc |
| 01-Aug-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: fix IV allocation for AEAD
Memory is reserved after each crypto operation for the necessary IV(s), which could be for cipher, authentication or AEAD algorithms. However, for AEAD al
app/crypto-perf: fix IV allocation for AEAD
Memory is reserved after each crypto operation for the necessary IV(s), which could be for cipher, authentication or AEAD algorithms. However, for AEAD algorithms (such as AES-GCM), this memory was not being reserved, leading to potential memory overflow.
Fixes: 8a5b494a7f99 ("app/test-crypto-perf: add AEAD parameters")
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
15b4beab |
| 28-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: add pool size error message
If the crypto operation pool size is too small, the pool might run out of operations, if all the crypto operations are still being used and have not been
app/crypto-perf: add pool size error message
If the crypto operation pool size is too small, the pool might run out of operations, if all the crypto operations are still being used and have not been freed. To inform the user about this, the application should display an error message, asking the user to increase the pool size through the app parameters.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
9189644f |
| 14-Jun-2017 |
Kirill Rybalchenko <kirill.rybalchenko@intel.com> |
app/crypto-perf: stop crypto devices after test
Call of rte_cryptodev_stop() function from test destructors is added.
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")
app/crypto-perf: stop crypto devices after test
Call of rte_cryptodev_stop() function from test destructors is added.
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application") Cc: stable@dpdk.org
Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
b3bbd9e5 |
| 05-Jul-2017 |
Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com> |
cryptodev: support device independent sessions
Change crypto device's session management to make it device independent and simplify architecture when session is intended to be used on more than one
cryptodev: support device independent sessions
Change crypto device's session management to make it device independent and simplify architecture when session is intended to be used on more than one device.
Sessions private data is agnostic to underlying device by adding an indirection in the sessions private data using the crypto driver identifier. A single session can contain indirections to multiple device types.
New function rte_cryptodev_sym_session_init has been created, to initialize the driver private session data per driver to be used on a same session, and rte_cryptodev_sym_session_clear to clear this data before calling rte_cryptodev_sym_session_free.
Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
8a5b494a |
| 02-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/test-crypto-perf: add AEAD parameters
Since there is a new operation type (AEAD), add parameters for this in the application.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked
app/test-crypto-perf: add AEAD parameters
Since there is a new operation type (AEAD), add parameters for this in the application.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
show more ...
|
#
acf86169 |
| 02-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
cryptodev: add auth IV
Authentication algorithms, such as AES-GMAC or the wireless algorithms (like SNOW3G) use IV, like cipher algorithms. So far, AES-GMAC has used the IV from the cipher structure
cryptodev: add auth IV
Authentication algorithms, such as AES-GMAC or the wireless algorithms (like SNOW3G) use IV, like cipher algorithms. So far, AES-GMAC has used the IV from the cipher structure, and the wireless algorithms have used the AAD field, which is not technically correct.
Therefore, authentication IV parameters have been added, so API is more correct. Like cipher IV, auth IV is expected to be copied after the crypto operation.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
show more ...
|
#
0fbd75a9 |
| 02-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
cryptodev: move IV parameters to session
Since IV parameters (offset and length) should not change for operations in the same session, these parameters are moved to the crypto transform structure, s
cryptodev: move IV parameters to session
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.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
show more ...
|
#
f8b7fdd3 |
| 02-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: move IV to crypto op private data
Usually, IV will change for each crypto operation. Therefore, instead of pointing at the same location, IV is copied after each crypto operation.
app/crypto-perf: move IV to crypto op private data
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 <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
show more ...
|
#
08a97874 |
| 30-Jun-2017 |
Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> |
app/crypto-perf: set crypto op pool cache
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
|
#
f6cefe25 |
| 27-Mar-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: add range/list of sizes
So far, the crypto performance application was only able to test one buffer size and one burst size.
With this commit, multiple sizes can be passed, either
app/crypto-perf: add range/list of sizes
So far, the crypto performance application was only able to test one buffer size and one burst size.
With this commit, multiple sizes can be passed, either as a range of values or as a list of values.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
show more ...
|
#
da40ebd6 |
| 27-Mar-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: display results in test runner
Instead of printing the test results in the destructor function, print them just after each run. This will be useful for after the commit that allows
app/crypto-perf: display results in test runner
Instead of printing the test results in the destructor function, print them just after each run. This will be useful for after the commit that allows a range of buffer and burst sizes.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
show more ...
|
#
b2085cce |
| 27-Mar-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: do not append digest if not used
When testing cipher only operations, there is no need to append digest at the end of the buffer.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch
app/crypto-perf: do not append digest if not used
When testing cipher only operations, there is no need to append digest at the end of the buffer.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
show more ...
|
#
df52cb3b |
| 27-Mar-2017 |
Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> |
app/crypto-perf: move verify as single test type
In order to simplify throughput and latency tests, verify option has been removed from these and moved as a separate test.
Signed-off-by: Sergio Gon
app/crypto-perf: move verify as single test type
In order to simplify throughput and latency tests, verify option has been removed from these and moved as a separate test.
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|