Muhamad Ikhwan Ismail wrote:
I found out the problem already. My driver was set up to transfer out one buffer per frame only (1520 bytes) since we want to spare processing power as much as we can and also due to the fact we have ample memory, and the 1.3.0 seems to chain the TCP packets to form frames(multiple buffers per frame). Is there any thing i can setup to force
TCP packs 1520 bytes per buffer (pbufs) ?
As Jonathan already said, lwIP chains pbufs. I strongly suggest you change your driver to handle that if possible. If this is not possible, you will have to copy chained pbufs into a newly allocated contiguous pbuf: allocate a PBUF_RAM with length p->tot_len of the original pbuf and use pbuf_copy to make a copy.

The reason you might not have seen this before 1.3.0 is that with 1.3.0, the nagle algorithm was improved. This algorithm is responsible for chaining multiple pbufs into one packet. You can try to turn it off for your socket (using setsockopt / TCP_NODELAY option), but that will have a negative effect on throughput!

Simon


_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to