Branch data Line data Source code
1 : : /* SPDX-License-Identifier: BSD-3-Clause 2 : : * Copyright(C) 2021 Marvell. 3 : : */ 4 : : 5 : : #include <cryptodev_pmd.h> 6 : : #include <rte_malloc.h> 7 : : #include <rte_security.h> 8 : : #include <rte_security_driver.h> 9 : : 10 : : #include "cnxk_cryptodev_capabilities.h" 11 : : #include "cnxk_cryptodev_sec.h" 12 : : 13 : : /* Common security ops */ 14 : : struct rte_security_ops cnxk_sec_ops = { 15 : : .session_create = NULL, 16 : : .session_destroy = NULL, 17 : : .session_get_size = NULL, 18 : : .session_stats_get = NULL, 19 : : .set_pkt_metadata = NULL, 20 : : .capabilities_get = cnxk_crypto_sec_capabilities_get 21 : : }; 22 : : 23 : : int 24 : 0 : cnxk_crypto_sec_ctx_create(struct rte_cryptodev *cdev) 25 : : { 26 : : struct rte_security_ctx *ctx; 27 : : 28 : 0 : ctx = rte_malloc("cnxk_cpt_dev_sec_ctx", 29 : : sizeof(struct rte_security_ctx), 0); 30 : : 31 [ # # ]: 0 : if (ctx == NULL) 32 : : return -ENOMEM; 33 : : 34 : : /* Populate ctx */ 35 : 0 : ctx->device = cdev; 36 : 0 : ctx->ops = &cnxk_sec_ops; 37 : 0 : ctx->sess_cnt = 0; 38 : : 39 : 0 : cdev->security_ctx = ctx; 40 : : 41 : 0 : return 0; 42 : : } 43 : : 44 : : void 45 : 0 : cnxk_crypto_sec_ctx_destroy(struct rte_cryptodev *cdev) 46 : : { 47 : 0 : rte_free(cdev->security_ctx); 48 : 0 : }