Messages in this thread | | | Subject | Re: [PATCH net-next v5] cadence: Add LSO support. | From | Eric Dumazet <> | Date | Mon, 14 Nov 2016 06:35:09 -0800 |
| |
On Mon, 2016-11-14 at 09:32 +0000, Rafal Ozieblo wrote: > From: David Miller [mailto:davem@davemloft.net] > Sent: 10 listopada 2016 18:01 > To: Rafal Ozieblo > Cc: nicolas.ferre@atmel.com; netdev@vger.kernel.org; linux-kernel@vger.kernel.org > Subject: Re: [PATCH net-next v5]] cadence: Add LSO support. > > From: Rafal Ozieblo <rafalo@cadence.com> > Date: Wed, 9 Nov 2016 13:41:02 +0000 > > > First, please remove the spurious closing bracket in your Subject line in future submittions. > > > >> + if (is_udp) /* is_udp is only set when (is_lso) is checked */ > >> + /* zero UDP checksum, not calculated by h/w for UFO */ > >> + udp_hdr(skb)->check = 0; > > > > This is really not ok. > > > > If UFO is in use it should not silently disable UDP checksums. > > > > If you cannot support UFO with proper checksumming, then you cannot enable support for that feature. > > According Cadence Gigabit Ethernet MAC documentation: > > "Hardware will not calculate the UDP checksum or modify the UDP checksum field. Therefore software > must set a value of zero in the checksum field in the UDP header (in the first payload buffer) > to indicate to the receiver that the UDP datagram does not include a checksum." > > It is hardware requirement.
Then do not claim NETIF_F_UFO suport in the driver, if hardware is absolutely not capable of handling this.
Linux stack will provide proper udp checksum.
Almost no driver sets NETIF_F_UFO.
| |