Skip to content

Commit

Permalink
tftp: adjust settings to be suitable for 100Mbit ethernet
Browse files Browse the repository at this point in the history
Adjust timouts and retry counts to be suitable for loaded ethernet
network. With 5 seconds timeout, 10 retries maximum, tftp is
impossible even on local network with single full-speed TCP
connection.

100msec timeout should be suitable for most networks tftp is used on,
that is local ethernets. Timeout count really needs to be way higher,
as lost packets are normal when TCP is running over the same network.

Enforce 10msec minimum.

Signed-off-by: Pavel Machek <[email protected]>
Acked-by: Joe Hershberger <[email protected]>
  • Loading branch information
Pavel Machek authored and jhershbe committed Aug 21, 2015
1 parent 8d77576 commit 620776d
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions net/tftp.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@
/* Well known TFTP port # */
#define WELL_KNOWN_PORT 69
/* Millisecs to timeout for lost pkt */
#define TIMEOUT 5000UL
#define TIMEOUT 100UL
#ifndef CONFIG_NET_RETRY_COUNT
/* # of timeouts before giving up */
# define TIMEOUT_COUNT 10
# define TIMEOUT_COUNT 1000
#else
# define TIMEOUT_COUNT (CONFIG_NET_RETRY_COUNT * 2)
#endif
Expand Down Expand Up @@ -711,10 +711,10 @@ void tftp_start(enum proto_t protocol)
if (ep != NULL)
timeout_ms = simple_strtol(ep, NULL, 10);

if (timeout_ms < 1000) {
printf("TFTP timeout (%ld ms) too low, set min = 1000 ms\n",
if (timeout_ms < 10) {
printf("TFTP timeout (%ld ms) too low, set min = 10 ms\n",
timeout_ms);
timeout_ms = 1000;
timeout_ms = 10;
}

debug("TFTP blocksize = %i, timeout = %ld ms\n",
Expand Down

0 comments on commit 620776d

Please sign in to comment.