On Mon, 19 May 2025 21:36:56 +0530
<sk...@marvell.com> wrote:

> From: Sunil Kumar Kori <sk...@marvell.com>
> 
> hdr_lens is used to maintain header lengths after parsing packets.
> When port receives different type of packets (say first is VXLAN
> packet and second is GRE packet).
> 
> For first packet, L2/L3/L4 lengths are set for inner and outer header
> alongwith tunnel_len.
> 
> Now for second packet, tunnel_len is added more than its size it
> contains stale value which further leads to wrong header pointers.
> 
> Hence clearing stale information before processing each packet.
> 
> Signed-off-by: Sunil Kumar Kori <sk...@marvell.com>

The initialization of hdr_lens then becomes redundant.

Maybe better to just move it into the loop.

diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c
index fa0002d321..203af35cf0 100644
--- a/app/test-pmd/csumonly.c
+++ b/app/test-pmd/csumonly.c
@@ -627,7 +627,6 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
        uint32_t rx_bad_outer_l4_csum;
        uint32_t rx_bad_outer_ip_csum;
        struct testpmd_offload_info info;
-       struct rte_net_hdr_lens hdr_lens = {0};
        uint32_t ptype;
 
        /* receive a burst of packet */
@@ -666,6 +665,8 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
 #endif
 
        for (i = 0; i < nb_rx; i++) {
+               struct rte_net_hdr_lens hdr_lens = {0};
+
                if (likely(i < nb_rx - 1))
                        rte_prefetch0(rte_pktmbuf_mtod(pkts_burst[i + 1],
                                                       void *));
~/DPDK/main $ 

Reply via email to