ken@gvax.cs.cornell.edu (Ken Birman) (03/19/91)
In ISIS V3.0 we plan to unify the isis_remote and isis_init interfaces.
Currently, as you may be aware, there are two ways to connect to ISIS (one
of which doesn't work very well...)
In the new scheme, we will add a new interface and recommend that people
switch over to it:
isis_remote_init(``mlist'', local-port, remote-port, flags)
where:
mlist is a null pointer or a list of "mother" sites, separated by
commas. Taken from the environment variable ISISHOST if not
specified.
local-port is the port number for connecting to ISIS when local to it,
or 0. Taken from the environment variable ISISPORT is not
specified, or from YP (isis/tcp) if ISISPORT is not specified.
remote-port is the port number for UDP remote connections,
or 0. Taken from the environment variable ISISREMOTE is not
Specified, or from YP (isis/tcp) if ISISREMOTE is not specified.
flags are formed from
* ISIS_PANIC: panic if restart fails
* ISIS_AUTO: try and start ISIS if can't connect (by running
a shell script: /usr/local/startisis)
* ISIS_NOCOPYRIGHTNOTICE: don't print the V3.0 copyright
notice
* ISIS_UDP: use the old "UDP" protocol to connect from remote
sites; else uses a new, faster TCP connection
The sequence will be:
1) Connects locally, as via isis_init, if ISIS is running locally
(If the mlist is non-null and the site of the caller is listed, and
ISIS_AUTO is specified, this case will always be used).
2) If not, uses TCP to connect on one of the specified remote sites
(unless ISIS_UDP flag bit is set)
3) If this fails, tries to start ISIS if desired.
4) If all connect attempts fail, returns -1 and an error code.
Thus, a typical application could use isis_remote_init and connect to
ISIS "from anywhere" in the network, provided that the user's shell
environment is set up to designate the connection points.
----------------------------------
Kenneth P. Birman E-mail: ken@cs.cornell.edu
4105 Upson Hall, Dept. of Computer Science TEL: 607 255-9199 (office)
Cornell University Ithaca, NY 14853 (USA) FAX: 607 255-4428