[ECOS] Re: Interfacing directly to the low level ethernet driver, how??

Gary Thomas gary@mlbassoc.com
Thu Jun 28 15:48:00 GMT 2007

Hash: SHA1

Grant Edwards wrote:
> On 2007-06-28, Gary Thomas <gary@mlbassoc.com> wrote:
>>>>> I'm about to develop a raw ethernet driver. After spending
>>>>> quite a lot of time reading the forum and analyzing the code I
>>>>> finally decide to implement a raw I/O API as suggested by
>>>>> Grant Edwards here:
>>>>> http://www.cygwin.com/ml/ecos-discuss/2003-06/msg00017.html
>>>> What's the point of this?  Couldn't you solve your problem by
>>>> using RAW sockets?
> Yes, if RAW sockets were supported by eCos.
>>>> The reason for asking is just to point out that your ethernet
>>>> "wire" will be pretty useless except for whatever raw traffic
>>>> you push across it.
> No, the raw I/O API peacefully coexists with the normal network
> stack API.  All network traffic that doesn't use the configured
> proprietary Ethernet protocol number works the same as always.
>>> Could you plase be more precise? I don't thing I got your
>>> question, I thought that the version of FreeBSD on eCos didn't
>>> implement RAW sockets. Or at least that's what I understood
>>> from previous threads here. Am I wrong?
>> Indeed, RAW sockets are not [currently] implemented.  My
>> question was what do you need that RAW sockets cannot provide?
>> I think it would be a *much* simpler task to get RAW sockets
>> working within the existing stack than to write your own
>> networking layer.
> It's a pretty thin layer -- it just allows you to queue up
> outbout packets with cyg_io_write() and read from a queue of
> inboung packets (with a specified protocol type) using
> cyg_io_read().
> Using RAW sockets would be nice, but adding a little code to an
> in-house driver is logistically easier than adding raw socket
> support to an "off-the-shelf" network stack and then turning
> around and doing it all again a couple years later when the
> network stack changes.

Your comments, while they make sense about eCos in general,
aren't helping.  I want to know why Michele thinks he needs
to write his own stack (that's what his questions were about).

Do you have your cyg_io code?  Can you contribute it?

As for the network stack changing - I don't see that happening
anytime soon.  The last time was 5 years ago and there's not
a great impetus for change now.  It makes sense to me to fix
things that are missing or broken, rather than inventing new
ways of doing things.

- --
- ------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
- ------------------------------------------------------------
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org


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