DPDK-dev Archive on lore.kernel.org
 help / color / Atom feed
* [dpdk-dev] [PATCH 0/6] add asymmetric support in crypto_octeontx2 PMD
@ 2019-09-09 15:26 Anoob Joseph
  2019-09-09 15:26 ` [dpdk-dev] [PATCH 1/6] crypto/octeontx2: add RSA and modexp asym capabilities Anoob Joseph
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Anoob Joseph @ 2019-09-09 15:26 UTC (permalink / raw)
  To: Akhil Goyal, Pablo de Lara, Thomas Monjalon
  Cc: Anoob Joseph, Jerin Jacob, Narayana Prasad, Fiona Trahe,
	Kanaka Durga Kotamarthy, Shally Verma, Sunila Sahu, dev

This series adds asymmetric crypto support in 'crypto_octeontx2' PMD.

Features supported: RSA & modular exponentiation

This series has dependency on the follwing,
1. http://patches.dpdk.org/project/dpdk/list/?series=6176
2. http://patches.dpdk.org/project/dpdk/list/?series=6337

Anoob Joseph (1):
  doc: add documentation for OCTEON TX2 crypto asym support

Kanaka Durga Kotamarthy (3):
  crypto/octeontx2: add RSA and modexp asym capabilities
  crypto/octeontx2: allocate memory for asymmetric operation
  crypto/octeontx2: add asymmetric session operations

Sunila Sahu (2):
  crypto/octeontx2: add asymmetric in enqueue/dequeue ops
  app/test: register octeontx2 PMD to asym testsuite

 app/test/test_cryptodev_asym.c                     |  18 ++
 doc/guides/cryptodevs/features/octeontx2.ini       |   9 +
 doc/guides/cryptodevs/octeontx2.rst                |  13 +
 drivers/crypto/octeontx2/otx2_cryptodev.c          |   4 +-
 .../crypto/octeontx2/otx2_cryptodev_capabilities.c |  39 ++-
 drivers/crypto/octeontx2/otx2_cryptodev_ops.c      | 280 ++++++++++++++++++++-
 drivers/crypto/octeontx2/otx2_cryptodev_ops.h      |   1 +
 7 files changed, 349 insertions(+), 15 deletions(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [dpdk-dev] [PATCH 1/6] crypto/octeontx2: add RSA and modexp asym capabilities
  2019-09-09 15:26 [dpdk-dev] [PATCH 0/6] add asymmetric support in crypto_octeontx2 PMD Anoob Joseph
@ 2019-09-09 15:26 ` Anoob Joseph
  2019-09-09 15:26 ` [dpdk-dev] [PATCH 2/6] crypto/octeontx2: allocate memory for asymmetric operation Anoob Joseph
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Anoob Joseph @ 2019-09-09 15:26 UTC (permalink / raw)
  To: Akhil Goyal, Pablo de Lara, Thomas Monjalon
  Cc: Kanaka Durga Kotamarthy, Jerin Jacob, Narayana Prasad,
	Anoob Joseph, Fiona Trahe, Shally Verma, Sunila Sahu, dev

From: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>

Adding RSA and modexp capabilities supported by octeontx2 crypto PMD

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
Signed-off-by: Sunila Sahu <ssahu@marvell.com>
---
 drivers/crypto/octeontx2/otx2_cryptodev.c          |  3 +-
 .../crypto/octeontx2/otx2_cryptodev_capabilities.c | 39 ++++++++++++++++++++--
 2 files changed, 39 insertions(+), 3 deletions(-)

diff --git a/drivers/crypto/octeontx2/otx2_cryptodev.c b/drivers/crypto/octeontx2/otx2_cryptodev.c
index 814b9ed..490e7a1 100644
--- a/drivers/crypto/octeontx2/otx2_cryptodev.c
+++ b/drivers/crypto/octeontx2/otx2_cryptodev.c
@@ -102,7 +102,8 @@ otx2_cpt_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
 			     RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
 			     RTE_CRYPTODEV_FF_IN_PLACE_SGL |
 			     RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT |
-			     RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT;
+			     RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT |
+			     RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO;
 
 	return 0;
 
diff --git a/drivers/crypto/octeontx2/otx2_cryptodev_capabilities.c b/drivers/crypto/octeontx2/otx2_cryptodev_capabilities.c
index 3a70470..b9e3fe3 100644
--- a/drivers/crypto/octeontx2/otx2_cryptodev_capabilities.c
+++ b/drivers/crypto/octeontx2/otx2_cryptodev_capabilities.c
@@ -6,7 +6,8 @@
 
 #include "otx2_cryptodev_capabilities.h"
 
-static const struct rte_cryptodev_capabilities otx2_cpt_sym_capabilities[] = {
+static const struct
+rte_cryptodev_capabilities otx2_cpt_capabilities[] = {
 	/* Symmetric capabilities */
 	{	/* NULL (AUTH) */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
@@ -594,11 +595,45 @@ static const struct rte_cryptodev_capabilities otx2_cpt_sym_capabilities[] = {
 		}, }
 	},
 	/* End of symmetric capabilities */
+
+	/* Asymmetric capabilities */
+	{	/* RSA */
+		.op = RTE_CRYPTO_OP_TYPE_ASYMMETRIC,
+		{.asym = {
+			.xform_capa = {
+				.xform_type = RTE_CRYPTO_ASYM_XFORM_RSA,
+				.op_types = ((1 << RTE_CRYPTO_ASYM_OP_SIGN) |
+					(1 << RTE_CRYPTO_ASYM_OP_VERIFY) |
+					(1 << RTE_CRYPTO_ASYM_OP_ENCRYPT) |
+					(1 << RTE_CRYPTO_ASYM_OP_DECRYPT)),
+				{.modlen = {
+					.min = 17,
+					.max = 1024,
+					.increment = 1
+				}, }
+			}
+		}, }
+	},
+	{	/* MOD_EXP */
+		.op = RTE_CRYPTO_OP_TYPE_ASYMMETRIC,
+		{.asym = {
+			.xform_capa = {
+				.xform_type = RTE_CRYPTO_ASYM_XFORM_MODEX,
+				.op_types = 0,
+				{.modlen = {
+					.min = 17,
+					.max = 1024,
+					.increment = 1
+				}, }
+			}
+		}, }
+	},
+	/* End of asymmetric capabilities */
 	RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
 };
 
 const struct rte_cryptodev_capabilities *
 otx2_cpt_capabilities_get(void)
 {
-	return otx2_cpt_sym_capabilities;
+	return otx2_cpt_capabilities;
 }
-- 
2.7.4


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [dpdk-dev] [PATCH 2/6] crypto/octeontx2: allocate memory for asymmetric operation
  2019-09-09 15:26 [dpdk-dev] [PATCH 0/6] add asymmetric support in crypto_octeontx2 PMD Anoob Joseph
  2019-09-09 15:26 ` [dpdk-dev] [PATCH 1/6] crypto/octeontx2: add RSA and modexp asym capabilities Anoob Joseph
@ 2019-09-09 15:26 ` Anoob Joseph
  2019-09-09 15:26 ` [dpdk-dev] [PATCH 3/6] crypto/octeontx2: add asymmetric session operations Anoob Joseph
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Anoob Joseph @ 2019-09-09 15:26 UTC (permalink / raw)
  To: Akhil Goyal, Pablo de Lara, Thomas Monjalon
  Cc: Kanaka Durga Kotamarthy, Jerin Jacob, Narayana Prasad,
	Anoob Joseph, Fiona Trahe, Shally Verma, Sunila Sahu, dev

From: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>

This patch determines metabuf length needed to perform asymmetric crypto
operation.

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
Signed-off-by: Sunila Sahu <ssahu@marvell.com>
---
 drivers/crypto/octeontx2/otx2_cryptodev_ops.c | 37 +++++++++++++++++++--------
 1 file changed, 26 insertions(+), 11 deletions(-)

diff --git a/drivers/crypto/octeontx2/otx2_cryptodev_ops.c b/drivers/crypto/octeontx2/otx2_cryptodev_ops.c
index b21714c..6050b18 100644
--- a/drivers/crypto/octeontx2/otx2_cryptodev_ops.c
+++ b/drivers/crypto/octeontx2/otx2_cryptodev_ops.c
@@ -38,24 +38,39 @@ otx2_cpt_metabuf_mempool_create(const struct rte_cryptodev *dev,
 				int nb_elements)
 {
 	char mempool_name[RTE_MEMPOOL_NAMESIZE];
-	int sg_mlen, lb_mlen, max_mlen, ret;
 	struct cpt_qp_meta_info *meta_info;
 	struct rte_mempool *pool;
+	int ret, max_mlen;
+	int asym_mlen = 0;
+	int lb_mlen = 0;
+	int sg_mlen = 0;
 
-	/* Get meta len for scatter gather mode */
-	sg_mlen = cpt_pmd_ops_helper_get_mlen_sg_mode();
+	if (dev->feature_flags & RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO) {
 
-	/* Extra 32B saved for future considerations */
-	sg_mlen += 4 * sizeof(uint64_t);
+		/* Get meta len for scatter gather mode */
+		sg_mlen = cpt_pmd_ops_helper_get_mlen_sg_mode();
 
-	/* Get meta len for linear buffer (direct) mode */
-	lb_mlen = cpt_pmd_ops_helper_get_mlen_direct_mode();
+		/* Extra 32B saved for future considerations */
+		sg_mlen += 4 * sizeof(uint64_t);
 
-	/* Extra 32B saved for future considerations */
-	lb_mlen += 4 * sizeof(uint64_t);
+		/* Get meta len for linear buffer (direct) mode */
+		lb_mlen = cpt_pmd_ops_helper_get_mlen_direct_mode();
 
-	/* Check max requirement for meta buffer */
-	max_mlen = RTE_MAX(lb_mlen, sg_mlen);
+		/* Extra 32B saved for future considerations */
+		lb_mlen += 4 * sizeof(uint64_t);
+	}
+
+	if (dev->feature_flags & RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO) {
+
+		/* Get meta len required for asymmetric operations */
+		asym_mlen = cpt_pmd_ops_helper_asym_get_mlen();
+	}
+
+	/*
+	 * Check max requirement for meta buffer to
+	 * support crypto op of any type (sym/asym).
+	 */
+	max_mlen = RTE_MAX(RTE_MAX(lb_mlen, sg_mlen), asym_mlen);
 
 	/* Allocate mempool */
 
-- 
2.7.4


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [dpdk-dev] [PATCH 3/6] crypto/octeontx2: add asymmetric session operations
  2019-09-09 15:26 [dpdk-dev] [PATCH 0/6] add asymmetric support in crypto_octeontx2 PMD Anoob Joseph
  2019-09-09 15:26 ` [dpdk-dev] [PATCH 1/6] crypto/octeontx2: add RSA and modexp asym capabilities Anoob Joseph
  2019-09-09 15:26 ` [dpdk-dev] [PATCH 2/6] crypto/octeontx2: allocate memory for asymmetric operation Anoob Joseph
@ 2019-09-09 15:26 ` Anoob Joseph
  2019-09-09 15:26 ` [dpdk-dev] [PATCH 4/6] crypto/octeontx2: add asymmetric in enqueue/dequeue ops Anoob Joseph
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Anoob Joseph @ 2019-09-09 15:26 UTC (permalink / raw)
  To: Akhil Goyal, Pablo de Lara, Thomas Monjalon
  Cc: Kanaka Durga Kotamarthy, Jerin Jacob, Narayana Prasad,
	Anoob Joseph, Fiona Trahe, Shally Verma, Sunila Sahu, dev

From: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>

This patch adds asymmetric session setup and free routines.

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
Signed-off-by: Sunila Sahu <ssahu@marvell.com>
---
 drivers/crypto/octeontx2/otx2_cryptodev.c     |  3 +-
 drivers/crypto/octeontx2/otx2_cryptodev_ops.c | 67 +++++++++++++++++++++++++++
 2 files changed, 69 insertions(+), 1 deletion(-)

diff --git a/drivers/crypto/octeontx2/otx2_cryptodev.c b/drivers/crypto/octeontx2/otx2_cryptodev.c
index 490e7a1..fbfaf55 100644
--- a/drivers/crypto/octeontx2/otx2_cryptodev.c
+++ b/drivers/crypto/octeontx2/otx2_cryptodev.c
@@ -103,7 +103,8 @@ otx2_cpt_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
 			     RTE_CRYPTODEV_FF_IN_PLACE_SGL |
 			     RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT |
 			     RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT |
-			     RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO;
+			     RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO |
+			     RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_QT;
 
 	return 0;
 
diff --git a/drivers/crypto/octeontx2/otx2_cryptodev_ops.c b/drivers/crypto/octeontx2/otx2_cryptodev_ops.c
index 6050b18..9a1d0e7 100644
--- a/drivers/crypto/octeontx2/otx2_cryptodev_ops.c
+++ b/drivers/crypto/octeontx2/otx2_cryptodev_ops.c
@@ -11,6 +11,7 @@
 #include "cpt_pmd_logs.h"
 #include "cpt_pmd_ops_helper.h"
 #include "cpt_ucode.h"
+#include "cpt_ucode_asym.h"
 
 #include "otx2_cryptodev.h"
 #include "otx2_cryptodev_capabilities.h"
@@ -833,6 +834,66 @@ otx2_cpt_sym_session_clear(struct rte_cryptodev *dev,
 	return sym_session_clear(dev->driver_id, sess);
 }
 
+static unsigned int
+otx2_cpt_asym_session_size_get(struct rte_cryptodev *dev __rte_unused)
+{
+	return sizeof(struct cpt_asym_sess_misc);
+}
+
+static int
+otx2_cpt_asym_session_cfg(struct rte_cryptodev *dev,
+			  struct rte_crypto_asym_xform *xform,
+			  struct rte_cryptodev_asym_session *sess,
+			  struct rte_mempool *pool)
+{
+	struct cpt_asym_sess_misc *priv;
+	int ret;
+
+	CPT_PMD_INIT_FUNC_TRACE();
+
+	if (rte_mempool_get(pool, (void **)&priv)) {
+		CPT_LOG_ERR("Could not allocate session_private_data");
+		return -ENOMEM;
+	}
+
+	memset(priv, 0, sizeof(struct cpt_asym_sess_misc));
+
+	ret = cpt_fill_asym_session_parameters(priv, xform);
+	if (ret) {
+		CPT_LOG_ERR("Could not configure session parameters");
+
+		/* Return session to mempool */
+		rte_mempool_put(pool, priv);
+		return ret;
+	}
+
+	set_asym_session_private_data(sess, dev->driver_id, priv);
+	return 0;
+}
+
+static void
+otx2_cpt_asym_session_clear(struct rte_cryptodev *dev,
+			    struct rte_cryptodev_asym_session *sess)
+{
+	struct cpt_asym_sess_misc *priv;
+	struct rte_mempool *sess_mp;
+
+	CPT_PMD_INIT_FUNC_TRACE();
+
+	priv = get_asym_session_private_data(sess, dev->driver_id);
+	if (priv == NULL)
+		return;
+
+	/* Free resources allocated in session_cfg */
+	cpt_free_asym_session_parameters(priv);
+
+	/* Reset and free object back to pool */
+	memset(priv, 0, otx2_cpt_asym_session_size_get(dev));
+	sess_mp = rte_mempool_from_obj(priv);
+	set_asym_session_private_data(sess, dev->driver_id, NULL);
+	rte_mempool_put(sess_mp, priv);
+}
+
 struct rte_cryptodev_ops otx2_cpt_ops = {
 	/* Device control ops */
 	.dev_configure = otx2_cpt_dev_config,
@@ -851,4 +912,10 @@ struct rte_cryptodev_ops otx2_cpt_ops = {
 	.sym_session_get_size = otx2_cpt_sym_session_get_size,
 	.sym_session_configure = otx2_cpt_sym_session_configure,
 	.sym_session_clear = otx2_cpt_sym_session_clear,
+
+	/* Asymmetric crypto ops */
+	.asym_session_get_size = otx2_cpt_asym_session_size_get,
+	.asym_session_configure = otx2_cpt_asym_session_cfg,
+	.asym_session_clear = otx2_cpt_asym_session_clear,
+
 };
-- 
2.7.4


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [dpdk-dev] [PATCH 4/6] crypto/octeontx2: add asymmetric in enqueue/dequeue ops
  2019-09-09 15:26 [dpdk-dev] [PATCH 0/6] add asymmetric support in crypto_octeontx2 PMD Anoob Joseph
                   ` (2 preceding siblings ...)
  2019-09-09 15:26 ` [dpdk-dev] [PATCH 3/6] crypto/octeontx2: add asymmetric session operations Anoob Joseph
@ 2019-09-09 15:26 ` Anoob Joseph
  2019-09-09 15:26 ` [dpdk-dev] [PATCH 5/6] app/test: register octeontx2 PMD to asym testsuite Anoob Joseph
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Anoob Joseph @ 2019-09-09 15:26 UTC (permalink / raw)
  To: Akhil Goyal, Pablo de Lara, Thomas Monjalon
  Cc: Sunila Sahu, Jerin Jacob, Narayana Prasad, Anoob Joseph,
	Fiona Trahe, Kanaka Durga Kotamarthy, Shally Verma, dev

From: Sunila Sahu <ssahu@marvell.com>

This patch adds asymmetric support in enqueue/dequeue ops.

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
Signed-off-by: Sunila Sahu <ssahu@marvell.com>
---
 drivers/crypto/octeontx2/otx2_cryptodev_ops.c | 176 +++++++++++++++++++++++++-
 drivers/crypto/octeontx2/otx2_cryptodev_ops.h |   1 +
 2 files changed, 176 insertions(+), 1 deletion(-)

diff --git a/drivers/crypto/octeontx2/otx2_cryptodev_ops.c b/drivers/crypto/octeontx2/otx2_cryptodev_ops.c
index 9a1d0e7..d7d03f3 100644
--- a/drivers/crypto/octeontx2/otx2_cryptodev_ops.c
+++ b/drivers/crypto/octeontx2/otx2_cryptodev_ops.c
@@ -393,6 +393,78 @@ otx2_cpt_enqueue_req(const struct otx2_cpt_qp *qp,
 	return 0;
 }
 
+static __rte_always_inline int32_t __hot
+otx2_cpt_enqueue_asym(struct otx2_cpt_qp *qp,
+		      struct rte_crypto_op *op,
+		      struct pending_queue *pend_q)
+{
+	struct cpt_qp_meta_info *minfo = &qp->meta_info;
+	struct rte_crypto_asym_op *asym_op = op->asym;
+	struct asym_op_params params = {0};
+	struct cpt_asym_sess_misc *sess;
+	vq_cmd_word3_t *w3;
+	uintptr_t *cop;
+	void *mdata;
+	int ret;
+
+	if (unlikely(rte_mempool_get(minfo->pool, &mdata) < 0)) {
+		CPT_LOG_ERR("Could not allocate meta buffer for request");
+		return -ENOMEM;
+	}
+
+	sess = get_asym_session_private_data(asym_op->session,
+					     otx2_cryptodev_driver_id);
+
+	/* Store IO address of the mdata to meta_buf */
+	params.meta_buf = rte_mempool_virt2iova(mdata);
+
+	cop = mdata;
+	cop[0] = (uintptr_t)mdata;
+	cop[1] = (uintptr_t)op;
+	cop[2] = cop[3] = 0ULL;
+
+	params.req = RTE_PTR_ADD(cop, 4 * sizeof(uintptr_t));
+	params.req->op = cop;
+
+	/* Adjust meta_buf to point to end of cpt_request_info structure */
+	params.meta_buf += (4 * sizeof(uintptr_t)) +
+			    sizeof(struct cpt_request_info);
+	switch (sess->xfrm_type) {
+	case RTE_CRYPTO_ASYM_XFORM_MODEX:
+		ret = cpt_modex_prep(&params, &sess->mod_ctx);
+		if (unlikely(ret))
+			goto req_fail;
+		break;
+	case RTE_CRYPTO_ASYM_XFORM_RSA:
+		ret = cpt_enqueue_rsa_op(op, &params, sess);
+		if (unlikely(ret))
+			goto req_fail;
+		break;
+	default:
+		op->status = RTE_CRYPTO_OP_STATUS_INVALID_ARGS;
+		ret = -EINVAL;
+		goto req_fail;
+	}
+
+	/* Set engine group of AE */
+	w3 = (vq_cmd_word3_t *)&params.req->ist.ei3;
+	w3->s.grp = OTX2_CPT_EGRP_AE;
+
+	ret = otx2_cpt_enqueue_req(qp, pend_q, params.req);
+
+	if (unlikely(ret)) {
+		CPT_LOG_DP_ERR("Could not enqueue crypto req");
+		goto req_fail;
+	}
+
+	return 0;
+
+req_fail:
+	free_op_meta(mdata, minfo->pool);
+
+	return ret;
+}
+
 static __rte_always_inline int __hot
 otx2_cpt_enqueue_sym(struct otx2_cpt_qp *qp, struct rte_crypto_op *op,
 		     struct pending_queue *pend_q)
@@ -488,7 +560,9 @@ otx2_cpt_enqueue_burst(void *qptr, struct rte_crypto_op **ops, uint16_t nb_ops)
 
 	for (count = 0; count < nb_ops; count++) {
 		op = ops[count];
-		if (op->sess_type == RTE_CRYPTO_OP_WITH_SESSION)
+		if (op->type == RTE_CRYPTO_OP_TYPE_ASYMMETRIC)
+			ret = otx2_cpt_enqueue_asym(qp, op, pend_q);
+		else if (op->sess_type == RTE_CRYPTO_OP_WITH_SESSION)
 			ret = otx2_cpt_enqueue_sym(qp, op, pend_q);
 		else if (op->sess_type == RTE_CRYPTO_OP_SESSIONLESS)
 			ret = otx2_cpt_enqueue_sym_sessless(qp, op, pend_q);
@@ -502,6 +576,92 @@ otx2_cpt_enqueue_burst(void *qptr, struct rte_crypto_op **ops, uint16_t nb_ops)
 	return count;
 }
 
+static __rte_always_inline void
+otx2_cpt_asym_rsa_op(struct rte_crypto_op *cop, struct cpt_request_info *req,
+		     struct rte_crypto_rsa_xform *rsa_ctx)
+{
+	struct rte_crypto_rsa_op_param *rsa = &cop->asym->rsa;
+
+	switch (rsa->op_type) {
+	case RTE_CRYPTO_ASYM_OP_ENCRYPT:
+		rsa->cipher.length = rsa_ctx->n.length;
+		memcpy(rsa->cipher.data, req->rptr, rsa->cipher.length);
+		break;
+	case RTE_CRYPTO_ASYM_OP_DECRYPT:
+		if (rsa->pad == RTE_CRYPTO_RSA_PADDING_NONE) {
+			rsa->message.length = rsa_ctx->n.length;
+			memcpy(rsa->message.data, req->rptr,
+			       rsa->message.length);
+		} else {
+			/* Get length of decrypted output */
+			rsa->message.length = rte_cpu_to_be_16
+					     (*((uint16_t *)req->rptr));
+			/*
+			 * Offset output data pointer by length field
+			 * (2 bytes) and copy decrypted data.
+			 */
+			memcpy(rsa->message.data, req->rptr + 2,
+			       rsa->message.length);
+		}
+		break;
+	case RTE_CRYPTO_ASYM_OP_SIGN:
+		rsa->sign.length = rsa_ctx->n.length;
+		memcpy(rsa->sign.data, req->rptr, rsa->sign.length);
+		break;
+	case RTE_CRYPTO_ASYM_OP_VERIFY:
+		if (rsa->pad == RTE_CRYPTO_RSA_PADDING_NONE) {
+			rsa->sign.length = rsa_ctx->n.length;
+			memcpy(rsa->sign.data, req->rptr, rsa->sign.length);
+		} else {
+			/* Get length of signed output */
+			rsa->sign.length = rte_cpu_to_be_16
+					  (*((uint16_t *)req->rptr));
+			/*
+			 * Offset output data pointer by length field
+			 * (2 bytes) and copy signed data.
+			 */
+			memcpy(rsa->sign.data, req->rptr + 2,
+			       rsa->sign.length);
+		}
+		if (memcmp(rsa->sign.data, rsa->message.data,
+			   rsa->message.length)) {
+			CPT_LOG_DP_ERR("RSA verification failed");
+			cop->status = RTE_CRYPTO_OP_STATUS_ERROR;
+		}
+		break;
+	default:
+		CPT_LOG_DP_DEBUG("Invalid RSA operation type");
+		cop->status = RTE_CRYPTO_OP_STATUS_INVALID_ARGS;
+		break;
+	}
+}
+
+static void
+otx2_cpt_asym_post_process(struct rte_crypto_op *cop,
+			   struct cpt_request_info *req)
+{
+	struct rte_crypto_asym_op *op = cop->asym;
+	struct cpt_asym_sess_misc *sess;
+
+	sess = get_asym_session_private_data(op->session,
+					     otx2_cryptodev_driver_id);
+
+	switch (sess->xfrm_type) {
+	case RTE_CRYPTO_ASYM_XFORM_RSA:
+		otx2_cpt_asym_rsa_op(cop, req, &sess->rsa_ctx);
+		break;
+	case RTE_CRYPTO_ASYM_XFORM_MODEX:
+		op->modex.result.length = sess->mod_ctx.modulus.length;
+		memcpy(op->modex.result.data, req->rptr,
+		       op->modex.result.length);
+		break;
+	default:
+		CPT_LOG_DP_DEBUG("Invalid crypto xform type");
+		cop->status = RTE_CRYPTO_OP_STATUS_INVALID_ARGS;
+		break;
+	}
+}
+
 static inline void
 otx2_cpt_dequeue_post_process(struct otx2_cpt_qp *qp, struct rte_crypto_op *cop,
 			      uintptr_t *rsp, uint8_t cc)
@@ -528,6 +688,20 @@ otx2_cpt_dequeue_post_process(struct otx2_cpt_qp *qp, struct rte_crypto_op *cop,
 			cop->sym->session = NULL;
 		}
 	}
+
+	if (cop->type == RTE_CRYPTO_OP_TYPE_ASYMMETRIC) {
+		if (likely(cc == NO_ERR)) {
+			cop->status = RTE_CRYPTO_OP_STATUS_SUCCESS;
+			/*
+			 * Pass cpt_req_info stored in metabuf during
+			 * enqueue.
+			 */
+			rsp = RTE_PTR_ADD(rsp, 4 * sizeof(uintptr_t));
+			otx2_cpt_asym_post_process(cop,
+					(struct cpt_request_info *)rsp);
+		} else
+			cop->status = RTE_CRYPTO_OP_STATUS_ERROR;
+	}
 }
 
 static __rte_always_inline uint8_t
diff --git a/drivers/crypto/octeontx2/otx2_cryptodev_ops.h b/drivers/crypto/octeontx2/otx2_cryptodev_ops.h
index ba93a66..a2724f7 100644
--- a/drivers/crypto/octeontx2/otx2_cryptodev_ops.h
+++ b/drivers/crypto/octeontx2/otx2_cryptodev_ops.h
@@ -13,6 +13,7 @@
 enum otx2_cpt_egrp {
 	OTX2_CPT_EGRP_SE = 0,
 	OTX2_CPT_EGRP_SE_IE = 1,
+	OTX2_CPT_EGRP_AE = 2
 };
 
 struct rte_cryptodev_ops otx2_cpt_ops;
-- 
2.7.4


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [dpdk-dev] [PATCH 5/6] app/test: register octeontx2 PMD to asym testsuite
  2019-09-09 15:26 [dpdk-dev] [PATCH 0/6] add asymmetric support in crypto_octeontx2 PMD Anoob Joseph
                   ` (3 preceding siblings ...)
  2019-09-09 15:26 ` [dpdk-dev] [PATCH 4/6] crypto/octeontx2: add asymmetric in enqueue/dequeue ops Anoob Joseph
@ 2019-09-09 15:26 ` Anoob Joseph
  2019-09-09 15:26 ` [dpdk-dev] [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto asym support Anoob Joseph
  2019-09-09 16:25 ` [dpdk-dev] [PATCH 0/6] add asymmetric support in crypto_octeontx2 PMD Shally Verma
  6 siblings, 0 replies; 15+ messages in thread
From: Anoob Joseph @ 2019-09-09 15:26 UTC (permalink / raw)
  To: Akhil Goyal, Pablo de Lara, Thomas Monjalon
  Cc: Sunila Sahu, Jerin Jacob, Narayana Prasad, Anoob Joseph,
	Fiona Trahe, Kanaka Durga Kotamarthy, Shally Verma, dev

From: Sunila Sahu <ssahu@marvell.com>

This patch updates asymmetric crypto unit-test application to
validate asymmetric crypto operation supported by octeontx2 PMD.

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
Signed-off-by: Sunila Sahu <ssahu@marvell.com>
---
 app/test/test_cryptodev_asym.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/app/test/test_cryptodev_asym.c b/app/test/test_cryptodev_asym.c
index 241c384..edbd34e 100644
--- a/app/test/test_cryptodev_asym.c
+++ b/app/test/test_cryptodev_asym.c
@@ -1851,6 +1851,21 @@ test_cryptodev_octeontx_asym(void)
 	return unit_test_suite_runner(&cryptodev_octeontx_asym_testsuite);
 }
 
+static int
+test_cryptodev_octeontx2_asym(void)
+{
+	gbl_driver_id = rte_cryptodev_driver_id_get(
+			RTE_STR(CRYPTODEV_NAME_OCTEONTX2_PMD));
+	if (gbl_driver_id == -1) {
+		RTE_LOG(ERR, USER1, "OCTEONTX2 PMD must be loaded. Check if "
+				"CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO is "
+				"enabled in config file to run this "
+				"testsuite.\n");
+		return TEST_FAILED;
+	}
+	return unit_test_suite_runner(&cryptodev_octeontx_asym_testsuite);
+}
+
 REGISTER_TEST_COMMAND(cryptodev_openssl_asym_autotest,
 					  test_cryptodev_openssl_asym);
 
@@ -1858,3 +1873,6 @@ REGISTER_TEST_COMMAND(cryptodev_qat_asym_autotest, test_cryptodev_qat_asym);
 
 REGISTER_TEST_COMMAND(cryptodev_octeontx_asym_autotest,
 					  test_cryptodev_octeontx_asym);
+
+REGISTER_TEST_COMMAND(cryptodev_octeontx2_asym_autotest,
+					  test_cryptodev_octeontx2_asym);
-- 
2.7.4


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [dpdk-dev] [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto asym support
  2019-09-09 15:26 [dpdk-dev] [PATCH 0/6] add asymmetric support in crypto_octeontx2 PMD Anoob Joseph
                   ` (4 preceding siblings ...)
  2019-09-09 15:26 ` [dpdk-dev] [PATCH 5/6] app/test: register octeontx2 PMD to asym testsuite Anoob Joseph
@ 2019-09-09 15:26 ` Anoob Joseph
  2019-09-10  4:13   ` Jerin Jacob Kollanukkaran
  2019-09-09 16:25 ` [dpdk-dev] [PATCH 0/6] add asymmetric support in crypto_octeontx2 PMD Shally Verma
  6 siblings, 1 reply; 15+ messages in thread
From: Anoob Joseph @ 2019-09-09 15:26 UTC (permalink / raw)
  To: Akhil Goyal, Pablo de Lara, Thomas Monjalon
  Cc: Anoob Joseph, Jerin Jacob, Narayana Prasad, Fiona Trahe,
	Kanaka Durga Kotamarthy, Shally Verma, Sunila Sahu, dev

Adding documentation for asymmetric features supported by
crypto_octeontx2 PMD.

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
Signed-off-by: Sunila Sahu <ssahu@marvell.com>
---
 doc/guides/cryptodevs/features/octeontx2.ini |  9 +++++++++
 doc/guides/cryptodevs/octeontx2.rst          | 13 +++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/doc/guides/cryptodevs/features/octeontx2.ini b/doc/guides/cryptodevs/features/octeontx2.ini
index ac76b11..7d07053 100644
--- a/doc/guides/cryptodevs/features/octeontx2.ini
+++ b/doc/guides/cryptodevs/features/octeontx2.ini
@@ -5,11 +5,13 @@
 ;
 [Features]
 Symmetric crypto       = Y
+Asymmetric crypto      = Y
 Sym operation chaining = Y
 HW Accelerated         = Y
 In Place SGL           = Y
 OOP SGL In LB  Out     = Y
 OOP SGL In SGL Out     = Y
+RSA PRIV OP KEY QT     = Y
 
 ;
 ; Supported crypto algorithms of 'octeontx2' crypto driver.
@@ -60,3 +62,10 @@ ZUC EIA3     = Y
 AES GCM (128) = Y
 AES GCM (192) = Y
 AES GCM (256) = Y
+
+;
+; Supported Asymmetric algorithms of the 'octeontx2' crypto driver.
+;
+[Asymmetric]
+RSA                    = Y
+Modular Exponentiation = Y
diff --git a/doc/guides/cryptodevs/octeontx2.rst b/doc/guides/cryptodevs/octeontx2.rst
index a2cbb50..410183c 100644
--- a/doc/guides/cryptodevs/octeontx2.rst
+++ b/doc/guides/cryptodevs/octeontx2.rst
@@ -53,6 +53,11 @@ AEAD algorithms:
 
 * ``RTE_CRYPTO_AEAD_AES_GCM``
 
+Asymmetric algorithms:
+
+* ``RTE_CRYPTO_ASYM_XFORM_RSA``
+* ``RTE_CRYPTO_ASYM_XFORM_MODEX``
+
 
 Installation
 ------------
@@ -140,3 +145,11 @@ application:
 
     ./test
     RTE>>cryptodev_octeontx2_autotest
+
+The asymmetric crypto operations on OCTEON TX2 crypto PMD may be verified by running the test
+application:
+
+.. code-block:: console
+
+    ./test
+    RTE>>cryptodev_octeontx2_asym_autotest
-- 
2.7.4


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [dpdk-dev] [PATCH 0/6] add asymmetric support in crypto_octeontx2 PMD
  2019-09-09 15:26 [dpdk-dev] [PATCH 0/6] add asymmetric support in crypto_octeontx2 PMD Anoob Joseph
                   ` (5 preceding siblings ...)
  2019-09-09 15:26 ` [dpdk-dev] [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto asym support Anoob Joseph
@ 2019-09-09 16:25 ` Shally Verma
  6 siblings, 0 replies; 15+ messages in thread
From: Shally Verma @ 2019-09-09 16:25 UTC (permalink / raw)
  To: Anoob Joseph, Akhil Goyal, Pablo de Lara, Thomas Monjalon
  Cc: Anoob Joseph, Jerin Jacob Kollanukkaran,
	Narayana Prasad Raju Athreya, Fiona Trahe,
	Kanaka Durga Kotamarthy, Sunila Sahu, dev



> -----Original Message-----
> From: Anoob Joseph <anoobj@marvell.com>
> Sent: Monday, September 9, 2019 8:57 PM
> To: Akhil Goyal <akhil.goyal@nxp.com>; Pablo de Lara
> <pablo.de.lara.guarch@intel.com>; Thomas Monjalon
> <thomas@monjalon.net>
> Cc: Anoob Joseph <anoobj@marvell.com>; Jerin Jacob Kollanukkaran
> <jerinj@marvell.com>; Narayana Prasad Raju Athreya
> <pathreya@marvell.com>; Fiona Trahe <fiona.trahe@intel.com>; Kanaka
> Durga Kotamarthy <kkotamarthy@marvell.com>; Shally Verma
> <shallyv@marvell.com>; Sunila Sahu <ssahu@marvell.com>; dev@dpdk.org
> Subject: [PATCH 0/6] add asymmetric support in crypto_octeontx2 PMD
> 
> This series adds asymmetric crypto support in 'crypto_octeontx2' PMD.
> 
> Features supported: RSA & modular exponentiation
> 
> This series has dependency on the follwing, 1.
> http://patches.dpdk.org/project/dpdk/list/?series=6176
> 2. http://patches.dpdk.org/project/dpdk/list/?series=6337
> 
> Anoob Joseph (1):
>   doc: add documentation for OCTEON TX2 crypto asym support
> 
> Kanaka Durga Kotamarthy (3):
>   crypto/octeontx2: add RSA and modexp asym capabilities
>   crypto/octeontx2: allocate memory for asymmetric operation
>   crypto/octeontx2: add asymmetric session operations
> 
> Sunila Sahu (2):
>   crypto/octeontx2: add asymmetric in enqueue/dequeue ops
>   app/test: register octeontx2 PMD to asym testsuite
> 
>  app/test/test_cryptodev_asym.c                     |  18 ++
>  doc/guides/cryptodevs/features/octeontx2.ini       |   9 +
>  doc/guides/cryptodevs/octeontx2.rst                |  13 +
>  drivers/crypto/octeontx2/otx2_cryptodev.c          |   4 +-
>  .../crypto/octeontx2/otx2_cryptodev_capabilities.c |  39 ++-
>  drivers/crypto/octeontx2/otx2_cryptodev_ops.c      | 280
> ++++++++++++++++++++-
>  drivers/crypto/octeontx2/otx2_cryptodev_ops.h      |   1 +
>  7 files changed, 349 insertions(+), 15 deletions(-)
> 
> --
> 2.7.4
Series Ack-by: Shally Verma <shallyv@marvell.com>


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [dpdk-dev] [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto asym support
  2019-09-09 15:26 ` [dpdk-dev] [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto asym support Anoob Joseph
@ 2019-09-10  4:13   ` Jerin Jacob Kollanukkaran
  2019-09-10  6:12     ` Anoob Joseph
  2019-09-10  6:30     ` Thomas Monjalon
  0 siblings, 2 replies; 15+ messages in thread
From: Jerin Jacob Kollanukkaran @ 2019-09-10  4:13 UTC (permalink / raw)
  To: Anoob Joseph, Akhil Goyal, Pablo de Lara, Thomas Monjalon
  Cc: Anoob Joseph, Narayana Prasad Raju Athreya, Fiona Trahe,
	Kanaka Durga Kotamarthy, Shally Verma, Sunila Sahu, dev

> -----Original Message-----
> From: Anoob Joseph <anoobj@marvell.com>
> Sent: Monday, September 9, 2019 8:57 PM
> To: Akhil Goyal <akhil.goyal@nxp.com>; Pablo de Lara
> <pablo.de.lara.guarch@intel.com>; Thomas Monjalon
> <thomas@monjalon.net>
> Cc: Anoob Joseph <anoobj@marvell.com>; Jerin Jacob Kollanukkaran
> <jerinj@marvell.com>; Narayana Prasad Raju Athreya
> <pathreya@marvell.com>; Fiona Trahe <fiona.trahe@intel.com>; Kanaka
> Durga Kotamarthy <kkotamarthy@marvell.com>; Shally Verma
> <shallyv@marvell.com>; Sunila Sahu <ssahu@marvell.com>; dev@dpdk.org
> Subject: [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto asym
> support
> 
> Adding documentation for asymmetric features supported by
> crypto_octeontx2 PMD.
> 
> Signed-off-by: Anoob Joseph <anoobj@marvell.com>
> Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
> Signed-off-by: Sunila Sahu <ssahu@marvell.com>
> ---
>  doc/guides/cryptodevs/features/octeontx2.ini |  9 +++++++++
>  doc/guides/cryptodevs/octeontx2.rst          | 13 +++++++++++++

Please update the release notes.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [dpdk-dev] [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto asym support
  2019-09-10  4:13   ` Jerin Jacob Kollanukkaran
@ 2019-09-10  6:12     ` Anoob Joseph
  2019-09-10  6:30     ` Thomas Monjalon
  1 sibling, 0 replies; 15+ messages in thread
From: Anoob Joseph @ 2019-09-10  6:12 UTC (permalink / raw)
  To: Jerin Jacob Kollanukkaran, Akhil Goyal, Pablo de Lara, Thomas Monjalon
  Cc: Narayana Prasad Raju Athreya, Fiona Trahe,
	Kanaka Durga Kotamarthy, Shally Verma, Sunila Sahu, dev

Hi Jerin,

Please see inline.

Thanks,
Anoob

> -----Original Message-----
> From: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> Sent: Tuesday, September 10, 2019 9:43 AM
> To: Anoob Joseph <anoobj@marvell.com>; Akhil Goyal
> <akhil.goyal@nxp.com>; Pablo de Lara <pablo.de.lara.guarch@intel.com>;
> Thomas Monjalon <thomas@monjalon.net>
> Cc: Anoob Joseph <anoobj@marvell.com>; Narayana Prasad Raju Athreya
> <pathreya@marvell.com>; Fiona Trahe <fiona.trahe@intel.com>; Kanaka
> Durga Kotamarthy <kkotamarthy@marvell.com>; Shally Verma
> <shallyv@marvell.com>; Sunila Sahu <ssahu@marvell.com>; dev@dpdk.org
> Subject: RE: [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto
> asym support
> 
> > -----Original Message-----
> > From: Anoob Joseph <anoobj@marvell.com>
> > Sent: Monday, September 9, 2019 8:57 PM
> > To: Akhil Goyal <akhil.goyal@nxp.com>; Pablo de Lara
> > <pablo.de.lara.guarch@intel.com>; Thomas Monjalon
> > <thomas@monjalon.net>
> > Cc: Anoob Joseph <anoobj@marvell.com>; Jerin Jacob Kollanukkaran
> > <jerinj@marvell.com>; Narayana Prasad Raju Athreya
> > <pathreya@marvell.com>; Fiona Trahe <fiona.trahe@intel.com>; Kanaka
> > Durga Kotamarthy <kkotamarthy@marvell.com>; Shally Verma
> > <shallyv@marvell.com>; Sunila Sahu <ssahu@marvell.com>;
> dev@dpdk.org
> > Subject: [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto asym
> > support
> >
> > Adding documentation for asymmetric features supported by
> > crypto_octeontx2 PMD.
> >
> > Signed-off-by: Anoob Joseph <anoobj@marvell.com>
> > Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
> > Signed-off-by: Sunila Sahu <ssahu@marvell.com>
> > ---
> >  doc/guides/cryptodevs/features/octeontx2.ini |  9 +++++++++
> >  doc/guides/cryptodevs/octeontx2.rst          | 13 +++++++++++++
> 
> Please update the release notes.

[Anoob] Will update in  v2. 


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [dpdk-dev] [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto asym support
  2019-09-10  4:13   ` Jerin Jacob Kollanukkaran
  2019-09-10  6:12     ` Anoob Joseph
@ 2019-09-10  6:30     ` Thomas Monjalon
  2019-09-10 11:33       ` Anoob Joseph
  1 sibling, 1 reply; 15+ messages in thread
From: Thomas Monjalon @ 2019-09-10  6:30 UTC (permalink / raw)
  To: Jerin Jacob Kollanukkaran, Anoob Joseph
  Cc: Akhil Goyal, Pablo de Lara, Narayana Prasad Raju Athreya,
	Fiona Trahe, Kanaka Durga Kotamarthy, Shally Verma, Sunila Sahu,
	dev

10/09/2019 06:13, Jerin Jacob Kollanukkaran:
> From: Anoob Joseph <anoobj@marvell.com>
> > Adding documentation for asymmetric features supported by
> > crypto_octeontx2 PMD.
> > 
> > Signed-off-by: Anoob Joseph <anoobj@marvell.com>
> > Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
> > Signed-off-by: Sunila Sahu <ssahu@marvell.com>
> > ---
> >  doc/guides/cryptodevs/features/octeontx2.ini |  9 +++++++++
> >  doc/guides/cryptodevs/octeontx2.rst          | 13 +++++++++++++
> 
> Please update the release notes.

Please avoid doing a separate patch for documentation.
It could be updated while adding the feature, in the same patch.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [dpdk-dev] [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto asym support
  2019-09-10  6:30     ` Thomas Monjalon
@ 2019-09-10 11:33       ` Anoob Joseph
  2019-09-10 11:39         ` Akhil Goyal
  2019-09-10 11:41         ` Thomas Monjalon
  0 siblings, 2 replies; 15+ messages in thread
From: Anoob Joseph @ 2019-09-10 11:33 UTC (permalink / raw)
  To: Thomas Monjalon, Jerin Jacob Kollanukkaran
  Cc: Akhil Goyal, Pablo de Lara, Narayana Prasad Raju Athreya,
	Fiona Trahe, Kanaka Durga Kotamarthy, Shally Verma, Sunila Sahu,
	dev

Hi Thomas,

Please see inline.

Thanks,
Anoob

> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Tuesday, September 10, 2019 12:00 PM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Anoob Joseph
> <anoobj@marvell.com>
> Cc: Akhil Goyal <akhil.goyal@nxp.com>; Pablo de Lara
> <pablo.de.lara.guarch@intel.com>; Narayana Prasad Raju Athreya
> <pathreya@marvell.com>; Fiona Trahe <fiona.trahe@intel.com>; Kanaka
> Durga Kotamarthy <kkotamarthy@marvell.com>; Shally Verma
> <shallyv@marvell.com>; Sunila Sahu <ssahu@marvell.com>; dev@dpdk.org
> Subject: Re: [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto
> asym support
> 
> 10/09/2019 06:13, Jerin Jacob Kollanukkaran:
> > From: Anoob Joseph <anoobj@marvell.com>
> > > Adding documentation for asymmetric features supported by
> > > crypto_octeontx2 PMD.
> > >
> > > Signed-off-by: Anoob Joseph <anoobj@marvell.com>
> > > Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
> > > Signed-off-by: Sunila Sahu <ssahu@marvell.com>
> > > ---
> > >  doc/guides/cryptodevs/features/octeontx2.ini |  9 +++++++++
> > >  doc/guides/cryptodevs/octeontx2.rst          | 13 +++++++++++++
> >
> > Please update the release notes.
> 
> Please avoid doing a separate patch for documentation.
> It could be updated while adding the feature, in the same patch.

[Anoob] To which patch should I squash this change? Here are my options,

1. The patch which adds ASYM in capabilities. Issue: the doc update updates about autotest, which won't be available until the final patch is merged.
2. Test patch which adds the autotest for the PMD. Issue: Additions to the doc would be done by a patch which adds test.

Which one should I use?

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [dpdk-dev] [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto asym support
  2019-09-10 11:33       ` Anoob Joseph
@ 2019-09-10 11:39         ` Akhil Goyal
  2019-09-10 12:23           ` Anoob Joseph
  2019-09-10 11:41         ` Thomas Monjalon
  1 sibling, 1 reply; 15+ messages in thread
From: Akhil Goyal @ 2019-09-10 11:39 UTC (permalink / raw)
  To: Anoob Joseph, Thomas Monjalon, Jerin Jacob Kollanukkaran
  Cc: Pablo de Lara, Narayana Prasad Raju Athreya, Fiona Trahe,
	Kanaka Durga Kotamarthy, Shally Verma, Sunila Sahu, dev

Hi Anoob,

> 
> Hi Thomas,
> 
> Please see inline.
> 
> Thanks,
> Anoob
> 
> > -----Original Message-----
> > From: Thomas Monjalon <thomas@monjalon.net>
> > Sent: Tuesday, September 10, 2019 12:00 PM
> > To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Anoob Joseph
> > <anoobj@marvell.com>
> > Cc: Akhil Goyal <akhil.goyal@nxp.com>; Pablo de Lara
> > <pablo.de.lara.guarch@intel.com>; Narayana Prasad Raju Athreya
> > <pathreya@marvell.com>; Fiona Trahe <fiona.trahe@intel.com>; Kanaka
> > Durga Kotamarthy <kkotamarthy@marvell.com>; Shally Verma
> > <shallyv@marvell.com>; Sunila Sahu <ssahu@marvell.com>; dev@dpdk.org
> > Subject: Re: [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto
> > asym support
> >
> > 10/09/2019 06:13, Jerin Jacob Kollanukkaran:
> > > From: Anoob Joseph <anoobj@marvell.com>
> > > > Adding documentation for asymmetric features supported by
> > > > crypto_octeontx2 PMD.
> > > >
> > > > Signed-off-by: Anoob Joseph <anoobj@marvell.com>
> > > > Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
> > > > Signed-off-by: Sunila Sahu <ssahu@marvell.com>
> > > > ---
> > > >  doc/guides/cryptodevs/features/octeontx2.ini |  9 +++++++++
> > > >  doc/guides/cryptodevs/octeontx2.rst          | 13 +++++++++++++
> > >
> > > Please update the release notes.
> >
> > Please avoid doing a separate patch for documentation.
> > It could be updated while adding the feature, in the same patch.
> 
> [Anoob] To which patch should I squash this change? Here are my options,
> 
> 1. The patch which adds ASYM in capabilities. Issue: the doc update updates
> about autotest, which won't be available until the final patch is merged.
> 2. Test patch which adds the autotest for the PMD. Issue: Additions to the doc
> would be done by a patch which adds test.
> 
> Which one should I use?

As per the convention followed these days, documentation should be the part of the
Patch which support it.
If you have supported many features in your patchset, you should add that piece
of documentation which is supported in each of the patches in the patchset.

Release notes should be added in the patch which completes the whole feature.

-Akhil

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [dpdk-dev] [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto asym support
  2019-09-10 11:33       ` Anoob Joseph
  2019-09-10 11:39         ` Akhil Goyal
@ 2019-09-10 11:41         ` Thomas Monjalon
  1 sibling, 0 replies; 15+ messages in thread
From: Thomas Monjalon @ 2019-09-10 11:41 UTC (permalink / raw)
  To: Anoob Joseph
  Cc: Jerin Jacob Kollanukkaran, Akhil Goyal, Pablo de Lara,
	Narayana Prasad Raju Athreya, Fiona Trahe,
	Kanaka Durga Kotamarthy, Shally Verma, Sunila Sahu, dev

10/09/2019 13:33, Anoob Joseph:
> From: Thomas Monjalon <thomas@monjalon.net>
> > 10/09/2019 06:13, Jerin Jacob Kollanukkaran:
> > > From: Anoob Joseph <anoobj@marvell.com>
> > > > Adding documentation for asymmetric features supported by
> > > > crypto_octeontx2 PMD.
> > > >
> > > > Signed-off-by: Anoob Joseph <anoobj@marvell.com>
> > > > Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
> > > > Signed-off-by: Sunila Sahu <ssahu@marvell.com>
> > > > ---
> > > >  doc/guides/cryptodevs/features/octeontx2.ini |  9 +++++++++
> > > >  doc/guides/cryptodevs/octeontx2.rst          | 13 +++++++++++++
> > >
> > > Please update the release notes.
> > 
> > Please avoid doing a separate patch for documentation.
> > It could be updated while adding the feature, in the same patch.
> 
> [Anoob] To which patch should I squash this change? Here are my options,
> 
> 1. The patch which adds ASYM in capabilities. Issue: the doc update updates about autotest, which won't be available until the final patch is merged.
> 2. Test patch which adds the autotest for the PMD. Issue: Additions to the doc would be done by a patch which adds test.
> 
> Which one should I use?

You should split the doc patch and squash in both relevant patches.
This is exactly why I prefer to have doc squashed:
When I will look at the autotest patch, I will find the doc for this test.
Same for the feature patch.
It is also better for git history: if you git blame on doc, you will find
the commit implementing what is documented.

Thanks



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [dpdk-dev] [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto asym support
  2019-09-10 11:39         ` Akhil Goyal
@ 2019-09-10 12:23           ` Anoob Joseph
  0 siblings, 0 replies; 15+ messages in thread
From: Anoob Joseph @ 2019-09-10 12:23 UTC (permalink / raw)
  To: Akhil Goyal, Thomas Monjalon, Jerin Jacob Kollanukkaran
  Cc: Pablo de Lara, Narayana Prasad Raju Athreya, Fiona Trahe,
	Kanaka Durga Kotamarthy, Shally Verma, Sunila Sahu, dev

Hi Akhil,

> -----Original Message-----
> From: Akhil Goyal <akhil.goyal@nxp.com>
> Sent: Tuesday, September 10, 2019 5:10 PM
> To: Anoob Joseph <anoobj@marvell.com>; Thomas Monjalon
> <thomas@monjalon.net>; Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> Cc: Pablo de Lara <pablo.de.lara.guarch@intel.com>; Narayana Prasad Raju
> Athreya <pathreya@marvell.com>; Fiona Trahe <fiona.trahe@intel.com>;
> Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>; Shally Verma
> <shallyv@marvell.com>; Sunila Sahu <ssahu@marvell.com>; dev@dpdk.org
> Subject: RE: [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto
> asym support
> 
> Hi Anoob,
> 
> >
> > Hi Thomas,
> >
> > Please see inline.
> >
> > Thanks,
> > Anoob
> >
> > > -----Original Message-----
> > > From: Thomas Monjalon <thomas@monjalon.net>
> > > Sent: Tuesday, September 10, 2019 12:00 PM
> > > To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Anoob Joseph
> > > <anoobj@marvell.com>
> > > Cc: Akhil Goyal <akhil.goyal@nxp.com>; Pablo de Lara
> > > <pablo.de.lara.guarch@intel.com>; Narayana Prasad Raju Athreya
> > > <pathreya@marvell.com>; Fiona Trahe <fiona.trahe@intel.com>; Kanaka
> > > Durga Kotamarthy <kkotamarthy@marvell.com>; Shally Verma
> > > <shallyv@marvell.com>; Sunila Sahu <ssahu@marvell.com>;
> dev@dpdk.org
> > > Subject: Re: [PATCH 6/6] doc: add documentation for OCTEON TX2
> > > crypto asym support
> > >
> > > 10/09/2019 06:13, Jerin Jacob Kollanukkaran:
> > > > From: Anoob Joseph <anoobj@marvell.com>
> > > > > Adding documentation for asymmetric features supported by
> > > > > crypto_octeontx2 PMD.
> > > > >
> > > > > Signed-off-by: Anoob Joseph <anoobj@marvell.com>
> > > > > Signed-off-by: Kanaka Durga Kotamarthy
> <kkotamarthy@marvell.com>
> > > > > Signed-off-by: Sunila Sahu <ssahu@marvell.com>
> > > > > ---
> > > > >  doc/guides/cryptodevs/features/octeontx2.ini |  9 +++++++++
> > > > >  doc/guides/cryptodevs/octeontx2.rst          | 13 +++++++++++++
> > > >
> > > > Please update the release notes.
> > >
> > > Please avoid doing a separate patch for documentation.
> > > It could be updated while adding the feature, in the same patch.
> >
> > [Anoob] To which patch should I squash this change? Here are my
> > options,
> >
> > 1. The patch which adds ASYM in capabilities. Issue: the doc update
> > updates about autotest, which won't be available until the final patch is
> merged.
> > 2. Test patch which adds the autotest for the PMD. Issue: Additions to
> > the doc would be done by a patch which adds test.
> >
> > Which one should I use?
> 
> As per the convention followed these days, documentation should be the
> part of the Patch which support it.
> If you have supported many features in your patchset, you should add that
> piece of documentation which is supported in each of the patches in the
> patchset.
> 
> Release notes should be added in the patch which completes the whole
> feature.
> 
> -Akhil

Will do so when sending v2.

Thanks,
Anoob

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, back to index

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-09 15:26 [dpdk-dev] [PATCH 0/6] add asymmetric support in crypto_octeontx2 PMD Anoob Joseph
2019-09-09 15:26 ` [dpdk-dev] [PATCH 1/6] crypto/octeontx2: add RSA and modexp asym capabilities Anoob Joseph
2019-09-09 15:26 ` [dpdk-dev] [PATCH 2/6] crypto/octeontx2: allocate memory for asymmetric operation Anoob Joseph
2019-09-09 15:26 ` [dpdk-dev] [PATCH 3/6] crypto/octeontx2: add asymmetric session operations Anoob Joseph
2019-09-09 15:26 ` [dpdk-dev] [PATCH 4/6] crypto/octeontx2: add asymmetric in enqueue/dequeue ops Anoob Joseph
2019-09-09 15:26 ` [dpdk-dev] [PATCH 5/6] app/test: register octeontx2 PMD to asym testsuite Anoob Joseph
2019-09-09 15:26 ` [dpdk-dev] [PATCH 6/6] doc: add documentation for OCTEON TX2 crypto asym support Anoob Joseph
2019-09-10  4:13   ` Jerin Jacob Kollanukkaran
2019-09-10  6:12     ` Anoob Joseph
2019-09-10  6:30     ` Thomas Monjalon
2019-09-10 11:33       ` Anoob Joseph
2019-09-10 11:39         ` Akhil Goyal
2019-09-10 12:23           ` Anoob Joseph
2019-09-10 11:41         ` Thomas Monjalon
2019-09-09 16:25 ` [dpdk-dev] [PATCH 0/6] add asymmetric support in crypto_octeontx2 PMD Shally Verma

DPDK-dev Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/dpdk-dev/0 dpdk-dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dpdk-dev dpdk-dev/ https://lore.kernel.org/dpdk-dev \
		dev@dpdk.org dpdk-dev@archiver.kernel.org
	public-inbox-index dpdk-dev


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/ public-inbox