History log of /dpdk/lib/cryptodev/rte_cryptodev.c (Results 1 – 25 of 46)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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 ...


12