[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAF=yD-L2WsXmQ--8CAKrxRkZs5cuBufr3mHQ0+rbn_StOYAczQ@mail.gmail.com>
Date: Mon, 2 Jul 2018 09:34:56 -0400
From: Willem de Bruijn <willemdebruijn.kernel@...il.com>
To: borisp@...lanox.com
Cc: Alexander Duyck <alexander.duyck@...il.com>,
David Miller <davem@...emloft.net>,
Network Development <netdev@...r.kernel.org>,
Saeed Mahameed <saeedm@...lanox.com>, ogerlitz@...lanox.com,
yossiku@...lanox.com
Subject: Re: [net-next 01/12] net/mlx5e: Add UDP GSO support
On Mon, Jul 2, 2018 at 1:30 AM Boris Pismenny <borisp@...lanox.com> wrote:
>
>
>
> On 7/2/2018 4:45 AM, Willem de Bruijn wrote:
> >>> I've noticed that we could get cleaner code in our driver if we remove
> >>> these two lines from net/ipv4/udp_offload.c:
> >>> if (skb_is_gso(segs))
> >>> mss *= skb_shinfo(segs)->gso_segs;
> >>>
> >>> I think that this is correct in case of GSO_PARTIAL segmentation for the
> >>> following reasons:
> >>> 1. After this change the UDP payload field is consistent with the IP
> >>> header payload length field. Currently, IPv4 length is 1500 and UDP
> >>> total length is the full unsegmented length.
> >
> > How does this simplify the driver? Does it currently have to
> > change the udph->length field to the mss on the wire, because the
> > device only splits + replicates the headers + computes the csum?
>
> Yes, this is the code I have at the moment.
>
> The device's limitation is more subtle than this. It could adjust the
> length, but then the checksum would be wrong.
I see. We do have to keep in mind other devices. Alexander's ixgbe
RFC patch does not have this logic, so that device must update the
field directly.
https://patchwork.ozlabs.org/patch/908396/
Powered by blists - more mailing lists