Ref: 02170001
Title: Workaround to Simulate TCP/IP Global Rotary
Date: 1/23/91

Copyright 3Com Corporation, 1991.  All rights reserved.

There is no Global Rotary in TCP/IP that will connect between multiple
hosts.  However, you can use the following conditional macro to work around
the lack of a Global Rotary function:

  MACRO hookup = (
  loop
  c host1 ecm
  if $rc==0
  res
  break
  else
  c host2 ecm
  if $rc==0
  res
  break
  else
  end
  end
  end)

This macro can be used when there are two hosts and you need to connect to
one or the other (see diagram).  It chooses the first host, and makes a
connection to it if it is available.  If the first host is not available, the
macro attempts to connect to the second host.  If the second host is busy,
the macro ends.

.lt                   |--------|
   |------------|          |-----| VAX #1 |
   |   Comm     |          |     |--------|
   |   Server   |----------|
   |------------|          |     |--------|
                           |-----| VAX #2 |
                                 |--------|


This macro can also be used when there is one host and two Comm Servers (see
diagram).  If the first Comm Server's ports are all busy, the macro will
attempt to connect to the second Comm Server.

   |--------------|----|----------|      |
   |              |----| Comm     |------|
   |              |----| Server   |      |
   |  Mainframe   |    |----------|      |
   |              |                      |
   |              |----|----------|      |
   |              |----| Comm     |------|
   |              |----| Server   |      |      |----|
   |--------------|----|----------|      |------| PC |
                                                |----|

