[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #40293] tftp implementation doesn't re-transmit ACKs
From: |
Tyson Whitehead |
Subject: |
[bug #40293] tftp implementation doesn't re-transmit ACKs |
Date: |
Thu, 17 Oct 2013 18:41:27 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.160 Safari/537.22 |
URL:
<http://savannah.gnu.org/bugs/?40293>
Summary: tftp implementation doesn't re-transmit ACKs
Project: GNU GRUB
Submitted by: twhitehead
Submitted on: Thu 17 Oct 2013 06:41:26 PM GMT
Category: Network
Severity: Major
Priority: 5 - Normal
Item Group: None
Status: None
Privacy: Public
Assigned to: None
Originator Name:
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release:
Release: Bazaar - trunk
Reproducibility: None
Planned Release: None
_______________________________________________________
Details:
Description of problem:
Grub2's TFTP implementation does not send another ACK upon receiving the last
data packet a second time. This results in the TFTP transfer breaking down in
the face of packet loss and ending in a timeout error. This looks like so
server -> data 1 -> grub
grub -> ack 1 -> server
server -> data 2 -> grub
grub -> ack 2 -> server
.
.
.
server -> data k -> grub
grub -> ack k -> (lost in the network)
server -> data k -> grub
server -> data k -> grub
server -> data k -> grub
server -> data k -> grub
.
.
.
until Grub reports a timeout error waiting for data k+1.
The relevant part of RFC 1350 is (Section 2 -- Overview)
"If a packet gets lost in the network, the intended recipient will timeout and
may retransmit his last packet (which may be data or an acknowledgment), thus
causing the sender of the lost packet to retransmit that lost packet.
...
Notice that both machines involved in a transfer are considered senders and
receivers. One sends data and receives acknowledgments, the other sends
acknowledgments and receives data."
http://www.ietf.org/rfc/rfc1350.txt
I'm attaching a patch to get grub to re-transmit the last ack upon receiving
the last data packet again. It works for me.
_______________________________________________________
File Attachments:
-------------------------------------------------------
Date: Thu 17 Oct 2013 06:41:26 PM GMT Name: tftp-ack.patch Size: 3kB By:
twhitehead
<http://savannah.gnu.org/bugs/download.php?file_id=29394>
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?40293>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [bug #40293] tftp implementation doesn't re-transmit ACKs,
Tyson Whitehead <=