History log of /dpdk/drivers/crypto/ipsec_mb/ipsec_mb_ops.c (Results 1 – 17 of 17)
Revision Date Author Comments
# 8484d74b 10-Oct-2024 Brian Dooley <brian.dooley@intel.com>

crypto/ipsec_mb: bump minimum IPsec MB version

AESNI_MB SW PMDs increment Intel IPsec MB version to 1.4.
A minimum IPsec Multi-buffer version of 1.4 or greater is now required
for the 24.11 LTS rele

crypto/ipsec_mb: bump minimum IPsec MB version

AESNI_MB SW PMDs increment Intel IPsec MB version to 1.4.
A minimum IPsec Multi-buffer version of 1.4 or greater is now required
for the 24.11 LTS release.

Signed-off-by: Brian Dooley <brian.dooley@intel.com>
Acked-by: Kai Ji <kai.ji@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Wathsala Vithanage <wathsala.vithanage@arm.com>

show more ...


# 74d88d04 18-Jun-2024 Stephen Hemminger <stephen@networkplumber.org>

memzone: remove unnecessary null checks

The function rte_memzone_free() already checks if the argument is NULL.
Add it to the coccinelle fix script and correct all the existing code.

Signed-off-by:

memzone: remove unnecessary null checks

The function rte_memzone_free() already checks if the argument is NULL.
Add it to the coccinelle fix script and correct all the existing code.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>

show more ...


# 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 ...


# f59851e0 14-Aug-2023 Stephen Hemminger <stephen@networkplumber.org>

crypto/ipsec_mb: use the existing dynamic logtype

There already is a logtype in this driver, use it!

Fixes: b35848bc01f6 ("crypto/ipsec_mb: add multi-process IPC request handler")

Signed-off-by: S

crypto/ipsec_mb: use the existing dynamic logtype

There already is a logtype in this driver, use it!

Fixes: b35848bc01f6 ("crypto/ipsec_mb: add multi-process IPC request handler")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Morten Brørup <mb@smartsharesystems.com>

show more ...


# db7dc907 17-May-2023 Ciara Power <ciara.power@intel.com>

crypto/ipsec_mb: optimize allocation in session

When configuring the session, use the queue pair mb_mgr that was already
allocated if possible. If this doesn't exist, then allocate a new mb_mgr.

Th

crypto/ipsec_mb: optimize allocation in session

When configuring the session, use the queue pair mb_mgr that was already
allocated if possible. If this doesn't exist, then allocate a new mb_mgr.

This reduces unnecessary cycles creating an mb_mgr for every session
configured.

Fixes: c75542ae4200 ("crypto/ipsec_mb: introduce IPsec_mb framework")
Cc: stable@dpdk.org

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Kai Ji <kai.ji@intel.com>

show more ...


# 2245ccf7 13-Jan-2023 Stephen Hemminger <stephen@networkplumber.org>

crypto/ipsec_mb: remove unnecessary null check

The function rte_ring_free() accepts NULL as valid input
like free() and other functions.

Found with null_free_check.cocci.

Fixes: 16d6ebb65d59 ("cry

crypto/ipsec_mb: remove unnecessary null check

The function rte_ring_free() accepts NULL as valid input
like free() and other functions.

Found with null_free_check.cocci.

Fixes: 16d6ebb65d59 ("crypto/ipsec_mb: fix null checks")
Cc: stable@dpdk.org

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
Acked-by: Fan Zhang <fanzhang.oss@gmail.com>
Acked-by: Kai Ji <kai.ji@intel.com>

show more ...


# e0e095d3 04-Nov-2022 Ciara Power <ciara.power@intel.com>

crypto/ipsec_mb: fix queue setup in secondary process

If a secondary process is using a queue pair that has been setup by the
primary process, we need to reset mb_mgr pointers.
This commit removes a

crypto/ipsec_mb: fix queue setup in secondary process

If a secondary process is using a queue pair that has been setup by the
primary process, we need to reset mb_mgr pointers.
This commit removes an error return in this case, allowing secondary to
do the remaining setup for the existing qp.

Fixes: b35848bc01f6 ("crypto/ipsec_mb: add multi-process IPC request handler")

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Kai Ji <kai.ji@intel.com>

show more ...


# 16d6ebb6 01-Nov-2022 Kai Ji <kai.ji@intel.com>

crypto/ipsec_mb: fix null checks

This patch fix the NULL pointer check when dereference qp
and ring lookup.

Coverity issue: 381625
Fixes: c75542ae4200 ("crypto/ipsec_mb: introduce IPsec_mb framewor

crypto/ipsec_mb: fix null checks

This patch fix the NULL pointer check when dereference qp
and ring lookup.

Coverity issue: 381625
Fixes: c75542ae4200 ("crypto/ipsec_mb: introduce IPsec_mb framework")
Cc: stable@dpdk.org

Signed-off-by: Kai Ji <kai.ji@intel.com>
Acked-by: Ciara Power <ciara.power@intel.com>

show more ...


# b35848bc 26-Oct-2022 Kai Ji <kai.ji@intel.com>

crypto/ipsec_mb: add multi-process IPC request handler

As the queue pair used in secondary process needs to be set up by
the primary process, this patch adds an IPC register function to help
seconda

crypto/ipsec_mb: add multi-process IPC request handler

As the queue pair used in secondary process needs to be set up by
the primary process, this patch adds an IPC register function to help
secondary process to send out queue-pair setup request to primary
process via IPC request messages. A new "qp_in_used_pid" param stores
the PID to provide the ownership of the queue-pair so that only the PID
matched queue-pair can be free'd in the request.

Signed-off-by: Kai Ji <kai.ji@intel.com>
Acked-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.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 ...


# f819a162 15-Feb-2022 Ciara Power <ciara.power@intel.com>

crypto/ipsec_mb: remove useless check

The qp is never NULL when it reaches the qp_setup_cleanup error handling
code. This is due to checks earlier in the function that return an error
if qp is NULL.

crypto/ipsec_mb: remove useless check

The qp is never NULL when it reaches the qp_setup_cleanup error handling
code. This is due to checks earlier in the function that return an error
if qp is NULL.

Coverity issue: 375013
Fixes: 581c39b1cb7d ("crypto/ipsec_mb: fix queue cleanup null pointer dereference")
Cc: stable@dpdk.org

Signed-off-by: Ciara Power <ciara.power@intel.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 ...


# 581c39b1 10-Dec-2021 Ciara Power <ciara.power@intel.com>

crypto/ipsec_mb: fix queue cleanup null pointer dereference

The qp was being used in the cleanup without checking if it was non NULL.
A check is now added to verify qp is non NULL before use.

Cover

crypto/ipsec_mb: fix queue cleanup null pointer dereference

The qp was being used in the cleanup without checking if it was non NULL.
A check is now added to verify qp is non NULL before use.

Coverity issue: 374375
Fixes: c75542ae4200 ("crypto/ipsec_mb: introduce IPsec_mb framework")
Cc: stable@dpdk.org

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>

show more ...


# f51e40d1 10-Dec-2021 Ciara Power <ciara.power@intel.com>

crypto/ipsec_mb: fix queue setup null pointer dereference

When setting up a qp in a secondary process, the local qp pointer is set
to the stored device qp, configured by the primary process for that

crypto/ipsec_mb: fix queue setup null pointer dereference

When setting up a qp in a secondary process, the local qp pointer is set
to the stored device qp, configured by the primary process for that
device, but only if that device qp is not NULL.
If the device qp was not set up correctly by the primary process and has
a NULL value, the local qp variable stays at the default initialised
value, NULL. This causes a NULL pointer dereference later in the
function when using the qp value.

This is fixed by always setting the local qp to the value of the device
qp stored, and then checking if qp is NULL, returning an error if it is.

Coverity issue: 374382
Fixes: 72a169278a56 ("crypto/ipsec_mb: support multi-process")
Cc: stable@dpdk.org

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>

show more ...


# 72a16927 15-Oct-2021 Ciara Power <ciara.power@intel.com>

crypto/ipsec_mb: support multi-process

The ipsec_mb SW PMD now has multiprocess support.
The queue-pair IMB_MGR is stored in a memzone instead of being allocated
externally by the Intel IPSec MB lib

crypto/ipsec_mb: support multi-process

The ipsec_mb SW PMD now has multiprocess support.
The queue-pair IMB_MGR is stored in a memzone instead of being allocated
externally by the Intel IPSec MB library, when v1.1 is used.
If v1.0 is used, multi process is not supported, and allocation is
done as before.
The secondary process needs to reconfigure the queue-pair to allow for
IMB_MGR function pointers be updated.

Intel IPsec MB library version 1.1 is required for this support.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>

show more ...


# c75542ae 15-Oct-2021 Fan Zhang <roy.fan.zhang@intel.com>

crypto/ipsec_mb: introduce IPsec_mb framework

This patch introduces the new framework to share common code between
the SW crypto PMDs that depend on the intel-ipsec-mb library.
This change helps to

crypto/ipsec_mb: introduce IPsec_mb framework

This patch introduces the new framework to share common code between
the SW crypto PMDs that depend on the intel-ipsec-mb library.
This change helps to reduce future effort on the code maintenance and
feature updates.

The PMDs that will be added to this framework in subsequent patches are:
- AESNI MB
- AESNI GCM
- CHACHA20_POLY1305
- KASUMI
- SNOW3G
- ZUC

The use of these PMDs will not change, they will still be supported for
x86, and will use the same EAL args as before.

The minimum required version for the intel-ipsec-mb library is now v1.0.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
Acked-by: Akhil Goyal <gakhil@marvell.com>

show more ...