[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [bug #23726] pbuf pool exhaustion on slow recv()
From: |
Thomas Taranowski |
Subject: |
[lwip-devel] [bug #23726] pbuf pool exhaustion on slow recv() |
Date: |
Fri, 27 Jun 2008 11:50:28 +0000 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14 |
URL:
<http://savannah.nongnu.org/bugs/?23726>
Summary: pbuf pool exhaustion on slow recv()
Project: lwIP - A Lightweight TCP/IP stack
Submitted by: taranowski
Submitted on: Friday 06/27/2008 at 11:50
Category: sockets
Severity: 3 - Normal
Item Group: Feature Request
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Planned Release: 1.3+
lwIP version: 1.2.0
_______________________________________________________
Details:
Using a late 1.2 based CVS head
When a user binds a socket, the stack will enqueue incoming data into that
socket's port. If the recv() is never called to empty that socket, the port's
queue will grow until it consumes all available pbufs, thereby essentially
latching up the stack. There are several fixes:
*Implement SO_RCVBUF (still leaves stack open to failure)
*Implement a handler that will be called when there are no PBUF_POOL
available. This handler will walk through the open port's, and clear each
port's queue, freeing PBUF_POOLs. This would allow the stack to recover from
such a condition.
*Implement a mechanism to limit the depth of each port's queue. Similar to
SO_RCVBUF, but would be a stack-enforced limit. If the stack attempts to
enqueue an incoming payload, but there are already MAX PBUF_POOLs already in
the port, discard the incoming message.
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/bugs/?23726>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
- [lwip-devel] [bug #23726] pbuf pool exhaustion on slow recv(),
Thomas Taranowski <=