]> git.proxmox.com Git - ceph.git/blob - ceph/src/seastar/dpdk/drivers/crypto/null/null_crypto_pmd_private.h
import 15.2.0 Octopus source
[ceph.git] / ceph / src / seastar / dpdk / drivers / crypto / null / null_crypto_pmd_private.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2016 Intel Corporation
3 */
4
5 #ifndef _NULL_CRYPTO_PMD_PRIVATE_H_
6 #define _NULL_CRYPTO_PMD_PRIVATE_H_
7
8 #define CRYPTODEV_NAME_NULL_PMD crypto_null
9 /**< Null crypto PMD device name */
10
11 int null_logtype_driver;
12
13 #define NULL_LOG(level, fmt, ...) \
14 rte_log(RTE_LOG_ ## level, null_logtype_driver, \
15 "%s() line %u: "fmt "\n", __func__, __LINE__, \
16 ## __VA_ARGS__)
17
18
19 /** private data structure for each NULL crypto device */
20 struct null_crypto_private {
21 unsigned max_nb_qpairs; /**< Max number of queue pairs */
22 };
23
24 /** NULL crypto queue pair */
25 struct null_crypto_qp {
26 uint16_t id;
27 /**< Queue Pair Identifier */
28 char name[RTE_CRYPTODEV_NAME_MAX_LEN];
29 /**< Unique Queue Pair Name */
30 struct rte_ring *processed_pkts;
31 /**< Ring for placing process packets */
32 struct rte_mempool *sess_mp;
33 /**< Session Mempool */
34 struct rte_mempool *sess_mp_priv;
35 /**< Session Mempool */
36 struct rte_cryptodev_stats qp_stats;
37 /**< Queue pair statistics */
38 } __rte_cache_aligned;
39
40
41 /** NULL crypto private session structure */
42 struct null_crypto_session {
43 uint32_t reserved;
44 } __rte_cache_aligned;
45
46 /** Set and validate NULL crypto session parameters */
47 extern int
48 null_crypto_set_session_parameters(struct null_crypto_session *sess,
49 const struct rte_crypto_sym_xform *xform);
50
51 /** device specific operations function pointer structure */
52 extern struct rte_cryptodev_ops *null_crypto_pmd_ops;
53
54 #endif /* _NULL_CRYPTO_PMD_PRIVATE_H_ */