|Subject:||Re: [lwip-users] Relationship between lwIP options|
|Date:||Tue, 4 Aug 2009 06:49:45 -0700 (PDT)|
|Now I'm more confused. I found a post by "bill", which appears to be regarding v1.3 who said:|
"What is your TCP_SND_QUEUELEN? If you tie up all of your pbufs to send queued packets, you won't have any pbufs left to support receiving packets."
Is there any truth to this statement (except for the case you mention about out of order segments)? I wish there was a thorough description of each parameter somewhere. opt.h is fairly good, but there's a few I'm lost on. Here's the ones I'm unsure about, lets try that:
TCP_SND_BUF - Buffer for outgoing segments. Does this include ACKs? How is it divided up between segments? Why doesn't the RAM usage change when this is changed? Where does the memory for this get allocated from?
MEM_SIZE - Memory strictly for Tx data when it is copied. I see that RAM usage does change when this is modified, so this makes sense.
MEMP_NUM_PBUF - The number of pbuf structs for Tx segments that contain data NOT copied (REF or ROM). Does this have anything to do with ACKs?
MEMP_NUM_TCP_SEG - Total number of Tx segments in queue, including RAM, ROM, or REF types. Does this have anything to do with ACKs?
TCP_SND_QUEUELEN - Number of pbufs for Tx. Confused by this one. What is the size of the pbufs? Where does the memory for these get allocated from? Is this for all three types, RAM, ROM, REF? Does this include ACKs?
I ask about ACKs a lot because my application doesn't transmit much more than ACKs since it's streaming data. I still get too many dropped packets, however I see virtually none with default lwIP settings. The defaults are less than ideal however, especially with the very low MSS.
--- On Mon, 8/3/09, address@hidden <address@hidden> wrote:
|[Prev in Thread]||Current Thread||[Next in Thread]|