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
