#
76a48d8a |
| 18-Jun-2024 |
Jack Bond-Preston <jack.bond-preston@foss.arm.com> |
app/crypto-perf: add shared session option
Add the option to create one session for the PMD, and share it across all of the queue pairs. This may help to discover/debug concurrency issues (both corr
app/crypto-perf: add shared session option
Add the option to create one session for the PMD, and share it across all of the queue pairs. This may help to discover/debug concurrency issues (both correctness and performance) that can occur when using this configuration.
Signed-off-by: Jack Bond-Preston <jack.bond-preston@foss.arm.com> Acked-by: Brian Dooley <brian.dooley@intel.com> Reviewed-by: Wathsala Vithanage <wathsala.vithanage@arm.com> Reviewed-by: Paul Szczepanek <paul.szczepanek@arm.com>
show more ...
|
#
71fa6e3f |
| 26-Jun-2024 |
Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com> |
app/crypto-perf: add asymmetric check function
Replace checking input option for every asymmetric test case by a function.
Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com> Acked
app/crypto-perf: add asymmetric check function
Replace checking input option for every asymmetric test case by a function.
Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
#
b6a7e685 |
| 14-May-2024 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
app: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.c
app: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
9afa7a46 |
| 24-Jan-2024 |
Akhil Goyal <gakhil@marvell.com> |
app/crypto-perf: support TLS record
Added support for latency and throughput measurement of TLS and DTLS security ops.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Anoob Joseph <anoobj
app/crypto-perf: support TLS record
Added support for latency and throughput measurement of TLS and DTLS security ops.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Anoob Joseph <anoobj@marvell.com>
show more ...
|
#
74d7c028 |
| 15-Jan-2024 |
Suanming Mou <suanmingm@nvidia.com> |
app/crypto-perf: add missing op resubmission
Currently, after enqueue_burst, there may be ops_unused ops left for next round enqueue. And in next round preparation, only ops_needed ops will be added
app/crypto-perf: add missing op resubmission
Currently, after enqueue_burst, there may be ops_unused ops left for next round enqueue. And in next round preparation, only ops_needed ops will be added. But if in the final round the left ops is less than ops_needed, there will be invalid ops between the new needed ops and previous unused ops. The previous unused ops should be moved front after the needed ops.
In the commit[1], an resubmission fix was added to throughput test, and the fix was missed for verify.
This commit adds the missed resubmission fix for verify.
[1] commit 44e2980b70d1 ("app/crypto-perf: fix crypto operation resubmission")
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application") Cc: stable@dpdk.org
Signed-off-by: Suanming Mou <suanmingm@nvidia.com> Acked-by: Anoob Joseph <anoobj@marvell.com>
show more ...
|
#
7d55ca15 |
| 05-Jan-2024 |
Suanming Mou <suanmingm@nvidia.com> |
app/crypto-perf: fix encrypt operation verification
AEAD uses RTE_CRYPTO_AEAD_OP_* with aead_op and CIPHER uses RTE_CRYPTO_CIPHER_OP_* with cipher_op in current code.
This commit aligns aead_op and
app/crypto-perf: fix encrypt operation verification
AEAD uses RTE_CRYPTO_AEAD_OP_* with aead_op and CIPHER uses RTE_CRYPTO_CIPHER_OP_* with cipher_op in current code.
This commit aligns aead_op and cipher_op operation to fix incorrect AEAD verification.
Fixes: df52cb3b6e13 ("app/crypto-perf: move verify as single test type") Cc: stable@dpdk.org
Signed-off-by: Suanming Mou <suanmingm@nvidia.com> Acked-by: Anoob Joseph <anoobj@marvell.com>
show more ...
|
#
ddec2a39 |
| 05-Jan-2024 |
Suanming Mou <suanmingm@nvidia.com> |
app/crypto-perf: fix data comparison
The function memcmp() returns an integer less than, equal to, or greater than zero. In current code, if the first memcmp() returns less than zero and the second
app/crypto-perf: fix data comparison
The function memcmp() returns an integer less than, equal to, or greater than zero. In current code, if the first memcmp() returns less than zero and the second memcmp() returns greater than zero, the sum of results may still be 0 and indicates verify successed.
This commit converts the return value to be zero or greater than zero. That will make sure the sum of results be correct.
Fixes: df52cb3b6e13 ("app/crypto-perf: move verify as single test type") Cc: stable@dpdk.org
Signed-off-by: Suanming Mou <suanmingm@nvidia.com> Acked-by: Anoob Joseph <anoobj@marvell.com> Acked-by: Ciara Power <ciara.power@intel.com>
show more ...
|
#
79bdb787 |
| 20-Sep-2023 |
Akhil Goyal <gakhil@marvell.com> |
security: hide security context
rte_security_ctx is used by all security APIs to identify which device security_op it need to call and hence it should be opaque to the application. Hence, it is now
security: hide security context
rte_security_ctx is used by all security APIs to identify which device security_op it need to call and hence it should be opaque to the application. Hence, it is now moved to internal header file and all APIs will now take an opaque pointer for it. The fast path inline APIs like set metadata need to get flags from security_ctx. The flags are now retrieved using inline APIs which use macros to get the offset of flags in security_ctx.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Ciara Power <ciara.power@intel.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
c5b531d6 |
| 02-Jan-2023 |
Anoob Joseph <anoobj@marvell.com> |
app/crypto-perf: fix session freeing
Use the right API for session freeing. Sessions can be asymmetric, symmetric or security.
Fixes: 28dde5da503e ("app/crypto-perf: support lookaside IPsec") Fixes
app/crypto-perf: fix session freeing
Use the right API for session freeing. Sessions can be asymmetric, symmetric or security.
Fixes: 28dde5da503e ("app/crypto-perf: support lookaside IPsec") Fixes: a538d1d2d01e ("test/crypto-perf: extend asymmetric crypto throughput test") Cc: stable@dpdk.org
Signed-off-by: Anoob Joseph <anoobj@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
#
3f3fc330 |
| 04-Oct-2022 |
Akhil Goyal <gakhil@marvell.com> |
security: remove private mempool usage
As per current design, rte_security_session_create() unnecessarily use 2 mempool objects for a single session.
To address this, the API will now take only 1 m
security: remove private mempool usage
As per current design, rte_security_session_create() unnecessarily use 2 mempool objects for a single session.
To address this, the API will now take only 1 mempool object instead of 2. With this change, the library layer will get the object from mempool and session priv data is stored contiguously in the same mempool object.
User need to ensure that the mempool created in application is big enough for session private data as well. This can be ensured if the pool is created after getting size of session priv data using API rte_security_session_get_size().
Since set and get pkt metadata for security sessions are now made inline for Inline crypto/proto mode, a new member fast_mdata is added to the rte_security_session. To access opaque data and fast_mdata will be accessed via inline APIs which can do pointer manipulations inside library from session_private_data pointer coming from application.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Tested-by: Gagandeep Singh <g.singh@nxp.com> Tested-by: David Coyle <david.coyle@intel.com> Tested-by: Kevin O'Sullivan <kevin.osullivan@intel.com>
show more ...
|
#
2a440d6a |
| 04-Oct-2022 |
Akhil Goyal <gakhil@marvell.com> |
cryptodev: hide symmetric session structure
Structure rte_cryptodev_sym_session is moved to internal headers which are not visible to applications. The only field which should be used by app is opaq
cryptodev: hide symmetric session structure
Structure rte_cryptodev_sym_session is moved to internal headers which are not visible to applications. The only field which should be used by app is opaque_data. This field can now be accessed via set/get APIs added in this patch. Subsequent changes in app and lib are made to compile the code.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Kai Ji <kai.ji@intel.com> Tested-by: Gagandeep Singh <g.singh@nxp.com> Tested-by: David Coyle <david.coyle@intel.com> Tested-by: Kevin O'Sullivan <kevin.osullivan@intel.com>
show more ...
|
#
bdce2564 |
| 04-Oct-2022 |
Akhil Goyal <gakhil@marvell.com> |
cryptodev: rework session framework
As per current design, rte_cryptodev_sym_session_create() and rte_cryptodev_sym_session_init() use separate mempool objects for a single session. And structure rt
cryptodev: rework session framework
As per current design, rte_cryptodev_sym_session_create() and rte_cryptodev_sym_session_init() use separate mempool objects for a single session. And structure rte_cryptodev_sym_session is not directly used by the application, it may cause ABI breakage if the structure is modified in future.
To address these two issues, the rte_cryptodev_sym_session_create will take one mempool object that the session and session private data are virtually/physically contiguous, and initializes both fields. The API rte_cryptodev_sym_session_init is removed.
rte_cryptodev_sym_session_create will now return an opaque session pointer which will be used by the app and other APIs.
In data path, opaque session pointer is attached to rte_crypto_op and the PMD can call an internal library API to get the session private data pointer based on the driver id.
Note: currently single session may be used by different device drivers, given it is initialized by them. After the change the session created by one device driver cannot be used or reinitialized by another driver.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Kai Ji <kai.ji@intel.com> Tested-by: Gagandeep Singh <g.singh@nxp.com> Tested-by: David Coyle <david.coyle@intel.com> Tested-by: Kevin O'Sullivan <kevin.osullivan@intel.com>
show more ...
|
#
72b452c5 |
| 27-Aug-2022 |
Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> |
eal: remove unneeded includes from a public header
Do not include <ctype.h>, <errno.h>, and <stdlib.h> from <rte_common.h>, because they are not used by this file. Include the needed headers directl
eal: remove unneeded includes from a public header
Do not include <ctype.h>, <errno.h>, and <stdlib.h> from <rte_common.h>, because they are not used by this file. Include the needed headers directly from the files that need them.
Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
14864c42 |
| 08-Apr-2022 |
Archana Muniganti <marchana@marvell.com> |
test/crypto-perf: populate mbuf in latency test
For decrypt, ICV mismatch can come as data is dummy and latency will be calculated for error path. Hence populate mbuf with test vector data.
Signed-
test/crypto-perf: populate mbuf in latency test
For decrypt, ICV mismatch can come as data is dummy and latency will be calculated for error path. Hence populate mbuf with test vector data.
Signed-off-by: Archana Muniganti <marchana@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
#
06c047b6 |
| 09-Feb-2022 |
Stephen Hemminger <stephen@networkplumber.org> |
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free functions found by nullfree.cocci
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
45f838d6 |
| 17-Nov-2021 |
Joyce Kong <joyce.kong@arm.com> |
app/crypto: use compiler atomic builtins for display sync
Convert rte_atomic_test_and_set usage to compiler atomic CAS operation for display sync in crypto cases.
Signed-off-by: Joyce Kong <joyce.k
app/crypto: use compiler atomic builtins for display sync
Convert rte_atomic_test_and_set usage to compiler atomic CAS operation for display sync in crypto cases.
Signed-off-by: Joyce Kong <joyce.kong@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
show more ...
|
#
28dde5da |
| 12-Oct-2021 |
Akhil Goyal <gakhil@marvell.com> |
app/crypto-perf: support lookaside IPsec
Added support for lookaside IPsec protocol offload. Supported cases: -AEAD -Cipher+auth
Command used for testing: ./dpdk-test-crypto-perf -c 0xf -- --devtyp
app/crypto-perf: support lookaside IPsec
Added support for lookaside IPsec protocol offload. Supported cases: -AEAD -Cipher+auth
Command used for testing: ./dpdk-test-crypto-perf -c 0xf -- --devtype crypto_octeontx2 --ptest throughput --optype ipsec --cipher-algo aes-cbc --pool-sz 16384 --cipher-op encrypt --cipher-key-sz 16 --cipher-iv-sz 16 --auth-algo sha1-hmac --auth-op generate --digest-sz 16 --total-ops 10000000 --burst-sz 32 --buffer-sz 64,128,256,512,1024,1280,2048
./dpdk-test-crypto-perf -c 0xf -- --devtype crypto_octeontx2 --ptest throughput --optype ipsec --aead-algo aes-gcm --pool-sz 16384 --aead-op encrypt --aead-key-sz 32 --aead-iv-sz 12 --aead-aad-sz 16 --digest-sz 16 --total-ops 10000000 --burst-sz 32 --buffer-sz 64,128,256,512,1024,1280,2048
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Signed-off-by: Archana Muniganti <marchana@marvell.com>
show more ...
|
#
c6ddab87 |
| 20-Jan-2021 |
Ciara Power <ciara.power@intel.com> |
app/crypto-perf: fix CSV output format
The csv output for each ptest type used ";" instead of ",". This has now been fixed to use the comma format that is used in the csv headers.
Fixes: f6cefe253c
app/crypto-perf: fix CSV output format
The csv output for each ptest type used ";" instead of ",". This has now been fixed to use the comma format that is used in the csv headers.
Fixes: f6cefe253cc8 ("app/crypto-perf: add range/list of sizes") Fixes: 96dfeb609be1 ("app/crypto-perf: add new PMD benchmarking mode") Fixes: da40ebd6d383 ("app/crypto-perf: display results in test runner") Cc: stable@dpdk.org
Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Adam Dybkowski <adamx.dybkowski@intel.com>
show more ...
|
#
7f9816b9 |
| 21-Nov-2019 |
Archana Muniganti <marchana@marvell.com> |
app/crypto-perf: fix input of AEAD decrypt
In AEAD decrypt (verify mode), test data should point to cipher text instead of plain text
Fixes: 5b2b0a740fba ("app/crypto-perf: overwrite mbuf when veri
app/crypto-perf: fix input of AEAD decrypt
In AEAD decrypt (verify mode), test data should point to cipher text instead of plain text
Fixes: 5b2b0a740fba ("app/crypto-perf: overwrite mbuf when verifying") Cc: stable@dpdk.org
Signed-off-by: Archana Muniganti <marchana@marvell.com> Acked-by: Anoob Joseph <anoobj@marvell.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
90e03347 |
| 14-Jun-2019 |
Tomasz Jozwiak <tjozwiakgm@gmail.com> |
app/crypto-perf: fix display once detection
This patch changes 'only_once' variable to 'display_once', which should be atomic type due to fact, that all runner functions can be executed in paraller
app/crypto-perf: fix display once detection
This patch changes 'only_once' variable to 'display_once', which should be atomic type due to fact, that all runner functions can be executed in paraller way on different lcores.
Fixes: df52cb3b6e13 ("app/crypto-perf: move verify as single test type") Cc: stable@dpdk.org
Signed-off-by: Tomasz Jozwiak <tjozwiakgm@gmail.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
d4ad392c |
| 10-Jan-2019 |
Fan Zhang <roy.fan.zhang@intel.com> |
app/crypto-perf: use separate session mempools
This patch uses the two session mempool approach to crypto perf application. One mempool is for session header objects, and the other is for session pr
app/crypto-perf: use separate session mempools
This patch uses the two session mempool approach to crypto perf application. One mempool is for session header objects, and the other is for session private data.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
27c2e747 |
| 13-Dec-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: support IMIX
Add support for IMIX performance tests, where a distribution of various packet sizes can be submitted to a crypto device, testing a closer to a real world scenario.
A
app/crypto-perf: support IMIX
Add support for IMIX performance tests, where a distribution of various packet sizes can be submitted to a crypto device, testing a closer to a real world scenario.
A sequence of packet sizes, selected randomly from a list of packet sizes (with "buffer-sz" parameter) with a list of the weights per packet size (using "imix" parameter), is generated (the length of this sequence is the same length as the pool, set with "pool-sz" parameter).
This sequence is used repeteadly for all the crypto operations submitted to the crypto device (with "--total-ops" parameter).
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
show more ...
|
#
8f87ba70 |
| 15-Dec-2017 |
Thierry Herbelot <thierry.herbelot@6wind.com> |
fix typos
Repeated occurrences of 'the'.
The change was obtained using the following command:
sed -i "s;the the ;the ;" `git grep -l "the "`
Signed-off-by: Thierry Herbelot <thierry.herbelot@6w
fix typos
Repeated occurrences of 'the'.
The change was obtained using the following command:
sed -i "s;the the ;the ;" `git grep -l "the "`
Signed-off-by: Thierry Herbelot <thierry.herbelot@6wind.com>
show more ...
|
#
174a1631 |
| 19-Dec-2017 |
Bruce Richardson <bruce.richardson@intel.com> |
app: use SPDX tag for Intel copyright files
Replace the BSD license header with the SPDX tag for files with only an Intel copyright on them.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.
app: use SPDX tag for Intel copyright files
Replace the BSD license header with the SPDX tag for files with only an Intel copyright on them.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
bf9d6702 |
| 04-Oct-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: use single mempool
In order to improve memory utilization, a single mempool is created, containing the crypto operation and mbufs (one if operation is in-place, two if out-of-place)
app/crypto-perf: use single mempool
In order to improve memory utilization, a single mempool is created, containing the crypto operation and mbufs (one if operation is in-place, two if out-of-place). This way, a single object is allocated and freed per operation, reducing the amount of memory in cache, which improves scalability.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|