lwip-devel
[Top][All Lists]
Advanced

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

[lwip-devel] [bug #49533] TCP connection deadlocks upon dropped window u


From: Joel Cunningham
Subject: [lwip-devel] [bug #49533] TCP connection deadlocks upon dropped window update due to not filling window
Date: Tue, 15 Nov 2016 14:53:31 +0000 (UTC)
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0

Follow-up Comment #8, bug #49533 (project lwip):

tcp_output() is called from tcp_input(), so the logic will execute in the case
you described.

I think if we just had the check in tcp_receive(), we'd have a race condition
between the application submitting the next segment and processing the window
update.  Consider the following case:

1. Window update comes in, ACKS all in-flight data and reduces the window to <
1 MSS (default segment allocation size)
2. No data is buffered in TCP, send pathway idle
3. Application sends at least 1 MSS of data
4. Logic is triggered via tcp_output() and persist timer is started

Using tcp_output() seemed appropriate because we are starting the persist
timer in place of where we would normally fill the remaining window with a
segment.  So any execution paths that send segments should be triggering this
logic


    _______________________________________________________

Reply to this item at:

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

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/




reply via email to

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