aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2011-04-10 05:14:49 -0700
committerEric W. Biederman <ebiederm@xmission.com>2011-04-12 14:40:54 -0700
commit71713e663a99015cccddd2662ce97233f54fa368 (patch)
tree502a6ecadf96ecb84dd0429bab2ee41e306a3b1a /core
parenta89bdfdcc7e432e18787472e5cacc745a93b928f (diff)
downloadsyslinux-71713e663a99015cccddd2662ce97233f54fa368.tar.gz
syslinux-71713e663a99015cccddd2662ce97233f54fa368.tar.xz
syslinux-71713e663a99015cccddd2662ce97233f54fa368.zip
pxe: Send tftp acks after we reach our timeout
While looking at the tftp implementation I noticed that we are not retransmitting acks if we reach our timeout. Not retransmitting can be a problem when there is packet loss present in a network. We do retransmit if the server times out but it is better if we retransmit ourselves in case we are dealing with a stupid tftp server that has not noticed it missed a packet from us. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Diffstat (limited to 'core')
-rw-r--r--core/fs/pxe/tftp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/core/fs/pxe/tftp.c b/core/fs/pxe/tftp.c
index 4fbe4058..0f1fa56c 100644
--- a/core/fs/pxe/tftp.c
+++ b/core/fs/pxe/tftp.c
@@ -141,6 +141,7 @@ static void tftp_get_packet(struct inode *inode)
timeout = *timeout_ptr++;
if (!timeout)
break;
+ goto ack_again;
}
continue;
}