This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: lwIP 1.3 port
- From: Simon Kallweit <simon dot kallweit at intefo dot ch>
- To: eCos Disuss <ecos-discuss at ecos dot sourceware dot org>
- Date: Mon, 08 Dec 2008 17:30:05 +0100
- Subject: Re: [ECOS] lwIP 1.3 port
- References: <493D2264.2050204@intefo.ch>
Single-threaded operation:
In this mode, a single thread is used for all handling of the stack.
In the current port, the user needs to initialize lwIP "by hand",
setup timeouts etc. I would like to write some glue code to simplify
usage of lwIP in this mode. The glue code should implement an
initialization routine as well as the basic operation of the lwip
thread (similar to what the tcpip thread in the threaded version
provides). Basic timeouts of the protocols should automatically be
handled when enabled in the configuration, and ethernet drivers should
be polled. I would also like to integrate SLIP and PPP support. As
these have to run in a separate thread (for serial communication), we
need a simple queue to pass received packets to the main thread.
After some more thought, the single thread implementation does not seem
to be that easy. The main reason is that I need SLIP and PPP, not
necessarily ethernet. The current lwIP implementation of PPP and SLIP
depend on multiple threads though. SLIP does blocking reads on the
serial device and PPP requires the sys_timeouts from lwIP for timeout
handling. I guess they can be adapted for single threaded operation, but
not without touching the lwIP code obviously.
The SLIP code would have to be changed to non-blocking operation. This
is rather simple. Porting PPP to single thread usage is rather a bit
tricky though, but I still manageable. My current plan is to do the SLIP
changes first, see how it works and then continue with PPP.
Is there anyone interested in testing or helping out?
Simon
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss