Name
       CLX

Authors
       Franta Bendl, DJ0ZY
       Bernhard ("Ben") Buettner, DL6RAI ([email protected])

Description
       A PacketCluster like system running on Linux.

Status
       Version 4.04 Released February 7, 1999.

System Requirements
       Linux Kernel > 2.x with Alan Cox's AX.25
       driver, TCP/IP networking, SysV IPC.
       Needs Perl and AX.25 hardware or TNT/WAMPES.

Detail
       PacketCluster nodes have been available since around
       1986. The original software was written by Dick
       Newell, AK1A, and is running under DOS. CLX is a
       system which clones a PacketCluster node. To the
       outside user, commands and features are mostly
       identical, remote PacketCluster nodes, which can be
       networked, don't see the difference between a generic
       PacketCluster node and CLX. So it fits well into an
       established network of PacketCluster nodes.

       CLX is not an user application, it is a network node
       software. As such it is not of much use for the
       individual amateur. SysOPs of PacketCluster nodes
       with some experience on both PacketCluster and
       Linux will find this application interesting.

       Here are some of the features of CLX

       -- It is fully compatible with the internal PCxx
          protocol and from a users' point of view. It
          allows multitasking and different priorities
          for different things.

       -- The software detects looping DX spots without
          generating endless messages. CLX filters out such
          duplicate information. We have implemented a
          concept which allows us to connect the network
          at multiple points, which would formerly have
          been called a "Cluster Loop". CLX knows of
          so-called "active" and "passive" links. The
          outcome is that more DX information is seen by
          CLX.

       -- An interface to call your external programs
          (even dialog programs).

       -- CLX uses modern programming concepts like
          shared memory for common data, lex & yacc to
          implement command language, shared libraries to
          keep binaries small (this is still on our wish
          list), remote procedure calls for inter process
          communication. It is strictly modularized with
          its own dedicated process for every major task.

       -- Here is a definition for each particular module

             con_ctl interfaces AX.25 kernel code and
               provides a socket for local users.

             rcv_ctl manages receive spooling.

             snd_ctl manages transmit spooling.

             rm_disp receive message dispatcher, forwards
               messages to other processes.

             usr_req user database requests, forks a
               db_(...) process for every database task to make it
               run in the background. The background process
               later sends the results directly to send_ctl.

             mb_ctl mailbox control. The mailbox keeps
               messages in a file system, header information
               is stored in the database.

             usr_ctl user administration (logins, logouts,
               logbook).

             usc_mng manages external user commands and
               command extensions.

             iu_com inter user communication (talk, conference).

             snd_ctl transmit spooling, handling priorities.

             icl_com inter node communication (processing and
               generating PCxx messages).

             clx_ctl system administration, installing shared
               memory pages.

             int_com manages CLX system communications.

             db_(...) serveral programs interfacing database access.
               When a query is started, one of them will be
               lauched. When the result is there, it will send it
               to the user.

             udt_mng user data table manager. A process which
               handles requests to private database tables,
               which could be imported from AK1A .ful databases.

             bbs_if an interface to external BBS systems for mail
               forwarding.

       --    Interactive applications:

             net_usr, interface program for incoming and outgoing
               calls.

             term_usr, more comforatble login program supporting
               GNU readline which lets you recall and edit
               commands.

             clx_adm, online monitor for controlling and watching
               link situation.

       --    Hardware requirements: PC Pentium 100 with 32 MB
             RAM is recommended. About 500 MB disk space.
             Access through AX.25 kernel code, WAMPES or TNT.

       First on-air experiments started in late May 1994 under the
       callsign DB0PV-6, which now has become DB0CLX. At this time,
       most of the commands of the traditional PacketCluster software
       have been implemented and the software has been tested
       by many local DXers of the Munich area.

       CLX is based on a data base system called PostgreSQL.
       It currently runs on Linux Version 2.0.36 at DB0CLX.
       Today, the CLX code consists of over 50,000 lines of
       C++ code.

Where and how to obtain it
       The software is available on the Internet in a
       binary distribution:

       ftp.funet.fi:/pub/ham/unix/Linux/cluster/clx

       The software comes with a pseudo callsign "xx0xx".
       This will allow you to install and test the software
       locally but you cannot put it on the air. The callsign
       is encrypted and read from the configuration file.
       To use CLX on the air, you will have to ask for
       an encrypted callsign string to be put into the
       config file. Please contact [email protected] for
       this.

       Generally, the software will be given away for free.
       However, we want to keep an oversight of who is using
       our software. This is why we are playing the encryption
       game.

Licensing/Copyright
       CLX is Copyright (c) by Franta Bendl (DJ0ZY). You may
       use this software for non-commercial purposes only.