lwip-devel
[Top][All Lists]
Advanced

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

[lwip-devel] [bug #27771] Silly-window-avoidance decreases window unnece


From: Simon Goldschmidt
Subject: [lwip-devel] [bug #27771] Silly-window-avoidance decreases window unnecessarily
Date: Thu, 22 Oct 2009 15:20:11 +0000
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; de; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3

Follow-up Comment #6, bug #27771 (project lwip):

>  (iii) we can add a condition to the window update to also
> update if the increment is > WND/2 as suggested by David Empson.

Would that mean (in function tcp_update_rcv_ann_wnd()) to change the line

if (TCP_SEQ_GEQ(new_right_edge, pcb->rcv_ann_right_edge + pcb->mss)) {

to

if (TCP_SEQ_GEQ(new_right_edge, pcb->rcv_ann_right_edge +
LWIP_MIN((pcb->rcv_ann_wnd / 2), pcb->mss))) {

?

I did that change and (with MSS==WND==512) it resulted in:
- announced wnd=372
- received 40 bytes
- internal wnd=rcv_ann_wnd=332
- recved 40 bytes -> pcb->wnd = 512
  -> window opens by more than (332/2)=166
- announced wnd=512

so even if I though differently, this seems to be OK.

Regarding your last comment, I guess you can argue that way or the other, but
the old implementation (window always stays the same when directly calling
tcp_recved()) seems indeed outdated and only applicable on local LANs...

I hope you agree with me that this is targeted to 1.3.2, too?

    _______________________________________________________

Reply to this item at:

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

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





reply via email to

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