[dpdk-stable] [PATCH v1] net/ixgbe: adjust error for UDP with zero checksum

Wang, Haiyue haiyue.wang at intel.com
Tue Feb 2 15:28:36 CET 2021


> -----Original Message-----
> From: Wang, Haiyue
> Sent: Tuesday, February 2, 2021 20:57
> To: David Marchand <david.marchand at redhat.com>
> Cc: dev <dev at dpdk.org>; pvalerio at redhat.com; Aaron Conole <aconole at redhat.com>; Zhang, Qi Z
> <qi.z.zhang at intel.com>; Rong, Leyi <leyi.rong at intel.com>; Tu, Lijuan <Lijuan.Tu at intel.com>; dpdk
> stable <stable at dpdk.org>; Guo, Jia <jia.guo at intel.com>; Richardson, Bruce <bruce.richardson at intel.com>;
> Ananyev, Konstantin <konstantin.ananyev at intel.com>; Jerin Jacob Kollanukkaran <jerinj at marvell.com>;
> Ruifeng Wang (Arm Technology China) <ruifeng.wang at arm.com>
> Subject: RE: [PATCH v1] net/ixgbe: adjust error for UDP with zero checksum
> 
> > -----Original Message-----
> > From: David Marchand <david.marchand at redhat.com>
> > Sent: Tuesday, February 2, 2021 20:54
> > To: Wang, Haiyue <haiyue.wang at intel.com>
> > Cc: dev <dev at dpdk.org>; pvalerio at redhat.com; Aaron Conole <aconole at redhat.com>; Zhang, Qi Z
> > <qi.z.zhang at intel.com>; Rong, Leyi <leyi.rong at intel.com>; Tu, Lijuan <lijuan.tu at intel.com>; dpdk
> > stable <stable at dpdk.org>; Guo, Jia <jia.guo at intel.com>; Richardson, Bruce
> <bruce.richardson at intel.com>;
> > Ananyev, Konstantin <konstantin.ananyev at intel.com>; Jerin Jacob Kollanukkaran <jerinj at marvell.com>;
> > Ruifeng Wang (Arm Technology China) <ruifeng.wang at 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.wang at 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



More information about the stable mailing list