lwip-users
[Top][All Lists]
Advanced

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

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


From: Daniel Klingler
Subject: AW: [lwip-users] Problem of tcp_write with more then about 20 kBytes
Date: Mon, 2 Aug 2010 15:39:08 +0200

Hi,

I increased MEMP_N_PBUF to 32, and it is running well. (TCP_SND_QUEUELEN
seems to be fixed.)

Thanx a lot!
Regards,
Daniel


Gesendet: Montag, 2. August 2010 13:32 Von: address@hidden
>   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
>
> _______________________________________________
> 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]