cryptodev: move session init out of pool creation
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Wed, 5 Jul 2017 05:26:10 +0000 (06:26 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Thu, 6 Jul 2017 20:34:54 +0000 (22:34 +0200)
Prior to removing the session pool creation from cryptodev
configure function, session init function needs to be
separated from the pool creation.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
lib/librte_cryptodev/rte_cryptodev.c

index 107632b..cf444c0 100644 (file)
@@ -1091,13 +1091,9 @@ rte_cryptodev_pmd_callback_process(struct rte_cryptodev *dev,
 
 static void
 rte_cryptodev_sym_session_init(struct rte_mempool *mp,
-               void *opaque_arg,
-               void *_sess,
-               __rte_unused unsigned i)
+               const struct rte_cryptodev *dev,
+               struct rte_cryptodev_sym_session *sess)
 {
-       struct rte_cryptodev_sym_session *sess = _sess;
-       struct rte_cryptodev *dev = opaque_arg;
-
        memset(sess, 0, mp->elt_size);
 
        sess->dev_id = dev->data->dev_id;
@@ -1154,8 +1150,7 @@ rte_cryptodev_sym_session_pool_create(struct rte_cryptodev *dev,
                                0, /* private data size */
                                NULL, /* obj initialization constructor */
                                NULL, /* obj initialization constructor arg */
-                               rte_cryptodev_sym_session_init,
-                               /**< obj constructor*/
+                               NULL, /**< obj constructor*/
                                dev, /* obj constructor arg */
                                socket_id, /* socket id */
                                0); /* flags */
@@ -1193,6 +1188,8 @@ rte_cryptodev_sym_session_create(uint8_t dev_id,
 
        sess = _sess;
 
+       rte_cryptodev_sym_session_init(dev->data->session_pool, dev,
+                                       sess);
        RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->session_configure, NULL);
        if (dev->dev_ops->session_configure(dev, xform, sess->_private) ==
                        NULL) {