xref: /dpdk/drivers/crypto/null/null_crypto_pmd_private.h (revision 2b843cac232eb3f2fa79e4254e21766817e2019f)
15566a3e3SBruce Richardson /* SPDX-License-Identifier: BSD-3-Clause
25566a3e3SBruce 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 
112ce24ee7SFerruh Yigit extern int null_logtype_driver;
12*2b843cacSDavid Marchand #define RTE_LOGTYPE_NULL_DRIVER null_logtype_driver
1394b0ad8eSDeclan Doherty 
14*2b843cacSDavid Marchand #define NULL_LOG(level, ...)  \
15*2b843cacSDavid Marchand 	RTE_LOG_LINE_PREFIX(level, NULL_DRIVER, "%s() line %u: ", \
16*2b843cacSDavid Marchand 		__func__ RTE_LOG_COMMA __LINE__, __VA_ARGS__)
1794b0ad8eSDeclan Doherty 
1894b0ad8eSDeclan Doherty 
1994b0ad8eSDeclan Doherty /** private data structure for each NULL crypto device */
2094b0ad8eSDeclan Doherty struct null_crypto_private {
2194b0ad8eSDeclan Doherty 	unsigned max_nb_qpairs;		/**< Max number of queue pairs */
2294b0ad8eSDeclan Doherty };
2394b0ad8eSDeclan Doherty 
2494b0ad8eSDeclan Doherty /** NULL crypto queue pair */
2527595cd8STyler Retzlaff struct __rte_cache_aligned null_crypto_qp {
2694b0ad8eSDeclan Doherty 	uint16_t id;
2794b0ad8eSDeclan Doherty 	/**< Queue Pair Identifier */
28d1be1977SPablo de Lara 	char name[RTE_CRYPTODEV_NAME_MAX_LEN];
2994b0ad8eSDeclan Doherty 	/**< Unique Queue Pair Name */
3094b0ad8eSDeclan Doherty 	struct rte_ring *processed_pkts;
3194b0ad8eSDeclan Doherty 	/**< Ring for placing process packets */
3294b0ad8eSDeclan Doherty 	struct rte_mempool *sess_mp;
3394b0ad8eSDeclan Doherty 	/**< Session Mempool */
3494b0ad8eSDeclan Doherty 	struct rte_cryptodev_stats qp_stats;
3594b0ad8eSDeclan Doherty 	/**< Queue pair statistics */
3627595cd8STyler Retzlaff };
3794b0ad8eSDeclan Doherty 
3894b0ad8eSDeclan Doherty 
3994b0ad8eSDeclan Doherty /** NULL crypto private session structure */
4027595cd8STyler Retzlaff struct __rte_cache_aligned null_crypto_session {
4194b0ad8eSDeclan Doherty 	uint32_t reserved;
4227595cd8STyler Retzlaff };
4394b0ad8eSDeclan Doherty 
4494b0ad8eSDeclan Doherty /** Set and validate NULL crypto session parameters */
4594b0ad8eSDeclan Doherty extern int
4694b0ad8eSDeclan Doherty null_crypto_set_session_parameters(struct null_crypto_session *sess,
4794b0ad8eSDeclan Doherty 		const struct rte_crypto_sym_xform *xform);
4894b0ad8eSDeclan Doherty 
4994b0ad8eSDeclan Doherty /** device specific operations function pointer structure */
5094b0ad8eSDeclan Doherty extern struct rte_cryptodev_ops *null_crypto_pmd_ops;
5194b0ad8eSDeclan Doherty 
5294b0ad8eSDeclan Doherty #endif /* _NULL_CRYPTO_PMD_PRIVATE_H_ */
53