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