From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joe Hershberger Date: Tue, 1 May 2018 16:29:13 -0500 Subject: [U-Boot] [PATCH v10 0/3] Why netboot: In-Reply-To: References: <20180414234336.26636-1-DH@synoia.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Mon, Apr 30, 2018 at 8:57 PM, Joe Hershberger wrote: > On Sat, Apr 14, 2018 at 6:43 PM, wrote: >> From: Duncan Hare >> >> 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: >> >> 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 v10: >> Initial changes for adding TCP >> >> Duncan Hare (3): >> Adding TCP and wget into u-boot >> Adding TCP >> Adding wget > > From https://www.denx.de/wiki/U-Boot/Patches > """ > Use the imperative tense in your summary line (e.g., "Add support for > X" rather than "Adds support for X"). In general, you can think of the > summary line as "this commit is meant to 'Add support for X'" > """ > > These patch subjects don't comply. Additionally, please prefix each of these patches with "net: " like all other patches to the net subsystem. Thanks, -Joe >> >> cmd/Kconfig | 5 + >> cmd/net.c | 13 + >> include/net.h | 33 ++- >> include/net/tcp.h | 218 ++++++++++++++++ >> include/net/wget.h | 17 ++ >> net/Kconfig | 10 + >> net/Makefile | 3 +- >> net/net.c | 89 +++++-- >> net/ping.c | 9 +- >> net/tcp.c | 749 +++++++++++++++++++++++++++++++++++++++++++++++++++++ >> net/wget.c | 420 ++++++++++++++++++++++++++++++ >> 11 files changed, 1532 insertions(+), 34 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 at lists.denx.de >> https://lists.denx.de/listinfo/u-boot