1*5566a3e3SBruce Richardson /* SPDX-License-Identifier: BSD-3-Clause 2*5566a3e3SBruce Richardson * Copyright(c) 2016 Intel Corporation 394b0ad8eSDeclan Doherty */ 494b0ad8eSDeclan Doherty 594b0ad8eSDeclan Doherty #ifndef _NULL_CRYPTO_PMD_PRIVATE_H_ 694b0ad8eSDeclan Doherty #define _NULL_CRYPTO_PMD_PRIVATE_H_ 794b0ad8eSDeclan Doherty 8a3277ad4SSlawomir Mrozowicz #define CRYPTODEV_NAME_NULL_PMD crypto_null 9a3277ad4SSlawomir Mrozowicz /**< Null crypto PMD device name */ 10a3277ad4SSlawomir Mrozowicz 1194b0ad8eSDeclan Doherty #define NULL_CRYPTO_LOG_ERR(fmt, args...) \ 1294b0ad8eSDeclan Doherty RTE_LOG(ERR, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \ 13cdfb776bSPablo de Lara RTE_STR(CRYPTODEV_NAME_NULL_PMD), \ 1494b0ad8eSDeclan Doherty __func__, __LINE__, ## args) 1594b0ad8eSDeclan Doherty 1694b0ad8eSDeclan Doherty #ifdef RTE_LIBRTE_NULL_CRYPTO_DEBUG 1794b0ad8eSDeclan Doherty #define NULL_CRYPTO_LOG_INFO(fmt, args...) \ 1894b0ad8eSDeclan Doherty RTE_LOG(INFO, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \ 19cdfb776bSPablo de Lara RTE_STR(CRYPTODEV_NAME_NULL_PMD), \ 2094b0ad8eSDeclan Doherty __func__, __LINE__, ## args) 2194b0ad8eSDeclan Doherty 2294b0ad8eSDeclan Doherty #define NULL_CRYPTO_LOG_DBG(fmt, args...) \ 2394b0ad8eSDeclan Doherty RTE_LOG(DEBUG, CRYPTODEV, "[%s] %s() line %u: " fmt "\n", \ 24cdfb776bSPablo de Lara RTE_STR(CRYPTODEV_NAME_NULL_PMD), \ 2594b0ad8eSDeclan Doherty __func__, __LINE__, ## args) 2694b0ad8eSDeclan Doherty #else 2794b0ad8eSDeclan Doherty #define NULL_CRYPTO_LOG_INFO(fmt, args...) 2894b0ad8eSDeclan Doherty #define NULL_CRYPTO_LOG_DBG(fmt, args...) 2994b0ad8eSDeclan Doherty #endif 3094b0ad8eSDeclan Doherty 3194b0ad8eSDeclan Doherty 3294b0ad8eSDeclan Doherty /** private data structure for each NULL crypto device */ 3394b0ad8eSDeclan Doherty struct null_crypto_private { 3494b0ad8eSDeclan Doherty unsigned max_nb_qpairs; /**< Max number of queue pairs */ 3594b0ad8eSDeclan Doherty unsigned max_nb_sessions; /**< Max number of sessions */ 3694b0ad8eSDeclan Doherty }; 3794b0ad8eSDeclan Doherty 3894b0ad8eSDeclan Doherty /** NULL crypto queue pair */ 3994b0ad8eSDeclan Doherty struct null_crypto_qp { 4094b0ad8eSDeclan Doherty uint16_t id; 4194b0ad8eSDeclan Doherty /**< Queue Pair Identifier */ 4294b0ad8eSDeclan Doherty char name[RTE_CRYPTODEV_NAME_LEN]; 4394b0ad8eSDeclan Doherty /**< Unique Queue Pair Name */ 4494b0ad8eSDeclan Doherty struct rte_ring *processed_pkts; 4594b0ad8eSDeclan Doherty /**< Ring for placing process packets */ 4694b0ad8eSDeclan Doherty struct rte_mempool *sess_mp; 4794b0ad8eSDeclan Doherty /**< Session Mempool */ 4894b0ad8eSDeclan Doherty struct rte_cryptodev_stats qp_stats; 4994b0ad8eSDeclan Doherty /**< Queue pair statistics */ 5094b0ad8eSDeclan Doherty } __rte_cache_aligned; 5194b0ad8eSDeclan Doherty 5294b0ad8eSDeclan Doherty 5394b0ad8eSDeclan Doherty /** NULL crypto private session structure */ 5494b0ad8eSDeclan Doherty struct null_crypto_session { 5594b0ad8eSDeclan Doherty uint32_t reserved; 5694b0ad8eSDeclan Doherty } __rte_cache_aligned; 5794b0ad8eSDeclan Doherty 5894b0ad8eSDeclan Doherty /** Set and validate NULL crypto session parameters */ 5994b0ad8eSDeclan Doherty extern int 6094b0ad8eSDeclan Doherty null_crypto_set_session_parameters(struct null_crypto_session *sess, 6194b0ad8eSDeclan Doherty const struct rte_crypto_sym_xform *xform); 6294b0ad8eSDeclan Doherty 6394b0ad8eSDeclan Doherty /** device specific operations function pointer structure */ 6494b0ad8eSDeclan Doherty extern struct rte_cryptodev_ops *null_crypto_pmd_ops; 6594b0ad8eSDeclan Doherty 6694b0ad8eSDeclan Doherty #endif /* _NULL_CRYPTO_PMD_PRIVATE_H_ */ 67