Subject: Re: [PATCH RFC] net/macb: Fix UDPv4 checksum offload

From: Jaeden Amero <[email-masked]>
Date: Tue, 28 Apr 2015 15:36:54 -0500

On 04/27/2015 09:47 PM, David Miller wrote:
> From: Jaeden Amero <[email-masked]>
> Date: Mon, 27 Apr 2015 17:43:30 -0500
>
> A UDP checksum of zero, means "checksum not computed".  And your
> device isn't computing the checksum at all, but rather is leaving it
> at zero.

The "zero" checksum is not what gets sent over the wire. Independent of
the value of the checksum field, hardware generates a correct checksum
for payloads of 3 or more bytes. The bug is that hardware generates an
incorrect checksum for payloads of 2 or less bytes, unless the checksum
field is zeroed.

> You need to handle this properly by computing the checksum in
> software and then setting the TX descriptor bits such that the
> chip leaves the checksum field alone.

Unfortunately, the Cadence MACB doesn't support the enabling or
disabling of checksum generation per descriptor.