DPDK 25.07.0-rc3
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
27struct rte_pmd_cnxk_crypto_qptr;
28
34struct 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
87struct rte_pmd_cnxk_crypto_qptr *rte_pmd_cnxk_crypto_qptr_get(uint8_t dev_id, uint16_t qp_id);
88
105__rte_experimental
106void rte_pmd_cnxk_crypto_submit(struct rte_pmd_cnxk_crypto_qptr *qptr, void *inst,
107 uint16_t nb_inst);
108
129__rte_experimental
130int 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
144struct rte_pmd_cnxk_crypto_cptr *rte_pmd_cnxk_crypto_cptr_get(
145 struct rte_pmd_cnxk_crypto_sess *rte_sess);
146
168__rte_experimental
169int 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
195int 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
213int 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 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)
__rte_experimental struct rte_pmd_cnxk_crypto_cptr * rte_pmd_cnxk_crypto_cptr_get(struct rte_pmd_cnxk_crypto_sess *rte_sess)
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