[PATCH v2 2/2] app/testpmd: fix SW L4 checksum in multi-segments

Liu, KevinX kevinx.liu at intel.com
Fri Mar 11 08:04:15 CET 2022


Hi, Ferruh

Yuying has already reviewed it days ago.
If you can, I hope you can change the status as soon as possible and try to merge the code in RC4.
Thank you.

> -----Original Message-----
> From: Zhang, Yuying <yuying.zhang at intel.com>
> Sent: 2022年3月3日 14:30
> To: Zhang, Qi Z <qi.z.zhang at intel.com>; Liu, KevinX <kevinx.liu at intel.com>;
> dev <dev at dpdk.org>
> Cc: Yang, Qiming <qiming.yang at intel.com>; Yang, SteveX
> <stevex.yang at intel.com>; Yigit, Ferruh <ferruh.yigit at intel.com>; Xing, Beilei
> <beilei.xing at intel.com>; Li, Xiaoyun <xiaoyun.li at intel.com>; dpdk stable
> <stable at dpdk.org>
> Subject: RE: [PATCH v2 2/2] app/testpmd: fix SW L4 checksum in multi-
> segments
> 
> LGTM.
> 
> > > -----Original Message-----
> > > From: Liu, KevinX <kevinx.liu at intel.com>
> > > Sent: Wednesday, December 29, 2021 5:37 PM
> > > To: dev at dpdk.org
> > > Cc: Yang, Qiming <qiming.yang at intel.com>; Zhang, Qi Z
> > > <qi.z.zhang at intel.com>; Yang, SteveX <stevex.yang at intel.com>; Yigit,
> > > Ferruh <ferruh.yigit at intel.com>; Liu, KevinX <kevinx.liu at intel.com>;
> > > stable at 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: stable at dpdk.org
> > >
> > > Signed-off-by: Kevin Liu <kevinx.liu at intel.com>
> 
> Acked-by: Yuying Zhang <yuying.zhang at 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
> >



More information about the stable mailing list