1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2018 Intel Corporation
5 #ifndef __INCLUDE_RTE_PORT_SYM_CRYPTO_H__
6 #define __INCLUDE_RTE_PORT_SYM_CRYPTO_H__
14 * RTE Port sym crypto Interface
16 * crypto_reader: input port built on top of pre-initialized crypto interface
17 * crypto_writer: output port built on top of pre-initialized crypto interface
23 #include <rte_cryptodev.h>
27 /** Function prototype for reader post action. */
28 typedef void (*rte_port_sym_crypto_reader_callback_fn)(struct rte_mbuf **pkts,
29 uint16_t n_pkts, void *arg);
31 /** Crypto_reader port parameters */
32 struct rte_port_sym_crypto_reader_params {
33 /** Target cryptodev ID. */
36 /** Target cryptodev Queue Pair ID. */
39 /** Crypto reader post callback function. */
40 rte_port_sym_crypto_reader_callback_fn f_callback;
42 /** Crypto reader post callback function arguments. */
46 /** Crypto_reader port operations. */
47 extern struct rte_port_in_ops rte_port_sym_crypto_reader_ops;
50 /** Crypto_writer port parameters. */
51 struct rte_port_sym_crypto_writer_params {
52 /** Target cryptodev ID. */
55 /** Target cryptodev Queue Pair ID. */
58 /** offset to rte_crypto_op in the mbufs. */
59 uint16_t crypto_op_offset;
61 /** Burst size to crypto interface. */
65 /** Crypto_writer port operations. */
66 extern struct rte_port_out_ops rte_port_sym_crypto_writer_ops;
68 /** Crypto_writer_nodrop port parameters. */
69 struct rte_port_sym_crypto_writer_nodrop_params {
70 /** Target cryptodev ID. */
73 /** Target cryptodev queue pair id. */
76 /** Offset to rte_crypto_op in the mbufs. */
77 uint16_t crypto_op_offset;
79 /** Burst size to crypto interface. */
82 /** Maximum number of retries, 0 for no limit. */
86 /** Crypto_writer_nodrop port operations. */
87 extern struct rte_port_out_ops rte_port_sym_crypto_writer_nodrop_ops;