odph_ipv4_udp_chksum checks for IPv4 and UDP in packet flags which were
not set as the packet parse is triggered when setting the l3 offset

Signed-off-by: Nicolas Morey-Chaisemartin <nmo...@kalray.eu>
---
 example/generator/odp_generator.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/example/generator/odp_generator.c 
b/example/generator/odp_generator.c
index b0053b9..5cc1bae 100644
--- a/example/generator/odp_generator.c
+++ b/example/generator/odp_generator.c
@@ -206,6 +206,7 @@ static odp_packet_t pack_udp_pkt(odp_pool_t pool)
        eth->type = odp_cpu_to_be_16(ODPH_ETHTYPE_IPV4);
        /* ip */
        odp_packet_l3_offset_set(pkt, ODPH_ETHHDR_LEN);
+       odp_packet_has_ipv4_set(pkt, 1);
        ip = (odph_ipv4hdr_t *)(buf + ODPH_ETHHDR_LEN);
        ip->dst_addr = odp_cpu_to_be_32(args->appl.dstip);
        ip->src_addr = odp_cpu_to_be_32(args->appl.srcip);
@@ -219,6 +220,7 @@ static odp_packet_t pack_udp_pkt(odp_pool_t pool)
        odph_ipv4_csum_update(pkt);
        /* udp */
        odp_packet_l4_offset_set(pkt, ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN);
+       odp_packet_has_udp_set(pkt, 1);
        udp = (odph_udphdr_t *)(buf + ODPH_ETHHDR_LEN + ODPH_IPV4HDR_LEN);
        udp->src_port = 0;
        udp->dst_port = 0;
-- 
2.10.1.4.g0ffc436

Reply via email to