| #
515cd4a4 |
| 28-Sep-2022 |
Arek Kusztal <arkadiuszx.kusztal@intel.com> |
cryptodev: add SM4 encryption algorithm
ShangMi 4 (SM4) is a block cipher used in the Chinese National Standard for Wireless LAN WAPI and also used with Transport Layer Security.
Added SM4 encrypti
cryptodev: add SM4 encryption algorithm
ShangMi 4 (SM4) is a block cipher used in the Chinese National Standard for Wireless LAN WAPI and also used with Transport Layer Security.
Added SM4 encryption algorithm in ECB, CBC and CTR modes.
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 ...
|
| #
6c55e2c3 |
| 15-Sep-2022 |
Volodymyr Fialko <vfialko@marvell.com> |
cryptodev: fix missing SHA3 algorithm strings
SHA3 family algorithms were missing in the array of algorithm strings.
Fixes: 1df800f89518 ("crypto/ccp: support SHA3 family") Cc: stable@dpdk.org
Sig
cryptodev: fix missing SHA3 algorithm strings
SHA3 family algorithms were missing in the array of algorithm strings.
Fixes: 1df800f89518 ("crypto/ccp: support SHA3 family") Cc: stable@dpdk.org
Signed-off-by: Volodymyr Fialko <vfialko@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
| #
1acb7f54 |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
dev: hide driver object
Make rte_driver opaque for non internal users. This will make extending this object possible without breaking the ABI.
Introduce a new driver header and move rte_driver defi
dev: hide driver object
Make rte_driver opaque for non internal users. This will make extending this object possible without breaking the ABI.
Introduce a new driver header and move rte_driver definition. Update drivers and library to use the internal header.
Some applications may have been dereferencing rte_driver objects, mark this object's accessors as stable.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
show more ...
|
| #
8f1d23ec |
| 23-Aug-2022 |
David Marchand <david.marchand@redhat.com> |
eal: deprecate RTE_FUNC_PTR_* macros
Those macros have no real value and are easily replaced with a simple if() block.
Existing users have been converted using a new cocci script. Deprecate them.
eal: deprecate RTE_FUNC_PTR_* macros
Those macros have no real value and are easily replaced with a simple if() block.
Existing users have been converted using a new cocci script. Deprecate them.
Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
|
Revision tags: v22.07, v22.07-rc4, v22.07-rc3, v22.07-rc2, v22.07-rc1 |
|
| #
2adb8529 |
| 01-Jun-2022 |
Arek Kusztal <arkadiuszx.kusztal@intel.com> |
cryptodev: add public key verify option
- Added key exchange public key verify option. For some elliptic curves public point in DH exchange needs to be checked, if it lays on the curve. Modular expo
cryptodev: add public key verify option
- Added key exchange public key verify option. For some elliptic curves public point in DH exchange needs to be checked, if it lays on the curve. Modular exponentiation needs certain checks as well, though mathematically much easier. This commit adds verify option to asym_op operations.
Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
| #
5fa1fb29 |
| 01-Jun-2022 |
Arek Kusztal <arkadiuszx.kusztal@intel.com> |
cryptodev: separate key exchange operation enum
- Separated key exchange enum from asym op type. Key exchange and asymmetric crypto operations like signatures, encryption/decryption should not share
cryptodev: separate key exchange operation enum
- Separated key exchange enum from asym op type. Key exchange and asymmetric crypto operations like signatures, encryption/decryption should not share same operation enum as its use cases are unrelated and mutually exclusive. Therefore op_type was separate into: 1) operation type 2) key exchange operation type
Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
| #
a7ddfa9c |
| 12-May-2022 |
Volodymyr Fialko <vfialko@marvell.com> |
cryptodev: add API to get/set event metadata
Currently, crypto session userdata is used to set event crypto metadata from the application and the driver is dereferencing it in driver which is not co
cryptodev: add API to get/set event metadata
Currently, crypto session userdata is used to set event crypto metadata from the application and the driver is dereferencing it in driver which is not correct. User data is meant to be opaque to the driver. To support this, new API is added to get and set event crypto metadata. The new API, rte_cryptodev_set_session_event_mdata, allows setting event metadata in session private data which is filled inside PMD using a new cryptodev op. This operation can be performed on any of the PMD supported sessions (sym/asym/security). For SW abstraction of event crypto adapter to be used by eventdev library, a new field is added in asymmetric crypto session for now and for symmetric case, current implementation of using userdata is used. Symmetric cases cannot be fixed now, as it will be ABI breakage which will be resolved in DPDK 22.11.
Signed-off-by: Volodymyr Fialko <vfialko@marvell.com> Signed-off-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com> Acked-by: Anoob Joseph <anoobj@marvell.com>
show more ...
|
|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2 |
|
| #
080c84cd |
| 18-Feb-2022 |
Ciara Power <ciara.power@intel.com> |
cryptodev: fix asymmetric private session variable size
When creating the asymmetric session mempool, the maximum private session size of all devices is used when creating the mempool object size. T
cryptodev: fix asymmetric private session variable size
When creating the asymmetric session mempool, the maximum private session size of all devices is used when creating the mempool object size. The return value for ``rte_cryptodev_asym_get_private_session_size`` is unsigned int, whereas the variable was uint8_t, leading to a possible overflow issue.
To fix this, the variable for private session size is now changed to unsigned int to match the function return type.
Fixes: 1f1e4b7cbaad ("cryptodev: use single mempool for asymmetric session")
Reported-by: Arek Kusztal <arkadiuszx.kusztal@intel.com> Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
show more ...
|
| #
30a1de10 |
| 15-Feb-2022 |
Sean Morrissey <sean.morrissey@intel.com> |
lib: remove unneeded header includes
These header includes have been flagged by the iwyu_tool and removed.
Signed-off-by: Sean Morrissey <sean.morrissey@intel.com>
|
|
Revision tags: v22.03-rc1 |
|
| #
757f40e2 |
| 11-Feb-2022 |
Ciara Power <ciara.power@intel.com> |
cryptodev: modify return value for asym session create
Rather than the asym session create function returning a session on success, and a NULL value on error, it is modified to now return int values
cryptodev: modify return value for asym session create
Rather than the asym session create function returning a session on success, and a NULL value on error, it is modified to now return int values - 0 on success or -EINVAL/-ENOTSUP/-ENOMEM on failure. The session to be used is passed as input.
This adds clarity on the failure of the create function, which enables treating the -ENOTSUP return as TEST_SKIPPED in test apps.
Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Anoob Joseph <anoobj@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
| #
92d55afe |
| 11-Feb-2022 |
Ciara Power <ciara.power@intel.com> |
cryptodev: add asymmetric session user data API
A user data field is added to the asymmetric session structure. Relevant API added to get/set the field.
Signed-off-by: Ciara Power <ciara.power@inte
cryptodev: add asymmetric session user data API
A user data field is added to the asymmetric session structure. Relevant API added to get/set the field.
Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Anoob Joseph <anoobj@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
| #
a29bb248 |
| 11-Feb-2022 |
Ciara Power <ciara.power@intel.com> |
cryptodev: hide asymmetric session structure
The rte_cryptodev_asym_session structure is now moved to an internal header. This will no longer be used directly by apps, private session data can be ac
cryptodev: hide asymmetric session structure
The rte_cryptodev_asym_session structure is now moved to an internal header. This will no longer be used directly by apps, private session data can be accessed via get API.
Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Anoob Joseph <anoobj@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
| #
1f1e4b7c |
| 11-Feb-2022 |
Ciara Power <ciara.power@intel.com> |
cryptodev: use single mempool for asymmetric session
Rather than using a session buffer that contains pointers to private session data elsewhere, have a single session buffer. This session is create
cryptodev: use single mempool for asymmetric session
Rather than using a session buffer that contains pointers to private session data elsewhere, have a single session buffer. This session is created for a driver ID, and the mempool element contains space for the max session private data needed for any driver.
Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Anoob Joseph <anoobj@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
|
Revision tags: v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2 |
|
| #
1c559ee8 |
| 26-Oct-2021 |
Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com> |
cryptodev: add telemetry endpoint for capabilities
Add telemetry endpoint for getting cryptodev capabilities.
Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com> Acked-by: Akhil Go
cryptodev: add telemetry endpoint for capabilities
Add telemetry endpoint for getting cryptodev capabilities.
Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
| #
d3d98f5c |
| 26-Oct-2021 |
Rebecca Troy <rebecca.troy@intel.com> |
cryptodev: support telemetry
The cryptodev library now registers commands with telemetry, and implements the corresponding callback functions. These commands allow a list of cryptodevs to be queried
cryptodev: support telemetry
The cryptodev library now registers commands with telemetry, and implements the corresponding callback functions. These commands allow a list of cryptodevs to be queried, as well as info and stats for the corresponding cryptodev.
An example usage can be seen below:
Connecting to /var/run/dpdk/rte/dpdk_telemetry.v2 {"version": "DPDK 21.11.0-rc0", "pid": 1135019, "max_output_len": 16384} --> / {"/": ["/", "/cryptodev/info", "/cryptodev/list", "/cryptodev/stats", ...]} --> /cryptodev/list {"/cryptodev/list": [0,1,2,3]} --> /cryptodev/info,0 {"/cryptodev/info": {"device_name": "0000:1c:01.0_qat_sym", \ "max_nb_queue_pairs": 2}} --> /cryptodev/stats,0 {"/cryptodev/stats": {"enqueued_count": 0, "dequeued_count": 0, \ "enqueue_err_count": 0, "dequeue_err_count": 0}}
Signed-off-by: Rebecca Troy <rebecca.troy@intel.com> Acked-by: Ciara Power <ciara.power@intel.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
|
Revision tags: v21.11-rc1 |
|
| #
2fd66f75 |
| 20-Oct-2021 |
Akhil Goyal <gakhil@marvell.com> |
cryptodev: move inline APIs into separate structure
Move fastpath inline function pointers from rte_cryptodev into a separate structure accessed via a flat array. The intention is to make rte_crypto
cryptodev: move inline APIs into separate structure
Move fastpath inline function pointers from rte_cryptodev into a separate structure accessed via a flat array. The intention is to make rte_cryptodev and related structures private to avoid future API/ABI breakages.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Tested-by: Rebecca Troy <rebecca.troy@intel.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
show more ...
|
| #
7f3876ad |
| 20-Oct-2021 |
Akhil Goyal <gakhil@marvell.com> |
cryptodev: allocate max space for internal queue array
At queue_pair config stage, allocate memory for maximum number of queue pair pointers that a device can support.
This will allow fast path API
cryptodev: allocate max space for internal queue array
At queue_pair config stage, allocate memory for maximum number of queue pair pointers that a device can support.
This will allow fast path APIs(enqueue_burst/dequeue_burst) to refer pointer to internal QP data without checking for currently configured QPs. This is required to hide the rte_cryptodev and rte_cryptodev_data structure from user.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
show more ...
|
| #
cb7b6898 |
| 06-Oct-2021 |
Tal Shnaiderman <talshn@nvidia.com> |
cryptodev: build on Windows
Build the cryptography device library on Windows OS by removing unneeded include and exports of inline functions blocking the compilation.
Signed-off-by: Tal Shnaiderman
cryptodev: build on Windows
Build the cryptography device library on Windows OS by removing unneeded include and exports of inline functions blocking the compilation.
Signed-off-by: Tal Shnaiderman <talshn@nvidia.com> Acked-by: Akhil Goyal <gakhil@marvell.com> Acked-by: William Tu <u9012063@gmail.com>
show more ...
|
| #
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 ...
|
| #
e74abd48 |
| 10-Aug-2021 |
Akhil Goyal <gakhil@marvell.com> |
cryptodev: rename function to check device validity
The API rte_cryptodev_pmd_is_valid_dev, can be used by the application as well as PMD to check whether the device is valid or not. Hence, _pmd is
cryptodev: rename function to check device validity
The API rte_cryptodev_pmd_is_valid_dev, can be used by the application as well as PMD to check whether the device is valid or not. Hence, _pmd is removed from the API. The applications and drivers which use this API are also updated.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
|
Revision tags: v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1, v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2, v21.05-rc1 |
|
| #
99a2dd95 |
| 20-Apr-2021 |
Bruce Richardson <bruce.richardson@intel.com> |
lib: remove librte_ prefix from directory names
There is no reason for the DPDK libraries to all have 'librte_' prefix on the directory names. This prefix makes the directory names longer and also m
lib: remove librte_ prefix from directory names
There is no reason for the DPDK libraries to all have 'librte_' prefix on the directory names. This prefix makes the directory names longer and also makes it awkward to add features referring to individual libraries in the build - should the lib names be specified with or without the prefix. Therefore, we can just remove the library prefix and use the library's unique name as the directory name, i.e. 'eal' rather than 'librte_eal'
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|