All of lore.kernel.org
 help / color / mirror / Atom feed
From: DH at synoia.com <DH@synoia.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v10 0/3] Why netboot:
Date: Sat, 14 Apr 2018 16:43:33 -0700	[thread overview]
Message-ID: <20180414234336.26636-1-DH@synoia.com> (raw)

From: Duncan Hare <DuncanCHare@yahoo.com>

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

 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

             reply	other threads:[~2018-04-14 23:43 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-14 23:43 DH at synoia.com [this message]
2018-04-14 23:43 ` [U-Boot] [PATCH v10 1/3] Adding TCP and wget into u-boot DH at synoia.com
2018-04-30 23:44   ` Joe Hershberger
2018-04-14 23:43 ` [U-Boot] [PATCH v10 2/3] Adding TCP DH at synoia.com
2018-05-01  1:44   ` Joe Hershberger
2018-04-14 23:43 ` [U-Boot] [PATCH v10 3/3] Adding wget DH at synoia.com
2018-04-17 15:10   ` Simon Glass
2018-04-18 15:50     ` Duncan Hare
     [not found]     ` <217820715.1487025.1524002336830@mail.yahoo.com>
     [not found]       ` <CAPnjgZ3yNbMVJCbNQVDxxQ9RaX1pujxKSopk=s1MNUyb=oAyiQ@mail.gmail.com>
2018-04-23  3:22         ` Duncan Hare
2018-04-25  5:01           ` Simon Glass
2018-04-25 14:33             ` Duncan Hare
2018-04-25 23:44               ` Simon Glass
2018-04-25 23:52                 ` Duncan Hare
2018-05-01  1:54                   ` Joe Hershberger
2018-05-13 21:05                     ` [U-Boot] net: " Duncan Hare
2018-05-13 22:00                       ` Simon Glass
2018-05-14 15:26                         ` Duncan Hare
2018-05-14 19:51                           ` Simon Glass
2018-05-01  1:50     ` [U-Boot] " Joe Hershberger
2018-05-01  2:18   ` Joe Hershberger
2018-05-01  1:57 ` [U-Boot] [PATCH v10 0/3] Why netboot: Joe Hershberger
2018-05-01 21:29   ` 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=20180414234336.26636-1-DH@synoia.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.