Obtaining and installing cnet

cnet v1.2 is currently available from http://www.cs.uwa.edu.au/pls. The full distribution includes all source code, Makefiles, documentation, sub-directories for each of the supported operating and windowing systems, and a collection of representative protocol examples.

You should note the following requirements and restrictions for various systems:

Installation

  1. To begin installation, copy the distribution file cnet.shar to a new directory and feed it to the Unix shell.

  2. Read and modify the C #defines in config.h, in particular defining the required operating and windowing system constants such as SUNOS41 and USE_XVIEW.
    Other constants that you will probably need to modify include the full pathnames of your C compiler and linker, and the value of CNETPATH.

  3. Read and change site-specific constants in the Makefile for the operating system you'll be using (Makefile.sunos, Makefile.linuxaout ...)
    Typically, you'll need to modify (or uncomment) CC, CFLAGS, INCLUDES, LIBDIRS, LIBS, XLIBS, BINDIR and MANDIR.

  4. Type 'make' to compile cnet for your system without error.

  5. Type 'make install' to copy the cnet binary and manual to the required (global) directory.

  6. For all systems, copy and make world-readable (chmod 644) the file cnet.h to one of the directories given in CNETPATH.

  7. If using TclTk, copy and make world-readable (chmod 644) the file tcltk/cnet.tcl to one of the directories given in CNETPATH.

  8. If using DEC's OSF/1, temporarily change to the decosf1 directory, read and follow the comments in cnetextra.c
    Then copy and make world-readable (chmod 644) the file decosf1/cnetextra.o to one of the directories given in CNETPATH (sorry about this ugly step, any suggestions?).

Testing

There are some introductory examples (such as may be used as student introductions to cnet) in the EXAMPLES directory. These may be the sort of things an academic staff member would set as assessible projects, or to assist students to "get up to speed" quickly. You should now be able to execute these examples with the commands:

    cnet TICKTOCK
    cnet STOPANDWAIT
    cnet FLOODING1

These examples would typically be invoked from the command-line, there is a small Makefile to demonstrate typical invocations. Each example has its own topology file defining the network to be simulated, for example T2, CLICK, FLOODING1 and FAST. You may execute any of the examples with:

    make 2
    make C

When cnet appears to work, the 8 example files in {TICKTOCK + ticktock.c}, {CLICK + click.c}, {KEYBOARD + keyboard.c}, and {STOPANDWAIT + stopandwait.c} should all be placed in a system-wide examples directory for everyone to copy and run.


cnet was written and is maintained by Chris McDonald (chris@cs.uwa.edu.au)