[Top][All Lists]

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

[lwip-devel] [bug #50498] tcp: do not keep sending SYNs when getting ACK

From: David van Moolenbroek
Subject: [lwip-devel] [bug #50498] tcp: do not keep sending SYNs when getting ACKs
Date: Thu, 9 Mar 2017 07:33:22 -0500 (EST)
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0

Follow-up Comment #2, bug #50498 (project lwip):

Good point about the '==' check in tcp_slowtmr(). Attached is a new patch that
makes those checks a bit more robust.

However, in my case, that does not even matter: tcp_slowtmr() is never even
reached. I'm not sure how this works in other setups, but in my case, the main
loop of my service feeds back pending loopback packets into lwIP as long as
there are any, before making a kernel call to receive IPC messages. The lwIP
timer system is driven by an 'alarm' IPC message. Since there are constantly
more loopback packets to feed back into lwIP in this scenario, the main loop
of my service never even gets to the point of receiving IPC messages,
including the alarm message. Instead, tcp_rexmit_rto() keeps increasing
pcb->nrtx forever, with (previously) nothing to check if any limit has been

In my service I've now put a limit on the number of packets that can be fed
back into lwIP without calling the main loop, but even that doesn't stop the
service from consuming almost all CPU time for a few seconds.

(file #39954)

Additional Item Attachment:

File name: 0001-tcp-do-not-keep-sending-SYNs-when-getting-ACKs.patch Size:2 KB


Reply to this item at:


  Message sent via/by Savannah

reply via email to

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