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