lwip-devel
[Top][All Lists]
Advanced

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

[lwip-devel] [bug #27329] dupacks by unidirectional data transmit


From: Kieran Mansley
Subject: [lwip-devel] [bug #27329] dupacks by unidirectional data transmit
Date: Thu, 29 Oct 2009 14:39:33 +0000
User-agent: Opera/9.80 (X11; Linux i686; U; en) Presto/2.2.15 Version/10.00

Update of bug #27329 (project lwip):

                  Status:                   Fixed => In Progress            
             Assigned to:               goldsimon => kieranm                
             Open/Closed:                  Closed => Open                   

    _______________________________________________________

Follow-up Comment #5:

I think this needs more work: I didn't think about it enough before.

If data are being sent unidirectional from host1 to host2, then host2 should
not be getting duplicate ACKs. (From Stevens TCP/IP Illustrated Vol II, p970.)
Its only a duplicate ack if:

   1) It doesn't ACK new data
   2) length of received packet is zero (i.e. no payload)
   3) the advertised window hasn't changed
   4) There is outstanding unacknowledged data
   5) The ACK is == biggest ACK sequence number so far seen (snd_una)
 
If it passes all five, should process as a dupack:
a) dupacks < 3: do nothing
b) dupacks == 3: fast retransmit
c) dupacks > 3: increase cwnd

If it only passes 1-3, should reset dupack counter (and add to stats, which
we don't do in lwIP)

If it only passes 1, should reset dupack counter

Our problem in lwIP is that we don't maintain a snd_una sequence variable,
and once we've moved everything from unacked to unsent, we can't distinguish
unacknowledged data we've sent once already from data we've never sent.

Most obviously we need to add a test for tcplen != 0 before counting a packet
as a dupack.  (Clause 2 above).  I would like to restructure the code a little
to more closely match the description above, so I've reopened this to work on
that.



    _______________________________________________________

Reply to this item at:

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

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





reply via email to

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