[Top][All Lists]
[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/