X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_cryptodev%2Frte_cryptodev.h;h=3dbb5ceb23283ff9034c869b0f840b5ee53c7ad7;hb=cdfa0dc1702bcfe6c403d3cfe4046b29c8e6c5b9;hp=e175b838c71a2d9c6eac9226cb853d66eb3eff0d;hpb=90197eb0945b50c9cd6e11f310cfc5078b28f75e;p=dpdk.git diff --git a/lib/librte_cryptodev/rte_cryptodev.h b/lib/librte_cryptodev/rte_cryptodev.h index e175b838c7..3dbb5ceb23 100644 --- a/lib/librte_cryptodev/rte_cryptodev.h +++ b/lib/librte_cryptodev/rte_cryptodev.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2015-2017 Intel Corporation. + * Copyright(c) 2015-2020 Intel Corporation. */ #ifndef _RTE_CRYPTODEV_H_ @@ -24,6 +24,8 @@ extern "C" { #include #include +#include "rte_cryptodev_trace_fp.h" + extern const char **rte_cyptodev_names; /* Logging Macros */ @@ -448,6 +450,12 @@ rte_cryptodev_asym_get_xform_enum(enum rte_crypto_asym_xform_type *xform_enum, /**< Support RSA Private Key OP with CRT (quintuple) Keys */ #define RTE_CRYPTODEV_FF_DIGEST_ENCRYPTED (1ULL << 19) /**< Support encrypted-digest operations where digest is appended to data */ +#define RTE_CRYPTODEV_FF_ASYM_SESSIONLESS (1ULL << 20) +/**< Support asymmetric session-less operations */ +#define RTE_CRYPTODEV_FF_SYM_CPU_CRYPTO (1ULL << 21) +/**< Support symmetric cpu-crypto processing */ +#define RTE_CRYPTODEV_FF_SYM_SESSIONLESS (1ULL << 22) +/**< Support symmetric session-less operations */ /** @@ -920,6 +928,7 @@ rte_cryptodev_dequeue_burst(uint8_t dev_id, uint16_t qp_id, nb_ops = (*dev->dequeue_burst) (dev->data->queue_pairs[qp_id], ops, nb_ops); + rte_cryptodev_trace_dequeue_burst(dev_id, qp_id, (void **)ops, nb_ops); return nb_ops; } @@ -960,6 +969,7 @@ rte_cryptodev_enqueue_burst(uint8_t dev_id, uint16_t qp_id, { struct rte_cryptodev *dev = &rte_cryptodevs[dev_id]; + rte_cryptodev_trace_enqueue_burst(dev_id, qp_id, (void **)ops, nb_ops); return (*dev->enqueue_burst)( dev->data->queue_pairs[qp_id], ops, nb_ops); } @@ -1272,6 +1282,24 @@ void * rte_cryptodev_sym_session_get_user_data( struct rte_cryptodev_sym_session *sess); +/** + * Perform actual crypto processing (encrypt/digest or auth/decrypt) + * on user provided data. + * + * @param dev_id The device identifier. + * @param sess Cryptodev session structure + * @param ofs Start and stop offsets for auth and cipher operations + * @param vec Vectorized operation descriptor + * + * @return + * - Returns number of successfully processed packets. + */ +__rte_experimental +uint32_t +rte_cryptodev_sym_cpu_crypto_process(uint8_t dev_id, + struct rte_cryptodev_sym_session *sess, union rte_crypto_sym_ofs ofs, + struct rte_crypto_sym_vec *vec); + #ifdef __cplusplus } #endif