[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [bug #27904] TCP sends too many ACKs
From: |
Simon Goldschmidt |
Subject: |
[lwip-devel] [bug #27904] TCP sends too many ACKs |
Date: |
Sun, 01 Nov 2009 17:17:40 +0000 |
User-agent: |
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; de; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4 |
URL:
<http://savannah.nongnu.org/bugs/?27904>
Summary: TCP sends too many ACKs
Project: lwIP - A Lightweight TCP/IP stack
Submitted by: goldsimon
Submitted on: So 01 Nov 2009 17:17:39 GMT
Category: None
Severity: 3 - Normal
Item Group: None
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Planned Release:
lwIP version: CVS Head
_______________________________________________________
Details:
Due to our changes regarding tcp_recved/TCP_WND_UPDATE_THRESHOLD in 1.3.1, it
can happen that, when in recv callback, first calling tcp_recved and then
enqueueing new data, that 2 segments are sent: first a pure ACK, then the data
segment.
This can be avoided by moving "tcp_input_pcb = NULL;" in tcp_input from
directly after the call to tcp_process() to after the lines where
TCP_EVENT_SENT/TCP_EVENT_RECV is called. Since tcp_output() is called
thereafter, anyway, this makes sure segments are combined and it should have
no negative side effect.
The only thing is we should consider to always call tcp_output after calling
the callbacks (not only if err == ERR_OK).
Patch attached.
_______________________________________________________
File Attachments:
-------------------------------------------------------
Date: So 01 Nov 2009 17:17:39 GMT Name: tcp_in.c.patch Size: 997B By:
goldsimon
<http://savannah.nongnu.org/bugs/download.php?file_id=18971>
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/bugs/?27904>
_______________________________________________
Nachricht geschickt von/durch Savannah
http://savannah.nongnu.org/
- [lwip-devel] [bug #27904] TCP sends too many ACKs,
Simon Goldschmidt <=