[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20120718.132840.1571938255177607234.davem@davemloft.net>
Date: Wed, 18 Jul 2012 13:28:40 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: romieu@...zoreil.com
Cc: hayeswang@...ltek.com, eric.dumazet@...il.com,
netdev@...r.kernel.org
Subject: Re: [RFC] r8169 : why SG / TX checksum are default disabled
From: Francois Romieu <romieu@...zoreil.com>
Date: Wed, 18 Jul 2012 22:12:01 +0200
> David Miller <davem@...emloft.net> :
>> From: hayeswang <hayeswang@...ltek.com>
>> > Francois Romieu [mailto:romieu@...zoreil.com]
>> > [...]
>> >
>> >> 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?
>
> A part of the apparent problem may stem from the fact that Realtek's 8168
> driver claims a modified length but it does not really skb_padto...
>
> Hayes, would the patch below fix the original problem ?
A NETDEV_TX_OK return means we accepted the SKB, it doesn't look like
that's what you are doing in the skb_padto() failure path.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists