[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: |
Per-Henrik Lundblom |
Subject: |
Re: [lwip-users] RE: lwIP TCP Dup Ack problem |
Date: |
Fri, 3 Aug 2007 22:44:03 +0200 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
* 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.
/PH
--
Per-Henrik Lundblom epost: address@hidden
telefon: 0733-20 71 26 hemsida: www.whatever.nu