Artem,

I know what WDD stands for (Writing Device Drivers) but not MDB though
admittedly I haven't tried Google yet either.

Sorry about blasting off angry E-Mails last night. You're right that I've
never done Kernel programming before on any OS.  Most of my work thus far
has been confined to the userland.

I understand your point about kernel programming not being an easy task,
though my issue isn't with the Solaris DDI/DDK.  I was able to (albeit with
some hand-holding from you guys here on the list) understand and produce
documentable and readable code to do precisely what I wanted.  I think I now
know enough to at least help myself or ask more intelligent questions of
this mailing list when I cannot find my own answer.

The goal with this project is to teach myself the necessary skills to
implement parts of the SIGTRAN protocol stack for Solaris.  This is both
academic (for my own benefit) and driven by need.  I'm looking to make my
work freely available so that others in my industry may benefit from having
a truly open and freely available stack for Solaris.
SS7 has many more layers than the OSI model.  I chose streams as my
framework because most existing commercial and open source implementations
are distributed as STREAMS modules for whichever OS they've targeted.  I'm
assuming this is because it makes the layered approach easier to deal with
when you have protocols that depend on protocols which depend on protocols,
etc.  STREAMS would also keep most of the code out of userland and in Kernel
space, and make it extremely easy to write applications with standard system
calls.

The use of the character driver is simply to provide a facility for open(),
read(), write(), ioctl() and close() and to manage the SCTP kernel
interface.  The plan was to then push higher-layer modules on top of the
character driver and on top of each other to form the stack.


I chose Solaris for two reasons.  The primary reason being that most
softswitch vendors seem to target and prefer Solaris for their products and
because most of the heavy lifting in a SIGTRAN implementation is done by
SCTP which Solaris conveniently exports an easy-to-use kernel interface for.

To be honest I woke up this morning expecting a flame to be waiting for me
in my inbox along with several "STFU n00b, RTFM" type of E-Mails.

Thanks for being patient with me.

Regards,
Daniel

On 9/11/07, Artem Kachitchkine <[EMAIL PROTECTED]> wrote:
>
>
> > I guess I just don't understand STREAMS.  Maybe I should consider not
> > using them.
>
> What is your end goal/requirements? Perhaps you shouldn't use STREAMS
> because there's a better way to achieve your goal. Character drivers are
> generally easier to write. In any case, from your questions it doesn't
> appear you wrote kernel drivers before - it takes some time to acquire
> kernel programming skills (for any OS), certainly more than a couple of
> days. For Solaris, I'd strongly recommend WDD book for DDI information
> and MDB and DTrace tutorials for basic debugging/diagnostic techniques.
>
> -Artem
>
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to