[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <860ee92a-6547-342e-0e3e-024562328a90@gmail.com>
Date: Mon, 11 Feb 2019 09:24:01 -0800
From: Eric Dumazet <eric.dumazet@...il.com>
To: Tariq Toukan <tariqt@...lanox.com>,
"David S. Miller" <davem@...emloft.net>
Cc: netdev@...r.kernel.org, Eran Ben Elisha <eranbe@...lanox.com>,
Saeed Mahameed <saeedm@...lanox.com>,
Eric Dumazet <edumazet@...gle.com>
Subject: Re: [PATCH net V2] net/mlx4_en: Force CHECKSUM_NONE for short
ethernet frames
On 02/11/2019 08:04 AM, Tariq Toukan wrote:
> From: Saeed Mahameed <saeedm@...lanox.com>
>
> When an ethernet frame is padded to meet the minimum ethernet frame
> size, the padding octets are not covered by the hardware checksum.
> Fortunately the padding octets are usually zero's, which don't affect
> checksum. However, it is not guaranteed. For example, switches might
> choose to make other use of these octets.
> This repeatedly causes kernel hardware checksum fault.
>
> Prior to the cited commit below, skb checksum was forced to be
> CHECKSUM_NONE when padding is detected. After it, we need to keep
> skb->csum updated. However, fixing up CHECKSUM_COMPLETE requires to
> verify and parse IP headers, it does not worth the effort as the packets
> are so small that CHECKSUM_COMPLETE has no significant advantage.
>
> Future work: when reporting checksum complete is not an option for
> IP non-TCP/UDP packets, we can actually fallback to report checksum
> unnecessary, by looking at cqe IPOK bit.
>
> Fixes: 88078d98d1bb ("net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends")
> Cc: Eric Dumazet <edumazet@...gle.com>
> Signed-off-by: Saeed Mahameed <saeedm@...lanox.com>
> Signed-off-by: Tariq Toukan <tariqt@...lanox.com>
Thanks Tariq and Saeed
Reviewed-by: Eric Dumazet <edumazet@...gle.com>
Powered by blists - more mailing lists