On Mon, Aug 16, 2021 at 08:48:20AM +0000, Li, Xiaoyun wrote:
> Hi
> 
> > -----Original Message-----
> > From: Nithin Dabilpuram <ndabilpu...@marvell.com>
> > Sent: Monday, August 16, 2021 15:10
> > To: Li, Xiaoyun <xiaoyun...@intel.com>
> > Cc: jer...@marvell.com; dev@dpdk.org; Nithin Dabilpuram
> > <ndabilpu...@marvell.com>; jia....@intel.com; sta...@dpdk.org
> > Subject: [PATCH 1/2] app/testpmd: fix csumonly mode when run without outer
> > chksum
> > 
> > Donot use outer metadata when neither outer ip checksum nor outer udp
> > checksum is enabled. PMD's will ignore the outer_l2_len and outer_l3_len in
> > cases where none of the outer checksum is enabled and hence only l2_len and
> > l3_len will be used to calculate the offsets for L2 or L3 header.
> 
> I don't understand.
> In process_outer_chksum, only PKT_TX_OUTER_IPV6 Will be set if it's ipv6 
> packets.
> So PKT_TX_OUTER_IPV6 means this packet is tunnel ipv6 packet. So it actually 
> needs outer l2 len and outer l3 len put them to hw.
> At least i40e needs outer l2 len and outer l3 len as far as I know.

Ok, do you mean m->outer_l2_len and m->outer_l3_len will be referred in i40e 
driver
even when both DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM and 
DEV_TX_OFFLOAD_OUTER_UDP_CKSUM are not enabled in ethdev Tx offloads ?

I thought as per spec, those fields will only be used when the Outer offloads
are enabled.

> 
> > 
> > Fixes: 3c32113a1aac ("app/testpmd: fix IPv6 tunnel checksum")
> > Cc: jia....@intel.com
> > Cc: sta...@dpdk.org
> > 
> > Signed-off-by: Nithin Dabilpuram <ndabilpu...@marvell.com>
> > ---
> >  app/test-pmd/csumonly.c | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c index
> > 607c889..38cc256 100644
> > --- a/app/test-pmd/csumonly.c
> > +++ b/app/test-pmd/csumonly.c
> > @@ -961,8 +961,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
> >                         (tx_offloads &
> >                          DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM) ||
> >                         (tx_offloads &
> > -                        DEV_TX_OFFLOAD_OUTER_UDP_CKSUM) ||
> > -                       (tx_ol_flags & PKT_TX_OUTER_IPV6)) {
> > +                        DEV_TX_OFFLOAD_OUTER_UDP_CKSUM)) {
> >                             m->outer_l2_len = info.outer_l2_len;
> >                             m->outer_l3_len = info.outer_l3_len;
> >                             m->l2_len = info.l2_len;
> > --
> > 2.8.4
> 

Reply via email to