#
0d526c7a |
| 25-Jun-2024 |
David Marchand <david.marchand@redhat.com> |
crypto/ccp: use a dynamic logtype
Register a logtype for this bus driver and stop logging as CRYPTODEV.
Signed-off-by: David Marchand <david.marchand@redhat.com>
|
#
e849b88f |
| 02-Mar-2023 |
David Marchand <david.marchand@redhat.com> |
crypto/ccp: fix PCI probing
This driver has been converted from a vdev driver to a pci driver some time ago. This conversion is buggy as it tries to probe any pci devices present on a system for *e
crypto/ccp: fix PCI probing
This driver has been converted from a vdev driver to a pci driver some time ago. This conversion is buggy as it tries to probe any pci devices present on a system for *each* probe request from the PCI bus.
Rely on the passed PCI device and only probe what is requested.
While at it: - stop copying the pci device object content into a local private copy, - rely on the PCI identifier and remove internal ccp_device_version identifier, - ccp_list can be made static,
With this done, all the code parsing Linux sysfs can be dropped.
Fixes: 889317b7ecb3 ("crypto/ccp: convert driver from vdev to PCI") Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Sunil Uttarwar <sunilprakashrao.uttarwar@amd.com>
show more ...
|
#
9631fb8f |
| 04-Oct-2022 |
David Marchand <david.marchand@redhat.com> |
crypto/ccp: fix IOVA handling
Using IOVA or physical addresses is something that the user (via --iova-mode=) or the bus code decides.
The crypto/ccp PCI driver should only use rte_mem_virt2iova. It
crypto/ccp: fix IOVA handling
Using IOVA or physical addresses is something that the user (via --iova-mode=) or the bus code decides.
The crypto/ccp PCI driver should only use rte_mem_virt2iova. It should not try to decide what to use solely based on the kmod the PCI device is bound to.
While at it, the global variable sha_ctx looks unsafe and unneeded. Remove it.
Fixes: 09a0fd736a08 ("crypto/ccp: enable IOMMU") Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Sunil Uttarwar <sunilprakashrao.uttarwar@amd.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 ...
|
#
7360749f |
| 10-May-2022 |
Heinrich Schuchardt <heinrich.schuchardt@canonical.com> |
drivers/crypto: fix warnings for OpenSSL version
The API of the OpenSSL library has changed with version 3.0. This results in a lot of compiler warnings like
../dpdk/drivers/crypto/ccp/ccp_cryp
drivers/crypto: fix warnings for OpenSSL version
The API of the OpenSSL library has changed with version 3.0. This results in a lot of compiler warnings like
../dpdk/drivers/crypto/ccp/ccp_crypto.c:182:9: warning: ‘SHA256_Transform’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
As many Linux distributions still use elder OpenSSL libraries we cannot change the used API now. Instead define OPENSSL_API_COMPAT to indicate that we are using the OpenSSL 1.1.0 API.
OPENSSL_API_COMPAT is introduced in *.c files and not in *.h files as some *.c files directly include OpenSSL headers.
Fixes: d61f70b4c918 ("crypto/libcrypto: add driver for OpenSSL library") Cc: stable@dpdk.org
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Tested-by: Daxue Gao <daxuex.gao@intel.com> Tested-by: David Marchand <david.marchand@redhat.com> Acked-by: Kai Ji <kai.ji@intel.com>
show more ...
|
#
7be78d02 |
| 29-Nov-2021 |
Josh Soref <jsoref@gmail.com> |
fix spelling in comments and strings
The tool comes from https://github.com/jsoref
Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
|
#
af668035 |
| 10-Aug-2021 |
Akhil Goyal <gakhil@marvell.com> |
cryptodev: expose driver interface as internal
The rte_cryptodev_pmd.* files are for drivers only and should be private to DPDK, and not installed for app use.
Signed-off-by: Akhil Goyal <gakhil@ma
cryptodev: expose driver interface as internal
The rte_cryptodev_pmd.* files are for drivers only and should be private to DPDK, and not installed for app use.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Matan Azrad <matan@nvidia.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
09a0fd73 |
| 25-Dec-2020 |
Amaranath Somalapuram <asomalap@amd.com> |
crypto/ccp: enable IOMMU
CCP use vdev framework, and vdev framework don’t support IOMMU. Adding custom IOMMU support for AMD CCP driver.
Signed-off-by: Amaranath Somalapuram <asomalap@amd.com>
|
#
ce627d63 |
| 14-Sep-2020 |
Thomas Monjalon <thomas@monjalon.net> |
mbuf: remove deprecated function and macro aliases
Remove the deprecated functions - rte_mbuf_data_dma_addr - rte_mbuf_data_dma_addr_default which aliased the more recent functions - rte_mbuf_dat
mbuf: remove deprecated function and macro aliases
Remove the deprecated functions - rte_mbuf_data_dma_addr - rte_mbuf_data_dma_addr_default which aliased the more recent functions - rte_mbuf_data_iova - rte_mbuf_data_iova_default
Remove the deprecated macros - rte_pktmbuf_mtophys - rte_pktmbuf_mtophys_offset which aliased the more recent macros - rte_pktmbuf_iova - rte_pktmbuf_iova_offset
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Ray Kinsella <mdr@ashroe.eu>
show more ...
|
#
72775857 |
| 22-Nov-2019 |
Amaranath Somalapuram <asomalap@amd.com> |
crypto/ccp: fix scheduling of burst
CCP driver was scheduling only one CCP in a single burst(enqueue). Effective throughput was limited to 1 CCP performance. Scheduling multiple ccp within one burst
crypto/ccp: fix scheduling of burst
CCP driver was scheduling only one CCP in a single burst(enqueue). Effective throughput was limited to 1 CCP performance. Scheduling multiple ccp within one burst will increase the ccp performance. this changes will divide the enqueue packets equally among the multiple CCP
Fixes: e0d88a394e ("crypto/ccp: support run-time CPU based auth") Cc: stable@dpdk.org
Signed-off-by: Amaranath Somalapuram <asomalap@amd.com>
show more ...
|
#
b3d1a3c6 |
| 22-Nov-2019 |
Amaranath Somalapuram <asomalap@amd.com> |
crypto/ccp: fix CPU authentication crash
when ccp_auth_opt=1 is set and if authentication error occurred, ccp driver crash. The enqueue referance count nb_ops miss match with dequeue nb_ops on authe
crypto/ccp: fix CPU authentication crash
when ccp_auth_opt=1 is set and if authentication error occurred, ccp driver crash. The enqueue referance count nb_ops miss match with dequeue nb_ops on authentication error.
Fixes: e0d88a394e ("crypto/ccp: support run-time CPU based auth") Cc: stable@dpdk.org
Signed-off-by: Amaranath Somalapuram <asomalap@amd.com>
show more ...
|
#
012c5076 |
| 05-Jul-2018 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
cryptodev: rename PMD symmetric session API
The PMD specific API to configure, clear and obtain session private size is renamed, including the word _sym_ to clarify that it is API for symmetric sess
cryptodev: rename PMD symmetric session API
The PMD specific API to configure, clear and obtain session private size is renamed, including the word _sym_ to clarify that it is API for symmetric sessions, so there will not be any conflicts for asymmetric and other type of sessions in the future.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
e0d88a39 |
| 10-May-2018 |
Ravi Kumar <ravi1.kumar@amd.com> |
crypto/ccp: support run-time CPU based auth
CCP PMD supports authentication offload to either of CCP or CPU. The earlier version of patch provides this option as compile time. This patch changes thi
crypto/ccp: support run-time CPU based auth
CCP PMD supports authentication offload to either of CCP or CPU. The earlier version of patch provides this option as compile time. This patch changes this option from compile time to run time. User can pass "ccp_auth_opt=1" as an additional arguments to vdev parameter to enable authentication operations on CPU.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
show more ...
|
#
6c561b03 |
| 19-Mar-2018 |
Ravi Kumar <ravi1.kumar@amd.com> |
crypto/ccp: support CPU based MD5 and SHA2 family
Auth operations can be performed on CPU without offloading to CCP if CONFIG_RTE_LIBRTE_PMD_CCP_CPU_AUTH is enabled in DPDK configuration. CCP PMD sk
crypto/ccp: support CPU based MD5 and SHA2 family
Auth operations can be performed on CPU without offloading to CCP if CONFIG_RTE_LIBRTE_PMD_CCP_CPU_AUTH is enabled in DPDK configuration. CCP PMD skip offloading auth operations to hardware engines and perform them using openssl APIs.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
show more ...
|
#
1df800f8 |
| 19-Mar-2018 |
Ravi Kumar <ravi1.kumar@amd.com> |
crypto/ccp: support SHA3 family
Add SHA3 family authentication algorithm support for CCP crypto PMD. This patch defines new macros for SHA3 algorithms in the DPDK crypto framework.
Signed-off-by: R
crypto/ccp: support SHA3 family
Add SHA3 family authentication algorithm support for CCP crypto PMD. This patch defines new macros for SHA3 algorithms in the DPDK crypto framework.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
show more ...
|
#
ca40ea24 |
| 19-Mar-2018 |
Ravi Kumar <ravi1.kumar@amd.com> |
crypto/ccp: support SHA2 family
Add SHA2 family authentication algorithm support for CCP crypto PMD.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
|
#
0c6a81ef |
| 19-Mar-2018 |
Ravi Kumar <ravi1.kumar@amd.com> |
crypto/ccp: support SHA1
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
|
#
afc53459 |
| 19-Mar-2018 |
Ravi Kumar <ravi1.kumar@amd.com> |
crypto/ccp: support AES-GCM
Support AES-GCM-128/192/256 AEAD algorithm for CCP crypto PMD.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
|
#
687ae11f |
| 19-Mar-2018 |
Ravi Kumar <ravi1.kumar@amd.com> |
crypto/ccp: support AES-CMAC
Support AES-CMAC-128/192/256 authentication algorithm for CCP crypto PMD.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
|
#
c05adb06 |
| 19-Mar-2018 |
Ravi Kumar <ravi1.kumar@amd.com> |
crypto/ccp: support 3DES
Support 3DES-CBC cipher algorithm for CCP crypto PMD.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
|
#
d9a9e561 |
| 19-Mar-2018 |
Ravi Kumar <ravi1.kumar@amd.com> |
crypto/ccp: support AES
Added CCP cipher support for following algorithms: AES-CBC-128/192/256 AES-CTR-128/192/256 AES-ECB-128/192/256
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
|
#
70f0f8a8 |
| 19-Mar-2018 |
Ravi Kumar <ravi1.kumar@amd.com> |
crypto/ccp: support burst enqueue/dequeue
Added support for burst oriented data path.
CCP PMD selects appropriate CCP engine available on the platform and schedule the batch of crypto ops to a sele
crypto/ccp: support burst enqueue/dequeue
Added support for burst oriented data path.
CCP PMD selects appropriate CCP engine available on the platform and schedule the batch of crypto ops to a selected hardware queue of the respective crypto engine.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
show more ...
|
#
29610e41 |
| 19-Mar-2018 |
Ravi Kumar <ravi1.kumar@amd.com> |
crypto/ccp: support session related ops
Added crypto session specific basic crypto ops callback functions. Added different crypto engine types and definitions.
Signed-off-by: Ravi Kumar <ravi1.kuma
crypto/ccp: support session related ops
Added crypto session specific basic crypto ops callback functions. Added different crypto engine types and definitions.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
show more ...
|