[ECOS] lwIP 1.3 port

Simon Kallweit simon.kallweit@intefo.ch
Mon Dec 8 18:00:00 GMT 2008

> 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?


Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

More information about the Ecos-discuss mailing list