Insert a compiler barrier to make sure that the IP checksum calculation happens after setting all the fields of the IP header.
Signed-off-by: George Prekas <preka...@amazon.com> --- app/test-pmd/flowgen.c | 1 + 1 file changed, 1 insertion(+) diff --git a/app/test-pmd/flowgen.c b/app/test-pmd/flowgen.c index acf3e2460..893b4b0b8 100644 --- a/app/test-pmd/flowgen.c +++ b/app/test-pmd/flowgen.c @@ -150,6 +150,7 @@ pkt_burst_flow_gen(struct fwd_stream *fs) next_flow); ip_hdr->total_length = RTE_CPU_TO_BE_16(pkt_size - sizeof(*eth_hdr)); + rte_compiler_barrier(); ip_hdr->hdr_checksum = ip_sum((unaligned_uint16_t *)ip_hdr, sizeof(*ip_hdr)); -- 2.17.1