lwip-users
[Top][All Lists]
Advanced

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

Re: [lwip-users] Problem of tcp_write with more then about 20 kBytes


From: mgroups
Subject: Re: [lwip-users] Problem of tcp_write with more then about 20 kBytes
Date: Mon, 02 Aug 2010 13:31:53 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.7) Gecko/20100713 Lightning/1.0b2 Thunderbird/3.1.1

 Hello,

Just try to increase your TCP_SND_QUEUELEN and MEMP_N_PBUF to 32.
It's a bit strange with the debug messages, because you are closing the connection with this package: (There is a FIN flag.)

+-------------------------------+
|     4006      |     9999      | (src port, dest port)
+-------------------------------+
|           00f589592a          | (seq no)
+-------------------------------+
|           00000019cb          | (ack no)
+-------------------------------+
|  5 |   |010001|     65455     | (hdrlen, flags (FIN ACK ), win)
+-------------------------------+
|    0x53e9     |         0     | (chksum, urgp)
+-------------------------------+


Maybe you check your application why it is closing the connection.


Best regards,
Matthias


On Mon, 2 Aug 2010 12:36:44 +0200, Daniel Klingler wrote:
Hi,

I don't know how I can update in Xilinx to LWIP 1.32.

- MEM_SIZE 524288
- TCP_SND_QUEUELEN  16 * TCP_SND_BUF/TCP_MSS
- MEMP_N_PBUF 16

These are the debug information:
The packet with the length of 1518 Bytes doesn't go out. With wireshark I
don't see it. After a timeout the connection will be closed.

Regards,
Daniel

---
State: ESTABLISHED
tcp_receive: ACK for 19bd, unacked->seqno 19b7:19bd
tcp_receive: removing 19b7:19bd from pcb->unacked
pbuf_free(0x8802ffc0)
pbuf_free: deallocating 0x8802ffc0
tcp_write(pcb=0x880b1800, data=0x8d2785d0, len=14, apiflags=1)
tcp_enqueue(pcb=0x880b1800, arg=0x8d2785d0, len=14, flags=0, apiflags=1)
pbuf_alloc(length=14)
pbuf_alloc(length=14) == 0x8802ffc0
pbuf_header: old 0x88030040 new 0x8803002c (20)
tcp_enqueue: queueing 19bd:19cb (0x0)
tcp_output_segment: 19bd:19cb
pbuf_header: old 0x8803002c new 0x88030018 (20)
pbuf_header: old 0x88030018 new 0x8803000a (14)
tcp_recved: recveived 6 bytes, wnd 8192 (0).
pbuf_free(0x88276080)
pbuf_free: deallocating 0x88276080
tcp_output: nothing to send (0x0)
State: ESTABLISHED
tcp_fasttmr: delayed ACK
pbuf_alloc(length=20)
pbuf_alloc(length=20) == 0x880300c0
tcp_output: sending ACK for f589592a
pbuf_header: old 0x88030140 new 0x8803012c (20)
pbuf_header: old 0x8803012c new 0x8803011e (14)
pbuf_free(0x880300c0)
pbuf_free: deallocating 0x880300c0
pbuf_alloc(length=1518)
pbuf_alloc: allocated pbuf 0x88276080
pbuf_alloc(length=1518) == 0x88276080
pbuf_free(0x88276080)
pbuf_free: deallocating 0x88276080
tcp_slowtmr: processing active pcb
tcp_slowtmr: polling application
tcp_output: nothing to send (0x0)
pbuf_alloc(length=1518)
pbuf_alloc: allocated pbuf 0x88276080
pbuf_alloc(length=1518) == 0x88276080
pbuf_header: old 0x882760c0 new 0x882760ce (-14)
pbuf_header: old 0x882760ce new 0x882760e2 (-20)
pbuf_free(0x88276080)
pbuf_free: deallocating 0x88276080
tcp_slowtmr: processing active pcb
tcp_slowtmr: polling application
tcp_output: nothing to send (0x0)
tcp_slowtmr: processing active pcb
tcp_slowtmr: polling application
tcp_output: nothing to send (0x0)
pbuf_alloc(length=1518)
pbuf_alloc: allocated pbuf 0x88276080
pbuf_alloc(length=1518) == 0x88276080
pbuf_header: old 0x882760c0 new 0x882760ce (-14)
TCP header:
+-------------------------------+
|     4006      |     9999      | (src port, dest port)
+-------------------------------+
|           00f589592a          | (seq no)
+-------------------------------+
|           00000019cb          | (ack no)
+-------------------------------+
|  5 |   |010000|     65455     | (hdrlen, flags (ACK ), win)
+-------------------------------+
|    0x53ea     |         0     | (chksum, urgp)
+-------------------------------+
pbuf_header: old 0x882760ce new 0x882760e2 (-20)
pbuf_header: old 0x882760e2 new 0x882760f6 (-20)
+-+-+-+-+-+-+-+-+-+-+-+-+-+- tcp_input: flags ACK
-+-+-+-+-+-+-+-+-+-+-+-+-+-+
State: ESTABLISHED
tcp_receive: ACK for 19cb, unacked->seqno 19bd:19cb
tcp_receive: removing 19bd:19cb from pcb->unacked
pbuf_free(0x8802ffc0)
pbuf_free: deallocating 0x8802ffc0
tcp_output: nothing to send (0x0)
pbuf_free(0x88276080)
pbuf_free: deallocating 0x88276080
State: ESTABLISHED
pbuf_alloc(length=1518)
pbuf_alloc: allocated pbuf 0x88276080
pbuf_alloc(length=1518) == 0x88276080
pbuf_header: old 0x882760c0 new 0x882760ce (-14)
TCP header:
+-------------------------------+
|     4006      |     9999      | (src port, dest port)
+-------------------------------+
|           00f589592a          | (seq no)
+-------------------------------+
|           00000019cb          | (ack no)
+-------------------------------+
|  5 |   |010001|     65455     | (hdrlen, flags (FIN ACK ), win)
+-------------------------------+
|    0x53e9     |         0     | (chksum, urgp)
+-------------------------------+
pbuf_header: old 0x882760ce new 0x882760e2 (-20)
pbuf_header: old 0x882760e2 new 0x882760f6 (-20)
+-+-+-+-+-+-+-+-+-+-+-+-+-+- tcp_input: flags FIN ACK
-+-+-+-+-+-+-+-+-+-+-+-+-+-+
State: ESTABLISHED
tcp_receive: received FIN.
tcp_close: closing in State: CLOSE_WAIT
---




Gesendet: Montag, 2. August 2010 10:26 Von: address@hidden
   Hi,

first of all please update to LWIP 1.32. I can only recommend that.
Second what's your MEM_SIZE, TCP_SND_QUEUELEN, MEMP_NUM_PBUF?
Do you have access to the Debug messages, that could really help.
I think it could be maybe a memory problem.



On Mon, 2 Aug 2010 10:19:06 +0200, Daniel Klingler wrote:
Hi,

I am using LWIP 1.3 with Xilinx (SDK).

My settings:
- TCP_SND_BUF 64240
- TCP_MSS 1460

My problem:
- If I am do tcp_write with 18720 Bytes the transfer is well going.
- If I am writing with 19968 Bytes the transfer with some PCs is well
going, but with other PCs the return of tcp_write is -1.
- If I am writing with 21504 Bytes or more then with all connected PCs I
will return -1 of tcp_write.

Does anybody know this issue or has any idea to solve this?

Thanks for your replies.
Regards,
Daniel





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

_______________________________________________
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]