Re: [U-Boot] [PATCH v11 0/3] Why netboot:

2018-06-12 Thread Joe Hershberger
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,   wrote:
> From: Duncan Hare 

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


[U-Boot] [PATCH v11 0/3] Why netboot:

2018-05-20 Thread DH
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 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