From: MaxiD <mx.d@mail.ru>
To: ecos-devel@ecos.sourceware.org
Subject: Re: lwIP port status
Date: Wed, 22 Jul 2009 10:34:00 -0000 [thread overview]
Message-ID: <24603788.post@talk.nabble.com> (raw)
In-Reply-To: <4A1173B6.5000805@intefo.ch>
Simon Kallweit wrote:
>
> Hi
>
> It's time for a little status update on the lwIP 1.3.x port. Let me give
> you a little list of what has been done lately:
>
> * CDL should include every configuration option offered by lwIP now, was
> reviewed by John Dallaway and got restructured and cleaned up afterwards.
> * Implemented 'Sequential' mode.
> * Updated to the latest lwIP sources from CVS again.
> * Reviewed test cases.
> * Cleanup, cleanup, cleanup.
>
> What's left to do is lots of testing and writing documentation etc. I
> think it would be great to finish the port when lwIP hits the 1.3.1
> release which should not be too far from now. If time permits, I may
> also work a bit on PPP.
>
> For now I would like to shortly discuss my 'Sequential' implementation.
> In 'Sequential' mode, lwIP is configured with NO_SYS == 0 and allows for
> multiple threads to use the stack (netcomm, sockets). The main thread
> (tcpip) is basically used to synchronize all threads accessing the stack
> by sequentially processing incoming messages on a message queue. When a
> packet arrives on an interface, a message pointing to the packet is sent
> to the message queue. This is what is done with the SLIP interface for
> example. SLIP is running in it's own thread, reading from the serial
> device (blocked). When a packet is received, it is passed to the tcpip
> thread by posting a message to the message queue. This way the packet is
> processed in sync with the tcpip thread. For ethernet devices I choose
> another path. The old port implemented a separate ethernet delivery
> thread which would wait on a semaphore for packets to arrive. It would
> wake up when a packet arrives and read it from the interface and send a
> message to the tcpip thread. In my port I got rid of the delivery thread
> and implemented sending/receiving as follows:
>
> When a packet is sent, lwIP assumes that after the call to output the
> packet, the packet is no longer access by the driver and can be
> released. This means that the packet should be sent before the call
> returns -> blocking, or packets would have to be copied and put in a
> queue, which I think does not make much sense. I therefore implemented
> sending to be blocking.
>
> Receiving packets could be done in parallel to the tcpip thread, but
> packets still have to be processed in sync to the tcpip thread. I choose
> a really simple route. When a packet arrives, a callback is registered
> with the tcpip thread, which is called back as soon as ongoing
> processing in the tcpip thread is finished. The callback then reads all
> the pending packets from the ethernet devices and directly processes them.
>
> What do people think of this approach? Is it feasible or completely
> broken? :)
>
> Anybody cares to do some testing of the new lwIP port?
>
> Simon
>
>
Hello Simon,
I get errors with mboxes with older versions so I would test your port.
Would you please send me the link to your port??
Thanks & best regards
Max
--
View this message in context: http://www.nabble.com/lwIP-port-status-tp23598717p24603788.html
Sent from the Sourceware - ecos-devel mailing list archive at Nabble.com.
next prev parent reply other threads:[~2009-07-22 10:34 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-18 14:41 Simon Kallweit
2009-07-22 10:34 ` MaxiD [this message]
2009-07-22 11:22 ` Simon Kallweit
2009-08-18 16:59 ` John Dallaway
2009-08-18 17:33 ` Simon Kallweit
2009-08-19 7:11 ` John Dallaway
2009-08-19 9:21 ` Sergei Gavrikov
2009-08-19 12:11 ` Simon Kallweit
2009-08-19 12:10 ` Simon Kallweit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=24603788.post@talk.nabble.com \
--to=mx.d@mail.ru \
--cc=ecos-devel@ecos.sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).