On Mon, Dec 3, 2018 at 3:17 PM David Miller <da...@davemloft.net> wrote: > > From: Cong Wang <xiyou.wangc...@gmail.com> > Date: Tue, 27 Nov 2018 22:10:13 -0800 > > > 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> > > Saeed, are you going to take care of this?
Yes, I will take it to mlx5 net branch and submit it to you when it is ready. Cong just submitted v3 with new title: [Patch net v3] mlx5: force CHECKSUM_NONE for short ethernet frames we are still working on it. Thanks !