This package should have been installed under your ACSnet sources
directory; ours is in the directory /usr/sources/ACSnet/ENcall.  The
Makefile needs to find ../Bin/Lib.a , ../Bin/Libc.a, ../Bin/Route.a and
some header files in ../Include. 

The port number chosen for the acsnet/udp service is the same as the port
number chosen by Phillip Nicholson for his acsnet/tcp version, but as his
used tcp and this uses udp there is no conflict.  The number can be
anything greater than IPPORT_RESERVED, a manifest constant defined in
<netinet/in.h> (probably = 1024) but must be identical on each machine. 

HISTORY
These programs are derived from the programs by the same name by Phillip
Nicholson at Telecom Research Labs.  They are also derived from
NNcall/call.c and NNshell.c by Piers Lauder at The University of Sydney. I
wrote them because I couldn't get the already existing programs to work
between our Vax and our Suns (I think this was due to a bug in the Sun
implementation of tcp).  Trying to run Phillip's tcp version resulted in
lots of corrupted data. 

INSTALLATION
To create this service, add to the file /etc/services, the line
	acsnet 1986/udp

If you are running BSD4.3 then add the following line to /etc/inetd.conf. 
acsnet	dgram	udp	wait	root	/usr/spool/ACSnet/_lib/ENshell	ENshell

If you are running BSD4.2 then add the following line to /etc/servers. 
	acsnet udp /usr/spool/ACSnet/_lib/ENshell

Send a HUP signal to inetd.  The manual says this causes it to rescan
inetd.conf\servers but I found that I had to kill and restart it.  Set up
the acsnet link in the usual way.  If your link is to be call-on-demand
then mark the link with the call flag and add the following line to your
commandsfile:
	caller node /usr/spool/ACSnet/_lib/ENcall

and put this in the file hostname/callargs
	-d-B
and this in hostname/enshellargs
	-B

If you want your link to stay around even when there is no traffic, put
this in the hostname/callargs file
	-d-d
and this is hostname/enshellargs
	-d

A hostname/params file for the link is necessary, and there is one flag
that should be put in it (-N).  The params file I use at the moment is
	-NR -rqueuedir
See NNdaemon(1) for more options.

STARTING THE NETWORK
I use rundaemon to get things running and I like the daemon to hang around
waiting for traffic.  From /usr/spool/ACSnet I type (or /etc/rc.local
types) _lib/rundaemon -w30 -d_lib/ENcall -hcad -isnail cad to make a
connection to our Suns.  The particular Sun that the daemon is to be
started on is snail, but the ACSnet name for the group of Suns is cad. 
-w30 says wait 30 seconds before retrying.  The last argument (cad) is
because rundaemon requires it to be there and passes it on to ENcall, which
is happy to ignore it. 

If you have set things up for call-on-demand then things should happen
automatically.  You may need to put a speed rating on the line to convince
ACSnet that it is the cheaper route. 

PERFORMANCE
The best throughput I have seen is 180,000 bytes/sec.  The average is
usually down around 20,000 bytes/sec.

This stuff has been run to start links between two Vax 11/780's running
BSD4.3, and between a Vax 11/780 running BSD4.3 and a Sun 3/160 running Sun
Unix Release 3.4 (really BSD4.2).  It should work between any machines
running Berkely 4.2 or above. 

If you have problems with this stuff, I would be interested to hear from
you, however, I am not offering to support it. 

Alan Skea					skea@cad.unsw.oz
The University of New South Wales
