From: Vidya Sagar Velumuri <vvelum...@marvell.com>

Add support for TLS session update for cn20k

Signed-off-by: Vidya Sagar Velumuri <vvelum...@marvell.com>
---
 drivers/crypto/cnxk/cn20k_cryptodev_sec.c |  3 +++
 drivers/crypto/cnxk/cn20k_tls.c           | 15 ++++++++++-----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/drivers/crypto/cnxk/cn20k_cryptodev_sec.c 
b/drivers/crypto/cnxk/cn20k_cryptodev_sec.c
index ab676cc6cf..ae1e31e7e1 100644
--- a/drivers/crypto/cnxk/cn20k_cryptodev_sec.c
+++ b/drivers/crypto/cnxk/cn20k_cryptodev_sec.c
@@ -116,6 +116,9 @@ cn20k_sec_session_update(void *dev, struct 
rte_security_session *sec_sess,
        if (cn20k_sec_sess->proto == RTE_SECURITY_PROTOCOL_IPSEC)
                return cn20k_ipsec_session_update(vf, qp, cn20k_sec_sess, conf);
 
+       if (conf->protocol == RTE_SECURITY_PROTOCOL_TLS_RECORD)
+               return cn20k_tls_record_session_update(vf, qp, cn20k_sec_sess, 
conf);
+
        return -ENOTSUP;
 }
 
diff --git a/drivers/crypto/cnxk/cn20k_tls.c b/drivers/crypto/cnxk/cn20k_tls.c
index b6f444baf4..9f7acefc19 100644
--- a/drivers/crypto/cnxk/cn20k_tls.c
+++ b/drivers/crypto/cnxk/cn20k_tls.c
@@ -820,12 +820,17 @@ cn20k_tls_record_session_update(struct cnxk_cpt_vf *vf, 
struct cnxk_cpt_qp *qp,
                                struct cn20k_sec_session *sess,
                                struct rte_security_session_conf *conf)
 {
-       RTE_SET_USED(vf);
-       RTE_SET_USED(qp);
-       RTE_SET_USED(sess);
-       RTE_SET_USED(conf);
+       struct roc_cpt *roc_cpt;
+       int ret;
 
-       return 0;
+       if (conf->tls_record.type == RTE_SECURITY_TLS_SESS_TYPE_READ)
+               return -ENOTSUP;
+
+       roc_cpt = &vf->cpt;
+       ret = cn20k_tls_write_sa_create(roc_cpt, &qp->lf, &conf->tls_record, 
conf->crypto_xform,
+                                       (struct cn20k_sec_session *)sess);
+
+       return ret;
 }
 
 int
-- 
2.25.1

Reply via email to