[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [bug #33058] Fast retransmit transmits too much (disables n
From: |
Simon Goldschmidt |
Subject: |
[lwip-devel] [bug #33058] Fast retransmit transmits too much (disables nagle) |
Date: |
Tue, 12 Apr 2011 19:11:32 +0000 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0) Gecko/20100101 Firefox/4.0 |
URL:
<http://savannah.nongnu.org/bugs/?33058>
Summary: Fast retransmit transmits too much (disables nagle)
Project: lwIP - A Lightweight TCP/IP stack
Submitted by: goldsimon
Submitted on: Di 12 Apr 2011 19:11:31 GMT
Category: TCP
Severity: 2 - Minor
Item Group: Faulty Behaviour
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Planned Release: 1.4.1
lwIP version: CVS Head
_______________________________________________________
Details:
While reviewing bug #32417, I discovered that TCP fast retransmit transmits
too much data because it disables the nagle algorithm (see definition of
tcp_do_output_nagle(): if the TF_INFR flag is set, it always returns true).
Now while this isn't too big a problem, I think we can just leave that check
away: if the segment in question (which gets moved from unacked to unsent by
tcp_rexmit_fast()) has already been sent, this means that before, one of the
other checks in tcp_do_output_nagle() fired and as such, the next time
tcp_output() is called, at least one segment will be sent.
The problem with the current check is that tcp_rexmit_fast() setting the
TF_INFR flag leads to sending all data from the unsent queue, including the
segment held back by nagle before.
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/bugs/?33058>
_______________________________________________
Nachricht geschickt von/durch Savannah
http://savannah.nongnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lwip-devel] [bug #33058] Fast retransmit transmits too much (disables nagle),
Simon Goldschmidt <=