DPDK 25.03.0-rc0
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
24struct rte_pmd_cnxk_crypto_qptr;
25
31struct 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
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
84struct rte_pmd_cnxk_crypto_qptr *rte_pmd_cnxk_crypto_qptr_get(uint8_t dev_id, uint16_t qp_id);
85
102__rte_experimental
103void rte_pmd_cnxk_crypto_submit(struct rte_pmd_cnxk_crypto_qptr *qptr, void *inst,
104 uint16_t nb_inst);
105
126__rte_experimental
127int 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
141struct rte_pmd_cnxk_crypto_cptr *rte_pmd_cnxk_crypto_cptr_get(
142 struct rte_pmd_cnxk_crypto_sess *rte_sess);
143
165__rte_experimental
166int 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
192int 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
210int 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_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