Packet_type should be updated to remove/add L4 type for
encrypted/decrypted packet

Signed-off-by: Akhil Goyal <akhil.go...@nxp.com>
---
 examples/ipsec-secgw/ipip.h | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/examples/ipsec-secgw/ipip.h b/examples/ipsec-secgw/ipip.h
index 93393d5..9267618 100644
--- a/examples/ipsec-secgw/ipip.h
+++ b/examples/ipsec-secgw/ipip.h
@@ -103,7 +103,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;
 }
 
@@ -169,6 +169,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)
-- 
2.9.3

Reply via email to