#
b00bf84f |
| 05-Jul-2024 |
Julien Hascoet <ju.hascoet@gmail.com> |
crypto/scheduler: fix session size computation
The crypto scheduler session size computation was taking into account only the worker session sizes and not its own.
Fixes: e2af4e403c15 ("crypto/sche
crypto/scheduler: fix session size computation
The crypto scheduler session size computation was taking into account only the worker session sizes and not its own.
Fixes: e2af4e403c15 ("crypto/scheduler: support DOCSIS security protocol") Cc: stable@dpdk.org
Signed-off-by: Julien Hascoet <ju.hascoet@gmail.com> Acked-by: Kai Ji <kai.ji@intel.com>
show more ...
|
#
e2af4e40 |
| 19-Sep-2023 |
David Coyle <david.coyle@intel.com> |
crypto/scheduler: support DOCSIS security protocol
Add support to the cryptodev scheduler PMD for the DOCSIS security protocol. This includes adding the following to the scheduler: - synchronization
crypto/scheduler: support DOCSIS security protocol
Add support to the cryptodev scheduler PMD for the DOCSIS security protocol. This includes adding the following to the scheduler: - synchronization of worker's security capabilities - retrieval of the scheduler's synchronized security capabilities - retrieval of the security session size i.e. maximum session size across all workers - creation of security sessions on each worker - deletion of security sessions on each worker
Signed-off-by: David Coyle <david.coyle@intel.com> Signed-off-by: Kevin O'Sullivan <kevin.osullivan@intel.com> Acked-by: Ciara Power <ciara.power@intel.com> Acked-by: Anoob Joseph <anoobj@marvell.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 ...
|
#
6812b9bf |
| 04-Oct-2022 |
Fan Zhang <roy.fan.zhang@intel.com> |
crypto/scheduler: use unified session
This patch updates the scheduler PMD to use unified session data structure. Previously thanks to the private session array in cryptodev sym session there are no
crypto/scheduler: use unified session
This patch updates the scheduler PMD to use unified session data structure. Previously thanks to the private session array in cryptodev sym session there are no necessary change needed for scheduler PMD other than the way ops are enqueued/dequeued. The patch inherits the same design in the original session data structure to the scheduler PMD so the cryptodev sym session can be as a linear buffer for both session header and driver private data.
With the change there are inevitable extra cost on both memory (64 bytes per session per driver type) and cycle count (set the correct session for each cop based on the worker before enqueue, and retrieve the original session after dequeue).
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Signed-off-by: Akhil Goyal <gakhil@marvell.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 ...
|
#
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 ...
|
#
06c047b6 |
| 09-Feb-2022 |
Stephen Hemminger <stephen@networkplumber.org> |
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free functions found by nullfree.cocci
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
beb4c305 |
| 20-Oct-2021 |
Akhil Goyal <gakhil@marvell.com> |
crypto/scheduler: use proper API for device start/stop
The worker PMDs were using direct device start/stop functions rather than rte_cryptodev_start(), so rte_crypto_fp_ops never get set. This patch
crypto/scheduler: use proper API for device start/stop
The worker PMDs were using direct device start/stop functions rather than rte_cryptodev_start(), so rte_crypto_fp_ops never get set. This patch calls the rte_cryptodev_start and stop APIs which start and stop devices properly and fp_ops get set.
Reported-by: Ciara Power <ciara.power@intel.com> 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 ...
|
#
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 ...
|
#
85b00824 |
| 28-Sep-2020 |
Adam Dybkowski <adamx.dybkowski@intel.com> |
crypto/scheduler: rename slave to worker
This patch replaces the usage of the word 'slave' with more appropriate word 'worker' in QAT PMD and Scheduler PMD as well as in their docs. Also the test ap
crypto/scheduler: rename slave to worker
This patch replaces the usage of the word 'slave' with more appropriate word 'worker' in QAT PMD and Scheduler PMD as well as in their docs. Also the test app was modified to use the new wording.
The Scheduler PMD's public API was modified according to the previous deprecation notice: rte_cryptodev_scheduler_slave_attach is now called rte_cryptodev_scheduler_worker_attach, rte_cryptodev_scheduler_slave_detach is rte_cryptodev_scheduler_worker_detach, rte_cryptodev_scheduler_slaves_get is rte_cryptodev_scheduler_workers_get.
Also, the configuration value RTE_CRYPTODEV_SCHEDULER_MAX_NB_SLAVES was renamed to RTE_CRYPTODEV_SCHEDULER_MAX_NB_WORKERS.
Signed-off-by: Adam Dybkowski <adamx.dybkowski@intel.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
728aaeff |
| 06-Mar-2020 |
Artur Trybula <arturx.trybula@intel.com> |
cryptodev: remove unused operation for queue count
This commit removes unused function pointer (queue_pair_count) from struct rte_cryptodev_ops. Related functions removed as well.
Signed-off-by: Ar
cryptodev: remove unused operation for queue count
This commit removes unused function pointer (queue_pair_count) from struct rte_cryptodev_ops. Related functions removed as well.
Signed-off-by: Artur Trybula <arturx.trybula@intel.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Anoob Joseph <anoobj@marvell.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 ...
|
#
b74fd6b8 |
| 28-Oct-2018 |
Ferruh Yigit <ferruh.yigit@intel.com> |
add missing static keyword to globals
Some global variables can indeed be static, add static keyword to them.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Jerin Jacob <jerin.jacob
add missing static keyword to globals
Some global variables can indeed be static, add static keyword to them.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
show more ...
|
#
6c8e8dfe |
| 10-Jul-2018 |
Anoob Joseph <anoob.joseph@caviumnetworks.com> |
crypto/scheduler: add minimum head/tailroom requirement
Minimum head/tailroom requirement for each PMD has to be considered while populating the dev_info.
Signed-off-by: Anoob Joseph <anoob.joseph@
crypto/scheduler: add minimum head/tailroom requirement
Minimum head/tailroom requirement for each PMD has to be considered while populating the dev_info.
Signed-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.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 ...
|
#
62303e43 |
| 05-Jul-2018 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
cryptodev: remove queue start/stop functions
Removed cryptodev queue start/stop functions, as they were marked deprecated in 18.05, since they were not implemented by any driver.
Signed-off-by: Pab
cryptodev: remove queue start/stop functions
Removed cryptodev queue start/stop functions, as they were marked deprecated in 18.05, since they were not implemented by any driver.
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 ...
|
#
85aa6d34 |
| 29-Jun-2018 |
Hari Kumar <hari.kumarx.vemula@intel.com> |
crypto/scheduler: add dynamic logging
Registered new dynamic logtype for driver and replaced CS_LOG_ERR and RTE_LOG macros with new CR_SCHED macro, which uses the new logtype.
Signed-off-by: Hari K
crypto/scheduler: add dynamic logging
Registered new dynamic logtype for driver and replaced CS_LOG_ERR and RTE_LOG macros with new CR_SCHED macro, which uses the new logtype.
Signed-off-by: Hari Kumar <hari.kumarx.vemula@intel.com> Reviewed-by: Reshma Pattan <reshma.pattan@intel.com> Reviewed-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
06f0a569 |
| 26-Apr-2018 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
crypto/scheduler: set null pointer after freeing
When freeing memory, pointers should be set to NULL, to avoid memory corruption/segmentation faults.
Fixes: 31439ee72b2c ("crypto/scheduler: add API
crypto/scheduler: set null pointer after freeing
When freeing memory, pointers should be set to NULL, to avoid memory corruption/segmentation faults.
Fixes: 31439ee72b2c ("crypto/scheduler: add API implementations") Fixes: 50e14527b9d1 ("crypto/scheduler: improve parameters parsing") Fixes: 57523e682bb7 ("crypto/scheduler: register operation functions") Fixes: a783aa634410 ("crypto/scheduler: add packet size based mode") Fixes: 4c07e0552f0a ("crypto/scheduler: add multicore scheduling mode") Cc: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
show more ...
|
#
5566a3e3 |
| 19-Dec-2017 |
Bruce Richardson <bruce.richardson@intel.com> |
drivers: use SPDX tag for Intel copyright files
Replace the BSD license header with the SPDX tag for files with only an Intel copyright on them.
Signed-off-by: Bruce Richardson <bruce.richardson@in
drivers: use SPDX tag for Intel copyright files
Replace the BSD license header with the SPDX tag for files with only an Intel copyright on them.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
f1a7a5c5 |
| 02-Nov-2017 |
Thomas Monjalon <thomas@monjalon.net> |
remove include of generated config header
The file rte_config.h is generated and automatically included with -include option. The explicit includes in drivers and libraries are useless.
Signed-off-
remove include of generated config header
The file rte_config.h is generated and automatically included with -include option. The explicit includes in drivers and libraries are useless.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
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 ...
|
#
27391b53 |
| 25-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
cryptodev: fix session init return value
When calling rte_cryptodev_sym_session_init(), if there was an error, it returned -1, instead of returning the specific error code, which can be valuable for
cryptodev: fix session init return value
When calling rte_cryptodev_sym_session_init(), if there was an error, it returned -1, instead of returning the specific error code, which can be valuable for the application for error handling.
Fixes: b3bbd9e5f265 ("cryptodev: support device independent sessions")
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
show more ...
|
#
f7db6f82 |
| 05-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
cryptodev: add mempool pointer in queue pair setup
The session mempool pointer is needed in each queue pair, if session-less operations are being handled. Therefore, the API is changed to accept thi
cryptodev: add mempool pointer in queue pair setup
The session mempool pointer is needed in each queue pair, if session-less operations are being handled. Therefore, the API is changed to accept this parameter, as the session mempool is created outside the device configuration function, similar to what ethdev does with the rx queues.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|