John Dallaway wrote:
This looks like an excellent opportunity to demonstrate the benefits of our free open source development model. In a perfect world, it would be great to see: a) Support for all functionality of lwIP 1.3.0 (including ethernet, PPP, IPv4, IPv6, raw API, sequential API, BSD socket API)
Well, I think we might probably work with the CVS version as the 1.3.1 release is coming along. The only problems I see is with PPP. In the current state it's very hard to support both the sequential (threaded) and raw (non-threaded) modes. Might be a good opportunity to clean it up and also commit it to the lwIP project.
b) Compatibility with eCos applications using the existing eCos lwIP 1.1.1 package if possible (API and existing CDL option names preserved)
Hmm, I didn't really focus on that. I agree that CDL names should be identical as far as possible. Otherwise I'm not sure (initialization etc.) if this really matters as long as it's documented well.
d) Absolutely minimal mangling of the lwIP sources (it should be easy to upgrade lwIP again in the future)
Mangling is very minimal for these exact reasons, except the PPP sources which were changed quite a bit.
e) All lwIP configuration points accessible via CDL options
Pretty much done I think.
f) DocBook (.sgml) documentation which describes any eCos-specific aspects of the stack and otherwise points to generic lwIP documentation
I agree. No documentation in my current port.
g) Any fixes necessary in the lwIP sources contributed up to the master lwIP project for inclusion in the next generic release
I agree. Again, PPP might be the biggest part here.
h) eCos test cases for all functionality
I have already ported some tests.
Perhaps the best way forward is for John Eigelaar to take Simon Kallweit's package, work on the sequential API initially and post his revised package for review and further work by others. Simon, is the lwIP package in your repository ready for handoff?
I think we should first discuss my port a little and see if it needs to be changed to fit the needs of others.
The sources in my git repository are what I currently use in my project. Anybody willing to work on it may just branch my tree.
Simon