examples/ipsec-secgw: check SP only when setup
authorSergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Thu, 29 Sep 2016 15:44:11 +0000 (16:44 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Sat, 8 Oct 2016 15:54:38 +0000 (17:54 +0200)
Application will segfault if there is IPv4 or IPv6 and no SP/ACL rules
for IPv4 or IPv6 respectively.

Avoid checking the ACL/SP in such cases.

Fixes: 906257e965b7 ("examples/ipsec-secgw: support IPv6")

Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
examples/ipsec-secgw/ipsec-secgw.c

index 8b55534..9eee96f 100644 (file)
@@ -388,7 +388,7 @@ inbound_sp_sa(struct sp_ctx *sp, struct sa_ctx *sa, struct traffic_type *ip,
        struct rte_mbuf *m;
        uint32_t i, j, res, sa_idx;
 
-       if (ip->num == 0)
+       if (ip->num == 0 || sp == NULL)
                return;
 
        rte_acl_classify((struct rte_acl_ctx *)sp, ip->data, ip->res,
@@ -463,7 +463,7 @@ outbound_sp(struct sp_ctx *sp, struct traffic_type *ip,
        struct rte_mbuf *m;
        uint32_t i, j, sa_idx;
 
-       if (ip->num == 0)
+       if (ip->num == 0 || sp == NULL)
                return;
 
        rte_acl_classify((struct rte_acl_ctx *)sp, ip->data, ip->res,