lwip-users
[Top][All Lists]
Advanced

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

RE: [lwip-users] tcp_write() errors on snd_queuelen


From: Tim Lambrix
Subject: RE: [lwip-users] tcp_write() errors on snd_queuelen
Date: Wed, 16 Mar 2011 18:27:31 +0000

Thanks Simon.  This is the type of information I have been looking for.  

> I can comment on generic lwIP options (without knowing your platform in 
> detail):

> In general, you might run into receive problems with the TCP window being so 
> small 
> compared to the MSS (TCP_WND is only used as receive window, the transmit 
> window is 
> taken from the remote host's SYN packet). It should be at least 2*MSS but is 
> encouraged to be at least 4*MSS if your memory constraints allow you to. This 
> is to 
> make sure the TCP sliding window algorithm can work correctly.

What is actually getting put into that TCP window memory?  Is that the ack for 
each tcp packet?  Is that memory coming out of the MEM_SIZE define?

> TCP_SND_BUF and TCP_SND_QUEUELEN seem OK. Those settings allow you to make 64 
> or 128
> calls to tcp_write() (one pbuf per call when copying data, 2 per call when 
> not 
> copying) and to enqueue 8400 bytes of data in these pbufs.

I am copying the data into the tcp_write.  So I can then hold 128 * my 50 byte 
packets in the TCP_SND_BUF of ~8K?  However, when I have viewed the buffer size 
debug output, I see pcb->snd_queuelen get up to 100 or more but pcb->snd_buf 
only has a couple hundred bytes removed.  Where is the rest of the queues 
(pbufs, I assume) stored in memory?

> The other memory settings seem OK, too. However, that depends on the number of
> parallel connections.

I only support 1 connection at a time.  If I support 2, does it double the 
memory requirements and does it happen automatically or is the TCP_SND_QUEUELEN 
shared between the connections?

Lastly, how big is a pbuf and is there a relationship between the 
MEMP_NUM_TCP_SEG and a pbuf? If there is a way to set a pbuf, should it be set 
to a typical call into tcp_write for optimum memory usage?

_______________________________________________
lwip-users mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/lwip-users

reply via email to

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