smoltcp: Stuck at retransmitting
This code here https://github.com/m-labs/smoltcp/blob/master/src/socket/tcp.rs#L913 should either reset local_rx_dup_acks or let it count from 255 to 0 with a overflowing add or stay at 255 with a saturation. What is the desired behavior?
self.local_rx_dup_acks += 1;
if self.local_rx_dup_acks == 3 {
}
thread 'main' panicked at 'attempt to add with overflow', smoltcp/src/socket/tcp.rs:913:25
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 19 (19 by maintainers)
Commits related to this issue
- Fix implementation of fast retransmit (TcpSocket) Improve detection of duplicate ACKs by checking that the segment does not contain data. Move implementation from the 'reject unacceptable acknowledg... — committed to smoltcp-rs/smoltcp by barskern 6 years ago
- Only trigger fast retransmit for data to send This fixes entering a loop when both endpoints are stuck in retransmission. https://github.com/m-labs/smoltcp/issues/224 — committed to pothos/smoltcp by pothos 6 years ago
- Only trigger fast retransmit for data to send This fixes entering a loop when both endpoints are stuck in retransmission. https://github.com/m-labs/smoltcp/issues/224 Closes: #233 Approved by: whit... — committed to smoltcp-rs/smoltcp by pothos 6 years ago
- Only trigger fast retransmit for data to send This fixes entering a loop when both endpoints are stuck in retransmission. https://github.com/m-labs/smoltcp/issues/224 Closes: #233 Approved by: whit... — committed to smoltcp-rs/smoltcp by pothos 6 years ago
@barskern Maybe a look on this code here can help? https://github.com/google/netstack/blob/master/tcpip/transport/tcp/snd.go e.g. see checkDuplicateAck and the variables saved for fast recovery (except sending rate)