From: Anoob Joseph <anoobj@marvell.com>
To: Akhil Goyal <akhil.goyal@nxp.com>,
Konstantin Ananyev <konstantin.ananyev@intel.com>,
Radu Nicolau <radu.nicolau@intel.com>
Cc: Anoob Joseph <anoobj@marvell.com>,
Jerin Jacob <jerinj@marvell.com>,
Lukasz Bartosik <lbartosik@marvell.com>,
Narayana Prasad <pathreya@marvell.com>, <dev@dpdk.org>
Subject: [dpdk-dev] [PATCH] examples/ipsec-secgw: increase number of qps to lcore_params
Date: Fri, 10 Jan 2020 20:16:38 +0530 [thread overview]
Message-ID: <1578667598-18942-1-git-send-email-anoobj@marvell.com> (raw)
Currently only one qp will be used for one core. The number of qps can
be increased to match the number of lcore params.
Signed-off-by: Anoob Joseph <anoobj@marvell.com>
---
examples/ipsec-secgw/ipsec-secgw.c | 39 +++++++++++++++++++-------------------
examples/ipsec-secgw/ipsec.h | 4 +++-
2 files changed, 23 insertions(+), 20 deletions(-)
diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
index 3b5aaf6..d8c435e 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -1709,6 +1709,8 @@ add_mapping(struct rte_hash *map, const char *str, uint16_t cdev_id,
unsigned long i;
struct cdev_key key = { 0 };
+ key.port_id = params->port_id;
+ key.queue_id = params->queue_id;
key.lcore_id = params->lcore_id;
if (cipher)
key.cipher_algo = cipher->sym.cipher.algo;
@@ -1721,23 +1723,17 @@ add_mapping(struct rte_hash *map, const char *str, uint16_t cdev_id,
if (ret != -ENOENT)
return 0;
- for (i = 0; i < ipsec_ctx->nb_qps; i++)
- if (ipsec_ctx->tbl[i].id == cdev_id)
- break;
-
- if (i == ipsec_ctx->nb_qps) {
- if (ipsec_ctx->nb_qps == MAX_QP_PER_LCORE) {
- printf("Maximum number of crypto devices assigned to "
- "a core, increase MAX_QP_PER_LCORE value\n");
- return 0;
- }
- ipsec_ctx->tbl[i].id = cdev_id;
- ipsec_ctx->tbl[i].qp = qp;
- ipsec_ctx->nb_qps++;
- printf("%s cdev mapping: lcore %u using cdev %u qp %u "
- "(cdev_id_qp %lu)\n", str, key.lcore_id,
- cdev_id, qp, i);
+ i = ipsec_ctx->nb_qps;
+ if (ipsec_ctx->nb_qps == MAX_QP_PER_LCORE) {
+ printf("Maximum number of crypto devices assigned to a core, "
+ "increase MAX_QP_PER_LCORE value\n");
+ return 0;
}
+ ipsec_ctx->tbl[i].id = cdev_id;
+ ipsec_ctx->tbl[i].qp = qp;
+ ipsec_ctx->nb_qps++;
+ printf("%s cdev mapping: lcore %u using cdev %u qp %u "
+ "(cdev_id_qp %lu)\n", str, key.lcore_id, cdev_id, qp, i);
ret = rte_hash_add_key_data(map, &key, (void *)i);
if (ret < 0) {
@@ -1785,8 +1781,10 @@ add_cdev_mapping(struct rte_cryptodev_info *dev_info, uint16_t cdev_id,
continue;
if (i->sym.xform_type == RTE_CRYPTO_SYM_XFORM_AEAD) {
- ret |= add_mapping(map, str, cdev_id, qp, params,
+ ret = add_mapping(map, str, cdev_id, qp, params,
ipsec_ctx, NULL, NULL, i);
+ if (ret)
+ return ret;
continue;
}
@@ -1801,12 +1799,15 @@ add_cdev_mapping(struct rte_cryptodev_info *dev_info, uint16_t cdev_id,
if (j->sym.xform_type != RTE_CRYPTO_SYM_XFORM_AUTH)
continue;
- ret |= add_mapping(map, str, cdev_id, qp, params,
+ ret = add_mapping(map, str, cdev_id, qp, params,
ipsec_ctx, i, j, NULL);
+ if (ret)
+ return ret;
+ continue;
}
}
- return ret;
+ return 0;
}
/* Check if the device is enabled by cryptodev_mask */
diff --git a/examples/ipsec-secgw/ipsec.h b/examples/ipsec-secgw/ipsec.h
index 8e07521..92fd5eb 100644
--- a/examples/ipsec-secgw/ipsec.h
+++ b/examples/ipsec-secgw/ipsec.h
@@ -200,7 +200,9 @@ struct ipsec_ctx {
};
struct cdev_key {
- uint16_t lcore_id;
+ uint16_t port_id;
+ uint8_t queue_id;
+ uint8_t lcore_id;
uint8_t cipher_algo;
uint8_t auth_algo;
uint8_t aead_algo;
--
2.7.4
next reply other threads:[~2020-01-10 14:47 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-10 14:46 Anoob Joseph [this message]
2020-01-29 22:12 ` Ananyev, Konstantin
2020-01-30 16:28 ` Anoob Joseph
2020-01-31 16:32 ` Ananyev, Konstantin
2020-01-31 17:04 ` Anoob Joseph
2020-01-31 18:49 ` Ananyev, Konstantin
2020-02-03 9:05 ` Anoob Joseph
2020-02-03 9:15 ` Akhil Goyal
2020-02-03 9:22 ` Anoob Joseph
2020-02-06 10:46 ` Anoob Joseph
2020-02-06 11:30 ` Akhil Goyal
2020-02-06 11:32 ` Thomas Monjalon
2020-01-30 16:38 ` [dpdk-dev] [PATCH v2] " Anoob Joseph
2020-01-31 17:39 ` Ananyev, Konstantin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1578667598-18942-1-git-send-email-anoobj@marvell.com \
--to=anoobj@marvell.com \
--cc=akhil.goyal@nxp.com \
--cc=dev@dpdk.org \
--cc=jerinj@marvell.com \
--cc=konstantin.ananyev@intel.com \
--cc=lbartosik@marvell.com \
--cc=pathreya@marvell.com \
--cc=radu.nicolau@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).