On Tue, Nov 27, 2018 at 10:10 PM Cong Wang <xiyou.wangc...@gmail.com> 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 <sae...@mellanox.com> > Cc: Eric Dumazet <eduma...@google.com> > Signed-off-by: Cong Wang <xiyou.wangc...@gmail.com>
Nacked-by: Cong Wang <xiyou.wangc...@gmail.com> This patch has no value for upstream. Let's discard it. Please don't use or rework on this patch for any purpose. Thanks!