On Mon, Dec 3, 2018 at 10:14 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 was forced to be CHECKSUM_NONE when padding is detected. > After it, we need to keep skb->csum updated, like what we do for RXFCS. > However, fixing up CHECKSUM_COMPLETE requires to verify and parse IP > headers, it is not worthy the effort as the packets are so small that > CHECKSUM_COMPLETE can't save anything. > > 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]> > Cc: Tariq Toukan <[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. Thanks!
