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

Paolo Valerio pvalerio at redhat.com
Tue Feb 2 18:42:34 CET 2021


"Wang, Haiyue" <haiyue.wang at intel.com> writes:

>> -----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.

yes, validation gets skipped in such case.
I'll be happy to test it once posted.

>
>     /* 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