DPDK  24.11.3
rte_pmd_cnxk_crypto.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2024 Marvell.
3  */
4 
11 #ifndef _PMD_CNXK_CRYPTO_H_
12 #define _PMD_CNXK_CRYPTO_H_
13 
14 #include <stdint.h>
15 
16 #include <rte_crypto.h>
17 #include <rte_security.h>
18 
19 /* Forward declarations */
20 
27 struct rte_pmd_cnxk_crypto_qptr;
28 
34 struct rte_pmd_cnxk_crypto_cptr;
35 
44  uint64_t ctx_enc_pkts;
46  uint64_t ctx_enc_bytes;
48  uint64_t ctx_dec_pkts;
50  uint64_t ctx_dec_bytes;
51 };
52 
65  union {
67  struct rte_security_session *sec_sess;
69  struct rte_cryptodev_sym_session *crypto_sym_sess;
71  struct rte_cryptodev_asym_session *crypto_asym_sess;
72  };
73 };
74 
86 __rte_experimental
87 struct rte_pmd_cnxk_crypto_qptr *rte_pmd_cnxk_crypto_qptr_get(uint8_t dev_id, uint16_t qp_id);
88 
105 __rte_experimental
106 void rte_pmd_cnxk_crypto_submit(struct rte_pmd_cnxk_crypto_qptr *qptr, void *inst,
107  uint16_t nb_inst);
108 
129 __rte_experimental
130 int rte_pmd_cnxk_crypto_cptr_flush(struct rte_pmd_cnxk_crypto_qptr *qptr,
131  struct rte_pmd_cnxk_crypto_cptr *cptr,
132  bool invalidate);
133 
143 __rte_experimental
144 struct rte_pmd_cnxk_crypto_cptr *rte_pmd_cnxk_crypto_cptr_get(
145  struct rte_pmd_cnxk_crypto_sess *rte_sess);
146 
168 __rte_experimental
169 int rte_pmd_cnxk_crypto_cptr_read(struct rte_pmd_cnxk_crypto_qptr *qptr,
170  struct rte_pmd_cnxk_crypto_cptr *cptr, void *data,
171  uint32_t len);
172 
194 __rte_experimental
195 int rte_pmd_cnxk_crypto_cptr_write(struct rte_pmd_cnxk_crypto_qptr *qptr,
196  struct rte_pmd_cnxk_crypto_cptr *cptr, void *data,
197  uint32_t len);
198 
212 __rte_experimental
213 int rte_pmd_cnxk_crypto_qp_stats_get(struct rte_pmd_cnxk_crypto_qptr *qptr,
214  struct rte_pmd_cnxk_crypto_qp_stats *stats);
215 
216 #endif /* _PMD_CNXK_CRYPTO_H_ */
rte_crypto_op_sess_type
Definition: rte_crypto.h:61
rte_crypto_op_type
Definition: rte_crypto.h:28
__rte_experimental int rte_pmd_cnxk_crypto_qp_stats_get(struct rte_pmd_cnxk_crypto_qptr *qptr, struct rte_pmd_cnxk_crypto_qp_stats *stats)
__rte_experimental struct rte_pmd_cnxk_crypto_qptr * rte_pmd_cnxk_crypto_qptr_get(uint8_t dev_id, uint16_t qp_id)
__rte_experimental int rte_pmd_cnxk_crypto_cptr_flush(struct rte_pmd_cnxk_crypto_qptr *qptr, struct rte_pmd_cnxk_crypto_cptr *cptr, bool invalidate)
__rte_experimental struct rte_pmd_cnxk_crypto_cptr * rte_pmd_cnxk_crypto_cptr_get(struct rte_pmd_cnxk_crypto_sess *rte_sess)
__rte_experimental void rte_pmd_cnxk_crypto_submit(struct rte_pmd_cnxk_crypto_qptr *qptr, void *inst, uint16_t nb_inst)
__rte_experimental int rte_pmd_cnxk_crypto_cptr_read(struct rte_pmd_cnxk_crypto_qptr *qptr, struct rte_pmd_cnxk_crypto_cptr *cptr, void *data, uint32_t len)
__rte_experimental int rte_pmd_cnxk_crypto_cptr_write(struct rte_pmd_cnxk_crypto_qptr *qptr, struct rte_pmd_cnxk_crypto_cptr *cptr, void *data, uint32_t len)
Crypto CNXK queue pair stats.
Crypto CNXK PMD session structure.
enum rte_crypto_op_sess_type sess_type
struct rte_cryptodev_asym_session * crypto_asym_sess
struct rte_cryptodev_sym_session * crypto_sym_sess
enum rte_crypto_op_type op_type
struct rte_security_session * sec_sess