[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-users] tcp_sndbuf always returns 0
From: |
WU Rui-Qing |
Subject: |
[lwip-users] tcp_sndbuf always returns 0 |
Date: |
Fri, 17 Jul 2009 21:6:25 +0800 |
I am using lwIP 1.3.1 rc1 from http://ftp.twaren.net/Unix/NonGNU/lwip/ . In
fact ,the problem i meet still existes in lwIP 1.3.0 and 1.2.0.
In packet capture from wireshark ,the checksum shows Good checksum :False
Bad checksum :False . Is this relative to the [validation disabled]
configuration ? the checksum is calculated by default method in lwIP.
I am sure that the block memory in FIFO is locked and not changed when it is
read.
when I implement the server using the socket , the server can run long time
.Why is this?
>On Fri, 2009-07-17 at 20:05 +0800, WU Rui-Qing wrote:
>> The server runs on a platform with TI DSP C6415,uC/OS-II and
>> LwIP1.3.1,its IP is 192.168.2.21.The client runs on host ,its IP is
>> 192.168.2.21.After the client connect to the server ,the server send
>> data to the client .the packets captured on PC host shows that client
>> sends a duplicated-ACK for SEQ=3894,the server retransmits the packet
>> SEQ=3894. I use the default setting in opt.h.
>> Thank you very much !
>
>The packet capture shows that the stack is retransmitting a packet with
>a bad checksum, and the retransmissions have the same (bad) checksum as
>the original packet.
>
>Which version of lwIP are you using? You say 1.3.1 but it has not been
>released yet. Is it just the latest version from CVS?
>
>Not sure why it should get the checksum for this packet wrong. Is there
>anything special about the way that checksums are computed on your
>hardware? Is the payload in the captured packet what you would expect?
>
>Is the data you are sending static? I notice that you call tcp_write
>without the TCP_WRITE_FLAG_COPY flag set, and so you have to guarantee
>that the memory area pointed to will not change. Looking at the code I
>think that might be the problem: what happens to the memory pointed to
>by hs->file after you have finished calling tcp_write() for that item?
>If it is freed in some way, or overwritten by read_block_from_outfifo()
>for example, that would be a problem. To solve this either set the
>TCP_WRITE_FLAG_COPY flag or wait until the tcp_sent() callback is called
>for all the data in an item before freeing/overwriting the memory.
>
>Kieran
>
>
>
>_______________________________________________
>lwip-users mailing list
>address@hidden
>http://lists.nongnu.org/mailman/listinfo/lwip-users
= = = = = = = = = = = = = = = = = = = =
致
礼!
WU Rui-Qing
address@hidden
2009-07-17
ncu_demon_sl.c
Description: Binary data