  =========================================================================

  @(#) INSTALL.inet,v 0.8 2003/01/10 14:44:55 brian Exp

  =========================================================================

  This README is Copyright (c) 2001-2002  OpenSS7 Corporation

  All Rights Reserved.

  Permission is granted to make and distribute verbatim copies of this
  README file provided the copyright notice and this permission notice are
  preserved on all copies.

  Permission is granted to copy and distribute modified versions of this
  manual under the conditions for verbatim copying, provided that the
  entire resulting derived work is distributed under the terms of a
  permission notice identical to this one

  Since the Linux kernel and libraries are constantly changing, this README
  file may be incorrect or out-of-date.  The author(s) assume no
  responsibility for errors or omissions, or for damages resulting from the
  use of the information contained herein.  The author(s) may not have
  taken the same level of care in the production of this manual, which is
  licensed free of charge, as they might when working professionally.

  Formatted or processed versions of this manual, if unaccompanied by the
  source, must acknowledge the copyright and authors of this work.

  -------------------------------------------------------------------------

  U.S. GOVERNMENT RESTRICTED RIGHTS.  If you are licensing this Software on
  behalf of the U.S. Government ("Government"), the following provisions
  apply to you.  If the Software is supplied by the Department of Defense
  ("DoD"), it is classified as "Commercial Computer Software" under
  paragraph 252.227-7014 of the DoD Supplement to the Federal Acquisition
  Regulations ("DFARS") (or any successor regulations) and the Government
  is acquiring only the license rights granted herein (the license rights
  customarily provided to non-Government users).  If the Software is
  supplied to any unit or agency of the Government other than DoD, it is
  classified as "Restricted Computer Software" and the Government's rights
  in the Software are defined in paragraph 52.227-19 of the Federal
  Acquisition Regulations ("FAR") (or any success regulations) or, in the
  cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the
  FAR (or any successor regulations).

  =========================================================================

  Modified 2003/01/10 14:44:55 by brian

  =========================================================================


                  OPENSS7 STREAMS INSTALLATION INSTRUCTIONS
                  -----------------------------------------

  PRELIMINARY:

  You will need the LiS STREAMS package, version LiS-2.14.G or better
  running on a Linux 2.4.x SP kernel.  This release should work fine
  with SMP kernels and SMP machines.  I have tested RH 2.4.7-10, RH
  2.4.9-31 and Linux 2.4.18.

  UNPACKING:

  To begin with, you should have a copy of the tarred and gzipped source
  in the file strinet-0.8.2.tgz  Unpack it with

        tar -xzvf strinet-0.8.2.tgz

  in some convenient place and it will unpack into a strinet-0.8.2
  directory.


  COMPILING:

  To build the package, simply change to the unpacked strinet-0.8.2
  directory and type:

        make

  Make will run a bash configuration script which will check to make
  sure that you have the LiS STREAMS package properly installed on your
  system and so that it knows where to find the necessary LiS include
  files.  Normally, the script just finds things and it will not need to
  prompt you.  If it cannot locate a necessary directory or file, it
  will prompt you for such things as the location of your LiS source
  directory and library files.

  If there are any compile errors, they are fatal.  You will have to dig
  into the Makefiles and source code if you have a problem.  On a normal
  Linux system, all should go well.

  If there are no errors, make should build all of the necessary modules
  and test programs.

  There are three levels of debugging and assertion checking for which
  the package can be compiled:

        make none       # compile -O3 with debuggin turned off
        make safe       # compile -O2 and essential assertions only
        make debug      # compile -O2 and all tests and traces

  by default, `make' will compile `safe'.  This is the recommended mode
  for running all modules.  If you are interested in running some of the
  test programs, however, you may have to compile `debug' to get the
  additional debug facilities necessary to run the test programs.

  INSTALLATION:

  To run the test programs or load the inet stack for applications
  programs, you must first install the modules and development header
  files.  This can be done by merely typing (as root)

        make install

  If you don't like doing this a root, either use the -n option to make
  install to see what will happen first, or look at the install targets
  in the toplevel and subdirectory Makefiles.  Make install does four
  things:

  1)    Copies the openss7 modules to your /lib/modules directory for
        the running kernel.  These modules are

        -rwxr-xr-x 1 root root  58832 Jan 10 17:30 streams-inet.o

  2)    Creates several STREAMS character devices in /dev for you such
        as /dev/ss7-sdl-upd0.  They all begin with ss7- or sctp as follows:

        crw-rw-rw- 2 root root  30,  40 Jan 10 17:30 /dev/idp
        crw-rw-rw- 2 root root  30,  41 Jan 10 17:30 /dev/rawip
        crw-rw-rw- 6 root root  30,  39 Jan 10 17:30 /dev/arp
        crw-rw-rw- 2 root root  30,  37 Jan 10 17:30 /dev/egp
        crw-rw-rw- 2 root root  30,  34 Jan 10 17:30 /dev/ggp
        crw-rw-rw- 2 root root  30,  33 Jan 10 17:30 /dev/icmp
        crw-rw-rw- 2 root root  30,  32 Jan 10 17:30 /dev/ip
        crw-rw-rw- 2 root root  30,  35 Jan 10 17:30 /dev/ipip
        crw-rw-rw- 2 root root  30,  38 Jan 10 17:30 /dev/pup
        crw-rw-rw- 6 root root  30,  39 Jan 10 17:30 /dev/rip
        crw-rw-rw- 2 root root  30,  36 Jan 10 17:30 /dev/tcp
        crw-rw-rw- 6 root root  30,  39 Jan 10 17:30 /dev/udp

        crw-rw-rw- 6 root root  30,  39 Jan 10 17:30 inet/arp
        crw-rw-rw- 2 root root  30,  37 Jan 10 17:30 inet/egp
        crw-rw-rw- 2 root root  30,  34 Jan 10 17:30 inet/ggp
        crw-rw-rw- 2 root root  30,  33 Jan 10 17:30 inet/icmp
        crw-rw-rw- 2 root root  30,  40 Jan 10 17:30 inet/idp
        crw-rw-rw- 2 root root  30,  32 Jan 10 17:30 inet/ip
        crw-rw-rw- 2 root root  30,  35 Jan 10 17:30 inet/ipip
        crw-rw-rw- 2 root root  30,  38 Jan 10 17:30 inet/pup
        crw-rw-rw- 2 root root  30,  41 Jan 10 17:30 inet/rawip
        crw-rw-rw- 6 root root  30,  39 Jan 10 17:30 inet/rip
        crw-rw-rw- 2 root root  30,  36 Jan 10 17:30 inet/tcp
        crw-rw-rw- 6 root root  30,  39 Jan 10 17:30 inet/udp

  3)    Appends character device aliases to your /etc/conf.modules or
        /etc/modules.conf file (whichever exists) to support kmod or
        kerneld automatic loading of the inet kernel modules when these
        character devices are opened.  The lines which are appended look
        like:

        alias char-major-30  streams-inet     # driver sys inet

  4)    Coplies the development header files int /usr/include/sys
        directory (normally /usr/src/LiS-2.13.17/include/sys) where you
        can include them with, say, <sys/npi.h> as follows:

        -rwxr-xr-x  1 root root  26709 Jan 10 15:39 npi.h
        -rwxr-xr-x  1 root root   6451 Jan 10 14:56 npi_ip.h
        -rwxr-xr-x  1 root root   6968 Jan 10 13:52 npi_sctp.h
        -rwxr-xr-x  1 root root   6451 Jan 10 14:56 npi_tcp.h
        -rwxr-xr-x  1 root root   6451 Jan 10 14:56 npi_udp.h
        -rwxr-xr-x  1 root root  26553 Jan 10 23:07 tpi.h
        -rwxr-xr-x  1 root root   3217 Jan 10 14:56 tpi_ip.h
        -rwxr-xr-x  1 root root   3224 Jan 10 13:52 tpi_sctp.h
        -rwxr-xr-x  1 root root   3217 Jan 10 14:56 tpi_tcp.h
        -rwxr-xr-x  1 root root   3217 Jan 10 14:56 tpi_udp.h
        -rwxr-xr-x  1 root root  18123 Jan 10 14:56 xti.h
        -rwxr-xr-x  1 root root   2734 Jan 10 14:56 xti_inet.h
        -rwxr-xr-x  1 root root   3476 Jan 10 23:07 xti_ip.h
        -rwxr-xr-x  1 root root   5449 Jan 10 13:52 xti_sctp.h
        -rwxr-xr-x  1 root root   5449 Jan 10 13:52 xti_tcp.h
        -rwxr-xr-x  1 root root   3476 Jan 10 23:07 xti_udp.h

  TEST PROGRAMS:

  There are several test programs that you can run to check that your
  installation is correct and to serve as an example for how to write a
  user-level STREAMS application based on the TPI and NPI interfaces.
  These are located in the strinet-0.8.2/test/ directory as follows:

        -rwxr-xr-x  1 brian  users  246418 Jan 10 17:25 test-inet_raw
        -rwxr-xr-x  1 brian  users  246294 Jan 10 17:25 test-inet_tcp
        -rwxr-xr-x  1 brian  users  246418 Jan 10 17:25 test-inet_udp

  test-inet_raw
      Opens two /dev/rawip (TPI Interface) streams and performs looback
      testing of options management, binding and data transfer.  This
      program must be run with root priviledge to open the /dev/rawip
      streams.  It also performs CO access to CL services test by
      performing single-ended connection, disconnection and data
      transfer tests.

  test-inet_udp
      Opens two /dev/udp (TPI Interface) streams and performs loopback
      testing of options management, binding and data transfer.  It also
      performs CO access to CL services tests by performing single-ended
      connection, disconnection and data transfer tests.

  test-inet_tcp
      Opens three /dev/tcp (TPI Interface) streams and performs loopback
      connection, disconnection and data transfer testing.

  WHAT IF EVERYTHING GOES WRONG?

  Check to make sure that you have LiS STREAMS correctly installed on
  your system and that it can actually run.

  Hit our majordomo mailing list at openss7@openss7.org: to subscribe,
  send mail to majordomo@openss7.org with "subscribe openss7" in the
  body of the message.  Our mail archive is located on our home page at
  www.openss7.org.

  You can mail me at bidulock@openss7.org, but NO WARRANTY.

  Fri Jan 10 07:42:59 MST 2003
  Brian F. G. Bidulock
  bidulock@openss7.org
