public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Duncan Hare <dh@synoia.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] TCP and wget implementation v4
Date: Wed, 3 Jan 2018 15:01:54 -0800	[thread overview]
Message-ID: <20180103150154.482c86a6@raspberrypi> (raw)
In-Reply-To: <1220614347.9042380.1515015734928@mail.yahoo.com>

> >>>selects the LIB_RAND feature since it is required.  
> >
> > Thanks: will be in u-boot/cmd/Kconfig
> >  
> >>Are we lookin at a series of patches, or a concurrent set?  
> >
> > At this time a series of three, but I'd take advice on the preferred
> > procedure.  
> 
> Remember that the goal is to be atomic.
> 
> You should be able to build and use U-Boot after each patch.
> 
> Also, any changes to existing code that is not changing behavior but
> simply making way for new functionality should be done separately.
> Thanks
> -Joe

A note on this TCP implementation. In TCP the transmitting TCP
guarantees delivery of a stream, and the receiving TCP guarantees
ordered of delivery of the stream. In this implementation The
kernel memory buffer and the TCP sequence number is used to order the stream.
for the application, and the application is the kernel itself. wget is
not considered the application, and does receive packets "out of order."

This places a constraint on the incoming data stream. All
(disordered) packets received before the HTTP header are 
ignored, which means the sending TCP will re-transmit them. This forced
re-transmission could be avoided with a change to reprocess the
incoming packet stream back to the first packet received, directly
following processing the TCP header.

This behavior was detected and failed downloads fixed in tests
downloading Linux kernels from the cloud.

Advice on the reset buffer approach are invited. It requires an
interface between the wget application to reset the buffer index.


Joe Thanks, Good advice, based on that the order of 3 patches is:
 
(1) Prepares the interfaces, no new behavior, CONFIG-TCP is introduced.
net/Kconfig
net/net.c
net/ping.c
include/net.h

(2) Introduces TCP
net/tcp.c
net/tcp.h
net/Makefile

(3) Introduces wget, CONFIG-WGET introduced
cmd/Kconfig
cmd/net.c
net/wget.c
net/wget.h
    

  parent reply	other threads:[~2018-01-03 23:01 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-09  0:34 [U-Boot] [PATCH] TCP and wget implementation Duncan Hare
2017-12-05 20:35 ` Joe Hershberger
     [not found]   ` <1512063880.2580267.1512525185991@mail.yahoo.com>
2018-01-03 21:07     ` [U-Boot] [PATCH] TCP and wget implementation v3 Duncan Hare
2018-01-03 21:23       ` Joe Hershberger
     [not found]         ` <1220614347.9042380.1515015734928@mail.yahoo.com>
2018-01-03 23:01           ` Duncan Hare [this message]
2018-01-05 18:35             ` [U-Boot] [PATCH] TCP and wget implementation v4 Joe Hershberger
     [not found]               ` <1265391460.1283367.1515183992460@mail.yahoo.com>
2018-01-05 22:10                 ` Duncan Hare
2018-01-06  0:38                   ` Joe Hershberger
2018-01-11  2:18                     ` [U-Boot] [PATCH] TCP and wget implementation v5.1 Duncan Hare
2018-01-12 16:08                       ` Joe Hershberger
2018-01-15 17:01                         ` Duncan Hare
2018-01-16 19:43                           ` Joe Hershberger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180103150154.482c86a6@raspberrypi \
    --to=dh@synoia.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox