Order Tray | Contact Us | Home | SIG Lists

[ax25-layer2] "First Code"

Samuel A. Falvo II sam.falvo at gmail.com
Thu Aug 10 04:15:22 UTC 2006


http://www.falvotech.com/content/openax25.zip

I'm not finished by a long shot, obviously, but the first code of
OpenAX.25 is under way.  Currently designed for POSIX systems (Linux
in particular, since that is the operating system I run), though it
ought to compile relatively effortlessly for Windows too (if I'm lead
to believe correctly, Windows 2000 on has better POSIX support,
including sockets).

As you might expect, the 'lm' directory contains what will eventually
become the Link Manager daemon/service.  Currently, it has less than
brains of its own, detecting only connections to it, and establishing
virtual ports through which frames and link manager requests and
responses will eventually travel.

Even in its finished state, the link manager will be effectively dumb.
 Its role in life is to take packets that are received via various
ports, and "switch" them among one or more interested parties.  This
alone is plenty sufficient to allow for proper handling of in-bound
UI-, XID-, and TEST-frames.  Other kinds of frames require
higher-level logic, which will be implemented with a client-side
DLL/shared object library.

You can kinda sorta see the very beginnings of the shared library's
API in the "testapp" directory.  Again, they're tailored for a POSIX
environment for the time being.  As the LM grows towards completion,
more and more effort will be done in the shared library instead of in
the LM.  Baby steps.

Some will say this architecture is slow.  Yes -- it is.  But speed is
not my goal; correctness of implementation is.  Besides, with modern
microprocessor speeds, it will take either an awful lot of ports or an
awfully fast port to swamp this stack.

Can the LM be implemented in kernel-space in some way?  I say it can.
I use the sockets interface to the daemon ONLY because Linux lacks a
higher performance IPC mechanism that is as robust and easy to use.
It might take some hacking to get it to work, but the overall
architecture of the software ought to remain the same.

Anyway, I thought you folks would be interested in what I've been
doing this past couple of weeks.

-- 
Samuel A. Falvo II




More information about the ax25-layer2 mailing list