Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 1221

Host Access Protocol (HAP) specification: Version 2

Pages: 68
Informational
Updates:  0907
Part 3 of 3 – Pages 46 to 68
First   Prev   None

ToP   noToC   RFC1221 - Page 46   prevText
6.3. Notifications

   Notifications are Setup exchanges initiated by the WPS to inform a
   host of changes in the status of a network resource.  The format of
   Notification messages is shown in Figure 29.
ToP   noToC   RFC1221 - Page 47
                 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     S0        |           3           |          CODE         |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     S1        |                    CHECKSUM                   |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     S2        |                 NOTIFICATION ID               |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     S3        |                NOTIFICATION INFO              |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


                           NOTIFICATION MESSAGE
                                 Figure 29



     S0[0-7]   Message Type = 3 (Notification).

     S0[8-15]  Code.  This indicates what the Notification signifies.

                    0 = Stream suspended
                    1 = Stream resumed
                    2 = Stream deleted
                    3 = Group deleted by a host
                    4 = Group deleted by network
                    5 = All streams deleted
                    6 = All groups deleted
                    7 = Group changed by a host
                    8 = Group changed by network

     S1[0-15]  Checksum.  (See Service Agent Header description.)

     S2[0-15]  Notification ID.

     S3[0-15]  Notification Information.

               For notification types 0, 1, and 2, NOTIFICATION INFO
               contains the following:


                   +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
               S3  |        0        |         stream ID           |
                   +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

               For notification types 3, 4, 7, and 8, NOTIFICATION
               INFO contains the following:
ToP   noToC   RFC1221 - Page 48
                   +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
               S3  |                  group address                |
                   +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

               For notification types 5 and 6, which refer to all
               streams or groups, NOTIFICATION INFO is zero.


6.4. Setup Acknowledgments

   The host must acknowledge receipt of Setup Replies and Notifications
   from the Service Agent, as described earlier.  The format for the
   Setup Acknowledgment message is shown in Figure 30.


                 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     S0        |           0           |           CODE        |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     S1        |                    CHECKSUM                   |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     S2        |                   MESSAGE ID                  |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


                           SETUP ACKNOWLEDGMENT
                                 Figure 30



     S0[0-7]   Message Type = 0 (Acknowledgment).

     S0[8-15]  Code.  This field indicates the type of acknowledgment.

                   0 = Reply acknowledgment
                   1 = Notification acknowledgment

     S1[0-15]  Checksum.  (See Service Agent Header description.)

     S2[0-15]  Message ID.  This is either a Request ID or a
               Notification ID.

6.5. Information Request / Reply Messages

   The host may obtain information about WPS state and about what
   resources the WPS currently has allocated for the host by sending an
   Information Request message to the Service Agent.  The Information
   Reply that is returned will enable the host to determine 1) what
ToP   noToC   RFC1221 - Page 49
   resources the WPS has allocated to the host, and 2) the current state
   of the network and, possibly, certain network parameters.  This
   allows the host to refrain from trying to use resources it no longer
   has, and to regain information it may have lost on its network
   resources.  This communication also informs the host of the network
   state so that it may make priority and routing decisions.

   Each Information Request (Figure 31) and Information Reply (Figure
   32) message deals with a single type of resource at a time.  The
   header of the Information Reply message contains the number of
   entries within the message, the number of 16-bit words in each entry,
   and an instance of the appropriate information structure for each
   resource the Information Reply message describes.  These information
   structures are described in Figures 33 and 34.

   Future versions of the HAP protocol may permit queries about network
   connectivity, estimated delay to a specified destination address
   under specified conditions, etc.  This is a section of the protocol
   that is likely to expand in the future.  Extensions are expected to
   be backward compatible provided implementors do not hard code the
   size of the returned information entries.


                 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     S0        |           4           |           CODE        |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     S1        |                    CHECKSUM                   |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     S2        |                   MESSAGE ID                  |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


                        INFORMATION REQUEST MESSAGE
                                 Figure 31



     S0[0-7]   Message type = 4 (Information Request).

     S0[8-15]  Code.  This field identifies the Information Request
               Type.

                    1 = streams owned by host
                    2 = groups to which the host belongs

     S1[0-15]  Checksum.  (See Service Agent Header description.)
ToP   noToC   RFC1221 - Page 50
     S2[0-15]  Message ID.  This field is assigned by the host to
               uniquely identify outstanding requests (Request ID).
               This ID is copied into Information Replies by the
               Service Agent.


                 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     S0        |           5           |          CODE         |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     S1        |                    CHECKSUM                   |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     S2        |                   MESSAGE ID                  |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     S3        |   NUMBER OF ENTRIES   |    WORDS PER ENTRY    |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
               |                                               |
     S4-SN     :              ENTRIES (0 or more)              :
               |                                               |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


                         INFORMATION REPLY MESSAGE
                                 Figure 32



     S0[0-7]   Message type = 5 (Information Reply).

     S0[8-15]  Code.  This field identifies the Information Reply
               Type.

                    1 = streams owned by host
                    2 = groups to which the host belongs
                    3 = error in Information Request message
                    4 = network trouble
                    5 = access not allowed

     S1[0-15]  Checksum.  (See Service Agent Header description.)

     S2[0-15]  Message ID.  This field is assigned by the host in the
               Information Request message to uniquely identify
               outstanding requests.  This ID is copied into the
               Information Reply message by the Service Agent.

     S3[0-7]   Number of entries included in the Information Reply
               message.
ToP   noToC   RFC1221 - Page 51
     S3[8-15]  Number of 16-bit words per entry.

     S4-SN     Zero or more instances of either the stream information
               or group information structure.


                 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     0         |       0         |          STREAM ID          |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     1         |          STREAM TYPE OF SERVICE WORD          |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     2         |        STREAM SIZE (bits per interval)        |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     3         |    STREAM INTERVAL (in units of 0.125 ms.)    |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


                            STREAM INFORMATION
                                 Figure 33





                 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     0         |                  GROUP ADDRESS                |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     1         |                    0                    | MGP |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


                             GROUP INFORMATION
                                 Figure 34


7. Host Access Link Monitoring

   While the access link is operating, statistics on traffic load and
   error rate are maintained by the host and WPS.  Once a second, the
   host and WPS exchange this information via Status messages (Figure
   35).  This periodic exchange of Status messages permits both ends of
   the link to monitor flows in both directions.  The WPS also reports
   these monitoring statistics to the Network Operations Center (NOC).
   If either host or WPS fails to receive Status messages for ten
   seconds, the link will be restarted (see Section 8).
ToP   noToC   RFC1221 - Page 52
   The link restart procedure initializes all internal WPS counts and
   statistics for that link to zero.  As data and control messages are
   processed, counts are updated to reflect the total number of messages
   sent, messages received correctly, and messages received with
   different classes of errors since the last link restart.  Whenever a
   Status message arrives, a snapshot is taken of the local WPS counts.
   The local receive counts, in conjunction with a sent count contained
   in the received Status message, permits the computation of traffic
   statistics in the one second update interval assuming that the set of
   counts at the time of the previous monitoring report have been saved.
   By including in the Status message sent (in the opposite direction)
   the receive counts and the received sent count that was used with
   them, the transmitting end of the access link as well as the
   receiving end can determine the link performance from sender to
   receiver.


                 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     0         | 1|LB|GOPRI|           0           |     0     |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     1         |                HEADER CHECKSUM                |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     2         |             MOST RECENT A/R SENT              |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     3         |                STREAM CAPACITY                |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     4         |                   TIMESTAMP                   |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     5         |                      SBU                      |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     6         |                      STU                      |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     7         |                      RNE                      |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     8         |                      RWE                      |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     9         |                      BHC                      |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     10        |                      HEI                      |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


                              STATUS MESSAGE
                                 Figure 35
ToP   noToC   RFC1221 - Page 53
     0[0]      Message Class = 1 (Control Message).

     0[1]      Loopback indicator.

     0[2-3]    Go-Priority.

     0[4-11]   Reserved.  Must be zero.

     0[12-15]  Control Message Type = 0 (Status).

     1[0-15]   Header Checksum.  The checksum is the 2's-complement of
               the 2's-complement sum of words 0-10 (excluding the
               checksum word itself).

     2[0-15]   Most Recent A/R Sent.  This field is a duplicate of the
               most recent acceptance/refusal word.  It is included in
               the periodic Status message in case previous
               transmissions containing A/R information were lost.

     3[0-15]   Stream Capacity.  When sent by the WPS, this field
               indicates how much stream capacity is unused, in units
               of data bits per millisecond.  There is no guarantee
               that a request for a stream of this size will succeed.
               Since available capacity depends directly on a variety
               of parameters that can be selected by the user, the
               value of this field is the maximum capacity that could
               be achieved if existing streams were expanded at low
               reliability.  This field is not meaningful in messages
               sent from the host to the WPS and must be set to zero.

     4[0-15]   Timestamp.  This field indicates the time that the
               Status message was generated.  When sent by a WPS, the
               time is in units of seconds since the last link
               restart.  The host should also timestamp its messages
               in units of seconds.

     5[0-15]   Sent By Us.  Count of messages sent by us since the
               last link restart (not including this one).

     6[0-15]   Sent To Us.  Count of messages sent to us since the
               last link restart.  This is the count from word 5 of
               the last Status message received.

     7[0-15]   Received, No Errors.  This is the count of messages
               received without errors (since the last link restart)
               at the time that the last Status message was received.

     8[0-15]   Received With Errors.  This is the count of messages
ToP   noToC   RFC1221 - Page 54
               received with errors (since the last link restart) at
               the time the last Status message was received.

     9[0-15]   Bad Header Checksums.  This is the count of messages
               received with bad header checksums (since the last link
               restart) at the time the last Status message was
               received.

     10[0-15]  Hardware Error Indication.  This is the count of
               messages received with hardware CRC errors or hardware
               interface error indications (since the last link
               restart) at the time the last Status message was
               received.

8. Initialization

   The Host Access Protocol uses a number of state variables that must
   be initialized in order to function properly.  These variables are
   associated with the send and receive message numbers used by the
   acceptance/refusal mechanism and the statistics maintained to support
   link monitoring.  Link initialization should be carried out when a
   machine is initially powered up, when it does a system restart, when
   the ON state (see below) times out, when a loopback condition times
   out (see Section 9), or whenever the link transitions from non-
   operational to operational status.

   Initialization is accomplished by the exchange of Restart Request
   (RR) and Restart Complete (RC) messages between a host and a WPS.
   Either end (or both ends) may send an initial RR, and both ends must
   have sent and received an RC message in order to declare the link up.
   Because the RC message is a reply (to an RR or RC), receipt of an RC
   message by both ends guarantees that the physical link is operating
   in both directions.  The initialization state diagram that must be
   implemented by both WPS and host is shown in Figure 36.  Five states
   are identified in the state diagram:

     OFF       Entered upon recognition of a requirement to restart.
               The interface in the Host or WPS can recognize this
               requirement itself or be forced to restart by receipt
               of an RR message from the other end while in the ON
               state.

     INIT      Local state variables have been initialized but no RC
               messages have yet been sent or received.  If receipt of
               an RR initiated the restart, or if an RR has been
               received since this restart began, send an RC
               (optional, reduces startup time).  Otherwise, send an
               RR to alert the other end of the restart.
ToP   noToC   RFC1221 - Page 55
     RR-SNT    A request to reinitialize (RR) has been sent to the
               other end, but no RR or RC messages have been received.

     RC-SNT    An RC has been sent to the other end in response to an
               RR.  The interface is waiting to receive an RC.

     ON        RC messages have been both sent and received.  Local
               counters have been zeroed.  Data and control messages
               can now be exchanged between the WPS and host.

   All states have 10-second timeouts (not illustrated) which return the
   protocol to the OFF state.  The occurrence of any events other than
   those indicated in the diagram are ignored.
ToP   noToC   RFC1221 - Page 56
                              .-----.
         Any Timeout or ----->| OFF |<----------------------------+
         Device Down          `--+--'                             |
                                 |                                |
                                 | (When I/O Device Up)           |
                                 V                                |
                             .-------.                            |
                             | INIT  |                            |
                             `---+---'                            |
                                 |                                |
                   (Yes)         V            (No)                |
                  +---------RR Received?----------+               |
                  |                               |               |
                  |                            Send RR            |
                  |                               |               |
                  |                               V               |
                  |                           .--------.          |
               Send RC <-----+-------<--------+ RR-SNT |          |
                  |          |       (Rcv RR) `---+----'          |
                  |          |                    | (Rcv RC)      |
                  V          |                    |               |
             .--------.      |                    |               |
             | RC-SNT +--->--+                 Send RC            |
             `----+---'  (Rcv RR)                 |               |
         (Rcv RC) |                               |               |
                  |                               |               |
                  +------->------+-------<--------+               |
                                 |                                |
                      Initialize Status Counters                  |
                                 |                                |
                                 V                                |
                              .-----.   Rcv RR   or               |
              Rcv Any  +----->| ON  +---------------------->------+
              Other    |      `--+--'   Fail to Rcv Status message
                       +---------+      for 10 seconds

                      HAP LINK RESTART STATE DIAGRAM
                                 Figure 36


   The Restart Request control message (Figure 37) is sent by either a
   host or a WPS when it wishes to restart a link.  The Restart Request
   causes all the monitoring statistics reported in the Status Message
   to be reset to zero and stops all traffic on the link in both
   directions.  The Restart Complete message (Figure 38) is sent in
   response to a received Restart Request or Restart Complete to
   complete link initialization.  The Restart Complete carries a field
   used by the host to enable or disable the acceptance/refusal
ToP   noToC   RFC1221 - Page 57
   mechanism for the link being restarted (see Section 5).  After the
   Restart Complete is processed, traffic may flow on the link.

   The allocation and state of network resources (streams and groups)
   are separate from the state of the host's access link(s) to the WPS.
   The Information Request message (see Section 6.5) may be used by a
   host to determine what resources it has.  If the "SL" bit is set in
   the Restart Complete message from the WPS, and if the host believes
   it has resources allocated to it, the host is strongly encouraged to
   use an Information Request to verify that it still has its resources.


                 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     0         | 1|LB|    0   |VERSION |     0     |     3     |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     1         |                HEADER CHECKSUM                |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     2         |                 HOST ADDRESS                  |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     3         |                  LINK NUMBER                  |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


                              RESTART REQUEST
                                 Figure 37



     0[0]     Message Type = 1 (Control Message).

     0[1]     Loopback indicator.

     0[2-4]   Reserved.  Must be zero.

     0[5-7]   HAP version number.  Use 1.  Use of zero invokes
              backward compatibility code (see Appendix B).

     0[8-11]  Reserved.  Must be zero.

     0[12-15] Control Message Type = 3 (Restart Request).

     1[0-15]  Header Checksum.  The checksum is the 2's-complement of
              the 2's-complement sum of words 0-3 (excluding the
              checksum word itself).

     2[0-15]  Host Address.  The WPS inserts the primary network
              address of the host.  The host may insert any of its
ToP   noToC   RFC1221 - Page 58
              network addresses in this field (hosts may have more
              than one logical address per physical port).  The WPS
              will only bring up the HAP link if the host address is
              valid for the port being used.

     3[0-15]  Link Number.  This field contains the sender's
              identification of the physical link being used.  This
              information is used to identify the link when reporting
              errors to the Network Operations Center (NOC).


                 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     0         | 1|LB|   0    |VERSION |  0  |SL|AR|     4     |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     1         |                HEADER CHECKSUM                |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     2         |                 HOST ADDRESS                  |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     3         |                  LINK NUMBER                  |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


                             RESTART COMPLETE
                                 Figure 38



     0[0]     Message Type = 1 (Control Message).

     0[1]     Loopback indicator.

     0[2-4]   Reserved.  Must be zero.

     0[5-7]   HAP version number.  Use 1.  Use of zero invokes
              backward compatibility code (see Appendix B).

     0[8-9]   Reserved.  Must be zero.

     0[10]    Service loss alert (boolean) (WPS to host only; host
              must send zero).  If the WPS has any reason to believe
              that the resources allocated to the host may not match
              what the host believes is allocated, SL is set to one.
              If SL is one, a host that believes it owns any resources
              is strongly encouraged to use an Information Request to
              verify that the resources are still allocated.  SL will
              be one the first time a link is brought up after a WPS
              is restarted, and may be set in other cases.
ToP   noToC   RFC1221 - Page 59
     0[11]    Acceptance/Refusal Control.  This bit is used by the
              host to enable or disable the acceptance/refusal
              mechanism for all traffic on the link.

                   0 = Disable acceptance/refusal
                   1 = Enable acceptance/refusal

     0[12-15] Control Message Type = 4 (Restart Complete).

     1[0-15]  Header Checksum.  Covers words 0-3.

     2[0-15]  Host Address.

     3[0-15]  Link Number.

9. Loopback Control

   The Host Access Protocol provides a Loopback Request control message
   which can be used by a WPS or a host to request the remote loopback
   of its HAP messages.  Such requests are usually the result of
   operator intervention for purposes of system fault diagnosis.  For
   clarity in the following discussion, the unit (WPS or host)
   requesting the remote loopback is referred to as the "transmitter"
   and the unit implementing (or rejecting) the loopback is referred to
   as the "receiver".

   When the host access link is remotely looped, all HAP messages will
   be returned, unmodified, over the access link by the receiver.
   (Messages that are too long to be valid HAP messages may be discarded
   instead of being returned.)  The receiver will not send any of its
   own messages to the transmitter while it is implementing the loop.
   WPS-generated messages are distinguished from host-generated messages
   by means of the Loopback indicator that is in every HAP message
   header.

   Two types of remote loopback may be requested: loopback at the
   receiver's interface hardware and loopback at the receiver's I/O
   driver software.  HAP does not specify the manner in which the
   receiver should implement these loops; additionally, some receivers
   may use interface hardware which is incapable of looping the
   transmitter's messages, only allowing the receiver to provide
   software loops.  A receiver may not be able to interpret the
   transmitter's messages as it is looping them back.  If such
   interpretation is possible, however, the receiver will not act on any
   of the transmitter's messages other than requests to reinitialize the
   WPS-host link (Restart Request (RR) control messages; see Section 8.)

   When a receiver initiates a loopback condition in response to a
ToP   noToC   RFC1221 - Page 60
   loopback request, it makes an implicit promise to maintain the
   condition for the duration specified in the Loopback Request message.
   However, if an unanticipated condition such as a system restart
   occurs in either the transmitter or the receiver, the affected unit
   will try to reinitialize the WPS-host link by sending an RR message
   to the other unit.  If the RR message is recognized by the other
   unit, a link initialization sequence can be completed.  This will
   restore the link to an unlooped condition even if the specified loop
   duration has not yet expired.  If a receiver cannot interpret a
   transmitter's RR messages, and in the absence of operator
   intervention at the receiver, the loop will remain in place for its
   duration.

   HAP does not specify the characteristics of any loopback conditions
   that may be locally implemented by a given unit.  An example of such
   a condition is that obtained when a WPS commands its host interface
   to loop back its own messages.  If such local loop conditions also
   cause the reflection of messages received from the remote unit, the
   remote unit will detect the condition via the HAP header Loopback
   indicator.

   A specific sequence must be followed for setting up a remote
   loopback.  It begins after the HAP link has been initialized and a
   decision is made to request a remote loop.  The transmitter then
   sends a Loopback Request message (Figure 39) to the receiver and
   waits for either (1) a 10-second timer to expire, (2) a "Can't
   implement loop" Unnumbered Response message from the receiver, or (3)
   one of its own reflected messages.  If event (1) or (2) occurs the
   request has failed and the transmitter may, at its option, try again
   with a new Loopback Request message.  If event (3) occurs, the remote
   loopback condition has been established.  While waiting for one of
   these events, messages from the receiver are processed normally.
   Note that RR messages arriving from the receiver during this time
   will terminate the loopback request.

   When a receiver gets a Loopback Request message, it either implements
   the requested loop for the specified duration, or returns a "Can't
   implement loop" response without changing the state of the link.  The
   latter response would be returned, for example, if a receiver is
   incapable of implementing a requested hardware loop.  A receiver
   should initiate reinitialization of the link with an RR message(s)
   whenever a loopback condition times out.

   There is one asymmetry that is required in the above sequence to
   resolve the (unlikely) case where both WPS and host request a remote
   loopback at the same time. If a WPS receives a Loopback Request
   message from a host while it is itself waiting for an event of type
   (1)-(3), it will return a "Can't implement loop" response to the host
ToP   noToC   RFC1221 - Page 61
   and will continue to wait.  A host in the converse situation,
   however, will abort its loopback request and will instead act on the
   WPS's loopback request.


                 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     0         | 1|LB|GOPRI|     0     | LOOP TYPE |     8     |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     1         |                HEADER CHECKSUM                |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     2         |                 LOOP DURATION                 |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


                             LOOPBACK REQUEST
                                 Figure 39



     0[0]      Message Type = 1 (Control Message).

     0[1]      Loopback indicator.

     0[2-3]    Go-Priority.

     0[4-7]    Reserved.  Must be zero.

     0[8-11]   Loop Type.  This field indicates the type of loop that
               is being requested as follows:

                    0 = Undefined
                    1 = Loop at interface (hardware loop)
                    2 = Loop at driver (software loop)
                    3-15 = Undefined

     0[12-15]  Control Message Type = 8 (Loopback Request).

     1[0-15]   Header Checksum.  The checksum is the 2's-complement of
               the 2's-complement sum of words 0-2 (excluding the
               checksum word itself).

     2[0-15]   Loop Duration.  The transmitter of a Loopback Request
               message uses this field to specify the number of
               seconds that the loop is to be maintained by the
               receiver.
ToP   noToC   RFC1221 - Page 62
10. Other Control Messages

   Before a WPS or a host voluntarily disables a WPS-host link, it
   should send at least one Link Going Down control message (Figure 40)
   over that link.  HAP does not define the action(s) that should be
   taken by a WPS or a host when such a message is received; informing
   the Network Operations Center (NOC) and/or the network users of the
   impending event is a typical course of action.  Note that each Link
   Going Down message only pertains to the WPS-host link that it is sent
   over; if a host and a WPS are connected by multiple links, these
   links may be selectively disabled.

   A No Operation (NOP) control message (Figure 41) may be sent at any
   time by a WPS or a host.  A NOP message contains up to 32 words of
   arbitrary data which are undefined by HAP.  NOP messages may be
   required in some cases to clear the state of the WPS-host link
   hardware.


                 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     0         | 1|LB|GOPRI|     0     |  REASON   |     7     |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     1         |                HEADER CHECKSUM                |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     2         |               TIME UNTIL DOWN                 |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     3         |                DOWN DURATION                  |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


                              LINK GOING DOWN
                                 Figure 40



     0[0]      Message Type = 1 (Control Message).

     0[1]      Loopback indicator.

     0[2-3]    Go-Priority.

     0[4-7]    Reserved.  Must be zero.

     0[8-11]   Reason.  This field is used by the WPS or the host to
               indicate the reason for disabling this WPS-host link as
               follows:
ToP   noToC   RFC1221 - Page 63
                    0 = Cancel previous notice, not going down
                    1 = Unspecified reason
                    2 = Scheduled PM
                    3 = Scheduled hardware work
                    4 = Scheduled software work
                    5 = Emergency restart
                    6 = Power outage
                    7 = Software breakpoint
                    8 = Hardware failure
                    9 = Not scheduled up
                   10 = Last warning:  The WPS or host will disable
                        the link in 10 seconds
                   11-15 = Undefined

     0[12-15]  Control Message Type = 7 (Link Going Down).

     1[0-15]   Header Checksum.  The checksum is the 2's-complement of
               the 2's-complement sum of words 0-3 (excluding the
               checksum word itself).

     2[0-15]   Time Until Down.  This field specifies the amount of
               time remaining until the WPS or host disables the link
               (in minutes).  An entry of zero indicates that there is
               less than a minute remaining.

     3[0-15]   Down Duration.  This field specifies the amount of time
               that the WPS-host link will be down (in minutes).  An
               entry of zero indicates that the down duration will be
               less than a minute.  An entry of -1 (all bits set)
               indicates an indefinite down duration.


                 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     0         | 1|LB|       0      |    LENGTH    |     6     |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
     1         |                HEADER CHECKSUM                |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
               |                                               |
     2-N       :                ARBITRARY DATA                 :
               |                                               |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


                            NO OPERATION (NOP)
                                 Figure 41
ToP   noToC   RFC1221 - Page 64
     0[0]      Message Type = 1 (Control Message).

     0[1]      Loopback indicator.

     0[2-6]    Reserved.  Must be zero.

     0[7-11]   Length.  The number of words of arbitrary data.

     0[12-15]  Control Message Type = 6 (NOP).

     1[0-15]   Header Checksum.  The checksum is the 2's-complement of
               the 2's-complement sum of words 0-N (excluding the
               checksum word itself).

     2-N       Arbitrary Data.  Up to 32 words of data may be sent.
               The data are undefined by HAP.

11. Appendix A -- Future Extensions

   The extensions to HAP described below are included to provide
   additional context for the understanding of HAP's current
   capabilities, as well as suggest how HAP may be enhanced in the
   future to provide better support for multi-site conferencing.  These
   capabilities are not supported by TWBNET.

   One change under consideration is the addition of a "conference"
   resource, which would own some number of streams and groups and
   improve the network's ability to meet the needs of video conference
   users.  A single request to modify the "conference", such as to add a
   new member, would result in modifying all the streams in the
   conference to include the new member, modifying the conference's
   primary group address to add the new member, etc., in a single
   network operation.  Such a capability would not only simplify
   conference resource management for hosts, but also reduce the number
   of network setup operations, permit more nearly "atomic" decisions of
   whether a particular conference modification is possible, and reduce
   the problem of recovery if modification is not possible.

   Another change under consideration is the addition of "shared
   streams."  This capability would allow hosts to share a single
   allocation of network bandwidth (and other resources) wherever the
   streams shared a common communication path.  Hosts using a shared
   stream must be willing to restrict their total transmission rate to
   the rate of the shared bandwidth.  Multi-site conferences could use
   such a capability to avoid allocating full bandwidth for voice data
   for all conference members.  Instead, bandwidth for, say, four active
   voices at once could be allocated and shared, and voice messages
   would only be lost when more than four people tried to talk at once.
ToP   noToC   RFC1221 - Page 65
   The Create Shared Stream Request would use a different request code
   than Create Stream Request, and the setup message would likely
   contain at least one additional field to identify the set of shared
   streams.  Change and Delete Stream requests could be used for both
   shared and non-shared streams.

12. Appendix B -- Backward compatibility

   The WPS will support the use of HAP version 0 by hosts until all
   hosts have upgraded to version 1.  The WPS determines which HAP
   version the host is using by examining the Restart Request and/or
   Restart Complete control messages sent by the host to the WPS.  If
   the host initiates a restart and thus sends both a Restart Request
   and a Restart Complete, and if the HAP version numbers in the two
   messages differ, the version number in the Restart Complete will
   prevail.  The WPS will always set the version number to 1.  If the
   host sends 0 in the version number field, version 0 compatiblity mode
   will be invoked.

   Version 0 of HAP did not contain the PROTOCOL ID field in the
   datagram and stream message headers.  Instead, the IL bit in the Type
   of Service word was used to indicate the presence or absence of an
   Internet Protocol (IP) header (any version number) following the HAP
   header.  This is the original description of that bit:

     3[1]   Internet/Local Flag.  This flag is set by a source host to
            specify to a destination host whether the data portion of
            the message contains an Internet Protocol (IP) header [3].
            This field is passed transparently by the source and
            destination WPSen for traffic between network hosts.  This
            field is examined by WPS Agents in order to support
            Internet operation.

                 0 = Internet
                 1 = Local

   Conversion Algorithms

   Link control messages (e.g., Restart Request) do not require
   conversion.  Datagram and stream messages sent by or to a host
   running HAP version 0 will be converted by the WPS.  Message
   conversion will probably cause the maximum throughput of hosts using
   HAP version 0 to be somewhat lower than that of hosts using HAP
   version 1.

   HAP version 0 used the IL bit in the HAP Type of Service word to
   indicate the presence or absence of an IP header.  Version 1 uses the
   Protocol ID field.  To convert host-to-WPS messages, the IL bit will
ToP   noToC   RFC1221 - Page 66
   be cleared, and the protocol ID field will be inserted, with the
   value indicated:

        IL was   Destination   Protocol ID set to:
        ------  -------------  ---------------------
          0          any       HAP_PROTO_IP  (0x800)
          1     Service Agent  HAP_PROTO_SETUP (1)
          1         other      HAP_PROTO_NONE  (0)

     To convert WPS-to-host messages, the protocol ID field will be
     deleted, and the IL bit will be set by:
               IL = (protocol_id was HAP_PROTO_IP) ? 0 : 1;

     HAP_PROTO_IP (see Appendix C) will be used for IP "versions" 3
     (GG protocol), 4 (IP), and 5 (ST).

   The datagram message header fields TTL and PRI have been swapped in
   HAP version 0 compared to version 1.  The conversion code swaps the
   contents of these two fields for hosts running version 0.

   The stream message header field TTL in HAP version 0 was replaced by
   the PRE field in version 1.  Since the only permitted value of TTL
   was 1, and it is a valid PRE value, no conversion is necessary.

   In HAP version 0, messages between a host and the Service Agent were
   allowed to contain Internet Protocol headers.  No hosts use that
   capability, so no provision will be made to accommodate IP headers in
   Setups between hosts and the Service Agent.

   In version 0, the Restart Request control message contained a "reason
   for restart" field.  That field was ignored in all current
   implementations and has been eliminated in version 1.

   Current implementations expect the WPS to insert an "incarnation
   count" in bits 5-10 of the first word of both Restart Request and
   Restart Complete messages.  This functionality has been replaced by
   the "SL" bit in the Restart Complete message in version 1.
   Compatibility code will be added if needed, but it is expected that
   none will be needed.

13. Appendix C -- HAP Protocol ID Assigned Numbers

   This section lists the values of the PROTOCOL ID field.  This part of
   the specification will be obsolete when a version of the Assigned
   Numbers RFC containing HAP protocol ID numbers is issued.

   HAP adopts the Ether-type numbers in the 1500-65535 range.  Protocol
   IDs 256-511 identify ISO protocols.  Zero indicates the absence of a
ToP   noToC   RFC1221 - Page 67
   higher level protocol header.  Other protocol IDs are reserved for
   future assignment.


             Protocol ID     Indicates
             -----------     ---------
                  0          No higher level protocol
                  1          For Network Service Agent messages
                2-255        Reserved
               256-511       ISO protocol identifier + 256
               512-1499      Reserved
              1500-65535     Identical to Ether-type [10].

                          HAP PROTOCOL ID NUMBERS
                                 Figure 42

REFERENCES

    1. Falk, G., Groff, S., Koolish, R., and W. Milliken, "PSAT
       Technical Report", BBN Technical Report No. 4469, Chapter 4, May
       1981.

    2. Rees, T., Editor, "A Host Access Protocol Specification", BBN
       Laboratories, Inc., May 1987.  (A revision of RFC 907 that was
       distributed to DARPA and the WBNET user community but not
       resubmitted as an RFC.)

    3. Postel, J., Editor, "Internet Protocol - DARPA Internet Program
       Protocol Specification", RFC 791, USC/Information Sciences
       Institute, September 1981.

    4. Topolcic, C., Editor, "Experimental Internet Stream Protocol,
       Version 2 (ST-II)", RFC 1190, Bolt Beranek and Newman, Inc.,
       October 1990.

    5. Edmond, W., Seo, K., Leib, M., and C. Topolcic, "The DARPA
       Wideband Network Dual Bus Protocol", Proceedings of ACM SIGCOMM
       '90, pages 79-89, September 24-27, 1990.

    6. "Host/SATNET Protocol", Internet Engineering Note (IEN) 192, July
       1981.

    7. Evenchik, L., McNeill, D., Bressler, R., Owen, A., Rice, Jr., R.,
       Trout, G., Pavey, C., Damer, R., Deckelman, F., and T. Hughes,
       "MATNET, An Experimental Navy Shipboard Satellite Communications
       Network", Proceedings of INFOCOM '82, pages 3-11, March 30 -
       April 1, 1982.
ToP   noToC   RFC1221 - Page 68
    8. Falk, G., Groff, J., Milliken, W., Nodine, M., Blumenthal, S.,
       and W. Edmond, "Integration of Voice and Data in the Wideband
       Packet Satellite Network", IEEE Journal on Selected Areas in
       Communications, Vol. SAC-1, No. 6, December 1983.

    9. "Interface Message Processor: Specifications for the
       Interconnection of a Host and an IMP", BBN Technical Report No.
       1822, October 1980.

   10. Reynolds, J., and J. Postel, "Assigned Numbers", RFC 1060,
       USC/Information Sciences Institute, March 1990.

Security Considerations

   Security issues are not discussed in this memo.

Author's Address

   Winston Edmond
   Bolt Beranek and Newman, Inc.
   Network Technologies Department
   10 Moulton Street
   Cambridge, Massachusetts 02138

   Phone: (617) 873-3000

   EMail: wbe@bbn.com