Skip to contentSkip to conversation

tftp: adjust settings to be suitable for 100Mbit ethernet

PATCH New Pavel Machek 2 participants 3 messages Aug 18, 2015 – Aug 24, 2015 Networking

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 tftp: adjust settings to be suitable for 100Mbit ethernet

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.

net/tftp.c +5 -5
index 0a2c533..c5ea3f2 100644
@@ -18,10 +18,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
@@ -703,11 +703,11 @@ void TftpStart(enum proto_t protocol)
 	if (ep != NULL)
 		TftpTimeoutMSecs = simple_strtol(ep, NULL, 10);
 
-	if (TftpTimeoutMSecs < 1000) {
+	if (TftpTimeoutMSecs < 10) {
 		printf("TFTP timeout (%ld ms) too low, "
-			"set minimum = 1000 ms\n",
+			"set minimum = 10 ms\n",
 			TftpTimeoutMSecs);
-		TftpTimeoutMSecs = 1000;
+		TftpTimeoutMSecs = 10;
 	}
 
 	debug("TFTP blocksize = %i, timeout = %ld ms\n",
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
#1 lore raw

PATCH 1/1 tftp: adjust settings to be suitable for 100Mbit ethernet

Hi Pavel,

Quoted 6 lines · Pavel Machek

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.

Quoted 7 lines

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.

#2 lore raw

PATCH 1/1 tftp: adjust settings to be suitable for 100Mbit ethernet

In reply to Pavel Machek
Quoted 6 lines · Pavel Machek

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.

Quoted 7 lines

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.

Applied to u-boot-net, thanks!
-Joe