|
From: | address@hidden |
Subject: | Re: [lwip-devel] ReactOS is now using lwIP for TCP |
Date: | Thu, 01 Sep 2011 22:07:28 +0200 |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:6.0.1) Gecko/20110830 Thunderbird/6.0.1 |
Cameron Gutman wrote:
I'd be interested in what you need this for. TCP_EVENT_CLOSED() should have been called before already (when the FIN initiating the close has been received - moving from ESTABLISHED to CLOSE-WAIT). With that change, don't you get 2 close calls (i.e. recv-callback with pbuf==NULL)? I wouldn't have expected an "application" (to lwIP, that is) could need such an information.I encountered 2 issues that required changes to lwIP. One was a behavior change with regards to the TF_CLOSED flag in which we call TCP_EVENT_CLOSED before freeing the PCB to make the rest of our IP library aware that the PCB's port is no longer bound. I'm not sure whether you want to integrate that or not.
However, if you do need it, we could integrate this to the lwIP sources. But if so, we should solve it in a different way (not calling TCP_EVENT_CLOSED twice for the same pcb).
I just did review the lwIP code from ReactOS svn (using svn://svn.reactos.org/reactos/trunk/reactos, is that correct?). Unfortunately, it is *not* 1.4.0: although after compiling, only the 1st issue from the above should make a difference, there are some differences in source files which makes it difficult to have a quick look at what's been changed from the original lwIP sources.There were a few other changes that were made to lwIP but they all were temporary and reverted as far as I know. We should be on lwIP 1.4.0, but I'm not 100% sure it was synced properly since I didn't sync it myself or review the sync in depth.
Any chance to get this 1.4.0 merged in there? Anything I can help?BTW: did anyone test this on a real machine or on a multicore processor? I would have expected lwIP to perform rather poor on a multicore (due to the single tcpip_thread).
Simon
[Prev in Thread] | Current Thread | [Next in Thread] |