net/ice/base: fix uninitialized stack variables
[dpdk.git] / lib / librte_cryptodev / rte_cryptodev.h
index c6ffa3b..3dbb5ce 100644 (file)
@@ -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 <rte_common.h>
 #include <rte_config.h>
 
+#include "rte_cryptodev_trace_fp.h"
+
 extern const char **rte_cyptodev_names;
 
 /* Logging Macros */
@@ -450,6 +452,10 @@ rte_cryptodev_asym_get_xform_enum(enum rte_crypto_asym_xform_type *xform_enum,
 /**< 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 */
 
 
 /**
@@ -922,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;
 }
 
@@ -962,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);
 }
@@ -1274,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