[PATCH v12 00/13] net: tcp: improve tcp support in legacy stack

Peter Robinson pbrobinson at gmail.com
Tue Nov 5 17:02:16 CET 2024


On Tue, 5 Nov 2024 at 15:15, Simon Glass <sjg at chromium.org> wrote:
>
> Hi Peter,
>
> On Tue, 5 Nov 2024 at 06:10, Peter Robinson <pbrobinson at gmail.com> wrote:
> >
> > On Tue, 5 Nov 2024 at 13:03, Simon Glass <sjg at chromium.org> wrote:
> > >
> > > Hi Tom,
> > >
> > > On Mon, 4 Nov 2024 at 16:32, Tom Rini <trini at konsulko.com> wrote:
> > > >
> > > > On Mon, Oct 28, 2024 at 05:31:30PM +0300, Mikhail Kshevetskiy wrote:
> > > >
> > > > > Legacy TCP stack is bad. Here are some of the known issues:
> > > > >  * tcp packet from other connection can break a current one
> > > > >  * tcp send sequence always starts from zero
> > > > >  * bad tcp options processing
> > > > >  * strange assumptions on packet size for selective acknowledge
> > > > >  * tcp interface assumes one of the two scenarios:
> > > > >      - data downloading from remote host to a board
> > > > >      - request-response exchange with a small packets
> > > > >    so it's not possible to upload large amount of data from the
> > > > >    board to remote host.
> > > > >  * wget test generate bad tcp stream, test should fail but it passes instead
> > > > >
> > > > > This series of patches fixes all of the above issues.
> > > >
> > > > I know Peter asked on the last one, but I want to ask as well. With lwIP
> > > > merged, why do we want to add features to the old stack? I can see
> > > > fixing issues, but not adding new functionality as well. Thanks.
> > > >
> > >
> > > Let's apply this. It has tests and the old stack is still used by a
> > > lot of boards. At present lwip is only used on one. There is more work
> > > to do on the new stack, including finishing off the sandbox
> > > implementation.
> >
> > I agree with applying the fixes pieces, I do not agree with apply the
> > HTTP server pieces. This series should actually be split into 3
>
> But what is your objection?
>
> I would much rather just apply it ASAP. It has already gone through 12
> versions, during which lwip has been prepared and applied.

I highlighted my concerns about it all being together all the way back
in v1, the fact that it should be 3 separate sets of patches.

The fact that it's at v12 is irrelevant and should never be used as a
reason just merge a patch set, it makes no senses.

> The HTTP server is a useful feature and we should be able to use it to
> test networking in U-Boot in a more self-contained and performant
> manner.

LWIP has a HTTP server which is widely tested, that is what should be
used *if* we have to have one, I still have yet to see a useful
usecase, and no CI is not because ultimately how useful is testing
against ourselves, the fact is testing the HTTP client against apache
or nginx is a better real world usecase because the reality is that
U-Boot being the client and the server in that use case isn't really a
real world use case.


More information about the U-Boot mailing list