[dpdk-dev] [PATCH v4 15/15] examples/ipsec-secgw: reserve crypto queues in event mode
From: Lukasz Bartosik <hidden>
Date: 2020-02-20 08:05:09
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Lukasz Bartosik <hidden>
Date: 2020-02-20 08:05:09
Subsystem:
the rest · Maintainer:
Linus Torvalds
Reserve minimum number of crypto queues equal to number of ports. This is to fulfill inline protocol offload requirements. Signed-off-by: Anoob Joseph <redacted> Signed-off-by: Lukasz Bartosik <redacted> --- examples/ipsec-secgw/ipsec-secgw.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
index 341e7b4..982d00b 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c@@ -1919,7 +1919,7 @@ check_cryptodev_mask(uint8_t cdev_id) } static uint16_t -cryptodevs_init(void) +cryptodevs_init(uint16_t req_queue_num) { struct rte_cryptodev_config dev_conf; struct rte_cryptodev_qp_conf qp_conf;
@@ -1982,6 +1982,7 @@ cryptodevs_init(void) i++; } + qp = RTE_MIN(max_nb_qps, RTE_MAX(req_queue_num, qp)); if (qp == 0) continue;
@@ -2726,7 +2727,16 @@ main(int32_t argc, char **argv) sess_sz = max_session_size(); - nb_crypto_qp = cryptodevs_init(); + /* + * In event mode request minimum number of crypto queues + * to be reserved equal to number of ports. + */ + if (eh_conf->mode == EH_PKT_TRANSFER_MODE_EVENT) + nb_crypto_qp = rte_eth_dev_count_avail(); + else + nb_crypto_qp = 0; + + nb_crypto_qp = cryptodevs_init(nb_crypto_qp); if (nb_bufs_in_pool == 0) { RTE_ETH_FOREACH_DEV(portid) {
--
2.7.4