[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] RE: lwIP TCP Dup Ack problem
From: |
Kieran Mansley |
Subject: |
Re: [lwip-users] RE: lwIP TCP Dup Ack problem |
Date: |
Mon, 13 Aug 2007 12:38:09 +0100 |
On Fri, 2007-08-03 at 22:44 +0200, Per-Henrik Lundblom wrote:
> * Ramanathan Ramadass <address@hidden> [070803 22:36]:
>
> > Not necessarily. If I am reading the code right, the condition in
> > "tcp_output()" is;
> >
> > if(pcb->flags & TF_ACK_NOW &&
> > (seg == NULL ||
> > ....)
> >
> > Where "seg" is the "pcb->unsent" queue. Because the data is flowing one
> > way (from client to lwIP) "pcb->unsent" will be NULL and will result in a
> > Dup ACK. I think this is a bug.
>
> I can honestly say I didn't look at your capture files but I have been
> hacking around pretty heavily in lwIP at work recently with data flows
> similar to yours. If you call for example tcp_received() in wrong ways
> you will get a lot of DUP ACKs. Even if you do everything The Right Way
> you may end up with a DUP ACK sometimes. At least in my case that mostly
> came from the fact that lwIP doesn't implement the persist timer and
> functionality for splitting TCP data in the pcb->unsent queue. I have
> implemented this functionality but haven't submitted any patches.
The persist timer implementation would be of great interest, as we
really must have it to be a compliant stack and it's causing problems
for a number of users. Do you plan to be able to send this patch in, or
is that unlikely (e.g. due to problems with licencing of code etc)? I
only ask so we know whether or not we need to independently work on
this.
Thanks
Kieran