#
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 ...
|
#
022f9bf9 |
| 26-Jun-2024 |
Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com> |
app/crypto-perf: fix result for asymmetric
For asymmetric op, private test data should be stored after rte_crypto_asym_op struct.
Fixes: a538d1d2d01e ("test/crypto-perf: extend asymmetric crypto th
app/crypto-perf: fix result for asymmetric
For asymmetric op, private test data should be stored after rte_crypto_asym_op struct.
Fixes: a538d1d2d01e ("test/crypto-perf: extend asymmetric crypto throughput test") Cc: stable@dpdk.org
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 ...
|
#
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 ...
|
#
f9adb427 |
| 20-Apr-2023 |
Anoob Joseph <anoobj@marvell.com> |
app/crypto-perf: check crypto result in latency tests
Checking result won't affect the test results as latency is calculated using timestamps which are done before enqueue and after dequeue. Ignorin
app/crypto-perf: check crypto result in latency tests
Checking result won't affect the test results as latency is calculated using timestamps which are done before enqueue and after dequeue. Ignoring result means the data can be false positive.
Signed-off-by: Anoob Joseph <anoobj@marvell.com> Acked-by: Ciara Power <ciara.power@intel.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 ...
|
#
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 ...
|
#
fa609d94 |
| 04-Mar-2022 |
Anoob Joseph <anoobj@marvell.com> |
app/crypto-perf: add IPsec operations population routine
Ops population functions are called in datapath. Keeping it common for PDCP & DOCSIS would mean ops population would have additional conditio
app/crypto-perf: add IPsec operations population routine
Ops population functions are called in datapath. Keeping it common for PDCP & DOCSIS would mean ops population would have additional conditional checks causing the throughput reported to be lower than what the PMD is capable of.
Separate out routine for IPsec cases and split vector population and op preparation into two loops to allow 2 rte_rdtsc_precise() calls to capture cycles consumed for memcpying the vector. Checking the cycle count from the loop would mean more calls to the same API.
Signed-off-by: Anoob Joseph <anoobj@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 ...
|
#
2f04e824 |
| 20-Jan-2021 |
Ciara Power <ciara.power@intel.com> |
app/crypto-perf: fix latency CSV output
The csv output for the latency performance test had an extra header, "Packet Size", which is a duplicate of "Buffer Size", and had no corresponding value in t
app/crypto-perf: fix latency CSV output
The csv output for the latency performance test had an extra header, "Packet Size", which is a duplicate of "Buffer Size", and had no corresponding value in the output. This is now removed.
Fixes: f6cefe253cc8 ("app/crypto-perf: add range/list of sizes") 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 ...
|
#
8aca7abd |
| 19-Feb-2020 |
Thomas Monjalon <thomas@monjalon.net> |
app/crypto-perf: use common macros for min/max
The macros RTE_MIN and RTE_MAX can be used in DPDK applications.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Akhil Goyal <akhil.goy
app/crypto-perf: use common macros for min/max
The macros RTE_MIN and RTE_MAX can be used in DPDK applications.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> 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 ...
|