[dpdk-dev] [PATCH] examples/ipsec_secgw: fix security session

Fan Zhang roy.fan.zhang at intel.com
Tue Jan 23 13:32:11 CET 2018


Fixes: 3da37f682173 ("examples/ipsec_secgw: create session mempools for ethdevs")

Some NICs do not have the rte_security context, this patch fixes the segment fault
caused by this.

Signed-off-by: Fan Zhang <roy.fan.zhang at intel.com>
---
 examples/ipsec-secgw/ipsec-secgw.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
index 3a28fcceb..c67f79db9 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -1384,10 +1384,16 @@ cryptodevs_init(void)
 			max_sess_sz = sess_sz;
 	}
 	for (port_id = 0; port_id < rte_eth_dev_count(); port_id++) {
+		void *sec_ctx;
+
 		if ((enabled_port_mask & (1 << port_id)) == 0)
 			continue;
-		sess_sz = rte_security_session_get_size(
-				rte_eth_dev_get_sec_ctx(port_id));
+
+		sec_ctx = rte_eth_dev_get_sec_ctx(port_id);
+		if (sec_ctx == NULL)
+			continue;
+
+		sess_sz = rte_security_session_get_size(sec_ctx);
 		if (sess_sz > max_sess_sz)
 			max_sess_sz = sess_sz;
 	}
-- 
2.13.6



More information about the dev mailing list