[PATCH 1/3] tftp: add timeframe when remote server is retransmitting

chf.fritz at googlemail.com chf.fritz at googlemail.com
Wed Apr 30 01:32:01 PDT 2014


From: Christoph Fritz <chf at fritzc.com>

If there's packet loss and the remote server needs to retransmit,
there is falsely no timeframe left because TIMEOUT (server wait time)
and TFTP_TIMEOUT (abort timer) are the same.

This patch increases TFTP_TIMEOUT.

See RFC2349 for more info: http://tools.ietf.org/html/rfc2349

Signed-off-by: Christoph Fritz <chf.fritz at googlemail.com>
---
 fs/tftp.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/fs/tftp.c b/fs/tftp.c
index 9cad18f..b1a213e 100644
--- a/fs/tftp.c
+++ b/fs/tftp.c
@@ -33,14 +33,16 @@
 #include <kfifo.h>
 #include <sizes.h>
 
-#define TFTP_PORT	69	/* Well known TFTP port #		*/
-#define TIMEOUT		5	/* Seconds to timeout for a lost pkt	*/
+#define TFTP_PORT	69	/* Well known TFTP port number */
+
+/* Seconds to wait before remote server is allowed to resend a lost packet */
+#define TIMEOUT		5
 
 /* After this time without a response from the server we will resend a packet */
 #define TFTP_RESEND_TIMEOUT	SECOND
 
 /* After this time without progress we will bail out */
-#define TFTP_TIMEOUT		(TIMEOUT * SECOND)
+#define TFTP_TIMEOUT		((TIMEOUT * 3) * SECOND)
 
 /*
  *	TFTP operations.
-- 
1.7.10.4




More information about the barebox mailing list