DPDK  24.11.0
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 /* Forward declarations */
17 
24 struct rte_pmd_cnxk_crypto_qptr;
25 
31 struct rte_pmd_cnxk_crypto_cptr;
32 
41  uint64_t ctx_enc_pkts;
43  uint64_t ctx_enc_bytes;
45  uint64_t ctx_dec_pkts;
47  uint64_t ctx_dec_bytes;
48 };
49 
58  enum rte_crypto_op_type op_type;
60  enum rte_crypto_op_sess_type sess_type;
62  union {
64  struct rte_security_session *sec_sess;
66  struct rte_cryptodev_sym_session *crypto_sym_sess;
68  struct rte_cryptodev_asym_session *crypto_asym_sess;
69  };
70 };
71 
83 __rte_experimental
84 struct rte_pmd_cnxk_crypto_qptr *rte_pmd_cnxk_crypto_qptr_get(uint8_t dev_id, uint16_t qp_id);
85 
102 __rte_experimental
103 void rte_pmd_cnxk_crypto_submit(struct rte_pmd_cnxk_crypto_qptr *qptr, void *inst,
104  uint16_t nb_inst);
105 
126 __rte_experimental
127 int rte_pmd_cnxk_crypto_cptr_flush(struct rte_pmd_cnxk_crypto_qptr *qptr,
128  struct rte_pmd_cnxk_crypto_cptr *cptr,
129  bool invalidate);
130 
140 __rte_experimental
141 struct rte_pmd_cnxk_crypto_cptr *rte_pmd_cnxk_crypto_cptr_get(
142  struct rte_pmd_cnxk_crypto_sess *rte_sess);
143 
165 __rte_experimental
166 int rte_pmd_cnxk_crypto_cptr_read(struct rte_pmd_cnxk_crypto_qptr *qptr,
167  struct rte_pmd_cnxk_crypto_cptr *cptr, void *data,
168  uint32_t len);
169 
191 __rte_experimental
192 int rte_pmd_cnxk_crypto_cptr_write(struct rte_pmd_cnxk_crypto_qptr *qptr,
193  struct rte_pmd_cnxk_crypto_cptr *cptr, void *data,
194  uint32_t len);
195 
209 __rte_experimental
210 int rte_pmd_cnxk_crypto_qp_stats_get(struct rte_pmd_cnxk_crypto_qptr *qptr,
211  struct rte_pmd_cnxk_crypto_qp_stats *stats);
212 
213 #endif /* _PMD_CNXK_CRYPTO_H_ */
__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)
__rte_experimental struct rte_pmd_cnxk_crypto_cptr * rte_pmd_cnxk_crypto_cptr_get(struct rte_pmd_cnxk_crypto_sess *rte_sess)
__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_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)
Crypto CNXK PMD session structure.
__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 void rte_pmd_cnxk_crypto_submit(struct rte_pmd_cnxk_crypto_qptr *qptr, void *inst, uint16_t nb_inst)
rte_crypto_op_sess_type
Definition: rte_crypto.h:61
struct rte_cryptodev_sym_session * crypto_sym_sess
Crypto CNXK queue pair stats.
struct rte_security_session * sec_sess
struct rte_cryptodev_asym_session * crypto_asym_sess