"Wang, Haiyue" <[email protected]> writes:

>> -----Original Message-----
>> From: Wang, Haiyue
>> Sent: Tuesday, February 2, 2021 20:57
>> To: David Marchand <[email protected]>
>> Cc: dev <[email protected]>; [email protected]; Aaron Conole 
>> <[email protected]>; Zhang, Qi Z
>> <[email protected]>; Rong, Leyi <[email protected]>; Tu, Lijuan 
>> <[email protected]>; dpdk
>> stable <[email protected]>; Guo, Jia <[email protected]>; Richardson, Bruce 
>> <[email protected]>;
>> Ananyev, Konstantin <[email protected]>; Jerin Jacob 
>> Kollanukkaran <[email protected]>;
>> Ruifeng Wang (Arm Technology China) <[email protected]>
>> Subject: RE: [PATCH v1] net/ixgbe: adjust error for UDP with zero checksum
>> 
>> > -----Original Message-----
>> > From: David Marchand <[email protected]>
>> > Sent: Tuesday, February 2, 2021 20:54
>> > To: Wang, Haiyue <[email protected]>
>> > Cc: dev <[email protected]>; [email protected]; Aaron Conole 
>> > <[email protected]>; Zhang, Qi Z
>> > <[email protected]>; Rong, Leyi <[email protected]>; Tu, Lijuan 
>> > <[email protected]>; dpdk
>> > stable <[email protected]>; Guo, Jia <[email protected]>; Richardson, Bruce
>> <[email protected]>;
>> > Ananyev, Konstantin <[email protected]>; Jerin Jacob 
>> > Kollanukkaran <[email protected]>;
>> > Ruifeng Wang (Arm Technology China) <[email protected]>
>> > Subject: Re: [PATCH v1] net/ixgbe: adjust error for UDP with zero checksum
>> >
>> > On Tue, Feb 2, 2021 at 1:42 PM Wang, Haiyue <[email protected]> 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

Reply via email to