buglwIP - A Lightweight TCP/IP stack - Bugs: bug #28098, Nagle can prevent fast retransmit...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #28098: Nagle can prevent fast retransmit from sending segment

Submitter:  Harry Bryson <hbryson>
Submitted:  Thu 26 Nov 2009 11:37:54 AM UTC
   
 
Category:  TCP Severity:  3 - Normal
Item Group:  Faulty Behaviour Status:  Fixed
Privacy:  Public Assigned to:  goldsimon
Open/Closed:  Closed Planned Release:  None
lwIP version:  1.3.1

Thu 26 Nov 2009 04:44:27 PM UTC, comment #2: 

The fix was rather simple: tcp_do_output_nagle() must return TRUE if pcb->flags has TF_INFR set.

Fixed, thanks for reporting.

Simon Goldschmidt <goldsimon>
Group administrator
Thu 26 Nov 2009 03:07:20 PM UTC, comment #1: 

Hmm, this is indeed a problem that should be fixed for 1.3.2 as the nagle on pcb-level is quite new...

Simon Goldschmidt <goldsimon>
Group administrator
Thu 26 Nov 2009 11:37:54 AM UTC, original submission:  

If fast retransmit (tcp_rexmit() from tcp_receive()) attempts to output a segment, the segment can be blocked by Nagle algorithm (if it matches the appropriate criteria). It should not be.

If a slow retransmission occurs after the above event(tcp_rexmit_rto()), the previous "stuck" segment is queued behind all its subsequent segments in the unsent queue. When the unsent queue is output, the "stuck" segment will again be prevented by Nagle from getting transmitted.

If no sunsequent data is enqueued to TCP (e.g. TCP PCB is "full"), the above condition is persistent and the connection will stall and eventually fail.

Harry Bryson <hbryson>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by goldsimon (Posted a comment)
  • -email is unavailable- added by hbryson (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2009-11-26 goldsimon Open/ClosedOpen Closed
        Assigned toNone goldsimon
        StatusNone Fixed

    Back to the top

    Powered by Savane 3.13-caa5.
    Corresponding source code