crypto/cnxk: add asymmetric session
[dpdk.git] / drivers / crypto / cnxk / cnxk_cryptodev_ops.h
index 0a3c705..c317f40 100644 (file)
 
 #define CNXK_CPT_MIN_HEADROOM_REQ 24
 
+/* Default command timeout in seconds */
+#define DEFAULT_COMMAND_TIMEOUT 4
+
+#define MOD_INC(i, l) ((i) == (l - 1) ? (i) = 0 : (i)++)
+
 struct cpt_qp_meta_info {
        struct rte_mempool *pool;
        int mlen;
@@ -26,6 +31,10 @@ enum sym_xform_type {
        CNXK_CPT_CIPHER_DEC_AUTH_VRFY
 };
 
+#define CPT_OP_FLAGS_METABUF          (1 << 1)
+#define CPT_OP_FLAGS_AUTH_VERIFY       (1 << 0)
+#define CPT_OP_FLAGS_IPSEC_DIR_INBOUND (1 << 2)
+
 struct cpt_inflight_req {
        union cpt_res_s res;
        struct rte_crypto_op *cop;
@@ -96,4 +105,12 @@ void cnxk_cpt_sym_session_clear(struct rte_cryptodev *dev,
 
 void sym_session_clear(int driver_id, struct rte_cryptodev_sym_session *sess);
 
+unsigned int cnxk_ae_session_size_get(struct rte_cryptodev *dev __rte_unused);
+
+void cnxk_ae_session_clear(struct rte_cryptodev *dev,
+                          struct rte_cryptodev_asym_session *sess);
+int cnxk_ae_session_cfg(struct rte_cryptodev *dev,
+                       struct rte_crypto_asym_xform *xform,
+                       struct rte_cryptodev_asym_session *sess,
+                       struct rte_mempool *pool);
 #endif /* _CNXK_CRYPTODEV_OPS_H_ */