> -----Original Message-----
> From: Wang, Haiyue
> Sent: Tuesday, February 2, 2021 20:57
> To: David Marchand <david.march...@redhat.com>
> Cc: dev <dev@dpdk.org>; pvale...@redhat.com; Aaron Conole 
> <acon...@redhat.com>; Zhang, Qi Z
> <qi.z.zh...@intel.com>; Rong, Leyi <leyi.r...@intel.com>; Tu, Lijuan 
> <lijuan...@intel.com>; dpdk
> stable <sta...@dpdk.org>; Guo, Jia <jia....@intel.com>; Richardson, Bruce 
> <bruce.richard...@intel.com>;
> Ananyev, Konstantin <konstantin.anan...@intel.com>; Jerin Jacob Kollanukkaran 
> <jer...@marvell.com>;
> Ruifeng Wang (Arm Technology China) <ruifeng.w...@arm.com>
> Subject: RE: [PATCH v1] net/ixgbe: adjust error for UDP with zero checksum
> 
> > -----Original Message-----
> > From: David Marchand <david.march...@redhat.com>
> > Sent: Tuesday, February 2, 2021 20:54
> > To: Wang, Haiyue <haiyue.w...@intel.com>
> > Cc: dev <dev@dpdk.org>; pvale...@redhat.com; Aaron Conole 
> > <acon...@redhat.com>; Zhang, Qi Z
> > <qi.z.zh...@intel.com>; Rong, Leyi <leyi.r...@intel.com>; Tu, Lijuan 
> > <lijuan...@intel.com>; dpdk
> > stable <sta...@dpdk.org>; Guo, Jia <jia....@intel.com>; Richardson, Bruce
> <bruce.richard...@intel.com>;
> > Ananyev, Konstantin <konstantin.anan...@intel.com>; Jerin Jacob 
> > Kollanukkaran <jer...@marvell.com>;
> > Ruifeng Wang (Arm Technology China) <ruifeng.w...@arm.com>
> > Subject: Re: [PATCH v1] net/ixgbe: adjust error for UDP with zero checksum
> >
> > On Tue, Feb 2, 2021 at 1:42 PM Wang, Haiyue <haiyue.w...@intel.com> wrote:
> > > > If the driver/hw can't report a valid checksum hint, it should
> > > > announce it does not know if the checksum is valid (neither bad, nor
> > > > good).
> > > >
> > > > So the workaround for udp packets (on this hw model) would be to
> > > > report PKT_RX_L4_CKSUM_UNKNOWN.
> > > > The sw application will then have to recompute the checksum itself if 
> > > > needed.
> > > >
> > >
> > > Make sense, but not sure the vector path can handle this more easily. 
> > > Will try.
> >
> > Refining this a bit.
> > It looks like hw correctly reports "good" checksums, so maybe instead
> > report PKT_RX_L4_CKSUM_UNKNOWN only for reports of "bad" checksums
> > from the hw?
> 
> I guess Paolo will complain about the performance drop for zero checksum
> UDP. ;-)
> 

Deep into OVS for detail, 'PKT_RX_L4_CKSUM_UNKNOWN' is a graceful way. ;-)
Will work for this target.

    /* Validation must be skipped if checksum is 0 on IPv4 packets */
    return (udp->udp_csum == 0 && key->dl_type == htons(ETH_TYPE_IP))
           || (validate_checksum ? checksum_valid(key, data, size, l3) : true);

> >
> > --
> > David Marchand

Reply via email to