From: hayeswang <redacted>
Date: Wed, 18 Jul 2012 14:45:55 +0800
Francois Romieu [mailto:romieu@fr.zoreil.com]
[...]
quoted
Hayes, should we not add into the kernel driver something similar to
the rtl8168_start_xmit::skb_checksum_help stuff in Realtek's
8168 driver ?
There seems to be a bug for (skb->len < 60 && RTL_GIGA_MAC_VER_34.
For RTL8168E-VL (RTL_GIGA_MAC_VER_34), the hardware wouldn't send the packet
with the length less than 60 bytes. The hardware should pad this kind of packet
to 60 bytes, but it wouldn't. Therefore, the software has to pad the packet to
60 bytes. However, the hw checksum would be incorrect for the modified packet,
so the software checksum is necessary.
I wonder how the hardware checksum can be incorrectly calculated if the padding
is done with zeros?