#
93998f3c |
| 15-Nov-2023 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
add extension keyword to GCC statement expressions
Add __extension__ keyword to gcc statement expression extensions. This is necessary for MSVC support.
Signed-off-by: Tyler Retzlaff <roretzla@linu
add extension keyword to GCC statement expressions
Add __extension__ keyword to gcc statement expression extensions. This is necessary for MSVC support.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
show more ...
|
#
a247fcd9 |
| 03-Feb-2024 |
Stephen Hemminger <stephen@networkplumber.org> |
drivers: use dedicated log macros instead of PMD logtype
Those drivers have macros for logging, use them instead of the generic PMD logtype.
Fixes: 046f11619567 ("net/vmxnet3: support MSI-X interru
drivers: use dedicated log macros instead of PMD logtype
Those drivers have macros for logging, use them instead of the generic PMD logtype.
Fixes: 046f11619567 ("net/vmxnet3: support MSI-X interrupt") Fixes: 6760463c9f26 ("crypto/scheduler: add mode-specific threshold parameter") Fixes: 169ca3db550c ("crypto/armv8: add PMD optimized for ARMv8 processors") Fixes: af7c9b5e9ce7 ("crypto/caam_jr: introduce basic driver") Fixes: ef4b04f87fa6 ("crypto/ccp: support device init") Fixes: fe3688ba7950 ("crypto/dpaa_sec: support event crypto adapter") Fixes: bffc7d561c81 ("crypto/dpaa2_sec: support event crypto adapter") Fixes: b0f66a68ca74 ("event/dpaa: support crypto adapter") Fixes: 4ab57b042e7c ("event/dpaa2: affine portal at runtime during I/O") Fixes: 5433956d5185 ("event/dlb2: add eventdev probe") Fixes: 7ed359909556 ("mempool/dpaa2: add functions for CMDIF") Fixes: 6b10d1f7bdea ("net/dpaa: update process specific device info") Fixes: 4defbc8cbb6d ("net/dpaa: support FMCless mode") Fixes: f023d059769f ("net/dpaa2: support recycle loopback port") Fixes: 72ec7a678e70 ("net/dpaa2: add soft parser driver") Fixes: 9e79d810911d ("net/mvpp2: support Tx scatter/gather")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
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 ...
|
#
4851ef2b |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
bus/vdev: make driver-only headers private
The vdev bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - fix indentat
bus/vdev: make driver-only headers private
The vdev bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - fix indentation, - remove unneeded reference to bus specific singleton object, - remove unneeded list head structure type, - reorder the definitions and macro manipulating the bus singleton object, - remove inclusion of rte_bus.h and fix the code that relied on implicit inclusion,
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Rosen Xu <rosen.xu@intel.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
show more ...
|
#
d54c72ec |
| 20-Oct-2021 |
Akhil Goyal <gakhil@marvell.com> |
drivers/crypto: invoke probing finish function
Invoke event_dev_probing_finish() function at the end of probing, this function sets the function pointers in the fp_ops flat array in case of secondar
drivers/crypto: invoke probing finish function
Invoke event_dev_probing_finish() function at the end of probing, this function sets the function pointers in the fp_ops flat array in case of secondary process. For primary process, fp_ops is updated in rte_cryptodev_start().
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Matan Azrad <matan@nvidia.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 ...
|
#
eeded204 |
| 26-Apr-2021 |
David Marchand <david.marchand@redhat.com> |
log: register with standardized names
Let's try to enforce the convention where most drivers use a pmd. logtype with their class reflected in it, and libraries use a lib. logtype.
Introduce two new
log: register with standardized names
Let's try to enforce the convention where most drivers use a pmd. logtype with their class reflected in it, and libraries use a lib. logtype.
Introduce two new macros: - RTE_LOG_REGISTER_DEFAULT can be used when a single logtype is used in a component. It is associated to the default name provided by the build system, - RTE_LOG_REGISTER_SUFFIX can be used when multiple logtypes are used, and then the passed name is appended to the default name,
RTE_LOG_REGISTER is left untouched for existing external users and for components that do not comply with the convention.
There is a new Meson variable log_prefix to adapt the default name for baseband (pmd.bb.), bus (no pmd.) and mempool (no pmd.) classes.
Note: achieved with below commands + reverted change on net/bonding + edits on crypto/virtio, compress/mlx5, regex/mlx5
$ git grep -l RTE_LOG_REGISTER drivers/ | while read file; do pattern=${file##drivers/}; class=${pattern%%/*}; pattern=${pattern#$class/}; drv=${pattern%%/*}; case "$class" in baseband) pattern=pmd.bb.$drv;; bus) pattern=bus.$drv;; mempool) pattern=mempool.$drv;; *) pattern=pmd.$class.$drv;; esac sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern',/RTE_LOG_REGISTER_DEFAULT(\1,/' $file; sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern'\.\(.*\),/RTE_LOG_REGISTER_SUFFIX(\1, \2,/' $file; done
$ git grep -l RTE_LOG_REGISTER lib/ | while read file; do pattern=${file##lib/}; pattern=lib.${pattern%%/*}; sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern',/RTE_LOG_REGISTER_DEFAULT(\1,/' $file; sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern'\.\(.*\),/RTE_LOG_REGISTER_SUFFIX(\1, \2,/' $file; done
Signed-off-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
087ed975 |
| 18-Sep-2020 |
Ruifeng Wang <ruifeng.wang@arm.com> |
crypto/armv8: remove algo lists end
Removed references to RTE_CRYPTO_CIPHER_LIST_END and RTE_CRYPTO_AUTH_LIST_END to prevent ABI breakages that may arise when adding new crypto algorithms.
Signed-o
crypto/armv8: remove algo lists end
Removed references to RTE_CRYPTO_CIPHER_LIST_END and RTE_CRYPTO_AUTH_LIST_END to prevent ABI breakages that may arise when adding new crypto algorithms.
Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Phil Yang <phil.yang@arm.com>
show more ...
|
#
76a4ed5b |
| 31-Aug-2020 |
Ruifeng Wang <ruifeng.wang@arm.com> |
crypto/armv8: fix mempool object returning
Crypto session and device session private data were put back to wrong pools. This caused data corruption when the object was reallocated and used. Because
crypto/armv8: fix mempool object returning
Crypto session and device session private data were put back to wrong pools. This caused data corruption when the object was reallocated and used. Because objects from different mempools have different element size, and wrong mempool info caused out of bound write. Fix the issue by putting back objects to correct mempools.
Fixes: b3bbd9e5f265 ("cryptodev: support device independent sessions") Fixes: 725d2a7fbf71 ("cryptodev: change queue pair configure structure") Cc: stable@dpdk.org
Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
1ee3c4b4 |
| 28-Jul-2020 |
Ruifeng Wang <ruifeng.wang@arm.com> |
crypto/armv8: remove redundant assert definition
No need to define assert function in PMD since RTE provides the same. Remove private definition and use RTE_VERIFY instead.
Suggested-by: David Marc
crypto/armv8: remove redundant assert definition
No need to define assert function in PMD since RTE provides the same. Remove private definition and use RTE_VERIFY instead.
Suggested-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
28b05145 |
| 28-Jul-2020 |
Ruifeng Wang <ruifeng.wang@arm.com> |
crypto/armv8: use dedicated log type
armv8 crypto PMD used CRYPTODEV general log type. Create a dedicated log type for the PMD to not pollute CRYPTODEV log type.
Typo in crypto dev name macro cause
crypto/armv8: use dedicated log type
armv8 crypto PMD used CRYPTODEV general log type. Create a dedicated log type for the PMD to not pollute CRYPTODEV log type.
Typo in crypto dev name macro caused unexpected device name in log. Fixed the typo to log with correct device name.
Fixes: 169ca3db550c ("crypto/armv8: add PMD optimized for ARMv8 processors") Cc: stable@dpdk.org
Suggested-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
b3aaf24d |
| 16-Apr-2020 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
cryptodev: add session-less feature flag
Add feature flag for symmetric sessionless support, so it can be checked by applications.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acke
cryptodev: add session-less feature flag
Add feature flag for symmetric sessionless support, so it can be checked by applications.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Adam Dybkowski <adamx.dybkowski@intel.com> Tested-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
94b686e5 |
| 23-Jan-2020 |
Ruifeng Wang <ruifeng.wang@arm.com> |
crypto/armv8: fix clang build
1. Clang requires braces around initialization of subobject. 2. Clang complains implicit conversion of enumeration type.
Trapped issue with Clang version 8.0 and CONFI
crypto/armv8: fix clang build
1. Clang requires braces around initialization of subobject. 2. Clang complains implicit conversion of enumeration type.
Trapped issue with Clang version 8.0 and CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO was set. Error messages: rte_armv8_pmd.c:144:2: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] NULL ^~~~ { } /usr/lib/llvm-8/lib/clang/8.0.0/include/stddef.h:105:16: note: expanded from macro 'NULL' ^~~~~~~~~~ rte_armv8_pmd.c:429:21: error: implicit conversion from enumeration type 'enum rte_crypto_cipher_operation' to different enumeration type 'enum armv8_crypto_cipher_operation' [-Werror,-Wenum-conversion] cop = sess->cipher.direction; ~ ~~~~~~~~~~~~~^~~~~~~~~
Fixes: 169ca3db550c ("crypto/armv8: add PMD optimized for ARMv8 processors") Cc: stable@dpdk.org
Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Gavin Hu <gavin.hu@arm.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
bde43e8a |
| 23-Jan-2020 |
Ruifeng Wang <ruifeng.wang@arm.com> |
crypto/armv8: link to library hosted by Arm
Armv8 crypto PMD linked to armv8_crypto library created by Marvell. Maintenance of armv8_crypto library will be discontinued. Change Armv8 PMD to link to
crypto/armv8: link to library hosted by Arm
Armv8 crypto PMD linked to armv8_crypto library created by Marvell. Maintenance of armv8_crypto library will be discontinued. Change Armv8 PMD to link to AArch64 crypto library hosted by Arm.
Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Gavin Hu <gavin.hu@arm.com> Reviewed-by: Ola Liljedahl <ola.liljedahl@arm.com> Acked-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
b28f28ae |
| 22-Oct-2019 |
Dharmik Thakkar <dharmik.thakkar@arm.com> |
rename private header files
Some of the internal header files have 'rte_' prefix and some don't. Remove 'rte_' prefix from all internal header files.
Suggested-by: Thomas Monjalon <thomas@monjalon.
rename private header files
Some of the internal header files have 'rte_' prefix and some don't. Remove 'rte_' prefix from all internal header files.
Suggested-by: Thomas Monjalon <thomas@monjalon.net> Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com> Reviewed-by: Phil Yang <phil.yang@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
show more ...
|
#
310d2ea6 |
| 30-Sep-2019 |
Thierry Herbelot <thierry.herbelot@6wind.com> |
drivers/crypto: remove some invalid comments
A comment valid in AESNI PMD was copied and pasted in other code
Fixes: 8a61c83af2fa ("crypto/mrvl: add mrvl crypto driver") Fixes: 169ca3db550c ("crypt
drivers/crypto: remove some invalid comments
A comment valid in AESNI PMD was copied and pasted in other code
Fixes: 8a61c83af2fa ("crypto/mrvl: add mrvl crypto driver") Fixes: 169ca3db550c ("crypto/armv8: add PMD optimized for ARMv8 processors") Fixes: d61f70b4c918 ("crypto/libcrypto: add driver for OpenSSL library") Cc: stable@dpdk.org
Signed-off-by: Thierry Herbelot <thierry.herbelot@6wind.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
0b60386a |
| 10-Jan-2019 |
Fan Zhang <roy.fan.zhang@intel.com> |
cryptodev: add sym session header size function
This patch adds a new API in Cryptodev Framework. The API is used to get the header size for the created symmetric Cryptodev session.
Signed-off-by:
cryptodev: add sym session header size function
This patch adds a new API in Cryptodev Framework. The API is used to get the header size for the created symmetric Cryptodev session.
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 ...
|
#
725d2a7f |
| 10-Jan-2019 |
Fan Zhang <roy.fan.zhang@intel.com> |
cryptodev: change queue pair configure structure
This patch changes the cryptodev queue pair configure structure to enable two mempool passed into cryptodev PMD simutaneously.
Signed-off-by: Fan Zh
cryptodev: change queue pair configure structure
This patch changes the cryptodev queue pair configure structure to enable two mempool passed into cryptodev PMD simutaneously.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.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 ...
|
#
e1fc5b76 |
| 05-Jul-2018 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
cryptodev: remove max number of sessions parameter
Most crypto PMDs do not have a limitation of the number of the sessions that can be handled internally. The value that was set before was not actua
cryptodev: remove max number of sessions parameter
Most crypto PMDs do not have a limitation of the number of the sessions that can be handled internally. The value that was set before was not actually used at all, since the sessions are created at the application level. Therefore, this value is not parsed from the initial crypto parameters anymore and it is set to 0, meaning that there is no actual limit.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
a106fcce |
| 21-May-2018 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
cryptodev: rename functions to get session size
rte_cryptodev_get_header_session_size() and rte_cryptodev_get_private_session_size() functions are targeting symmetric sessions.
With the future addi
cryptodev: rename functions to get session size
rte_cryptodev_get_header_session_size() and rte_cryptodev_get_private_session_size() functions are targeting symmetric sessions.
With the future addition of asymmetric operations, these functions need to be renamed from *cryptodev_*_session_* to *cryptodev_sym_*_session_* to be symmetric specific.
The two original functions are marked as deprecated and will be removed in 18.08, so applications can still use the functions in 18.05.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Shally Verma <shally.verma@caviumnetworks.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
show more ...
|
#
f737f5ce |
| 09-Mar-2018 |
Fiona Trahe <fiona.trahe@intel.com> |
cryptodev: change argument of driver registration
Pass an rte_driver to the RTE_PMD_REGISTER_CRYPTO_DRIVER macro rather than an unspecified container which holds an rte_driver. All the macro actuall
cryptodev: change argument of driver registration
Pass an rte_driver to the RTE_PMD_REGISTER_CRYPTO_DRIVER macro rather than an unspecified container which holds an rte_driver. All the macro actually needs is the rte_driver, not the container holding it. This paves the way for a later patch in which a driver will be registered which does not naturally derive from a container and so avoids having to create an arbitrary container to pass in the rte_driver.
This patch changes the cryptodev lib macro and all the PMDs which use it.
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com> Reviewed-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
aaf4363e |
| 08-Jan-2018 |
Jerin Jacob <jerin.jacob@caviumnetworks.com> |
drivers: use SPDX tag for Cavium copyright files
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
|
#
d4a586d2 |
| 07-Nov-2017 |
Jianfeng Tan <jianfeng.tan@intel.com> |
bus/vdev: move code from EAL into a new driver
Move the vdev bus from lib/librte_eal to drivers/bus.
As the crypto vdev helper function refers to data structure in rte_vdev.h, so we move those help
bus/vdev: move code from EAL into a new driver
Move the vdev bus from lib/librte_eal to drivers/bus.
As the crypto vdev helper function refers to data structure in rte_vdev.h, so we move those helper function into drivers/bus too.
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
show more ...
|
#
f2f020d2 |
| 25-Oct-2017 |
Declan Doherty <declan.doherty@intel.com> |
cryptodev: break dependency on virtual device bus
Removes any dependency of librte_cryptodev on the virtual device infrastructure code and removes the functions which were virtual device specific.
cryptodev: break dependency on virtual device bus
Removes any dependency of librte_cryptodev on the virtual device infrastructure code and removes the functions which were virtual device specific.
Updates all virtual PMDs to remove dependencies on rte_cryptodev_vdev.h and replaces those calls with the new bus independent functions.
Due to these changes, the cryptodev ABI version gets bumped.
Signed-off-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Tested-by: Tomasz Duszynski <tdu@semihalf.com>
show more ...
|