On Tue, Nov 27, 2018 at 10:10 PM Cong Wang <[email protected]> wrote: > > 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 ususally zero's, which don't affect > checksum. However, we have a switch which pads non-zero octets, this > causes kernel hardware checksum fault repeatedly. > > Prior to commit 88078d98d1bb ("net: pskb_trim_rcsum() and CHECKSUM_COMPLETE > are friends"), > skb checksum is forced to be CHECKSUM_NONE when padding is detected. > After it, we need to keep skb->csum updated, like what we do for FCS. > > The logic is a bit complicated when dealing with both FCS and padding, > so I wrap it up in a helper function mlx5e_csum_padding(). > > I tested this patch with RXFCS on and off, it works fine without any > warning in both cases. > > Fixes: 88078d98d1bb ("net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are > friends"), > Cc: Saeed Mahameed <[email protected]> > Cc: Eric Dumazet <[email protected]> > Signed-off-by: Cong Wang <[email protected]>
Nacked-by: Cong Wang <[email protected]> This patch has no value for upstream. Let's discard it. Please don't use or rework on this patch for any purpose. Thanks!
