LGTM.

> > -----Original Message-----
> > From: Liu, KevinX <kevinx....@intel.com>
> > Sent: Wednesday, December 29, 2021 5:37 PM
> > To: dev@dpdk.org
> > Cc: Yang, Qiming <qiming.y...@intel.com>; Zhang, Qi Z
> > <qi.z.zh...@intel.com>; Yang, SteveX <stevex.y...@intel.com>; Yigit,
> > Ferruh <ferruh.yi...@intel.com>; Liu, KevinX <kevinx....@intel.com>;
> > sta...@dpdk.org
> > Subject: [PATCH v2 2/2] app/testpmd: fix SW L4 checksum in
> > multi-segments
> >
> > Testpmd forwards packets in checksum mode that it needs to calculate
> > the checksum of each layer's protocol.
> >
> > In process_inner_cksums, when parsing tunnel packets, inner L4 offset
> > should be outer_l2_len + outer_l3_len + l2_len + l3_len.
> >
> > In process_outer_cksums, when parsing tunnel packets, outer L4 offset
> > should be outer_l2_len + outer_l3_len.
> >
> > Fixes: e6b9d6411e91 ("app/testpmd: add SW L4 checksum in multi-
> > segments")
> > Cc: sta...@dpdk.org
> >
> > Signed-off-by: Kevin Liu <kevinx....@intel.com>

Acked-by: Yuying Zhang <yuying.zh...@intel.com>

> > ---
> >  app/test-pmd/csumonly.c | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c index
> > 02bc3929c7..c235456e58 100644
> > --- a/app/test-pmd/csumonly.c
> > +++ b/app/test-pmd/csumonly.c
> 
> 
> > @@ -513,7 +513,7 @@ process_inner_cksums(void *l3_hdr, const struct
> > testpmd_offload_info *info,  ol_flags |= RTE_MBUF_F_TX_UDP_CKSUM;  }
> > else {  if (info->is_tunnel) -l4_off = info->l2_len +
> > +l4_off = info->outer_l2_len +
> >   info->outer_l3_len +
> >   info->l2_len + info->l3_len;
> >  else
> > @@ -536,7 +536,7 @@ process_inner_cksums(void *l3_hdr, const struct
> > testpmd_offload_info *info,  ol_flags |= RTE_MBUF_F_TX_TCP_CKSUM;  }
> > else {  if (info->is_tunnel) -l4_off = info->l2_len +
> > info->outer_l3_len +
> > +l4_off = info->outer_l2_len + info-
> > >outer_l3_len +
> >   info->l2_len + info->l3_len;
> >  else
> >  l4_off = info->l2_len + info->l3_len; @@ -
> > 625,7 +625,7 @@ process_outer_cksums(void *outer_l3_hdr, struct
> > testpmd_offload_info *info,  if (udp_hdr->dgram_cksum != 0) {
> > udp_hdr->dgram_cksum = 0;  udp_hdr->dgram_cksum =
> > get_udptcp_checksum(m, outer_l3_hdr,
> > -info->l2_len + info->outer_l3_len,
> > +info->outer_l2_len + info-
> > >outer_l3_len,
> >  info->outer_ethertype);
> >  }
> >
> > --
> > 2.33.1
> 

Reply via email to