lwip-devel
[Top][All Lists]
Advanced

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

Re: [lwip-devel] 1.4.0.rc2 issue/questions


From: address@hidden
Subject: Re: [lwip-devel] 1.4.0.rc2 issue/questions
Date: Thu, 10 Feb 2011 21:08:56 +0100
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; de; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7

MK wrote:
My settings are TCP_OVERSIZE=TCP_MSS and I am using raw api
I know it isn't clearly stated, but I'm afraid TCP_OVERSIZE is kind not very much tested, yet, and might thus be regarded as too unstable to be used in production environments. Nevertheless, I'm of course happy you're using it and reporting the bugs you found! Thanks for that.
------------------------------------------------------
(A)
------------------------------------------------------
I am triggering the following assertion from tcp_out.c : 437

#if TCP_OVERSIZE
#if TCP_OVERSIZE_DBGCHECK
    /* check that pcb->unsent_oversize matches last_unsent->unsent_oversize */
    LWIP_ASSERT("unsent_oversize mismatch (pcb vs. last_unsent)",
                pcb->unsent_oversize == last_unsent->oversize_left);
#endif /* TCP_OVERSIZE_DBGCHECK */
Your observations seem correct, I'll file a bug report. Unfortunately, I currently don't have the time to investigate this (or else I would have replied earlier :-)
------------
(B)
-------------
  What is lwip's behavior for resegmenting tcp data? Initially, when
application gives it new data, it will get segmented and sent. Will
these segment boundaries always be preserved on subsequent retransmits
etc or will there be some resegmentation?
Resegmentation is not implemented in lwIP. Aside from retransmitting too much, the only known problem here is that the remote side might continuously advertise a window which is too small for us to send the next segment before increasing the window again. There's a bug entry for this at savannah, but this hasn't been observed 'in the wild', yet (it's only theoretical, up to now).
------------
(C)
------------
For tcp_seg, is the dataptr in it pointing to the beginning of the tcp
data or to the beginning of the options at the end of the tcp header?
I think there is a discrepancy - For TCP_WRITE_FLAG_COPY in tcp_write,
it gets set via tcp_create_segment and is set to the beginning of the
options, for other cases, it is set similarly, but later adjusted to
point to the beginning of the data - line 593 -
Hmm, I can't tell right now, I have to look at the code. I'll create a bug entry for that, too. Was there a problem/crash while running lwIP or did you only see that from reading the code?
Thanks for your help :)
Well, thanks for your reports.

Simon



reply via email to

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