From: Grigore Ion <ion.grig...@freescale.com>

The UDP checksum is computed in the CPU endianess. The returned result must be 
converted
to the BE ordering when it is used to update the UDP checksum in a packet.

Signed-off-by: Grigore Ion <ion.grig...@freescale.com>
---
 example/generator/odp_generator.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/example/generator/odp_generator.c 
b/example/generator/odp_generator.c
index d6ec758..e281b27 100644
--- a/example/generator/odp_generator.c
+++ b/example/generator/odp_generator.c
@@ -238,7 +238,7 @@ static odp_packet_t pack_udp_pkt(odp_pool_t pool)
        udp->dst_port = 0;
        udp->length = odp_cpu_to_be_16(args->appl.payload + ODPH_UDPHDR_LEN);
        udp->chksum = 0;
-       udp->chksum = odph_ipv4_udp_chksum(pkt);
+       udp->chksum = odp_cpu_to_be_16(odph_ipv4_udp_chksum(pkt));
 
        return pkt;
 }
-- 
1.7.3.4

_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to