xref: /dpdk/drivers/crypto/null/null_crypto_pmd_private.h (revision 5566a3e35866ce9e5eacf886c27b460ebfcd6ee9)
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