> -----Original Message-----
> From: David Marchand <[email protected]>
> Sent: Tuesday, February 2, 2021 17:45
> 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
> 


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

Looks like this workaround will make OVS performance drop a lot, since
every UDP packet needs to do checksum by SW:

            bool  hwol_good_l4_csum = dp_packet_l4_checksum_valid(pkt)
                                      || dp_packet_hwol_tx_l4_checksum(pkt);
            /* Validate the checksum only when hwol is not supported. */
            if (extract_l4(&ctx->key, l4, dp_packet_l4_size(pkt),
                           &ctx->icmp_related, l3, !hwol_good_l4_csum,
                           NULL)) {
                ctx->hash = conn_key_hash(&ctx->key, ct->hash_basis);
                return true;
            }

The lesser of the two rights, marking as good seems a little better.

> 
> --
> David Marchand

Reply via email to