cryptodev: support device independent sessions
[dpdk.git] / examples / ipsec-secgw / ipsec.c
index f09dce9..0afb9d6 100644 (file)
@@ -45,7 +45,7 @@
 #include "esp.h"
 
 static inline int
-create_session(struct ipsec_ctx *ipsec_ctx __rte_unused, struct ipsec_sa *sa)
+create_session(struct ipsec_ctx *ipsec_ctx, struct ipsec_sa *sa)
 {
        struct rte_cryptodev_info cdev_info;
        unsigned long cdev_id_qp = 0;
@@ -72,7 +72,10 @@ create_session(struct ipsec_ctx *ipsec_ctx __rte_unused, struct ipsec_sa *sa)
                        ipsec_ctx->tbl[cdev_id_qp].qp);
 
        sa->crypto_session = rte_cryptodev_sym_session_create(
-                       ipsec_ctx->tbl[cdev_id_qp].id, sa->xforms);
+                       ipsec_ctx->session_pool);
+       rte_cryptodev_sym_session_init(ipsec_ctx->tbl[cdev_id_qp].id,
+                       sa->crypto_session, sa->xforms,
+                       ipsec_ctx->session_pool);
 
        rte_cryptodev_info_get(ipsec_ctx->tbl[cdev_id_qp].id, &cdev_info);
        if (cdev_info.sym.max_nb_sessions_per_qp > 0) {