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