crypto/cnxk: add security context skeleton
Add security ctx in cn10k crypto PMD. Signed-off-by: Anoob Joseph <anoobj@marvell.com> Signed-off-by: Srujana Challa <schalla@marvell.com> Signed-off-by: Tejasree Kondoj <ktejasree@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
This commit is contained in:
parent
5db3d7d061
commit
4c023b6ebc
drivers/crypto/cnxk
@ -14,6 +14,7 @@
|
||||
#include "cn10k_cryptodev_ops.h"
|
||||
#include "cnxk_cryptodev.h"
|
||||
#include "cnxk_cryptodev_capabilities.h"
|
||||
#include "cnxk_cryptodev_sec.h"
|
||||
|
||||
#include "roc_api.h"
|
||||
|
||||
@ -77,6 +78,11 @@ cn10k_cpt_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
|
||||
plt_err("Failed to add engine group rc=%d", rc);
|
||||
goto dev_fini;
|
||||
}
|
||||
|
||||
/* Create security context */
|
||||
rc = cnxk_crypto_sec_ctx_create(dev);
|
||||
if (rc)
|
||||
goto dev_fini;
|
||||
}
|
||||
|
||||
cnxk_cpt_caps_populate(vf);
|
||||
@ -126,6 +132,9 @@ cn10k_cpt_pci_remove(struct rte_pci_device *pci_dev)
|
||||
if (dev == NULL)
|
||||
return -ENODEV;
|
||||
|
||||
/* Destroy security context */
|
||||
cnxk_crypto_sec_ctx_destroy(dev);
|
||||
|
||||
if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
|
||||
vf = dev->data->dev_private;
|
||||
ret = roc_cpt_dev_fini(&vf->cpt);
|
||||
|
47
drivers/crypto/cnxk/cnxk_cryptodev_sec.c
Normal file
47
drivers/crypto/cnxk/cnxk_cryptodev_sec.c
Normal file
@ -0,0 +1,47 @@
|
||||
/* SPDX-License-Identifier: BSD-3-Clause
|
||||
* Copyright(C) 2021 Marvell.
|
||||
*/
|
||||
|
||||
#include <rte_cryptodev.h>
|
||||
#include <rte_malloc.h>
|
||||
#include <rte_security.h>
|
||||
#include <rte_security_driver.h>
|
||||
|
||||
#include "cnxk_cryptodev_sec.h"
|
||||
|
||||
/* Common security ops */
|
||||
struct rte_security_ops cnxk_sec_ops = {
|
||||
.session_create = NULL,
|
||||
.session_destroy = NULL,
|
||||
.session_get_size = NULL,
|
||||
.set_pkt_metadata = NULL,
|
||||
.get_userdata = NULL,
|
||||
.capabilities_get = NULL,
|
||||
};
|
||||
|
||||
int
|
||||
cnxk_crypto_sec_ctx_create(struct rte_cryptodev *cdev)
|
||||
{
|
||||
struct rte_security_ctx *ctx;
|
||||
|
||||
ctx = rte_malloc("cnxk_cpt_dev_sec_ctx",
|
||||
sizeof(struct rte_security_ctx), 0);
|
||||
|
||||
if (ctx == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
/* Populate ctx */
|
||||
ctx->device = cdev;
|
||||
ctx->ops = &cnxk_sec_ops;
|
||||
ctx->sess_cnt = 0;
|
||||
|
||||
cdev->security_ctx = ctx;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
cnxk_crypto_sec_ctx_destroy(struct rte_cryptodev *cdev)
|
||||
{
|
||||
rte_free(cdev->security_ctx);
|
||||
}
|
14
drivers/crypto/cnxk/cnxk_cryptodev_sec.h
Normal file
14
drivers/crypto/cnxk/cnxk_cryptodev_sec.h
Normal file
@ -0,0 +1,14 @@
|
||||
/* SPDX-License-Identifier: BSD-3-Clause
|
||||
* Copyright(C) 2021 Marvell.
|
||||
*/
|
||||
|
||||
#ifndef __CNXK_CRYPTODEV_SEC_H__
|
||||
#define __CNXK_CRYPTODEV_SEC_H__
|
||||
|
||||
#include <rte_cryptodev.h>
|
||||
|
||||
int cnxk_crypto_sec_ctx_create(struct rte_cryptodev *crypto_dev);
|
||||
|
||||
void cnxk_crypto_sec_ctx_destroy(struct rte_cryptodev *crypto_dev);
|
||||
|
||||
#endif /* __CNXK_CRYPTODEV_SEC_H__ */
|
@ -16,6 +16,7 @@ sources = files(
|
||||
'cnxk_cryptodev.c',
|
||||
'cnxk_cryptodev_capabilities.c',
|
||||
'cnxk_cryptodev_ops.c',
|
||||
'cnxk_cryptodev_sec.c',
|
||||
)
|
||||
|
||||
deps += ['bus_pci', 'common_cnxk']
|
||||
deps += ['bus_pci', 'common_cnxk', 'security']
|
||||
|
Loading…
x
Reference in New Issue
Block a user