lwip-devel
[Top][All Lists]
Advanced

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

[lwip-devel] [bug #27215] TCP sent() callback gives leagin and trailing


From: Kieran Mansley
Subject: [lwip-devel] [bug #27215] TCP sent() callback gives leagin and trailing 1 byte len (SYN/FIN)
Date: Wed, 21 Oct 2009 11:37:24 +0000
User-agent: Opera/9.80 (X11; Linux i686; U; en) Presto/2.2.15 Version/10.00

Update of bug #27215 (project lwip):

                  Status:                   Fixed => In Progress            
             Open/Closed:                  Closed => Open                   

    _______________________________________________________

Follow-up Comment #5:

I think I have an objection!  Sorry for the delay.  I don't quite understand
the new "if ()" block.

The code needs to exclude a single byte from pcb->acked when the sequence
acked contains a SYN or a FIN.  With the code as checked in, if pcb->acked is
> 1, but contains a SYN or FIN, we'll still send the event including the extra
byte.  This might not be a problem with the SYN, but I think we could easily
get an ACK for the FIN that also acked some data, and so pcb->acked > 1.  

Rather than relying on the current state and the number of bytes being acked,
I think we need to check the sequence being acked to see if that sequence
contains the SYN or FIN.  This could probably be most efficiently done by
decrementing pcb->acked when we pull a packet off the unacked or unsent list
that has a SYN or FIN in it.

    _______________________________________________________

Reply to this item at:

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

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





reply via email to

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