examples/ipsec-secgw: update mbuf packet type
authorAkhil Goyal <akhil.goyal@nxp.com>
Thu, 14 Dec 2017 07:05:30 +0000 (12:35 +0530)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Sat, 20 Jan 2018 15:10:52 +0000 (16:10 +0100)
Packet_type should be updated to remove/add L4 type for
encrypted/decrypted packet

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Radu Nicolau <radu.nicolau@intel.com>
examples/ipsec-secgw/ipip.h

index ca91b2b..fb6a6fa 100644 (file)
@@ -74,7 +74,7 @@ ipip_outbound(struct rte_mbuf *m, uint32_t offset, uint32_t is_ipv6,
 
        outip4->ip_src.s_addr = src->ip.ip4;
        outip4->ip_dst.s_addr = dst->ip.ip4;
-
+       m->packet_type &= ~RTE_PTYPE_L4_MASK;
        return outip4;
 }
 
@@ -140,6 +140,11 @@ ipip_inbound(struct rte_mbuf *m, uint32_t offset)
                        ip4_ecn_setup(inip4);
                /* XXX This should be done by the forwarding engine instead */
                inip4->ip_ttl -= 1;
+               m->packet_type &= ~RTE_PTYPE_L4_MASK;
+               if (inip4->ip_p == IPPROTO_UDP)
+                       m->packet_type |= RTE_PTYPE_L4_UDP;
+               else if (inip4->ip_p == IPPROTO_TCP)
+                       m->packet_type |= RTE_PTYPE_L4_TCP;
        } else {
                inip6 = (struct ip6_hdr *)inip4;
                if (set_ecn)