lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [bug #21428] Retransmit implementation


From: Oleg Tyshev
Subject: [lwip-devel] [bug #21428] Retransmit implementation
Date: Thu, 25 Oct 2007 14:36:42 +0000
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.8) Gecko/20071008 Firefox/2.0.0.8

URL:
  <http://savannah.nongnu.org/bugs/?21428>

                 Summary: Retransmit implementation
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: olegreen
            Submitted on: Thursday 10/25/2007 at 14:36
                Category: TCP
                Severity: 3 - Normal
              Item Group: Change Request
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: 

    _______________________________________________________

Details:

LWIP TCP stack has two send queues:
unsent and unacked.

At first segments inserted into unsent queue
and after send they will be moved to unacked queue.

There is two possibility to retransmit:
1) fast retransmit
2) timeout retransmit

In case fast retransmit would be called function tcp_rexmit() and one segment
from unacked queue will be moved to the head of the unsent queue.


In case timeout retransmit would be called function tcp_rexmit_rto() and all
segments from unacked queue will be moved to the head of the unsent queue.

I try to illustrate problem:
unacked        unsent
               1 2 3 4 5 6
1 2 3 4        5 6
packet 1 lost
fast retransmit
2 3 4          1 5 6
2 3 4 1        5 6
packet 1 lost again
fast retransmit
instead of packet 1 will be sent packet 2
3 4 1          2 5 6
3 4 1 2        5 6

To solve this problem unacked queue should be kept always sorted.







    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?21428>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]