|
From: | Bill Auerbach |
Subject: | [lwip-users] Out Of Order Sequence (Segments?) |
Date: | Mon, 7 Apr 2008 11:35:09 -0400 |
Hello, I want to understand Out Of Order
Sequences (or is it segments?), why they result, and what lwIP does to limit
them? Can someone briefly tell me what it’s about, or point me to a
good reference? I find Google is spotty here for a good description
except for a reference that it must be supported by a TCP/IP stack. I ask because I’ve been chasing a
system freeze (which is odd because the PowerPC is quite good about its
exception handling). It results from running out of PBUFs (RAW) in my
Ethernet driver. It turns out I am running out because of pbufs left on
the ooseq list. I didn’t know to account for pbufs for this use.
If I get to a state where pbuf_alloc returns NULL in my driver and I return
NULL for what looks to be forever, the system freezes. (The debugger won’t
even break in which to date has been for a very bad thing J ). Should there be a #define and a test and
for the amount of ooseq’s to be allowed to be buffered? If not,
what is a practical limit? What are the disadvantages of setting TCP_QUEUE_OOSEQ
to 0? If a driver doesn’t have pbufs and
has to return NULL repeatedly, what should occur for it to recover these tied
up pbufs? I see that tcp_slow_tmr releases these ooseqs, but I seem to
not get to this point. Should returning NULL from low_level_input be a
problem? Thank you Bill Auerbach |
[Prev in Thread] | Current Thread | [Next in Thread] |