Hi Duncan, I tried a test of applying this series and the first patch doesn't apply cleanly and checkpatch complains about Missing or malformed SPDX-License-Identifier.
Can you rebase on top of the current upstream master and resend? On Sun, May 20, 2018 at 6:41 PM, <d...@synoia.com> wrote: > From: Duncan Hare <duncanch...@yahoo.com> Is there a reason you are not using (what appears to be) your company email address in your git configuration? > > Central management, including logs and change control, > coupled with with enhanced security and unauthorized > change detection and remediation by exposing a > small attack surface. > > Why TCP with Selective Acknowledgement: > > Currently file transfer are done using tftp or NFS both > over udp. This requires a request to be sent from client > (u-boot) to the boot server. > > For a 4 Mbyte kernel, with a 1k block size this requires > 4,000 request for a block. > > Using a large block size, one greater than the Ethernet > maximum frame size limitation, would require fragmentation, > which u-boot supports. However missing fragment recovery > requires timeout detection and re-transmission requests > for missing fragments. > > UDP is ideally suited to fast single packet exchanges, > inquiry/response, for example dns, becuse of the lack of > connection overhead. > > UDP as a file transport mechanism is slow, even in low > latency networks, because file transfer with udp requires > poll/response mechanism to provide transfer integrity. > > In networks with large latency, for example: the internet, > UDP is even slower. What is a 30 second transfer on a local > boot server and LAN increase to over 3 minutes, because of > all the requests/response traffic. > > This was anticipated in the evolution of the IP protocols > and TCP was developed and then enhanced for high latency high > bandwidth networks. > > The current standard is TCP with selective acknowledgment. > > In our testing we have reduce kernel transmission time to > around 0.4 seconds for a 4Mbyte kernel, with a 100 Mbps > downlink. > > Why http and wget: > > HTTP is the most efficient file retrieval protocol in common > use. The client send a single request, after TCP connection, > to receive a file of any length. > > WGET is the application which implements http file transfer > outside browsers as a file transfer protocol. Versions of > wget exists on many operating systems. > > Changes in v11: > Add TCP with Selective Acknowledgement (SACK) > Adding wget > > Duncan Hare (3): > Adding TCP and wget into u-boot > Adding TCP > Add wget, for fast file transfer. > > cmd/Kconfig | 7 + > cmd/net.c | 13 + > include/net.h | 15 +- > include/net/tcp.h | 227 +++++++++++++++++ > include/net/wget.h | 19 ++ > net/Kconfig | 6 + > net/Makefile | 2 + > net/net.c | 79 +++++- > net/ping.c | 9 +- > net/tcp.c | 700 > +++++++++++++++++++++++++++++++++++++++++++++++++++++ > net/wget.c | 418 ++++++++++++++++++++++++++++++++ > 11 files changed, 1475 insertions(+), 20 deletions(-) > create mode 100644 include/net/tcp.h > create mode 100644 include/net/wget.h > create mode 100644 net/tcp.c > create mode 100644 net/wget.c > > -- > 2.11.0 > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > https://lists.denx.de/listinfo/u-boot _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot