[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACRpkdbannQiJwBZtx-_qkgG7vOFv47bqC-oMiTGqXwWsymPvA@mail.gmail.com>
Date: Thu, 9 May 2024 19:50:46 +0200
From: Linus Walleij <linus.walleij@...aro.org>
To: Eric Dumazet <edumazet@...gle.com>
Cc: Hans Ulli Kroll <ulli.kroll@...glemail.com>, "David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, netdev@...r.kernel.org
Subject: Re: [PATCH net-next 1/2] net: ethernet: cortina: Restore TSO support
On Thu, May 9, 2024 at 5:10 PM Eric Dumazet <edumazet@...gle.com> wrote:
> > + if (mss >= ETH_FRAME_LEN) {
>
> Also this last check makes little sense, because normal MTU/MSS would
> trigger this condition.
>
> Forcing software checksumming would make TSO useless.
>
> I suspect this code is there because of the old buggy TSO
> implementation of this driver.
I think you're right, when the packets are "pure" TCP let's say.
The TSO should just split those.
I think the check is needed for e.g. UDP with large payload
(such as ping -s 9000....) or those custom packets with funny extra bytes
and ethertype that the DSA switch uses. We determined that the HW
IP checksummer actually get hiccups when the frame is larger than
1518 bytes so that is why this bypass path is needed.
I think I will try to make one "clean path" for just pure TCP and no
funky business, and an exceptional path for any other package.
Yours,
Linus Walleij
Powered by blists - more mailing lists