|
Revision tags: v24.11, v24.11-rc4, v24.11-rc3, v24.11-rc2, v24.11-rc1 |
|
| #
4acc862b |
| 11-Oct-2024 |
Hanxiao Li <li.hanxiao@zte.com.cn> |
cryptodev: add SM4-XTS
Added support for symmetric algorithm SM4-XTS in cryptodev.
Signed-off-by: Hanxiao Li <li.hanxiao@zte.com.cn> Acked-by: Akhil Goyal <gakhil@marvell.com>
|
| #
53c65a3c |
| 09-Oct-2024 |
Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com> |
cryptodev: add asymmetric operational capability
Asymmetric crypto algorithms such as SM2, EdDSA would need per op capability and based on it, the input param to a crypto operation is chosen wisely.
cryptodev: add asymmetric operational capability
Asymmetric crypto algorithms such as SM2, EdDSA would need per op capability and based on it, the input param to a crypto operation is chosen wisely.
Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Arkadiusz Kusztal <arkadiuszx.kusztal@intel.com>
show more ...
|
| #
0a054e8d |
| 22-Aug-2024 |
Vidya Sagar Velumuri <vvelumuri@marvell.com> |
cryptodev: add queue pair reset API
The API will reset the specific queue pair of a cryptodev. The current API, cryptodev_queue_pair_setup(), requires the cryptodev to be stopped before reconfigurin
cryptodev: add queue pair reset API
The API will reset the specific queue pair of a cryptodev. The current API, cryptodev_queue_pair_setup(), requires the cryptodev to be stopped before reconfiguring any queue pair. Stopping the cryptodev in one thread can result in a segmentation fault when multiple queues are used for enqueue and dequeue operations.
On supported PMDs, the cryptodev_queue_pair_reset() will reconfigure/reset the queue pair without affecting other queues or the cryptodev state.
The caller should ensure that there are no enqueue or dequeue operations ongoing on that queue and that there are no inflight packets before calling this API.
Signed-off-by: Vidya Sagar Velumuri <vvelumuri@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
|
Revision tags: v24.07, v24.07-rc4, v24.07-rc3, v24.07-rc2 |
|
| #
cfa44335 |
| 27-Jun-2024 |
Ganapati Kundapura <ganapati.kundapura@intel.com> |
cryptodev: fix build without crypto callbacks
Crypto callbacks APIs are available in header files but when the macro RTE_CRYPTO_CALLBACKS unset, test application need to put #ifdef in its code.
The
cryptodev: fix build without crypto callbacks
Crypto callbacks APIs are available in header files but when the macro RTE_CRYPTO_CALLBACKS unset, test application need to put #ifdef in its code.
The test application should be able to build and run, regardless DPDK library is built with RTE_CRYPTO_CALLBACKS defined or not.
Added ENOTSUP from the beginning of the APIs implementation if RTE_CRYPTO_CALLBACKS macro is unset/undefined.
Fixes: 1c3ffb95595e ("cryptodev: add enqueue and dequeue callbacks") Fixes: 5523a75af539 ("test/crypto: add case for enqueue/dequeue callbacks") Cc: stable@dpdk.org
Signed-off-by: Ganapati Kundapura <ganapati.kundapura@intel.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
|
Revision tags: v24.07-rc1, v24.03, v24.03-rc4, v24.03-rc3, v24.03-rc2, v24.03-rc1 |
|
| #
82caa339 |
| 16-Feb-2024 |
Andrew Boyer <andrew.boyer@amd.com> |
cryptodev: speed up ops pool create
Use rte_mempool_virt2iova(), which uses arithmetic based on the mempool state, rather than rte_mem_virt2iova(), which uses syscalls to look at the proc filesystem
cryptodev: speed up ops pool create
Use rte_mempool_virt2iova(), which uses arithmetic based on the mempool state, rather than rte_mem_virt2iova(), which uses syscalls to look at the proc filesystem. This speeds up pool create by more than 90%.
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com> Reviewed-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
|
Revision tags: v23.11, v23.11-rc4 |
|
| #
ae282b06 |
| 17-Nov-2023 |
David Marchand <david.marchand@redhat.com> |
lib: remove redundant newline from logs
Fix places where two newline characters may be logged.
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Stephen Hemmi
lib: remove redundant newline from logs
Fix places where two newline characters may be logged.
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
show more ...
|
| #
c07da8e3 |
| 06-Dec-2023 |
David Marchand <david.marchand@redhat.com> |
lib: use dedicated logtypes and macros
No printf! When a dedicated log helper exists, use it. And no usurpation please: a library should log under its logtype (see the eventdev rx adapter update for
lib: use dedicated logtypes and macros
No printf! When a dedicated log helper exists, use it. And no usurpation please: a library should log under its logtype (see the eventdev rx adapter update for example).
Note: the RTE_ETH_VALID_PORTID_OR_GOTO_ERR_RET macro is renamed for consistency with the rest of eventdev (private) macros.
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
| #
e5dc404d |
| 11-Dec-2023 |
Stephen Hemminger <stephen@networkplumber.org> |
cryptodev: use a dynamic logtype
The cryptodev logs are all referenced via rte_cryptodev.h, so make it dynamic there.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Akhil G
cryptodev: use a dynamic logtype
The cryptodev logs are all referenced via rte_cryptodev.h, so make it dynamic there.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
|
Revision tags: v23.11-rc3, v23.11-rc2 |
|
| #
ab1932af |
| 26-Oct-2023 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
cryptodev: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional stdatomic API
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.
cryptodev: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional stdatomic API
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru> Acked-by: David Marchand <david.marchand@redhat.com>
show more ...
|
|
Revision tags: v23.11-rc1 |
|
| #
6f8ef8b6 |
| 09-Oct-2023 |
Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com> |
cryptodev: add hash algorithms in asymmetric capability
Most of the asymmetric operations start with hash of the input. But a PMD might also support only plain input (eg openssl). Add a new field in
cryptodev: add hash algorithms in asymmetric capability
Most of the asymmetric operations start with hash of the input. But a PMD might also support only plain input (eg openssl). Add a new field in asymmetric capability to declare support for hash operations that PMD can support for the asymmetric operations. Application can skip computing hash if PMD already supports it.
Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
show more ...
|
| #
17de6b04 |
| 31-Jul-2023 |
Akhil Goyal <gakhil@marvell.com> |
cryptodev: remove deprecated algo string arrays
Removed the algorithm strings arrays rte_crypto_cipher_algorithm_strings, rte_crypto_auth_algorithm_strings, rte_crypto_aead_algorithm_strings and rte
cryptodev: remove deprecated algo string arrays
Removed the algorithm strings arrays rte_crypto_cipher_algorithm_strings, rte_crypto_auth_algorithm_strings, rte_crypto_aead_algorithm_strings and rte_crypto_asym_xform_strings.
Application can use the new APIs rte_cryptodev_get_cipher_algo_string, rte_cryptodev_get_auth_algo_string, rte_cryptodev_get_aead_algo_string and rte_cryptodev_asym_get_xform_string respectively.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
|
Revision tags: v23.07, v23.07-rc4, v23.07-rc3, v23.07-rc2, v23.07-rc1 |
|
| #
2d970c66 |
| 08-Jun-2023 |
Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com> |
cryptodev: add asymmetric SM2 algorithm
ShangMi 2 (SM2) is set of public-key cryptography algorithms based on elliptic curves.
Added support for asymmetric SM2 in cryptodev along with prime field c
cryptodev: add asymmetric SM2 algorithm
ShangMi 2 (SM2) is set of public-key cryptography algorithms based on elliptic curves.
Added support for asymmetric SM2 in cryptodev along with prime field curve, as referenced in RFC: https://datatracker.ietf.org/doc/html/draft-shen-sm2-ecdsa-02
Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com> Acked-by: Arkadiusz Kusztal <arkadiuszx.kusztal@intel.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
| #
1daecf63 |
| 29-May-2023 |
Sunyang Wu <sunyang.wu@jaguarmicro.com> |
cryptodev: add SM3-HMAC and SM4-CFB/OFB
Add SM3_HMAC/SM4_CFB/SM4_OFB support in DPDK.
Signed-off-by: Sunyang Wu <sunyang.wu@jaguarmicro.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
|
|
Revision tags: v23.03, v23.03-rc4, v23.03-rc3, v23.03-rc2, v23.03-rc1 |
|
| #
3ac1fb17 |
| 15-Feb-2023 |
Ankur Dwivedi <adwivedi@marvell.com> |
cryptodev: drop export of internal tracepoints
The file rte_cryptodev_trace.h contains tracepoints which are internal to the cryptodev library. This file is renamed to cryptodev_trace.h, and is made
cryptodev: drop export of internal tracepoints
The file rte_cryptodev_trace.h contains tracepoints which are internal to the cryptodev library. This file is renamed to cryptodev_trace.h, and is made an internal header. The tracepoints in this file are removed from the experimental and internal section in version.map file.
Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
| #
56ee8af9 |
| 12-Jan-2023 |
Volodymyr Fialko <vfialko@marvell.com> |
cryptodev: add SHAKE algorithm
Added support for a new hash algorithm, SHAKE (Secure Hash Algorithm and KECCAK) defined in FIPS 202.
Added test cases for SHAKE hash algorithm for Digest and Digest-
cryptodev: add SHAKE algorithm
Added support for a new hash algorithm, SHAKE (Secure Hash Algorithm and KECCAK) defined in FIPS 202.
Added test cases for SHAKE hash algorithm for Digest and Digest-Verify.
Signed-off-by: Volodymyr Fialko <vfialko@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
| #
d43e6a01 |
| 21-Dec-2022 |
Srujana Challa <schalla@marvell.com> |
cryptodev: introduce query API for error event
An event RTE_CRYPTODEV_EVENT_ERROR gets fired when crypto PMD receives an error interrupt. This patch adds query function for the application, to get m
cryptodev: introduce query API for error event
An event RTE_CRYPTODEV_EVENT_ERROR gets fired when crypto PMD receives an error interrupt. This patch adds query function for the application, to get more info about the event.
Signed-off-by: Srujana Challa <schalla@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
| #
af0785a2 |
| 12-Jan-2023 |
Bruce Richardson <bruce.richardson@intel.com> |
rename telemetry u64 functions to uint versions
Within the DPDK code-base, replace all occurrences of "rte_tel_data_add_array_u64" with "rte_tel_data_add_array_uint", and similarly replace all occur
rename telemetry u64 functions to uint versions
Within the DPDK code-base, replace all occurrences of "rte_tel_data_add_array_u64" with "rte_tel_data_add_array_uint", and similarly replace all occurrences of "rte_tel_data_add_dict_u64" with "rte_tel_data_add_dict_uint". This allows us to later mark the older functions as deprecated without hitting warnings.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Ciara Power <ciara.power@intel.com>
show more ...
|
| #
2d2c55e4 |
| 12-Jan-2023 |
Bruce Richardson <bruce.richardson@intel.com> |
telemetry: rename unsigned 64-bit enum value to uint
For telemetry data, rather than having unsigned 64-bit values and signed 32-bit values, we want to just have unsigned and signed values, each sto
telemetry: rename unsigned 64-bit enum value to uint
For telemetry data, rather than having unsigned 64-bit values and signed 32-bit values, we want to just have unsigned and signed values, each stored with the max bit-width i.e. 64-bits. To that end, we rename the U64 enum entry to "UINT" to have a more generic name
For backward API-level compatibility, we can use a macro to alias the old name to the new.
Suggested-by: Morten Brørup <mb@smartsharesystems.com> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Ciara Power <ciara.power@intel.com>
show more ...
|
| #
45038f04 |
| 19-Dec-2022 |
Huisong Li <lihuisong@huawei.com> |
cryptodev: fix telemetry data truncation
The 'u32' data can not assigned to 'int' type variable. The 'u32' data needs to use the 'u64' APIs to add.
Fixes: d3d98f5ce9d0 ("cryptodev: support telemetr
cryptodev: fix telemetry data truncation
The 'u32' data can not assigned to 'int' type variable. The 'u32' data needs to use the 'u64' APIs to add.
Fixes: d3d98f5ce9d0 ("cryptodev: support telemetry") Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
| #
7e1e1277 |
| 04-Jan-2023 |
Akhil Goyal <gakhil@marvell.com> |
cryptodev: add algo enums to string conversion API
Symmetric/Asymmetric algorithm strings are accessed by application using arrays in cryptodev lib, which hampers new algorithms addition in the arra
cryptodev: add algo enums to string conversion API
Symmetric/Asymmetric algorithm strings are accessed by application using arrays in cryptodev lib, which hampers new algorithms addition in the array due to ABI breakage. These arrays are now deprecated and will be removed in next ABI break release. New APIs are added for getting the algorithm strings based on enum values.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Anoob Joseph <anoobj@marvell.com> Acked-by: Ciara Power <ciara.power@intel.com> Acked-by: Fan Zhang <fanzhang.oss@gmail.com>
show more ...
|
|
Revision tags: v22.11, v22.11-rc4, v22.11-rc3, v22.11-rc2, v22.11-rc1 |
|
| #
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 ...
|
| #
a0a17e2a |
| 29-Sep-2022 |
Olivier Matz <olivier.matz@6wind.com> |
cryptodev: fix unduly newlines in logs
The CDEV_LOG_* macros already add a '\n' at the end of the line. Remove it from format strings to avoid duplicated newlines.
Fixes: 9e6edea4180 ("cryptodev: a
cryptodev: fix unduly newlines in logs
The CDEV_LOG_* macros already add a '\n' at the end of the line. Remove it from format strings to avoid duplicated newlines.
Fixes: 9e6edea4180 ("cryptodev: add APIs to assist PMD initialisation") Fixes: e764cd72a9b ("cryptodev: update symmetric session structure") Fixes: 1d6f89885e1 ("cryptodev: add sym session mempool create") Fixes: 1f1e4b7cbaa ("cryptodev: use single mempool for asymmetric session") Fixes: 757f40e28e1 ("cryptodev: modify return value for asym session create") Fixes: cea66374dcb ("cryptodev: support asymmetric operations") Cc: stable@dpdk.org
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Reviewed-by: David Marchand <david.marchand@redhat.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
| #
3ebb587e |
| 29-Sep-2022 |
Amit Prakash Shukla <amitprakashs@marvell.com> |
cryptodev: add trace points
Add trace points for cryptodev functions. Some of the APIs are restructured to add traces and return appropriately as needed.
Signed-off-by: Amit Prakash Shukla <amitpra
cryptodev: add trace points
Add trace points for cryptodev functions. Some of the APIs are restructured to add traces and return appropriately as needed.
Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com> Reviewed-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
| #
35ffc5b0 |
| 28-Sep-2022 |
Arek Kusztal <arkadiuszx.kusztal@intel.com> |
cryptodev: add SM3 hash algorithm
ShangMi 3 (SM3) is a cryptographic hash function used in the Chinese National Standard.
- Added SM3 algorithm
Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@inte
cryptodev: add SM3 hash algorithm
ShangMi 3 (SM3) is a cryptographic hash function used in the Chinese National Standard.
- Added SM3 algorithm
Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com> Acked-by: Kai Ji <kai.ji@intel.com> Acked-by: Anoob Joseph <anoobj@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|