From 8d01b9cd70a67cdafd5b965a70420c3bd7fb3f82 Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Thu, 1 Nov 2018 11:59:50 +0000 Subject: New upstream version 18.11-rc1 Change-Id: Iaa71986dd6332e878d8f4bf493101b2bbc6313bb Signed-off-by: Luca Boccassi --- lib/librte_port/rte_port_sym_crypto.h | 93 +++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 lib/librte_port/rte_port_sym_crypto.h (limited to 'lib/librte_port/rte_port_sym_crypto.h') diff --git a/lib/librte_port/rte_port_sym_crypto.h b/lib/librte_port/rte_port_sym_crypto.h new file mode 100644 index 00000000..181f6ce0 --- /dev/null +++ b/lib/librte_port/rte_port_sym_crypto.h @@ -0,0 +1,93 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2018 Intel Corporation + */ + +#ifndef __INCLUDE_RTE_PORT_SYM_CRYPTO_H__ +#define __INCLUDE_RTE_PORT_SYM_CRYPTO_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @file + * RTE Port sym crypto Interface + * + * crypto_reader: input port built on top of pre-initialized crypto interface + * crypto_writer: output port built on top of pre-initialized crypto interface + * + **/ + +#include + +#include + +#include "rte_port.h" + +/** Function prototype for reader post action. */ +typedef void (*rte_port_sym_crypto_reader_callback_fn)(struct rte_mbuf **pkts, + uint16_t n_pkts, void *arg); + +/** Crypto_reader port parameters */ +struct rte_port_sym_crypto_reader_params { + /** Target cryptodev ID. */ + uint8_t cryptodev_id; + + /** Target cryptodev Queue Pair ID. */ + uint16_t queue_id; + + /** Crypto reader post callback function. */ + rte_port_sym_crypto_reader_callback_fn f_callback; + + /** Crypto reader post callback function arguments. */ + void *arg_callback; +}; + +/** Crypto_reader port operations. */ +extern struct rte_port_in_ops rte_port_sym_crypto_reader_ops; + + +/** Crypto_writer port parameters. */ +struct rte_port_sym_crypto_writer_params { + /** Target cryptodev ID. */ + uint8_t cryptodev_id; + + /** Target cryptodev Queue Pair ID. */ + uint16_t queue_id; + + /** offset to rte_crypto_op in the mbufs. */ + uint16_t crypto_op_offset; + + /** Burst size to crypto interface. */ + uint32_t tx_burst_sz; +}; + +/** Crypto_writer port operations. */ +extern struct rte_port_out_ops rte_port_sym_crypto_writer_ops; + +/** Crypto_writer_nodrop port parameters. */ +struct rte_port_sym_crypto_writer_nodrop_params { + /** Target cryptodev ID. */ + uint8_t cryptodev_id; + + /** Target cryptodev queue pair id. */ + uint16_t queue_id; + + /** Offset to rte_crypto_op in the mbufs. */ + uint16_t crypto_op_offset; + + /** Burst size to crypto interface. */ + uint32_t tx_burst_sz; + + /** Maximum number of retries, 0 for no limit. */ + uint32_t n_retries; +}; + +/** Crypto_writer_nodrop port operations. */ +extern struct rte_port_out_ops rte_port_sym_crypto_writer_nodrop_ops; + +#ifdef __cplusplus +} +#endif + +#endif -- cgit 1.2.3-korg