Due to recent changes to the default device socket ID, before
being used as an index for session mempool list,
set socket ID to 0 if unknown (-1).

Fixes: 7dcd73e37965 ("drivers/bus: set device NUMA node to unknown by default")
Cc: olivier.m...@6wind.com
Cc: sta...@dpdk.org

Signed-off-by: Kai Ji <kai...@intel.com>
---
 examples/ipsec-secgw/ipsec-secgw.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/examples/ipsec-secgw/ipsec-secgw.c 
b/examples/ipsec-secgw/ipsec-secgw.c
index 029749e522..e678625ece 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -1699,6 +1699,11 @@ cryptodevs_init(enum eh_pkt_transfer_mode mode)
 
                total_nb_qps += qp;
                dev_conf.socket_id = rte_cryptodev_socket_id(cdev_id);
+               /* range check the socket_id - negative values become big
+                * positive ones due to use of unsigned value
+                */
+               if (dev_conf.socket_id >= RTE_MAX_NUMA_NODES)
+                       dev_conf.socket_id = 0;
                dev_conf.nb_queue_pairs = qp;
                dev_conf.ff_disable = RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO;
 
-- 
2.34.1

Reply via email to