lwip-devel
[Top][All Lists]
Advanced

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

[lwip-devel] [bug #20515] TCP delayed ack does not work as expected


From: Simon Goldschmidt
Subject: [lwip-devel] [bug #20515] TCP delayed ack does not work as expected
Date: Wed, 18 Jul 2007 20:38:30 +0000
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.5) Gecko/20070713 Firefox/2.0.0.5

Update of bug #20515 (project lwip):

                 Summary: TCP delyed ack does not work as expected => TCP
delayed ack does not work as expected

    _______________________________________________________

Follow-up Comment #2:

I propose the following change in tcp_recved():

Replace
>>>
  if (!(pcb->flags & TF_ACK_DELAY) &&
     !(pcb->flags & TF_ACK_NOW)) {
    tcp_ack(pcb);
  } 
  else if (pcb->flags & TF_ACK_DELAY && pcb->rcv_wnd >= TCP_WND/2){
    tcp_ack_now(pcb);
  }
<<<

by

>>>
  if (old_win <= TCP_WND/2) { 
    tcp_ack_now(pcb);
  else {
    pcb->flags |= TF_ACK_DELAY;
  }
<<<

That way, we send a TCP-window-update-ACK only if the previous window size
was very small.

Note that the current code, the 'tcp_ack(pcb)' effectively resolves to
'pcb->flags |= TF_ACK_DELAY'.

I'm getting better results with the change, but like to have it tested, so
I'm attaching a patch to tcp.c!

(file #13383)
    _______________________________________________________

Additional Item Attachment:



    _______________________________________________________

Reply to this item at:

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

_______________________________________________
  Nachricht geschickt von/durch Savannah
  http://savannah.nongnu.org/





reply via email to

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