
From:	EAGLE1::CPARCH "CI PORT ARCHITECTURE  09-Nov-1987 1253"  9-NOV-1987 12:59
To:	CLOUD::SHIRRON,CPARCH      
CC:	
Subj:	CI Port Architecture, rev. 5.0, pls do not forward or copy

   VAX CI Port Architecture Rev. 5.0--DEC COMPANY CONFIDENTIAL     Page 1


   Date:  August 17 1987

   File:  CIPORT_CMS.MEM

   Author:  W. Strecker

   Abstract:

        This  document  describes  the  VAX  software  interface  to  the
   Computer Interconnect (CI).

   Revision History:

   Rev #   Description             Authors            Date

    1      Draft                   Strecker, Thompson 3-Aug-79

    2      Explicit port-to-port   Strecker, Thompson 30-Jan-80
           virtual circuits.

    3      Two free queues,        Strecker, Thompson 10-Jul-81    
           unsequenced messages 
           treated as datagrams.

    4      Minor corrections,      Strecker           28-Dec-81
           appendix on packet
           processing.

    4.1    Spelling and other      Dagg, Kong         27-Nov-86
           minor errors.    

    5.0    ECOs from CI notes      Dagg               17-Aug-87
           file included.
           See appendix on Change 
           History.




   COPY NUMBER _________



   For additional copies of this specification contact:

   David Dagg, Systems Architecture Group,  LTN2-2/H07,  Engineering  Net
   Node:  EAGLE1::DAGG.

   VAX CI Port Architecture Rev. 5.0--DEC COMPANY CONFIDENTIAL     Page 2


                                      CONTENTS



   CHAPTER 1       INTRODUCTION

           1.1     SCOPE  . . . . . . . . . . . . . . . . . . . . . . 1-1
           1.2     NOTATIONAL CONVENTIONS . . . . . . . . . . . . . . 1-1
           1.3     COMPUTER INTERCONNECT  . . . . . . . . . . . . . . 1-1
           1.4     PORT ARCHITECTURE COMPONENTS . . . . . . . . . . . 1-3


   CHAPTER 2       PORT COMMUNICATION

           2.1     PORT COMMUNICATION MODES . . . . . . . . . . . . . 2-1
           2.2     CI ACKNOWLEDGEMENT . . . . . . . . . . . . . . . . 2-2
           2.3     VIRTUAL CIRCUITS . . . . . . . . . . . . . . . . . 2-3
           2.4     CI PATH SELECTION  . . . . . . . . . . . . . . . . 2-5
           2.5     CI PERFORMANCE MONITORING  . . . . . . . . . . . . 2-6


   CHAPTER 3       DATAGRAM, MESSAGE, AND DATA OPERATION

           3.1     DATAGRAM OPERATION . . . . . . . . . . . . . . . . 3-1
           3.2     MESSAGE OPERATION  . . . . . . . . . . . . . . . . 3-2
           3.3     DATA OPERATION . . . . . . . . . . . . . . . . . . 3-3
           3.3.1     Buffer Descriptor Table  . . . . . . . . . . . . 3-3
           3.3.2     Data Transfers . . . . . . . . . . . . . . . . . 3-5
           3.3.2.1   Sending Data . . . . . . . . . . . . . . . . . . 3-6
           3.3.2.2   Requesting Data  . . . . . . . . . . . . . . . . 3-7


   CHAPTER 4       PORT STATE

           4.1     UNINITIALIZED  . . . . . . . . . . . . . . . . . . 4-1
           4.2     UNINITIALIZED/MAINTENANCE  . . . . . . . . . . . . 4-2
           4.3     DISABLED . . . . . . . . . . . . . . . . . . . . . 4-3
           4.4     DISABLED/MAINTENANCE . . . . . . . . . . . . . . . 4-4
           4.5     ENABLED  . . . . . . . . . . . . . . . . . . . . . 4-5
           4.6     ENABLED/MAINTENANCE  . . . . . . . . . . . . . . . 4-7


   CHAPTER 5       LOOPBACK, CONFIGURATION, AND MAINTENANCE OPERATION

           5.1     CI LOOPBACK TESTING  . . . . . . . . . . . . . . . 5-1
           5.2     CONFIGURATION/MAINTENANCE INTERNAL COMMAND QUEUE . 5-2
           5.3     CI CLUSTER CONFIGURATION . . . . . . . . . . . . . 5-2
           5.4     MAINTENANCE OPERATION  . . . . . . . . . . . . . . 5-3
           5.4.1     Resetting  . . . . . . . . . . . . . . . . . . . 5-4
           5.4.2     Downline Loading . . . . . . . . . . . . . . . . 5-5
           5.4.3     Upline Dumping . . . . . . . . . . . . . . . . . 5-6
           5.4.4     Starting . . . . . . . . . . . . . . . . . . . . 5-7

   VAX CI Port Architecture Rev. 5.0--DEC COMPANY CONFIDENTIAL     Page 3


   CHAPTER 6       PORT COMMAND/RESPONSE FORMATS

           6.1     COMMANDS . . . . . . . . . . . . . . . . . . . . . 6-1
           6.1.1     Reserved For Software Fields . . . . . . . . . . 6-3
           6.1.2     Self-Directed Commands . . . . . . . . . . . . . 6-3
           6.2     RESPONSES  . . . . . . . . . . . . . . . . . . . . 6-4
           6.3     RESPONSE STATUS FIELD FORMAT . . . . . . . . . . . 6-5


   CHAPTER 7       PORT COMMANDS AND RESPONSES

           7.1     DATAGRAM SENDING . . . . . . . . . . . . . . . . . 7-1
           7.1.1     Send Datagram  . . . . . . . . . . . . . . . . . 7-1
           7.1.2     Datagram Sent  . . . . . . . . . . . . . . . . . 7-3
           7.1.3     Datagram Received  . . . . . . . . . . . . . . . 7-5
           7.2     MESSAGE SENDING  . . . . . . . . . . . . . . . . . 7-7
           7.2.1     Send Message . . . . . . . . . . . . . . . . . . 7-7
           7.2.2     Message Sent . . . . . . . . . . . . . . . . . . 7-9
           7.2.3     Message Received . . . . . . . . . . . . . . .  7-11
           7.3     SENDING DATA . . . . . . . . . . . . . . . . . .  7-13
           7.3.1     Send Data  . . . . . . . . . . . . . . . . . .  7-13
           7.3.2     Data Sent  . . . . . . . . . . . . . . . . . .  7-15
           7.3.3     Return Confirm . . . . . . . . . . . . . . . .  7-17
           7.3.4     Confirm Returned . . . . . . . . . . . . . . .  7-19
           7.3.5     Confirm Received . . . . . . . . . . . . . . .  7-21
           7.4     REQUESTING DATA  . . . . . . . . . . . . . . . .  7-22
           7.4.1     Request Data . . . . . . . . . . . . . . . . .  7-22
           7.4.2     Data Requested   . . . . . . . . . . . . . . .  7-25
           7.4.3     Return Data  . . . . . . . . . . . . . . . . .  7-27
           7.4.4     Data Returned  . . . . . . . . . . . . . . . .  7-30
           7.4.5     Data Received  . . . . . . . . . . . . . . . .  7-32
           7.5     TRANSLATION CACHE INVALIDATION . . . . . . . . .  7-34
           7.5.1     Invalidate Translation Cache . . . . . . . . .  7-34
           7.5.2     Translation Cache Invalidated  . . . . . . . .  7-35
           7.6     VIRTUAL CIRCUIT CONTROL  . . . . . . . . . . . .  7-36
           7.6.1     Set Circuit  . . . . . . . . . . . . . . . . .  7-36
           7.6.2     Circuit Set  . . . . . . . . . . . . . . . . .  7-38
           7.7     CI EVENT COUNTING  . . . . . . . . . . . . . . .  7-40
           7.7.1     Read Count . . . . . . . . . . . . . . . . . .  7-41
           7.7.2     Count Read . . . . . . . . . . . . . . . . . .  7-43
           7.8     LOOPBACK TESTING . . . . . . . . . . . . . . . .  7-45
           7.8.1     Send Loopback  . . . . . . . . . . . . . . . .  7-45
           7.8.2     Loopback Sent  . . . . . . . . . . . . . . . .  7-49
           7.8.3     Loopback Received  . . . . . . . . . . . . . .  7-51
           7.9     CI CLUSTER CONFIGURATION . . . . . . . . . . . .  7-53
           7.9.1     Request ID . . . . . . . . . . . . . . . . . .  7-53
           7.9.2     ID Requested . . . . . . . . . . . . . . . . .  7-55
           7.9.3     ID Received  . . . . . . . . . . . . . . . . .  7-57
           7.10    RESETTING SYSTEMS  . . . . . . . . . . . . . . .  7-60
           7.10.1    Send Reset . . . . . . . . . . . . . . . . . .  7-61
           7.10.2    Reset Sent . . . . . . . . . . . . . . . . . .  7-63
           7.11    SENDING MAINTENANCE DATA . . . . . . . . . . . .  7-65
           7.11.1    Send Maintenance Data  . . . . . . . . . . . .  7-65
           7.11.2    Maintenance Data Sent  . . . . . . . . . . . .  7-68
           7.11.3    Maintenance Confirm Received . . . . . . . . .  7-70

   VAX CI Port Architecture Rev. 5.0--DEC COMPANY CONFIDENTIAL     Page 4


           7.12    REQUESTING MAINTENANCE DATA  . . . . . . . . . .  7-72
           7.12.1    Request Maintenance Data . . . . . . . . . . .  7-72
           7.12.2    Maintenance Data Requested . . . . . . . . . .  7-75
           7.12.3    Maintenance Data Received  . . . . . . . . . .  7-77
           7.13    STARTING SYSTEMS . . . . . . . . . . . . . . . .  7-79
           7.13.1    Send Start . . . . . . . . . . . . . . . . . .  7-79
           7.13.2    Start Sent . . . . . . . . . . . . . . . . . .  7-81
           7.14    UNRECOGNIZED COMMAND . . . . . . . . . . . . . .  7-83
           7.15    UNRECOGNIZED PACKET  . . . . . . . . . . . . . .  7-84


   CHAPTER 8       PORT REGISTERS AND THE PORT QUEUE BLOCK

           8.1     PORT QUEUE BLOCK . . . . . . . . . . . . . . . . . 8-1
           8.1.1     Port Maintenance And Sanity Timer  . . . . . . . 8-5
           8.2     PORT REGISTERS . . . . . . . . . . . . . . . . . . 8-7
           8.2.1     Port Queue Block Base Register (PQBBR) . . . . . 8-7
           8.2.2     Port Status Register (PSR) . . . . . . . . . . . 8-7
           8.2.3     Port Error Status Register(PESR) . . . . . . . . 8-9
           8.2.4     Port Failing Address Register (PFAR) . . . . .  8-10
           8.2.5     Port Parameter Register (PPR)  . . . . . . . .  8-11
           8.2.6     Port Control Registers . . . . . . . . . . . .  8-12
           8.2.6.1   Port Command Queue 0 Control Register (PCQ0CR)  8-12
           8.2.6.2   Port Command Queue 1 Control Register (PCQ1CR)  8-12
           8.2.6.3   Port Command Queue 2 Control Register (PCQ2CR)  8-12
           8.2.6.4   Port Command Queue 3 Control Register (PCQ3CR)  8-12
           8.2.6.5   Port Datagram Free Queue Control Register 
                     (PDFQCR) . . . . . . . . . . . . . . . . . . .  8-13
           8.2.6.6   Port Message Free Queue Control Register 
                     (PMFQCR) . . . . . . . . . . . . . . . . . . .  8-13
           8.2.6.7   Port Status Release Control Register (PSRCR) .  8-13
           8.2.6.8   Port Enable Control Register (PECR)  . . . . .  8-13
           8.2.6.9   Port Disable Control Register (PDCR) . . . . .  8-13
           8.2.6.10  Port Initialize Control Register (PICR)  . . .  8-13
           8.2.6.11  Port   . . . . . . . . . . . . . . . . . . . .  8-13
           8.2.6.12  Port   . . . . . . . . . . . . . . . . . . . .  8-14
           8.2.7     Control And Status Register (PMCSR)  . . . . .  8-14


   APPENDIX A      QUEUE PROTOCOL


   APPENDIX B      MULTIPLE PORTS ON A SINGLE SYSTEM


   APPENDIX C      SUMMARY OF PORT COMMANDS AND RESPONSES


   APPENDIX D      PORT ERROR STATUS REGISTER CODES


   APPENDIX E      SUMMARY OF COMMAND/RESPONSE AND CI PACKET OPCODES

           E.1     OPCODE FORMAT  . . . . . . . . . . . . . . . . . . E-1
           E.2     OPCODE SUMMARY . . . . . . . . . . . . . . . . . . E-3

   VAX CI Port Architecture Rev. 5.0--DEC COMPANY CONFIDENTIAL     Page 5


   APPENDIX F      REGISTER ADDRESSES


   APPENDIX G      IMPLEMENTATION FUNCTIONALITY

           G.1     IMPLEMENTATION FUNCTIONALITY FIELD . . . . . . . . G-1
           G.2     IMPLEMENTATION FUNCTIONALITY SUMMARY . . . . . . . G-2
           G.2.1     IMPLEMENTATION FUNCTIONALITY FIELD EXTENSION.  . G-4


   APPENDIX H      PACKET PROCESSING


   APPENDIX I      EXCEPTIONS.


   APPENDIX J      IMPLEMENTATION SPECIFIC DIAGNOSTIC INFORMATION FIELD

           J.0.1     For The CIBCA-AA:  . . . . . . . . . . . . . . . J-1
           J.0.2     For The CI750, CI780, And CIBCI: . . . . . . . . J-3


   APPENDIX K      CHANGE HISTORY














                                 CHAPTER 1

                                INTRODUCTION



   1.1  SCOPE

        This document is an implementation independent  specification  of
   the  architecture  of  a VAX CI Port.  Implementation specific details
   appear in the individual port  (e.g.   CI780,  CI750)  specifications.
   The  CI  is  described  in  the  Computer  Interconnect  Specification
   (Thompson, et al, 1-May-81).  The  CI  Port  is  a  component  of  the
   implementation of a communications architecture.  A primary use of the
   CI Port is in implementing  the  Systems  Communications  Architecture
   (Strecker, 9-Feb-81).



   1.2  NOTATIONAL CONVENTIONS

        The terminology and conventions  follow  Chapter  1  of  the  VAX
   System  Reference  Manual.   In  particular,  all  numbers are decimal
   unless otherwise specified.



   1.3  COMPUTER INTERCONNECT

        The VAX CI port architecture is the  software  interface  to  the
   Computer  Interconnect  (CI).   The  CI  is a multiaccess interconnect
   typically used to build  computer  clusters  consisting  of  CPUs  and
   intelligent mass storage, communication, and data acquisition systems.
   The closely coupled CI clusters are contrasted  with  tightly  coupled
   (i.e.   shared  memory) systems built using a Memory Interconnect (MI)
   or Backplane Interconnect (BI) and loosely coupled networks  typically
   built using the Network Interconnect (NI).

        A detailed understanding of the CI is not  needed  to  understand
   the   VAX   CI  Port  architecture.   However,  knowledge  of  certain
   characteristics is helpful:

        1.  70 megabit/sec path bandwidth.

   INTRODUCTION                                                  Page 1-2


        2.  Packet oriented transmission.

        3.  Low error rates.

        4.  Immediate acknowledgement of  the  successful  receipt  of  a
            packet.

        5.  Dual signal paths capable of concurrent operation.

        6.  Addressing for 224 ports (although the current CI  electrical
            environment is limited to 16 ports).

        7.  Contention  arbitration  at  light  loading  and  round-robin
            arbitration at heavy loading.


        The goal of the VAX CI Port architecture is to  permit  effective
   use  of  the  high  performance  of the CI.  This is accomplished by a
   design which:

        1.  Minimizes the amount of software processing and the number of
            interrupts  required  to  complete typical high level cluster
            operations.

        2.  Minimizes the amount  of  intrasystem  movement  of  data  by
            allowing  separation  of  control/status information and data
            and by allowing data to move directly to and from Per-process
            virtual address space buffers.


        Figure 1.1 shows a CI based cluster.  A single CI has two  paths.
   However,  ports  may be either single or dual path.  Port 3 and Port 4
   are single path ports:  single path ports must always be connected  to
   path  0  of  the  CI.   Ports  1  and 2 are dual path Ports:  they are
   connected to both paths of the CI.  Dual path ports are typically used
   in  high availability clusters so that the failure of a single CI path
   does not isolate a system.  The  VAX  CI  Port  architecture  provides
   support for dual path ports including a mode where both paths are used
   automatically.

   INTRODUCTION                                                  Page 1-3




                                                CI PATH 1
   <----+----------+---------------------------------------------->
        |          |                            CI PATH 0
   <----------+---------+--------+------------------------+------->
        |     |    |    |        |                        |        
        |     |    |    |        |                        | 
     +---------+  +--------+  +--------+            +---------+
     | Port 1  |  | Port 2 |  | Port 3 |            | Port 4  |
     |---------|  |--------|  |--------|            |---------|
     |  Host   |  |  Host  |  |  Host  |            |   Host  |
     | System  |  | System |  | System |            |  System |
     +---------+  +--------+  +--------+            +---------+


                    Fig. 1.1 Single and Dual Path Ports



   1.4  PORT ARCHITECTURE COMPONENTS

        Figure 1.2 shows the structure of the port  architecture.   There
   are ten major components:

        1.  Port - the hardware controller of the CI.

        2.  Port Driver - the software driver which controls the port.

        3.  Command Queues 0,1,2, and 3 (CMDQ0, CMDQ1, CMDQ2, and  CMDQ3)
            -  queues  used  by  the  port driver to give commands to the
            port.  When a command reaches the head of the  queue,  it  is
            removed  from  the  CMDQ  and  executed  by the port.  Higher
            numbered CMDQs have priority over lower numbered CMDQs.   The
            priority has the following properties:

            1.  No command on a lower priority CMDQ will begin  execution
                while a higher priority CMDQ is non-empty.

            2.  If a command is inserted on a higher priority CMDQ  while
                there  is a command in execution on a lower priority CMDQ
                the latter command will:

                1.  Complete the transmission  of  the  current  and  any
                    other  internally  buffered  packets  (including  all
                    retries).

                2.  Suspend  if  additional  packets  need  to  be  sent.
                    Command  execution  will resume after commands on all
                    higher priority command queues are executed.



   INTRODUCTION                                                  Page 1-4


        4.  Response Queue (RSPQ) - a queue used  by  the  port  to  give
            responses  to  the port driver.  A response is either (1) the
            queue entry of an executed  command  or  (2)  a  queue  entry
            resulting  from receipt of a packet on the CI.  When the port
            inserts an entry on an empty RSPQ, it requests an interrupt.

        5.  Datagram Free Queue (DFREEQ) - a queue used by  the  port  as
            sink for command queue entries (not inserted on the RSPQ) and
            as a source of queue entries  for  responses  resulting  from
            received  CI  packets.  If the port finds the DFREEQ empty it
            discards the packet.  The queue entries are  for  unsequenced
            or datagram type commands and responses.

        6.  Message Free Queue (MFREEQ) - same as the DFREEQ except  that
            (1)  the  queue  entries  are  for  sequenced or message type
            commands and responses and (2) the port requests an interrupt
            if  it  finds  the MFREEQ empty while attempting to remove an
            entry.

        7.  Buffer Descriptor Table (BDT)  -  a  table  of  named  buffer
            descriptors  which are used by the port to directly move data
            to and from CI packets and Per-Process virtual address  space
            buffers.

        8.  Port Queue Block (PQB) - a data structure used  by  the  port
            and port driver which contains the CMDQ and RSPQ headers; the
            address of the DFREEQ and MFREEQ headers; the  sizes  of  the
            DFREEQ  and  MFREEQ entries; and the addresses and lengths of
            virtual memory mapping data structures.

        9.  Reset Port Register (RST_PORT) - a  register  containing  the
            number  of  the port which last reset this port.  RST_PORT is
            used to control maintenance operations done by other ports on
            this port.

       10.  Control/Status Registers - registers used by the port  driver
            to  give  initialization  and control information to the port
            and used by the port to give interrupt and  error  status  to
            the port driver.


        CMDQ0, CMDQ1, CMDQ2, CMDQ3, RSPQ, DFREEQ, MFREEQ, and the BDT are
   memory  resident  structures  addressed  in the System virtual address
   space.  The PQB is a memory resident structure  addressed  physically.
   The  Control/Status  registers  are  in  the  I/O  address space.  The
   RST_PORT register is internal to the port.

   INTRODUCTION                                                  Page 1-5


   ---------+                                       +-----------
            |                                       |
            |         ------------------------------|
            |        |        CMDQ0                 |
            |        V     ----------+              |
            |---------------> | | |  |------------->|
            |              ----------+              |
            |                 . . .                 |
            |         ------------------------------|
   P        |        |        CMDQ3                 |
            |        V     ----------+              |
   O        |--------------> |  | |  |------------->|
            |              ----------+              |
   R        |                                       |
            |                 RSPQ                  |
   T        |              +---------               |
            |<-------------| | | |  <---------------|
            |              +---------               |
            |                                       |
   D        |         ----------------------------->|      P
            |        |       DFREEQ                 |
   R        |        |     +---------               |      O
            |<-------------| | | | <----------------|
   I        |              +---------       ^       |      R
            |                               |       |
   V        |--------------------------------       |      T
            |                                       |
   E        |         ----------------------------->|
            |        |       MFREEQ                 |
   R        |        |     +---------               |
            |<-------------| | | | <----------------|
            |              +---------       ^       |
            |                               |       |
            |--------------------------------       |
            |                                       |
            |                                       |
            |      +--------------------------+     |
            |      |          BUFFER          |     |
            |----->|         DESCRIPTOR       |<----|
            |      |          TABLE           |     |
            |      +--------------------------+     |
            |      +--------------------------+     |
            |      |          PORT            |     |
            |----->|          QUEUE           |<----|
            |      |          BLOCK           |     |
            |      +--------------------------+     |
            |      +--------------------------+     |
            |      |          CONTROL/        |     | +--------+
            |----->|          STATUS          |<----| |RST_PORT|
            |      |          REGISTERS       |     | +--------+
            |      +--------------------------+     |
   ---------+                                       +---------

                   Fig. 1.2  Port Architecture Structure













                                 CHAPTER 2

                             PORT COMMUNICATION



   2.1  PORT COMMUNICATION MODES

        Ports communicate with other ports using four basic communication
   modes.   These  four  modes  are  the  product  of two transfer modes:
   unsequenced and sequenced, and two buffer modes:  queued and named.

        The two transfer modes have the following properties:

        1.  Unsequenced - in this mode there  is  no  port-to-port  state
            maintained.   As  a  consequence the CI retry algorithms (see
            the CI Acknowledgement section) may cause  duplicate  packets
            to  be received and duplicate responses to be generated.  The
            DFREEQ is used as a  source  of  queue  entries  to  generate
            responses resulting from receipt of unsequenced mode packets.
            The DFREEQ discipline is to discard packets when  the  DFREEQ
            is  empty.  Summarizing, unsequenced mode provides a datagram
            type  service:   packet  delivery  with  the  possibility  of
            duplication and loss.

        2.  Sequenced - in this mode port-to-port state is maintained  in
            paired  sequence  numbers (see the Virtual Circuits section).
            Each packet carries  a  sequence  number  enabling  duplicate
            packets  to  be recognized and discarded.  The MFREEQ is used
            as a source of queue entries to deliver  responses  resulting
            from   receipt   of   sequenced  mode  packets.   The  MFREEQ
            discipline is to internally hold a packet when the MFREEQ  is
            empty  and  request  an  interrupt.   The  response  will  be
            subsequently generated if an MFREEQ entry is provided.  (Note
            that  there  are  severe  performance implications associated
            with routinely allowing the  MFREEQ  to  become  empty.   The
            Systems   Communications   Architecture   uses  higher  level
            protocols  to  insure  MFREEQ   does   not   become   empty).
            Summarizing,  sequenced  mode provides a virtual circuit type
            service:   sequential,  duplicate  free,  loss  free   packet
            delivery.


        The two buffer modes have the following properties:

   PORT COMMUNICATION                                            Page 2-2


        1.  Queued - in this mode the buffer is the queue entry of a port
            command or response.

        2.  Named - in this mode the buffer is located arbitrarily  in  a
            Per-process virtual address space.


        The product of the two transfer modes and two buffer modes result
   in the following port communication modes:

        1.  Datagrams (and certain configuration, loopback,  maintenance,
            and   maintenance  data  control  operations)  -  unsequenced
            transfer/queued buffers.

        2.  Messages (and certain data control  operations)  -  sequenced
            transfer/queued buffers.

        3.  Maintenance Data - unsequenced transfer/named buffers.

        4.  Data - sequenced transfer/named buffers.


        Each  of  these  modes  is  described  in  detail  in  subsequent
   chapters.



   2.2  CI ACKNOWLEDGEMENT

        The CI provides immediate packet acknowledgement of the following
   types:

        1.  Positive  acknowledgement  (ACK).   This   means   that   the
            destination  port  has  correctly  received  the  packet, has
            internally buffered it, and will subsequently process it.

        2.  Negative-acknowledgement (NAK).  This means  the  destination
            port  has  recognized  the  packet  but  has  been  unable to
            internally buffer it.  Upon getting  NAK,  the  sending  port
            will  retry  sending the packet.  If more than 128 total NAKS
            are received the CI path fails with NAK status.

        3.  No response (NO_RSP).  This means  the  destination  port  is
            non-existent  or  not operating.  A dual path port may appear
            to be temporarily non-operative on a specific path because of
            the inability to receive on both paths simultaneously (due to
            shared hardware).  Alternatively, the CI packet was corrupted
            and  no  port recognized it.  Packets may be corrupted due to
            either collision or bus  noise.   Upon  getting  NO_RSP,  the
            sending  port will retry sending the packet.  If more than 64
            consecutive NO_RSPs occur, the CI path fails  with  a  NO_RSP
            path status.


   PORT COMMUNICATION                                            Page 2-3


   2.3  VIRTUAL CIRCUITS

        The port implements port-to-port virtual circuits  for  sequenced
   mode  transfers.   These  circuits  provide  loss-free, duplicate-free
   communication.  Sequential communication is guaranteed for commands in
   the same CMDQ.  Sequentiality is not guaranteed between CMDQs with the
   exception that if a command is inserted  on  a  higher  priority  CMDQ
   before  another  command  is  inserted  on  a  lower priority CMDQ the
   command on the higher priority CMDQ is executed first.

        The state of the  virtual  circuits  is  stored  in  the  Virtual
   Circuit  Descriptor  Table.   The  VCDT  contains  one Virtual Circuit
   Descriptor (VCD) per port in the cluster (including the  local  port).
   The  VCD  consists of five fields:  Circuit State (CST), Send Sequence
   Number (NS), Receive Sequence Number (NR), DFREEQ Inhibit  (DQI),  and
   Path  Status  (PSTS).   (The  latter  two  fields  are not part of the
   virtual circuit state and appear in the VCD for convenience).

        The format of a VCD is:


            1 1 1 1   1
            5 4 3 2   0   8               0
           +-+-+-+-+-+---+-----------------+
           |C|N|N|D|M| P |        M        |
           |S|R|S|Q|B| S |        B        |
           |T| | |I|Z| T |        Z        |
           | | | | | | S |                 |
           +-+-+-+-+-+---+-----------------+


   Where:


   Bits            Name            Description

           

   <15>            CST             Circuit State.
                                     CST = 0 Closed.
                                     CST = 1 Open.
                                   When CST = 0 all sequenced
                                   mode packets are discarded
                                   and the use of the MFREEQ is 
                                   inhibited.

   <14>            NR              Receiving Sequence Number.

   <13>            NS              Sending Sequence Number.

   <12>            DQI             DFREEQ inhibit.  When set
                                   all incoming packets which
                                   would use DFREEQ entries are
                                   discarded.  Setting DQI in VCD
                                   255 inhibits receiving packets

   PORT COMMUNICATION                                            Page 2-4


                                   whose source field contains an
                                   invalid port number.  An invalid
                                   port number > = 16 for a 16 port
                                   cluster size and > = 224 for a
                                   224 port cluster size.  The
                                   cluster size is indicated by
                                   the CSZ field in the Port Para-
                                   meter Register (PPR).
           
   <11>                            MBZ.

   <10:9>          PSTS            Path Status.
                                     PSTS = 0 Both paths bad.
                                     PSTS = 1 Path 0 good.
                                     PSTS = 2 Path 1 good.
                                     PSTS = 3 Both paths good.

   <8:0>                           MBZ.

        A virtual circuit is opened by clearing the sequence numbers  and
   setting  CST  to open in both port's corresponding VCDs.  Note that if
   ports X and Y are opening a virtual circuit Port X initializes  VCD<Y>
   and  port  Y  initializes  VCD<X>.   The  method  by  which both ports
   synchronize this initialization is part  of  a  higher  level  virtual
   circuit establishment protocol.

        A packet to be sent on a circuit carries the NS  value  from  the
   sending  port's  VCD.  When the packet is ACKed, the sending port's NS
   value is complemented.  If the command sending the packet  fails,  the
   circuit   is  closed  by  the  sending  port  clearing  the  CST  bit.
   Subsequent commands attempting to send on the same circuit  fail  with
   virtual circuit closed status.

        Once a packet is sent on a circuit, no other packet  is  sent  on
   that circuit until the first packet is ACKed.

        Incoming packets on a circuit carry the NS value from the sending
   port's  VCD.   This value is compared to the NR value of the receiving
   port's VCD.  If equal, the packet is accepted and NR complemented.  If
   not  equal,  the  packet  is  discarded  (as a duplicate due to a lost
   acknowledgement).

        If the circuit for an incoming packet is closed,  the  packet  is
   discarded.   The  sending side must detect this through a higher level
   protocol.  If any errors in packet processing occur a  local  response
   indicating the error type is generated, and the circuit is immediately
   closed.  Subsequent incoming packets are discarded.

        To read and modify a VCD,  a  Set  Circuit  (SETCKT)  command  is
   inserted  on a CMDQ.  If the R-bit in the command is set, the value of
   the VCD prior to modification by SETCKT is returned in a  Circuit  Set
   (CKTSET) response inserted on the RSPQ.

   PORT COMMUNICATION                                            Page 2-5


   2.4  CI PATH SELECTION

        There are two modes of path selection for packet transmission  by
   dual  path  ports:  select and automatic.  In select mode, the path is
   specified in the command.  In automatic mode, the path is selected  by
   the  port  based on a internal path status table with entries for each
   destination port.

        The mode is specified by the value of the Path Select (PS)  field
   of the command.  The values are as follows:

                   PS = 0  Automatic.
                   PS = 1  Select path 0.
                   PS = 2  Select path 1.
                   PS = 3  Reserved.

        The path status table is part of the Virtual  Circuit  Descriptor
   table  (see  section on Virtual Circuits) and consists of two bits per
   port.  There is one bit for each path which indicates "good" or  "bad"
   status  of  that  path.   Note that the path status table may indicate
   that the same CI path is good for one destination  port  and  bad  for
   another.

        When a command specifies automatic mode, the path for each packet
   of  the command is individually selected from the paths marked good in
   the path status table.  If only one of the paths currently  is  marked
   good,  it is used.  If both are marked good, one is selected at random
   (with approximately equal  probability).   This  provides  statistical
   load  sharing  of  transmissions  by dual path ports.  In addition, it
   ensures early detection of failures since both  paths  are  constantly
   used.

        The path selected is used for all retries until a retry limit  is
   exceeded.   At  this  point,  if the transmission is unsuccessful, the
   path status table is updated to indicate that path  as  bad.   If  the
   other path is still good, it is tried.

        When no good path is available, the command fails and a  response
   is   generated  indicating  which  path  failures  occurred  (see  the
   Command/Response Format chapter).  Under  no  circumstances  does  the
   port attempt to send on a bad path in automatic mode.

        In select mode, the table is  ignored  for  transmission  but  is
   updated  based  on  transmission results.  The status of a path may be
   changed from bad to good  or  good  to  bad  by  the  outcome  of  the
   transmission.

        The port initializes with the path status  table  indicating  all
   paths good.

        Single path ports are always  connected  to  path  0.   The  path
   select bit for path 1 is ignored.  The response status values are only
   returned for path 0.  Only one bit of the path status table, that  for
   path  0,  is  kept.  In automatic mode, path 0 is used unless the path
   status table bit indicates that the path is bad.  In the  latter  case

   PORT COMMUNICATION                                            Page 2-6


   the  command  fails.   If the path 0 select bit is set in the command,
   the table is ignored, but is updated based on transmission results.

        Port generated commands (RETDAT  and  RETCNF)  specify  automatic
   mode.   Automatic  mode  should  normally  be  used  for  port  driver
   generated commands.  Select mode is used primarily for diagnostics.

        Certain  configuration  and  maintenance  packets  are  processed
   internally  by  the  receiving  port  and result in the latter sending
   packets back to the original sending port.  These packet transmissions
   ignore  the  path  status table and always send the packet back on the
   same path on  which  the  original  packet  was  received.   (See  the
   Loopback, Configuration and Maintenance chapter).



   2.5  CI PERFORMANCE MONITORING

        To monitor port and CI performance the port  has  facilities  for
   counting certain events:

        1.  Number of ACK's

        2.  Number of NAK's

        3.  Number of NO_RSP's

        4.  Number of datagrams discarded


        For a  dual  path  port,  the  first  three  events  are  counted
   separately  for  each path.  To read the counters, clear the counters,
   and select counting of these events for either a specified  individual
   destination  port  or  for all destination ports combined a Read Count
   (RDCNT) Command is inserted on a CMDQ.  If the R-bit in the command is
   set,  the  counter  values  are  returned  in  the  Count Read (CNTRD)
   response inserted in the RSPQ.













                                 CHAPTER 3

                   DATAGRAM, MESSAGE, AND DATA OPERATION



   3.1  DATAGRAM OPERATION

        A datagram is 0-4089 bytes of text  contained  within  the  queue
   entry  of  a command or response.  (Specific implementations may limit
   the maximum size to less than 4089 bytes).

        A datagram is sent by inserting a Send Datagram  (SNDDG)  command
   on  a  CMDQ.   When  executed, SNDDG sends the datagram in a single CI
   datagram (DG) packet.  After  execution,  the  SNDDG  queue  entry  is
   normally  inserted  on  the  DFREEQ,  but is inserted on the RSPQ as a
   Datagram Sent (DGSNT) response under the following conditions:

        1.  The command fails due to an error or non-receipt of CI packet
            acknowledgement.

        2.  A CI path fails (but the command succeeds).

        3.  The Response-bit (R-bit) in the command is set.


        Upon receipt of a datagram packet, the receiving port:

        1.  Removes an entry from the DFREEQ.  (If DFREEQ is  empty,  the
            packet is discarded).

        2.  Copies the datagram text from the packet into the queue entry
            to generate a Datagram Received (DGREC) response.

        3.  Inserts the DGREC on the RSPQ.


        Figure 3.1 illustrates datagram operation.

   DATAGRAM, MESSAGE, AND DATA OPERATION                         Page 3-2




           SENDING PORT                    RECEIVING PORT

                           DG
           SNDDG ------------------------->DGREC
           (from CMDQ)                     (to RSPQ)
           |
           V
           DGSNT(R-bit,fail)
           (to RSPQ)


                        Fig. 3.1 Datagram Operation



   3.2  MESSAGE OPERATION

        A message is 0-4089 bytes of  text  contained  within  the  queue
   entry  of  a command or response.  (Specific implementations may limit
   the maximum size to less than 4089 bytes).  Message communication is a
   sequenced  mode transfer which requires an open virtual circuit to the
   receiving port.

        A message is sent by inserting a Send Message (SNDMSG) command on
   a CMDQ.  When executed SNDMSG sends the message in a single CI message
   (MSG) packet.  After execution the  SNDMSG  queue  entry  is  normally
   inserted  on the MFREEQ, but is inserted on the RSPQ as a Message Sent
   (MSGSNT) response under the following conditions:

        1.  The command fails due to an error or non-receipt of CI packet
            acknowledgement.  Command failure closes the virtual circuit.

        2.  A CI path fails (but the command succeeds).

        3.  The R-bit in the command is set.


        Upon receipt of a message packet the receiving port:

        1.  Removes an entry from the MFREEQ.  (If the  MFREEQ  is  empty
            the port holds the packet and requests an interrupt).

        2.  Copies the message text from the packet into the queue  entry
            to generate a message received (MSGREC) response.

        3.  Inserts the MSGREC on the RSPQ.


        Figure 3.2 illustrates message operation.

   DATAGRAM, MESSAGE, AND DATA OPERATION                         Page 3-3




           SENDING PORT                    RECEIVING PORT
                           MSG
           SNDMSG ------------------------>MSGREC
           (from CMDQ)                     (to RSPQ)
           |
           V
           MSGSNT(R-bit,fail)
           (to RSPQ)



                         Fig. 3.2 Message Operation



   3.3  DATA OPERATION

   3.3.1  Buffer Descriptor Table

        Named buffers are defined by buffer descriptors in  the  BDT.   A
   buffer name is a 32-bit value which has the following format:


              3                   1                  
              1                   5                 0
             +-------------------+-------------------+
             |     KEY           |      INDEX        |
             +-------------------+-------------------+


        The low order 16 bits are used as an octaword index into the BDT.
   The  high order 16 bits are a key which must match a corresponding key
   field in the buffer  descriptor.   The  buffer  name  key  provides  a
   mechanism  to  reduce  the  probability  of  an  incorrect access of a
   buffer.

        To open a buffer, the port driver fills in the appropriate fields
   of  the  buffer  descriptor  and  sets the Valid bit (V-bit).  At this
   point the buffer descriptor and the associated  buffer  mapping  PTE's
   are  owned  by the port.  The result of changing any buffer descriptor
   field (except the V-bit) and any buffer mapping PTE's is UNDEFINED.

        To close a buffer the port driver clears the  V-bit  and  insures
   that the port does not have any internally cached address translations
   for that buffer.  This is done in one of two ways:

        1.  Explicitly  -  the  port   driver   inserts   an   Invalidate
            Translation Cache (INVTC) command on a CMDQ.  After execution
            of INVTC (as indicated by  a  Translation  Cache  Invalidated
            (TCINV)  response inserted on the RSPQ) all previously cached
            address translations are invalidated.

   DATAGRAM, MESSAGE, AND DATA OPERATION                         Page 3-4


        2.  Implicitly - the sending or receiving of  a  CI  data  packet
            with  the  last  packet  flag  set  clears any cached address
            translations for the buffer name  referenced  by  the  packet
            (after the buffer is accessed).


   The format of a buffer descriptor is:

              3                  1 1 1 1 1                          
              1                  5 4 3 2 1     8    0
             +------------------+-+---+-+-----+------+
             |    KEY           |V|AM |A| MBZ | BUF_ |    :A
             |                  | |   |C|     |OFFSET|   
             +------------------+-+---+-+-----+------+
             |          BUF_LEN                      |    :A + 4
             +---------------------------------------+
             |          PT_ADDRESS                   |    :A + 8
             +---------------------------------------+
             |          RESERVED FOR SOFTWARE        |    :A + 12
             +---------------------------------------+


   The fields in the buffer descriptor are:


   Longword      Bits          Name       Description

    A            <31:16>       KEY        Buffer key.  Any named 
                                          reference to a buffer 
                                          must supply the 
                                          correct key.

    A            <15>          V          Valid bit.   If V is 
                                          set, the buffer is 
                                          opened and the 
                                          remaining fields must 
                                          contain valid 
                                          information.

    A            <14:13>       AM         Access Mode.  Specifies the
                                          mode to be checked against 
                                          the PROT field of the PTE 
                                          for access control:
                                            AM = 0 Kernel.
                                            AM = 1 Exec.
                                            AM = 2 Supervisor.
                                            AM = 3 User.

    A            <12>          AC         Access Control.  If set,
                                          access mode is checked;
                                          if clear, no access control
                                          applied.

    A            <11:9>                   MBZ.


   DATAGRAM, MESSAGE, AND DATA OPERATION                         Page 3-5


    A            <8:0>          BUF_OFFSET  The starting byte of 
                                          the buffer relative to
                                          byte 0 of the page 
                                          defined by the PTE 
                                          whose address is given 
                                          by the PT_ADDRESS 
                                          field in the buffer 
                                          descriptor.  Inter-
                                          preted as an unsigned 
                                          integer.

    A + 4        <31:0>         BUF_LEN   The length of the 
                                          buffer in bytes.
                                          Interpreted as an 
                                          unsigned integer.

    A + 8        <31:0>         PT_ADDRESS  System virtual
                                          address of the base
                                          of a vector of PTEs 
                                          mapping the buffer.  
                                          Global Page Table
                                          entries are inter-
                                          preted for all buffer
                                          mapping PTE's (one level
                                          only).

    A + 12                                Reserved for software.
                                          Ignored by the port.




   3.3.2  Data Transfers

        Data of arbitrary length is  transferred  between  a  Per-process
   space  named buffer in the sending system to a Per-process space named
   buffer in the receiving system.  Data  communication  is  a  sequenced
   mode  transfer  which  requires  an  open virtual circuit to the other
   communicating port.  The transfer is made in one or more  (as  needed)
   CI  data  (SNTDAT,  RETDAT) packets with the last packet having the CI
   last packet (lp) flag set.

        The maximum CI data packet size is the product of the packet base
   size  (512 or 576 bytes) and the packet multiple (1-8) as specified in
   data commands.  The data is transferred in order of increasing  buffer
   addresses  in maximum size packets except for the last packet which is
   only as large as necessary.

   DATAGRAM, MESSAGE, AND DATA OPERATION                         Page 3-6


   3.3.2.1  Sending Data -

        In this mode the initiator sends data from the  local  system  to
   the  other  port.   Data  is  sent  by  inserting a Send Data (SNDDAT)
   command on  a  CMDQ  (normally  only  CMDQ0-CMDQ2  is  used).   SNDDAT
   specifies  the  length  of  the transfer and the names of the buffers.
   When executed SNDDAT sends the data in one or more  CI  data  (SNTDAT)
   packets  with  the last packet having the last packet flag set.  After
   execution the SNDDAT queue entry is normally inserted on  the  MFREEQ,
   but is inserted on the RSPQ as a Data Sent (DATSNT) response under the
   following conditions:

        1.  The command fails due to an error or non-receipt of CI packet
            acknowledgement.  This closes the virtual circuit.

        2.  A CI path fails (but the command succeeds).

        3.  The R-bit of the command is set.


        As data packets are received, the data is stored by the receiving
   port.  Upon receipt of the last data packet the receiving port:

        1.  Removes an entry from the MFREEQ.  (If the  MFREEQ  is  empty
            the port holds the packet and requests an interrupt.)

        2.  Generates a Return Confirm (RETCNF) command.

        3.  Inserts the RETCNF on CMDQ3.


        When executed RETCNF sends a  CI  confirm  (CNF)  packet  to  the
   initiating  port.   After execution the RETCNF queue entry is normally
   inserted on the MFREEQ but is  inserted  on  the  RSPQ  as  a  Confirm
   Returned (CNFRET) response under the following conditions:

        1.  The command fails due to an error or non-receipt of CI packet
            acknowledgement.  This closes the virtual circuit.

        2.  A CI path fails (but the command succeeds).


        The CNFRET response is also generated immediately  by  the  local
   port  if  any  of  the  data packets could not be processed correctly.
   This closes the Virtual Circuit.

        Upon receipt of the confirm packet the initiating port:

        1.  Removes an entry from the MFREEQ.  (If the  MFREEQ  is  empty
            the port holds the packet and requests an interrupt.)

        2.  Generates a Confirm Received (CNFREC) response.

   DATAGRAM, MESSAGE, AND DATA OPERATION                         Page 3-7


        3.  Inserts the CNFREC on the RSPQ.


        Figure 3.3 illustrates Send Data operation.


           INITIATING PORT                 OTHER PORT

                           SNTDAT
           SNDDAT ------------------------>buffer write(ok)
                                           CNFRET(error)
                                           (to RSPQ)
              .                               .
              .                               .
              .                               .
                           SNTDAT(lp)
                  ------------------------>buffer write(ok)
                                           CNFRET(error)
                                           (to RSPQ)
                                           |
                                           (ok)
                                           |
                           CNF             V
                                           (to CMDQ3)
           CNFREC(ok)<--------------------- RETCNF
           (to RSPQ)                       |
                                           V
                                           CNFRET(fail)
                                           (to RSPQ)


                        Fig. 3.3 Send Data Operation



   3.3.2.2  Requesting Data -

        In this mode the initiator requests the other port to  send  data
   to  the  local  system.  Data is requested by inserting a Request Data
   (REQDAT) command on a  CMDQ.   REQDAT  specifies  the  length  of  the
   transfer  and  the names of the buffers.  When executed REQDAT sends a
   data request (DATREQ) packet.  After execution the REQDAT queue  entry
   is  normally  inserted  on the MFREEQ but is inserted on the RSPQ as a
   Data Requested (DATREQ) response under the following conditions:

        1.  The command fails due to an error or non-receipt of CI packet
            acknowledgement.  This closes the virtual circuit.

        2.  A CI path fails (but the command succeeds).

        3.  The R-bit in the command is set.


   DATAGRAM, MESSAGE, AND DATA OPERATION                         Page 3-8


        Upon receipt of the data request packet, the receiving port:

        1.  Removes an entry from the MFREEQ.  (If the  MFREEQ  is  empty
            the port holds the packet and requests an interrupt.)

        2.  Generates a Return Data (RETDAT) command.

        3.  Inserts the RETDAT on CMDQ0, CMDQ1, or CMDQ2.   The  CMDQ  is
            selected by data request packet opcode.


        When executed RETDAT sends the requested data in exactly the same
   way  as  does  SNDDAT.   After  execution  the  RETDAT  queue entry is
   normally inserted on the MFREEQ but is inserted on the RSPQ as a  Data
   Returned (DATRET) response under the following conditions:

        1.  The command fails due to an error or non-receipt of CI packet
            acknowledgement.  This closes the virtual circuit.

        2.  A CI path fails (but the command succeeds).


        As data packets are received, the data is stored by the receiving
   port.  Upon receipt of the last data packet the initiating port:

        1.  Removes an entry from the MFREEQ.  (If the  MFREEQ  is  empty
            the port holds the packet and requests an interrupt.)

        2.  Generates a Data Received (DATREC) response.

        3.  Inserts the DATREC on the RSPQ.


        A DATREC response is also generated immediately  if  any  of  the
   data  packets  cannot be processed correctly.  This closes the virtual
   circuit.

        Figure 3.4 illustrates Request Data operation.

   DATAGRAM, MESSAGE, AND DATA OPERATION                         Page 3-9




           INITIATING PORT                 OTHER PORT

                           DATREQ
           REQDAT ------------------------>+
           (from CMDQ)                     |
           |                               |
           V                               |
           DATREQ(R-bit,fail)              |
           (to RSPQ)                       |
                           RETDAT        (to CMDQ) 
           buffer write (ok)<-------------RETDAT
           DATREC(error)            
           (to RSPQ)
              .                               .
              .                               .
              .                               .
                           RETDAT(lp)
           buffer write(ok)<--------------
           DATREC(ok,error)                |
           (to RSPQ)                       V
                                           DATRET(fail)
                                           (to RSPQ)



                      Fig. 3.4 Request Data Operation













                                 CHAPTER 4

                                 PORT STATE



        The port exists in one  of  six  global  states:   Uninitialized,
   Uninitialized/Maintenance,  Disabled,  Disabled/Maintenance,  Enabled,
   and  Enabled/Maintenance.   These  states  are  determined  by  jumper
|  control  at power-up, register control, a maintenance/sanity timer, CI
   reset packets, and the occurrence of internal and external  errors  in
   port  operation.   The  states are described below and shown in Figure
   4.1 at the end of the chapter.

        The  control/status  registers  mentioned  in  this  chapter  are
   defined  in  the  Port Registers and Port Queue Block chapter.  The CI
   maintenance packets mentioned in this chapter  are  described  in  the
   Loopback, Configuration, and Maintenance Operation chapter.

        In  the  following  description  state  changes  occur   on   the
|  expiration   of   the  maintenance/sanity  timer;  expiration  of  the
|  maintenance/sanity  timer  can  be  forced   by   writing   the   Port
|  Maintenance/Sanity Timer Expiration Control Register (PMTECR).



   4.1  UNINITIALIZED

        In this state the  port  does  not  process  commands.   Incoming
   packets are ignored.  The port is not sequencing.  The port driver may
   load port microcode (if necessary) in this state.

   This state is entered as the result of:

|       1.  Power-up.  The maintenance/sanity timer is set to  expire  in
            an  implementation  specific time that is sufficient to allow
            local loading.  If loading by a remote system is desired, the
            time  should  be  set  to  zero  seconds  to  allow immediate
            entrance to the Uninitialized/Maintenance state.

        2.  The occurrence of a Maintenance Error (internal port hardware
|           error) in any state.  The maintenance/sanity timer is stopped
            since the port hardware is untrustworthy.  The  port  can  be
            restarted   by   the  port  driver  setting  the  Maintenance
            Initialize (MIN) bit in  the  Port  Maintenance  Control  and
            Status Register (PMCSR).

   PORT STATE                                                    Page 4-2


        3.  The port driver setting the Maintenance Initialize (MIN)  bit
            in  the  Port Maintenance Control and Status Register (PMCSR)
|           (hardware reset).  The maintenance/sanity  timer  is  set  to
            expire in the implementation specific time.

   This state is exited as the result of:

        1.  The port driver writing the Port Initialize Control  Register
            (PICR).    This  results  in  the  port  starting  execution,
            performing an internal initialization sequence, and  entering
            the  Disabled  state.   After  entering the Disabled state, a
            Port Initialization Complete (PIC) interrupt is requested and
|           the maintenance/sanity timer is set to expire in 100 seconds.

|       2.  The expiration of the  maintenance/sanity  timer.   The  port
            enters  the  Uninitialized/Maintenance state.  After entering
|           the new state, a  Maintenance/Sanity  Timer  Expiration  (ME)
            interrupt  is  requested.   RST_PORT is set to the port's own
            number.  Note that if local loading is  intended,  the  timer
            value   on   power-up  (implementation  specific)  should  be
            selected  to  allow  sufficient  time   for   local   loading
            (concluded    by   the   port   driver   writing   the   Port
|           Maintenance/Sanity Timer Control Register (PMTCR) or  setting
|           the  Maintenance/Sanity  Timer  Disable (MTD) bit in the Port
            Maintenance Control and Status Register (PMCSR)).




   4.2  UNINITIALIZED/MAINTENANCE

        In  this  state  the  port  is  executing  maintenance   function
   microcode.   Incoming  CI packets are processed.  However, all packets
   except maintenance (RST,SNTMDAT,MDATREQ, and STRT)  and  configuration
   (IDREQ)  packets  are discarded.  Commands are not executed.  The host
   system may or may not be executing.

   This state is entered as the result of:

|       1.  The expiration of the maintenance/sanity timer in any  state.
|           After  the state change a Maintenance/Sanity Timer Expiration
            (ME) interrupt is requested.  RST_PORT is set to  the  port's
            own number.

        2.  Receiving  a  CI  reset  packet  with   the   port   in   the
            Uninitialized/Maintenance,      Disabled/Maintenance,      or
            Enabled/Maintenance state and either (1)  RST_PORT  equal  to
            the  port's  own  number, (2) RST_PORT equal to the number of
            the port sending the reset packet, or (3)  the  reset  packet
            has the force reset flag set.  After entering this state this
            way, the host system and port are reset and the  host  system
            is  halted.   This  prepares  the host system for loading and
            diagnosis with the CI maintenance packets.  RST_PORT  is  set
            to the number of the port sending the reset packet.

   PORT STATE                                                    Page 4-3


   This state is exited as the result of:

        1.  The port  driver  writing  the  Port  Initialization  Control
            Register  (PICR).   This  results  in  the port performing an
            internal   initialization   sequence   and    entering    the
            Disabled/Maintenance     state.      After    entering    the
            Disabled/Maintenance state  a  Port  Initialization  Complete
|           (PIC) interrupt is requested and the maintenance/sanity timer
            is set to expire in 100 seconds.

        2.  The occurrence of a Maintenance Error  (MTE).   This  implies
            that  an internal port hardware error has occurred.  The port
            enters the Uninitialized State.  The port stops sequencing.




   4.3  DISABLED

        In this state, the port does not execute commands.  All  incoming
   CI  packets  are  ignored.   Data structures are not referenced by the
   port.   The  port  can  be  disabled  by  the  port  driver  to  allow
   modification  of  queues  and  data  structures.   When  this state is
|  entered, the maintenance/sanity timer is set to expire in 100 seconds.

   This state is entered as the result of:

        1.  The port  driver  writing  the  Port  Initialization  Control
            Register  (PICR)  in  the Uninitialized, Disabled, or Enabled
            states.   This  causes  the  port  to  perform  an   internal
            initialization.   All  internal  state is lost.  Any internal
            caches are invalidated.  If entered from the  Enabled  state,
            any  commands in execution are immediately terminated.  Queue
            entries   are   not   returned   to   any   queues.     After
            initialization,   a   Port   Initialization   Complete  (PIC)
            interrupt is requested.

        2.  The port driver writing the  Port  Disable  Control  Register
            (PDCR) in the Enabled state.  This causes a graceful shutdown
            of command execution.   Commands  in  execution  are  aborted
            cleanly.   Status  is  returned in responses for all commands
            indicating state at the time of the disabling.  All  internal
            cached  information  is  invalidated and all virtual circuits
            closed.  After  disabling,  a  Port  Disable  Complete  (PDC)
            interrupt is requested.

        3.  The occurrence of Data Structure or Memory System Errors (DSE
            or  MSE)  in  the Enabled state.  The port has encountered an
            error in accessing the data structures.  The port enters  the
            Disabled  state immediately, as in the case of initialization
            (since host memory or data structures cannot be accessed  for
            a  clean  abort).   After  disabling,  the  appropriate error
            interrupt is requested.

   PORT STATE                                                    Page 4-4


|       4.  The port driver writing  the  Port  Maintenance/Sanity  Timer
            Control Register (PMTCR) with the port in the Disabled state.
            The timer is set to expire in 100 seconds.

   This state is exited as the result of:

        1.  The port driver writing  the  Port  Enable  Control  Register
            (PECR).   This causes the port to enter the Enabled state and
            begin processing commands and incoming packets.  RST_PORT  is
            set to the port's own number.

        2.  The expiration of the  maintenance/sanity  timer.   The  port
            enters  the  Uninitialized/Maintenance state.  After entering
|           the new state, a  Maintenance/Sanity  Timer  Expiration  (ME)
            interrupt  is  requested.   RST_PORT is set to the port's own
            number.

        3.  The occurrence of a Maintenance Error  (MTE).   This  implies
            that  an internal port hardware error has occurred.  The port
            enters the Uninitialized State.  The port stops sequencing.




   4.4  DISABLED/MAINTENANCE

        In this state the port does not execute  commands.   All  packets
   except  configuration  (IDREQ)  or  reset (RST) packets are discarded.
   Data structures are not referenced by the port.  When  this  state  is
|  entered, the maintenance/sanity timer is set to expire in 100 seconds.

   This state is entered as the result of:

        1.  The port  driver  writing  the  Port  Initialization  Control
            Register    (PICR)    in    the    Uninitialized/Maintenance,
            Disabled/Maintenance, or  Enabled/Maintenance  states.   This
            causes  the  port to perform an internal initialization.  All
            internal state is lost.  Any internal caches are invalidated.
            If  entered  from the Enabled/Maintenance state, any commands
            in process are immediately terminated.  Queue entries are not
            returned   to  any  queues.   After  initialization,  a  Port
            Initialization Complete (PIC) interrupt is requested.

        2.  The port driver writing the  Port  Disable  Control  Register
            (PDCR)  in  the  Enabled/Maintenance  state.   This  causes a
            graceful  shutdown  of  command   execution.    Commands   in
            execution   are  aborted  cleanly.   Status  is  returned  in
            responses for all commands indicating state at  the  time  of
            the   disabling.    All   internally  cached  information  is
            invalidated  and  all   virtual   circuits   closed.    After
            disabling,   a  Port  Disable  Complete  (PDC)  interrupt  is
            requested.

   PORT STATE                                                    Page 4-5


|       3.  The port driver writing  the  Port  Maintenance/Sanity  Timer
            Control  Register  (PMTCR) in the Disabled/Maintenance state.
            The timer is set to expire in 100 seconds.

        4.  The occurrence of Data Structure or Memory System Errors (DSE
            or  MSE)  in  the  Enabled/Maintenance  state.   The port has
            encountered an error in accessing the data  structures.   The
            port enters the Disabled/Maintenance state immediately, as in
            the  case  of  initialization  (since  host  memory  or  data
            structures  cannot  be  accessed  for  a clean abort).  After
            disabling, the appropriate error interrupt is requested.

   This state is exited as the result of:

        1.  The port driver writing  the  Port  Enable  Control  Register
            (PECR).     This    causes    the    port    to   enter   the
            Enabled/Maintenance state and begin  executing  commands  and
            processing  incoming  packets.  RST_PORT is set to the port's
            own number.

|       2.  The expiration of the  maintenance/sanity  timer.   The  port
            enters  the  Uninitialized/Maintenance state.  After entering
            the new state, a Maintenance  Expiration  (ME)  interrupt  is
            requested.  RST_PORT is set to the port's own number.

        3.  Receiving a CI reset packet  if  (1)  RST_PORT  contains  the
            port's  own  number,  (2) RST_PORT contains the number of the
            port sending the reset packet, or (3) the  reset  packet  has
            the  force reset flag set.  This causes the port to enter the
            Uninitialized/Maintenance state.  The host  system  and  port
            are  reset  and  the  host  system is halted to allow further
            manipulation by maintenance packets.  RST_PORT is set to  the
            number of the port sending the reset packet.

        4.  The occurrence of a Maintenance Error  (MTE).   This  implies
            that  an internal port hardware error has occurred.  The port
            enters the Uninitialized State.  The port stops sequencing.




   4.5  ENABLED

        In this state the port executes commands and  processes  incoming
   CI  packets.  Maintenance packets are processed as Unrecognized Packet
   (UNRPKT) responses.  Data structures are valid and may be cached where
   applicable.

   This state is entered as the result of:

        1.  The port driver writing  the  Port  Enable  Control  Register
            (PECR)  with  the  port  in the Disabled state.  This enables
            command execution and packet processing.  RST_PORT is set  to
            the port's own number.

   PORT STATE                                                    Page 4-6


|       2.  The port driver writing  the  Port  Maintenance/Sanity  Timer
            Control  Register (PMTCR) with the port in the Enabled state.
            The timer is set to expire in 100 seconds.

   This state is exited as the result of:

        1.  The port  driver  writing  the  Port  Initialization  Control
            Register  (PICR).   This  results  in  the port performing an
            internal initialization sequence and  entering  the  Disabled
            state.   The  initialization invalidates all internal caches.
            Any commands in execution  or  packets  being  processed  are
            immediately   dropped  without  returning  queue  entries  to
            queues.   After  entering  the   Disabled   state,   a   Port
            Initialization Complete (PIC) interrupt is requested.

|       2.  The expiration of the  maintenance/sanity  timer.   The  port
            enters  the  Uninitialized/Maintenance state.  After entering
|           the new state, a  Maintenance/Sanity  Timer  Expiration  (ME)
            interrupt  is  requested.   RST_PORT is set to the port's own
            number.

        3.  The port driver writing the  Port  Disable  Control  Register
            (PDCR).    This   causes   a  graceful  shutdown  of  command
            processing.  Commands in processing are aborted.   Status  is
            returned  in  responses  for all commands indicating state at
            the time of the disabling.   The  port  enters  the  Disabled
            state.   Any internally cached information is invalidated and
            all virtual circuits closed.  After completion of  disabling,
            a Port Disable Complete (PDC) interrupt is requested.

        4.  The occurrence of Data Structure or Memory System Errors (DSE
            or  MSE).   This results in the port immediately entering the
            Disabled state.  All command and packets being processed  are
            immediately  discarded  as  in initialization.  Upon entering
            the  Disabled  state,  the  appropriate  error  interrupt  is
            requested.

        5.  The occurrence of a Maintenance Error  (MTE).   This  implies
            that  an internal port hardware error has occurred.  The port
            enters the Uninitialized state.  The port stops sequencing.


   PORT STATE                                                    Page 4-7


   4.6  ENABLED/MAINTENANCE

        In this state the port executes commands and  processes  incoming
   CI   packets.    Other   than  reset  (RST)  all  maintenance  packets
   (SNTMDAT,MDATREQ, and  STRT)  are  processed  as  Unrecognized  Packet
   (UNRPKT) responses.  In the Enabled/Maintenance state, data structures
   are valid and may be cached where applicable.

   This state is entered as the result of:

        1.  The port driver writing  the  Port  Enable  Control  Register
            (PECR) with the port in the Disabled/Maintenance state.  This
            enables command execution and packet processing.  RST_PORT is
            set to the port's own number.

|       2.  The port driver writing  the  Port  Maintenance/Sanity  Timer
            Control    Register    (PMTCR)   with   the   port   in   the
            Enabled/Maintenance state.  The timer is set to expire in 100
            seconds.

   This state is exited as the result of:

        1.  The port driver writing the Port Initialize Control  Register
            (PICR).   This  results  in  the  port performing an internal
            initialization sequence and entering the Disabled/Maintenance
            state.   The  initialization invalidates all internal caches.
            Any  commands  or  packets  in  processing  are   immediately
            terminated  without returning queue entries to queues.  After
            entering   the    Disabled/Maintenance    state,    a    Port
            Initialization Complete (PIC) interrupt is requested.

|       2.  The expiration of the  maintenance/sanity  timer.   The  port
            enters  the  Uninitialized/Maintenance state.  After entering
|           the new state, a  Maintenance/Sanity  Timer  Expiration  (ME)
            interrupt  is  requested.   RST_PORT is set to the port's own
            number.

        3.  Receiving a CI reset packet  if  (1)  RST_PORT  contains  the
            port's  own  number,  (2) RST_PORT contains the number of the
            port sending the reset packet, or (3) the  reset  packet  has
            the  force reset flag set.  This causes the port to enter the
            Uninitialized/Maintenance state.  The host  system  and  port
            are  reset  and  the  host  system is halted to allow further
            manipulation by maintenance packets.  RST_PORT is set to  the
            number of the port sending the reset packet.

        4.  The port driver writing the  Port  Disable  Control  Register
            (PDCR).    This   causes   a  graceful  shutdown  of  command
            processing.   Commands  in  execution  are  cleanly  aborted.
            Status  is  returned in responses for all commands indicating
            state at the time of the  disabling.   The  port  enters  the
            Disabled/Maintenance    state.     All    internally   cached
            information is invalidated and all virtual  circuits  closed.
            After  disabling,  a Port Disable Complete (PDC) interrupt is
            requested.

   PORT STATE                                                    Page 4-8


        5.  The occurrence of Data Structure or Memory System Errors (DSE
            or  MSE).   This results in the port immediately entering the
            Disabled/Maintenance state.   All  commands  and  packets  in
            processing  are  immediately discarded as in initializiation.
            Upon entering the new state, the appropriate error  interrupt
            is requested.

        6.  The occurrence of a Maintenance Error  (MTE).   This  implies
            that  an internal port hardware error has occurred.  The port
            enters the Uninitialized State.  The port stops sequencing.


   PORT STATE                                                    Page 4-9


             *************      TIMER            *************
   Power-up  *           *---------------------->*           *-----+
   MTE,MIN   *   UNINIT  *                       *  UNINIT/  *     | CI RST
   --------->*           *                       *   MAINT   *<----+
             *           *         +------------>*           *<------+
             *           *<---+    |   +-------->*           *<-+    |
             *************    |    |   |         *************  | C  |
                 |     |      |    |   |             |          | I  |
                 |     +------+    |   |             |          |    | C
                 |     PMTCR    T  |   |             |          | R  | I
                 | P            I  |   |             | P        | S  |
                 | I            M  |   |             | I        | T  | R
                 | C            E  |   |             | C        | /  | S
                 | R            R  |   |             | R        | T  | T
                 |                 |   |             |          | I  | /
                 |                 |   |             |          | M  | T
                 V                 |   |             V          | E  | I
           *************           |   |       *************    | R  | M
           *           *-----------+   |       *           *    |    | E
           *  DISABLED *               |       * DISABLED/ *----+    | R
      +--->*           *               |       *   MAINT   *         | 
      | P  *           *               |       *           *<---+ P  | 
      | D  *           *<---+          |  +--->*           *    | D  | 
      | C  *************    |          |  |    *************    | C  | 
      | R        |   |      |          |  |      |   |          | R  | 
      | /        |   +------+          |  +------+   |          | /  | 
      | P        |     PMTCR/          |   PMTCR/    |          | P  |
      | I        |     PICR            |   PICR      |          | I  |
      | C        | P                   |             | P        | C  |
      | R        | E                   |             | E        | R  |
      | /        | C                   |             | C        | /  |
      | M        | R                   |             | R        | M  |
      | S        |                     |             |          | S  |
      | E        |                     |             |          | E  |
      | /        |                     |             |          | /  |
      | D        |                     |             |          | D  |
      | S        |                     |             |          | S  |
      | E        |                     |             |          | E  | 
      | /        |                     |             |          | /  |
      | M        |                     |             v          | M  |
      | I  *************               |       *************    | I  |
      | S  *           *     TIMER     |       *           *    | S  |
      | C  *  ENABLED  *---------------+       *  ENABLED/ *----+ C  |
      +----*           *                       *   MAINT   *         |
           *           *                       *           *---------+
           *           *<---+             +--->*           *      
           *************    |             |    *************      
                     |      | PMTCR PMTCR |      |                
                     +------+             +------+



   TIMER = maintenance/sanity timer expiration = PMTECR

                    Fig. 4.1  VAX CI Port State Diagram













                                 CHAPTER 5

             LOOPBACK, CONFIGURATION, AND MAINTENANCE OPERATION



   5.1  CI LOOPBACK TESTING

        To verify the ability to send and  receive  CI  packets,  a  Send
   Loopback  (SNDLB)  command is inserted on a CMDQ.  When executed SNDLB
   sends a CI loopback (LB) packet.  After  execution,  the  SNDLB  queue
   entry  is  normally inserted on the DFREEQ but is inserted on the RSPQ
   as a Loopback Sent (LBSNT) response under the following conditions.

        1.  The command fails due to an error or non-receipt of CI packet
            acknowledgement.

        2.  A CI path fails (but the command succeeds).

        3.  The R-bit is set in the command.


        Upon receipt of the loopback packet the receiving port:

        1.  Removes an entry from the DFREEQ.  (If the  DFREEQ  is  empty
            the packet is discarded.)

        2.  Generates a Loopback Received (LBREC) response.

        3.  Inserts the response on the RSPQ.


   LOOPBACK, CONFIGURATION, AND MAINTENANCE OPERATION            Page 5-2


        Figure 5.1 illustrates Loopback Operation.

           SENDING PORT                    

                           LB
           SNDLB   ------------------------+
           (from CMDQ)                     |
           |                               |
           V                               |
           LBSNT(R-bit,fail)               |
           (to RSPQ)                       |
                                           |
           LBREC   <-----------------------+
           (to RSPQ)


                        Fig. 5.1 Loopback Operation



   5.2  CONFIGURATION/MAINTENANCE INTERNAL COMMAND QUEUE

        The following  sections  describe  operations  in  which  a  port
   receives  a  packet,  internally  processes  it,  and possibly sends a
   packet back.  The sending back of a packet may be viewed as the result
   of  the  execution  of  an  internal  command from an internal command
   queue.  The number of entries on the internal queue is  implementation
   specific.   This  internal  queue is higher priority than CMDQ3.  If a
   packet is received which requires an  internal  queue  entry  and  the
   internal queue is filled, the packet is discarded.



   5.3  CI CLUSTER CONFIGURATION

        To determine the state of other ports on  the  CI  a  Request  ID
   (REQID)  command  is inserted on a CMDQ.  When executed REQID sends an
   ID request (IDREQ) packet.  After execution the REQID queue  entry  is
   normally  inserted on the DFREEQ, but is inserted on the RSPQ as an ID
   Requested (IDREQ) response under the following conditions:

        1.  The command fails due to an error or non-receipt of CI packet
            acknowledgement.

        2.  A CI path fails (but the command succeeds).

        3.  The command R-bit is set.


        Upon receipt of the ID  request  packet,  the  port,  if  in  the
   Uninitialized/Maintenance,     Disabled/Maintenance,    Enabled,    or
   Enabled/Maintenance state, returns an ID (ID) packet.  The  packet  is
   sent on the same path on which the ID request packet was received.

   LOOPBACK, CONFIGURATION, AND MAINTENANCE OPERATION            Page 5-3


        Upon receipt of the ID packet the receiving port:

        1.  Removes an entry from the DFREEQ.  (If the  DFREEQ  is  empty
            the packet is discarded.)

        2.  Generates an ID Received (IDREC)  response  and  inserts  the
            queue entry on the RSPQ.


|       The ID packet carries port type, port state, port  functionality,
   and port microcode revision.

        Figure 5.2 illustrates the configuration operation.

           INITIATING PORT                 OTHER PORT

                            IDREQ
           REQID   ----------------------->+
           (from CMDQ)                     |
           |                               |
           V                               |
           IDREQ(R-bit,fail)               |
           (to RSPQ)                       |
                                           |
                           ID              |
           IDREC   <-----------------------+
           (to RSPQ)


                      Fig 5.2 Configuration Operation



   5.4  MAINTENANCE OPERATION

        Ports  and  systems  are  bootstrapped  and  diagnosed  with  the
   maintenance  commands  which  send maintenance packets.  These packets
   permit the resetting, down-line loading, upline dumping, and  starting
   of systems.

        The processing of maintenance packets is determined by  the  port
   state and the RST_PORT register:

        1.  Reset (RST) packets cause a reset only if:

            1.  The   port   is   in    the    Uninitialized/Maintenance,
                Disabled/Maintenance, or Enabled/Maintenance state, and

            2.  RST_PORT  contains  the  port's  own   number,   RST_PORT
                contains the number of the port sending the reset packet,
                or the force reset flag is set in the reset packet.


   LOOPBACK, CONFIGURATION, AND MAINTENANCE OPERATION            Page 5-4


        2.  Maintenance  data   (SNTMDAT),   maintenance   data   request
            (MDATREQ),  and  start  (STRT) packets result in the intended
            operation only if:

            1.  The port is in the Uninitialized/Maintenance state, and

            2.  RST_PORT contains the number  of  the  port  sending  the
                maintenance packet.





   5.4.1  Resetting

|  To reset a remote node, a Send Reset (SNDRST) command is inserted on a
   CMDQ.   When  executed  SNDRST  sends  a CI reset (RST) packet.  After
   execution the SNDRST queue entry is normally inserted  on  the  DFREEQ
   but  is  inserted  on the RSPQ as a Reset Sent (RSTSNT) response under
   the following conditions:

        1.  The command fails due to an error or non-receipt of CI packet
            acknowledgement.

        2.  A CI path fails (but the command succeeds).

        3.  The command R-bit is set.

|       If the reset occurs, RST_PORT is set to the number  of  the  port
|  sending  the  reset  packet.  A self-directed SNDRST causes a reset if
|  the port is in the Enabled/Maintenance state.
|  
|       The receiving CI Port reset action is dependent on  the  type  of
|  port receiving the reset packet.  VAX CI Ports trigger a power failure
|  sequence on their host system and enter the  Uninitialized/Maintenance
|  State.  Once the port is in this state, further maintenance operations
|  can be performed.  The power failure sequence is described in  section
|  10.4 of the DEC STD 32 Vax Architecture.
|  
|       The DEC STD 161 defines the general requirements for receiving CI
|  Port  response  to RST packets in the section titled "Resetting Remote
|  Systems.".


        Figure 5.3 illustrates the reset operation.

                    SENDING PORT                    RECEIVING PORT

                                    RST
                    SNDRST  ----------------------> (port resets host system)
                    (from CMDQ)
                    |
                    V
                    RSTSNT(R-bit,fail)


   LOOPBACK, CONFIGURATION, AND MAINTENANCE OPERATION            Page 5-5


   5.4.2  Downline Loading

   To load port and host system memory a Send Maintenance Data  (SNDMDAT)
   command  is  inserted  on  a  CMDQ.   When executed SNDMDAT sends a CI
   maintenance data (SNTMDAT) packet.  After execution the SNDMDAT  queue
   entry  is  normally inserted on the DFREEQ but is inserted on the RSPQ
   as Maintenance  Data  Sent  (MDATSNT)  response  under  the  following
   conditions:

        1.  The command fails due to an error or non-receipt of CI packet
            acknowledgement.

        2.  A CI path fails (but the command succeeds).

        3.  The command R-bit is set.


        Upon receipt of the maintenance data packet, the  receiving  port
   stores  the  data appropriately and sends a maintenance confirm (MCNF)
   packet.  The packet is sent on the same path on which the  maintenance
   data  packet  was  received.   Upon receipt of the maintenance confirm
   packet, the receiving port:

        1.  Removes an entry from the DFREEQ.  (If the  DFREEQ  is  empty
            the packet is discarded.)

        2.  Generates a Maintenance Confirm Received (MCNFREC) response.

        3.  Inserts the MCNFREC on the RSPQ.


        Figure 5.4 illustrates Send Maintenance Data Operation.

           INITIATING PORT                 OTHER PORT

                           SNTMDAT
           SNDMDAT ----------------------->+
           (from CMDQ)                     |
           |                               |
           V                               |
           MDATSNT(R-bit,fail)             |
           (to RSPQ)                       |
                                           |
                           MCNF            |
           MCNFREC <-----------------------+
           (to RSPQ)



                  Fig. 5.4 Send Maintenance Data Operation

   LOOPBACK, CONFIGURATION, AND MAINTENANCE OPERATION            Page 5-6


   5.4.3  Upline Dumping

        To dump port and host system memory a  Request  Maintenance  Data
   (REQMDAT) command is inserted on a CMDQ.  Execution of REQMDAT sends a
   CI request maintenance data (REQMDAT)  packet.   After  execution  the
   REQMDAT queue entry is normally inserted on the DFREEQ but is inserted
   on the RSPQ as a Maintenance Data Requested (MDATREQ)  response  under
   the following conditions:

        1.  The command fails due to an error or non-receipt of CI packet
            acknowledgement.

        2.  A CI path fails (but the command succeeds).

        3.  The command R-bit is set.


        Upon receipt of the maintenance data request packet the receiving
   port  sends  the  appropriate  data  in  a  maintenance data (RETMDAT)
   packet.  The packet is sent on the same path on which the  maintenance
   data request packet was received.  Upon receiving the maintenance data
   packet the receiving port:

        1.  Removes an entry from the DFREEQ.  (If the DFREEQ  is  empty,
            the packet is discarded.)

        2.  Generates a Maintenance Data Received (MDATREC) response.

        3.  Inserts the MDATREC on the RSPQ.


        Figure 5.5 illustrates Request Maintenance Data operation.

           INITIATING PORT                 OTHER PORT

                           MDATREQ
           REQMDAT ----------------------->+
           (from CMDQ)                     |
           |                               |
           V                               |
           MDATREQ(R-bit,fail)             |
           (to RSPQ)                       |
                                           |
                           RETMDAT         |
           (buffer write)<-----------------+
           MDATREC(ok,error)
           (to RSPQ)



                Fig. 5.5 Request Maintenance Data Operation

   LOOPBACK, CONFIGURATION, AND MAINTENANCE OPERATION            Page 5-7


   5.4.4  Starting

|       To start a remote system after you have halted  it  with  a  Send
|  Reset  command,  a Send Start (SNDSTRT) command is inserted on a CMDQ.
|  When executed SNDSTRT sends a CI start (STRT) packet.  After execution
|  the  SNDSTRT  queue  entry  is  normally inserted on the DFREEQ but is
|  inserted on the RSPQ as a Start  Sent  (STRTSNT)  response  under  the
|  following conditions:
|  
|       1.  The command fails due to  an  error  or  lack  of  CI  packet
|           acknowledgement.
|  
|       2.  A CI path fails (but the command succeeds).
|  
|       3.  The command R-bit is set.
|  
|  
|  Receiving port action upon receipt of STRT packet:
|  
|       The receiving CI Port action is dependent  on  the  type  of  the
|  receiving port.  See section 7.15 for port action on receipt of a STRT
|  packet in a state other than Uninitialized/Maintenance.  VAX CI  Ports
|  in  the  Uninitialized/Maintenance  state  must  do the following upon
|  receipt of a STRT packet:
|  
|  IF
|  
|       the RST_PORT field at the receiving port matches the source  node
|       number  of  the  STRT  packet  and  the  system  attached  to the
|       receiving VAX CI Port is halted due to the receiving port  having
|       previously received a RST packet from the node RST_PORT.
|  
|  THEN
|  
|       The receiving port triggers the completion of the  powerfail  and
|       recovery  sequence, (similar to that described in section 10.4 of
|       DEC STD 032), that was begun when the receiving port received the
|       RST  packet.  VAX CI Ports ignore the STRT_ADDR and DSA fields of
|       the STRT packet.
|  
|  ELSE
|  
|       The packet is discarded.
|  
|  
|  The result of a self-directed SNDSTRT is implementation specific.
|  
|       The DEC STD 161 defines the general requirements for receiving CI
|  Port  response  to STRT packets in the section titled "Starting Remote
|  Systems.".

        Figure 5.6 illustrates the start operation.

   LOOPBACK, CONFIGURATION, AND MAINTENANCE OPERATION            Page 5-8



                    SENDING PORT                    RECEIVING PORT

                                    STRT
                    SNDSTRT ------------------------>(port starts host system)
                    (from CMDQ)                     
                      |
                      V
                    STRTSNT(R-bit,fail)
                    (to RSPQ)


                          Fig. 5.6 Start Operation














                                 CHAPTER 6

                       PORT COMMAND/RESPONSE FORMATS



   6.1  COMMANDS

        The format of a command is:


              3
              1                                     0
             +---------------------------------------+
             |                 FLINK                 |     :A
             +---------------------------------------+
             |                 BLINK                 |     :A + 4
             +---------------------------------------+     
             |         RESERVED FOR SOFTWARE         |     :A + 8
             +---------+---------+---------+---------+
             |  FLAGS  |   OPC   |  STATUS |   PORT  |     :A + 12
             +---------+---------+---------+---------+
             |                                       |     :A + 16
             =              COMMAND                  =
             |              SPECIFIC                 |
             |                                       |     :A - 4 +
             +---------------------------------------+     {D/M}QE_LEN


   The command fields are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          Displacement relative 
                                          to address A of the 
                                          successor queue entry.


    A + 4        <31:0>        BLINK      Queue backward link.  
                                          Displacement relative 
                                          to address A of the 
                                          predecessor queue 
                                          entry.


   PORT COMMAND/RESPONSE FORMATS                                 Page 6-2


    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <31:24>       FLAGS      Operation modifiers.

    A + 12       <31>          P          Data packet base size.
                                            P = 0 512 byte packets.
                                            P = 1 576 byte packets.
                                          Used only for data commands.
                   or

                 <31>          PF         Packing format.  Specifies
                                          the value of the packing format
                                          flag in CI packets.  Should be
                                          non-zero only for destination 
                                          PDP-10/20 ports.
                                            PF = 0 Longword packed
                                            PF = 1 Nibble packed
                                          VAX CI port ignores
                                          the PF flag in both
                                          commands and incoming packets.


                   or

                 <31>           F         Force reset. See the Send
                                          Reset command.

                   or

                 <31>           DS        Default start address. See
                                          the Send Start command.

    A + 12       <30:28>        M         Packet multiple.  Packet
                                          size used = P * (M + 1).
                                          Used only for data commands.
                                          The packet size must be less 
                                          than or equal to the internal 
                                          buffer size - 16.  See IBUF_LEN 
                                          in the Port Parameter Register 
                                          (PPR).

    A + 12       <26:25>        PS        Path Select.
                                            PS = 0 Automatic.
                                            PS = 1 Select path 0.
                                            PS = 2 Select path 1.
                                            PS = 3 Undefined.
                                          Ignored by single path
                                          ports.

    A + 12       <24>           R         Response Queue bit. If
                                          set, a response is
                                          generated.  The 
                                          Command Queue entry is 
                                          placed on the Response 

   PORT COMMAND/RESPONSE FORMATS                                 Page 6-3


                                          Queue.  (Execution of 
                                          a command which fails
                                          or encounters a path
                                          failure always generates a 
                                          response).

    A + 12       <23:16>       OPC        Operation code.  
                                          Identifies the port 
                                          command.

    A + 12       <15:8>        STATUS     A field which MBZ for 
                                          a command.  After 
                                          executing a command 
                                          which fails or with the 
                                          R-bit is set, the port 
                                          fills in the STATUS 
                                          field and places the 
                                          command queue entry on 
                                          the Response Queue.

    A + 12       <7:0>         PORT       The destination port to 
                                          which the command is 
                                          directed.  Port numbers
                                          224 - 255 are reserved 
                                          for special use.

    A + 16                                Command specific.
    through
    A - 4 + {D/M}QE_LEN



   6.1.1  Reserved For Software Fields

        The contents of fields in commands marked RESERVED  FOR  SOFTWARE
   are never sent in CI packets.



   6.1.2  Self-Directed Commands

        Ports can execute commands directed to  their  own  port  number.
   The  implementation  is transparent to the port driver.  The responses
   (and other results) are identical to remotely directed commands.

        Self-directed commands are realized in an implementation specific
   manner.   A  port  may  send  to itself on the CI.  Any such transfers
   observe the CI protocol.   Alternatively,  a  port  may  use  internal
   loopback  to perform the transfer.  Successful transfers return a path
   status of ACK.

        Path select is ignored if internal loopback is used.

   PORT COMMAND/RESPONSE FORMATS                                 Page 6-4


        If path status is returned, it may not reflect the status  of  an
   actual  bus  transaction.   For  example,  a  NAK may indicate that an
   internal receiver buffer is not available, but this may  not  actually
   result  from  sending  and receiving a NAK packet on the CI.  Instead,
   the internal connection may have tested the buffer and found it  full.
   The  actual  method  used  to  realize  the  self-directed commands is
   described in the port implementation specification.

        Any transfer scheme particular to self-directed commands provides
   the  same  level of data integrity as the CI connection to destination
   ports.

        A self-directed command sending sequenced mode  packets  requires
   the port to have an open virtual circuit to itself.

        Any special properties of self-directed command are  included  in
   the Port Commands and Responses chapter.



   6.2  RESPONSES

        Port responses are generated under the following conditions:

        1.  Successful execution  of  a  command  with  the  Response-bit
            (R-bit) set.

        2.  Execution of any command which fails.

        3.  Path failure during the execution of a command (even  if  the
            command succeeds).

        4.  Receipt of certain packets on the CI.


        The format of responses is identical to commands.  In the case of
   responses  generated  for  locally  executed commands, the response is
   formed from the same queue entry which formed the command.  Except  as
   explicitly  noted  in  the  response  descriptions,  all fields in the
   response have exactly the same values  as  they  had  when  they  were
   fields of the command.  In particular, this is true of fields labelled
   RESERVED FOR SOFTWARE.

        Any command which has the R-bit clear causes no  response  to  be
   generated  on  normal  execution  of  that  command.  In this case the
   command queue entry is treated as  a  Free  Queue  entry  and  may  be
   immediately overwritten by the port.  However, the longword located at
   A + 8 in the command is never modified by the port.

        When a response is generated the port fills in the  8-bit  STATUS
   field.   For  locally executed commands the status value indicates the
   result of command execution  and  any  change  in  path  status.   For
   commands sending multiple packets, the path status change reflects all
   packets sent.  For responses generated from an  incoming  packet,  the
   status value indicates the result of processing the packet.

   PORT COMMAND/RESPONSE FORMATS                                 Page 6-5


   6.3  RESPONSE STATUS FIELD FORMAT

        The STATUS field format is:

             7   6   5   4   3   2   1   0
           +-----------+---+---+---+---+---+
           |           | PTH_1 | PTH_0 | F |
           |   TYPE    +-------+-------+ A |
           |           |    SUB_TYPE   | I |
           |           |               | L |
           +-----------+---------------+---+


   Where:

   Bits            Field           Description

   <7:5>           TYPE            Status type.
                                     TYPE = 0 OK.
                                     TYPE = 1 Virtual circuit 
                                              closed (before
                                              command executed).
                                     TYPE = 2 Invalid buffer name
                                              (Key mismatch, 
                                               V-bit clear, or
                                               index too large).
                                     TYPE = 3 Buffer length 
                                              violation.
                                     TYPE = 4 Access control
                                              violation.
                                     TYPE = 5 No Path.
                                     TYPE = 6 Buffer memory system error.
                                     TYPE = 7 Other error.  See
                                              SUB_TYPE.


   <4:3>           PTH_1           Path one status. 
                                   Result of last use
                                   of path.
                                     PTH_1 = 0 ACK or not used.
                                     PTH_1 = 1 NAK.
                                     PTH_1 = 2 NO_RSP.
                                     PTH_1 = 3 ARB_TIMEOUT
                                     Port was unsuccessful in
                                     arbitrating for the CI.

   <2:1>           PTH_0           Path zero status.  Same as
                                   path one status.

   <4:1>           SUB_TYPE        Subtype.  Error other
                                   than path status.  Valid if
                                   TYPE = 7.
                                     SUB_TYPE = 0 Packet size
                                                  violation.
                                     SUB_TYPE = 1 Unrecognized 

   PORT COMMAND/RESPONSE FORMATS                                 Page 6-6


                                                  packet.
                                     SUB_TYPE = 2 Invalid destina-
                                                  tion port.
                                     SUB_TYPE = 3 Unrecognized 
                                                  command.
                                     SUB_TYPE = 4 Abort (port 
                                                  disabled).
                                     SUB_TYPE = 5
                                     through
                                     SUB_TYPE =15 Reserved.

   <0>             FAIL            Failure.  Set if the command,
                                           path, or packet
                                           processing failed.
                                     FAIL = 0 OK.
                                     FAIL = 1 Failure.


        Summarizing STATUS for locally executed commands:

        1.  STATUS = 0:  Command succeeded with no change in path status.

        2.  FAIL = 1 AND TYPE = 0:  Command succeeded  but  path  failed.
            PTH_0 and PTH_1 indicate which path failed.

        3.  FAIL = 1 AND 0 < TYPE < 7:  Command failed.   TYPE  indicates
            failure.   Path  may  also  have  failed.   PTH_0  and  PTH_1
            indicate any path failure.

        4.  FAIL = 1 AND TYPE = 7:  Command failed.   SUB_TYPE  indicates
            failure.  (Paths not used.)

   The following error detection precedence applies to  locally  executed
   commands:

        1.  Abort.

        2.  Unrecognized command.

        3.  Invalid destination port.

        4.  Packet size violation.

        5.  Other errors.


        Summarizing STATUS for responses generated from received packets:

        1.  STATUS = 0:  Packet processed correctly.

        2.  FAIL = 1 and 0 < TYPE < 7:  Packet processing  failed.   TYPE
            indicates failure.  PTH_1 = PTH_0 = 0.

   PORT COMMAND/RESPONSE FORMATS                                 Page 6-7


        3.  FAIL = 1 and TYPE = 7:  Packet processing  failed.   SUB_TYPE
            indicates failure.

   The following error detection precedence applies  to  received  packet
   processing:

        1.  Packet size violation.

        2.  Other errors.














                                 CHAPTER 7

                        PORT COMMANDS AND RESPONSES



   7.1  DATAGRAM SENDING

   7.1.1  Send Datagram

        This command sends a datagram (DG) packet.  The packet is sent in
   unsequenced mode.  The format of SNDDG is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +--+---+--+-+--------+---------+--------+
             |PF|MBZ|PS|R|  OPC   |   MBZ   |   PORT |     :A + 12
             +--+---+--+-+--------+---------+--------+
             |                    |      DG_LEN      |     :A + 16
             |                    +------------------+
             |                                       |
             =               DG                      =
             |                                       |
             +---------------------------------------+       
             |                                       |     :A + 18 
             =               RESERVED FOR            =      + DG_LEN
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN
                                                             

   SNDDG fields are:

   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

   PORT COMMANDS AND RESPONSES                                   Page 7-2



    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31>          PF         Packing format.  
                                          See 6.1


    A + 12       <30:27>       MBZ

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 1 for SNDDG.  

    A + 12       <15:8>        MBZ

    A + 12       <7:0>         PORT       The destination port.
                                          See 6.1

    A + 16       <15:0>        DG_LEN     Datagram text length
                                          in bytes.  Valid values
                                          are 0 to minimum of 
                                          IBUF_LEN and DQE_LEN - 18.
                                          Oversize datagrams are not
                                          sent.

    A + 16       <31:16>       DG         Bytes A + 18 through
    through                               A + 17 + DG_LEN contain
    A - 4 + DQE_LEN                       the datagram to be sent.
                                          Bytes A + 18 + DG_LEN
                                          through A - 1 + DQE_LEN
                                          are reserved for software
                                          and ignored by the port.

   PORT COMMANDS AND RESPONSES                                   Page 7-3


   7.1.2  Datagram Sent

        This response is generated  after  local  execution  of  a  SNDDG
   command.  The format of DGSNT is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +--+-+--+-+---------+---------+---------+
             |PF|0|PS|R|   OPC   |  STATUS |   PORT  |     :A + 12
             +--+-+--+-+---------+---------+---------+
             |                   |      DG_LEN       |     :A + 16
             |                   +-------------------+
             |                                       |
             =                  DG                   =
             |                                       |
             +---------------------------------------+
             |                                       |     :A + 18 
             =               RESERVED FOR            =      + DG_LEN
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN
                                                             

   Fields of DGSNT are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31>          PF         Packing format.  
                                          See 6.1

    A + 12       <30:27>       MBZ

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1


   PORT COMMANDS AND RESPONSES                                   Page 7-4


    A + 12       <23:16>       OPC        OPC = 1 for DGSNT.  

    A + 12       <15:8>        STATUS     Status. Types are:
                                             OK.
                                             No path.
                                             Packet size violation.
                                             Invalid destination port.
                                             Abort.

    A + 12       <7:0>         PORT       The destination port.
                                          See 6.1

    A + 16       <31:16>                  Same as fields of the
    through                               corresponding SNDDG.
    A - 4 + DQE_LEN
            

   PORT COMMANDS AND RESPONSES                                   Page 7-5


   7.1.3  Datagram Received

        This response is generated on receipt of a datagram (DG)  packet.
   The format of DGREC is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +--+-------+---------+---------+--------+
             |PF|  0    |   OPC   |  STATUS |   PORT |     :A + 12
             +--+-------+---------+---------+--------+
             |                    |       DG_LEN     |     :A + 16
             |                    +------------------+
             |                                       |
             =                  DG                   =
             |                                       |
             +---------------------------------------+
             |                                       |     :A + 18
             =              UNPREDICTABLE            =      + DG_LEN
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN
                                                             

   DGREC fields are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31>          PF         Packing format. 
                                          See 6.1


    A + 12       <30:24>       MBZ

    A + 12       <23:16>       OPC        Opcode = 33 for DGREC.  

    A + 12       <15:8>        STATUS     Status. Types are:
                                             OK.
                                             Packet size violation.


   PORT COMMANDS AND RESPONSES                                   Page 7-6


    A + 12       <7:0>         PORT       Port which sent
                                          the datagram packet.

    A + 16       <15:0>        DG_LEN     Intended datagram text
                                          length in bytes.  Actual
                                          length if STATUS does not
                                          indicate packet size
                                          violation.

    A + 16       <31:16>       DG         If STATUS = OK then
    through                               bytes A + 18 through
    A - 4 + DQE_LEN                       A + 17 + DG_LEN contain
                                          the datagram.  

                                          If STATUS = packet size
                                          violation and if
                                          DQE_LEN <= IBUF_LEN 
                                          in PPR then bytes A + 18
                                          through A - 1 + DQE_LEN
                                          contain the first DQE_LEN
                                          - 18 bytes of the datagram.

                                          If STATUS = packet size
                                          violation and if
                                          QE_LEN > IBUF_LEN                 
                                          in PPR then bytes A + 18
                                          through A - 17 + IBUF_LEN
                                          contain the first IBUF_LEN
                                          bytes of the datagram.

                                          The remaining bytes of the
                                          queue entry (if any) are
                                          UNPREDICTABLE.


   PORT COMMANDS AND RESPONSES                                   Page 7-7


   7.2  MESSAGE SENDING

   7.2.1  Send Message

        This command sends a message (MSG) packet.  The packet is sent in
   sequenced mode and requires an open virtual circuit to the destination
   port.  The format of SNDMSG is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +--+---+--+-+--------+---------+--------+
             |PF|MBZ|PS|R|  OPC   |   MBZ   |   PORT |     :A + 12
             +--+---+--+-+--------+---------+--------+
             |                    |      MSG_LEN     |     :A + 16
             |                    +------------------+
             |                                       |
             =               MSG                     =
             |                                       |
             +---------------------------------------+
             |                                       |     :A + 18
             |                                       |      +MSG_LEN
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + MQE_LEN
                                                             
   SNDMSG fields are:

   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31>          PF         Packing format.  
                                          See 6.1

    A + 12       <30:27>       MBZ

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit. 

   PORT COMMANDS AND RESPONSES                                   Page 7-8


                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 2 for SNDMSG.  

    A + 12       <15:8>        MBZ

    A + 12       <7:0>         PORT       The destination port.
                                          See 6.1

    A + 16       <15:0>        MSG_LEN    Message text length
                                          in bytes.  Valid values
                                          are 0 to the minimum of
                                          IBUF_LEN and MQE_LEN - 18.
                                          Oversize messages are not
                                          sent.

    A + 16       <31:16>       MSG        Bytes A + 18 through
    through                               A + 17 + MSG_LEN contain
    A - 4 + MQE_LEN                       the message to be sent.
                                          Bytes A + 18 + MSG_LEN
                                          through A - 1 + MQE_LEN
                                          are reserved for software
                                          and ignored by the port.

   PORT COMMANDS AND RESPONSES                                   Page 7-9


   7.2.2  Message Sent

        This response is generated after  local  execution  of  a  SNDMSG
   command.  The format of MSGSNT is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +--+-+--+-+---------+---------+---------+
             |PF|0|PS|R|   OPC   |  STATUS |   PORT  |     :A + 12
             +--+-+--+-+---------+---------+---------+
             |                   |      MSG_LEN      |     :A + 16
             |                   +-------------------+
             |                                       |
             =               MSG                     =
             |                                       |
             +---------------------------------------+
             |                                       |     :A + 18
             =               RESERVED FOR            =      + MSG_LEN
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + MQE_LEN
                                                             

   MSGSNT fields are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31>          PF         Packing format.  
                                          See 6.1

    A + 12       <30:27>       MBZ

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1


   PORT COMMANDS AND RESPONSES                                  Page 7-10


    A + 12       <23:16>       OPC        OPC = 2 for MSGSNT.  

    A + 12       <15:8>        STATUS     Status. Types are:
                                             OK.
                                             Virtual circuit closed.
                                             No path.
                                             Packet size violation.
                                             Invalid destination port.
                                             Abort.
                                          All except OK close the virtual
                                          circuit.

    A + 12       <7:0>         PORT       The destination port.
                                          See 6.1

    A + 16       <31:0>                   Same as fields of the
    through                               corresponding SNDMSG.
    A - 4 + MQE_LEN
            

   PORT COMMANDS AND RESPONSES                                  Page 7-11


   7.2.3  Message Received

        This response is generated on receipt of a message MSG packet  on
   an open virtual circuit.  The format of MSGREC is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +--+------+---------+---------+---------+
             |PF|  0   |   OPC   |  STATUS |   PORT  |     :A + 12
             +--+------+---------+---------+---------+
             |                   |      MSG_LEN      |     :A + 16
             |                   +-------------------+
             |                                       |
             =               MSG                     =
             |                                       |
             +---------------------------------------+
             |                                       |     :A + 18
             =               UNPREDICTABLE           =      + MSG_LEN
             |                                       |     :A - 4
             +---------------------------------------+      + MQE_LEN
                                                             

   MSGREC fields are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31>          PF         Packing format.  
                                          See 6.1
    A + 12       <30:24>       MBZ       

    A + 12       <23:16>       OPC        OPC = 34 for MSGREC.  

    A + 12       <15:8>        STATUS     Status. Types are:
                                             OK.
                                             Packet size violation.
                                             This closes the virtual
                                             circuit.


   PORT COMMANDS AND RESPONSES                                  Page 7-12


    A + 12       <7:0>         PORT       Port which sent the message 
                                          packet.

    A + 16       <15:0>        MSG_LEN    Intended message text
                                          length in bytes.  Actual
                                          length if STATUS does not
                                          indicate packet size
                                          violation.

    A + 16       <31:16>       MSG        If STATUS = OK then
    through                               Bytes A + 18 through
    A - 4 + MQE_LEN                       A + 17 + MSG_LEN contain
                                          the message.  

                                          If STATUS = packet size
                                          violation and if
                                          MQE_LEN < IBUF_LEN field
                                          in PPR then bytes A + 18
                                          through A - 1 + MQE_LEN
                                          contain the first MQE_LEN
                                          - 18 bytes of the message.

                                          If STATUS = packet size
                                          violation and if
                                          MQE_LEN > IBUF_LEN field
                                          in PPR then bytes A + 18
                                          through A - 17 + IBUF_LEN
                                          contain the first IBUF_LEN
                                          bytes of the message.

                                          The remaining bytes of the 
                                          queue entry (if any) are
                                          UNPREDICTABLE.


   PORT COMMANDS AND RESPONSES                                  Page 7-13


   7.3  SENDING DATA

   7.3.1  Send Data

        This  command  sends  data  from  a  local  named  buffer  to   a
   destination  named  buffer.   The  data  is  sent  in one or more data
   (SNTDAT) packets.  The last packet has the last packet flag set.   The
   packets are sent in sequenced mode and require an open virtual circuit
   to the destination port.  The format of SNDDAT is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-+-+---+--+-+--------+--------+--------+
             |P|M|MBZ|PS|R|   OPC  |   MBZ  |  PORT  |     
             +-+-+---+--+-+--------+--------+--------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |               XCT_LEN                 |     :A + 24
             +---------------------------------------+
             |               SND_NAME                |     :A + 28
             +---------------------------------------+
             |               SND_OFFSET              |     :A + 32
             +---------------------------------------+
             |               REC_NAME                |     :A + 36
             +---------------------------------------+
             |               REC_OFFSET              |     :A + 40
             +---------------------------------------+
             |                                       |     :A + 44
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + MQE_LEN


   SNDDAT fields are:


   Longword      Bits          Name       Description
    
    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


   PORT COMMANDS AND RESPONSES                                  Page 7-14



    A + 12       <31>          P          Data packet base size.
                                          See 6.1

    A + 12       <30:28>       M          Packet multiple.  
                                          See 6.1

    A + 12       <27>          MBZ

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 16 for SNDDAT.

    A + 12       <15:8>        MBZ

    A + 12       <7:0>         PORT       The destination port.
                                          See 6.1

    A + 16       <63:0>        XCT_ID     Transaction identifier.

    A + 24       <31:0>        XCT_LEN    The length of the data 
                                          transfer in bytes.
                                          XCT_LEN<31> MBZ.

    A + 28       <31:0>        SND_NAME   The sending buffer 
                                          name.

    A + 32       <31:0>        SND_OFFSET The starting byte of 
                                          the transfer relative 
                                          to byte 0 of the 
                                          sending buffer.
                                          SND_OFFSET<31> MBZ.

    A + 36       <31:0>        REC_NAME   The receiving buffer 
                                          name.

    A + 40       <31:0>        REC_OFFSET The starting byte of 
                                          the receiving area 
                                          relative to byte 0 of 
                                          the receiving buffer. 
                                          REC_OFFSET<31> MBZ.

    A + 44                                Reserved for software. 
    through                               Ignored by the port.
    A - 4 + MQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-15


   7.3.2  Data Sent

        This response is generated after  local  execution  of  a  SNDDAT
   command.  The format of DATSNT is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-+---+-+--+-+--------+--------+--------+
             |P| M |0|PS|R|   OPC  | STATUS |  PORT  |     :A + 12
             +-+---+-+--+-+--------+--------+--------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |               XCT_LEN                 |     :A + 24
             +---------------------------------------+
             |               SND_NAME                |     :A + 28
             +---------------------------------------+
             |               SND_OFFSET              |     :A + 32
             +---------------------------------------+
             |               REC_NAME                |     :A + 36
             +---------------------------------------+
             |               REC_OFFSET              |     :A + 40
             +---------------------------------------+
             |                                       |     :A + 44
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + MQE_LEN


   DATSNT fields are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31>          P          Data packet base size.
                                          See 6.1

    A + 12       <30:28>       M          Packet multiple.  

   PORT COMMANDS AND RESPONSES                                  Page 7-16


                                          See 6.1

    A + 12       <27>          MBZ

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit.
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 16 for DATSNT.  

    A + 12       <15:8>        STATUS     Status. Types are:
                                             OK.
                                             Virtual circuit closed.
                                             Invalid buffer name.
                                             Buffer length violation.
                                             Access control violation.
                                             No path.
                                             Buffer memory system error.
                                             Packet size violation.
                                             Invalid destination port.
                                             Abort.
                                          All except OK close the 
                                          virtual circuit.

    A + 12       <7:0>         PORT       The destination port.
                                          See 6.1

    A + 16                                Same as fields of
    through                               corresponding SNDDAT.
    A - 4 + MQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-17


   7.3.3  Return Confirm

        This command sends a confirm (CNF) packet.  The packet is sent in
   sequenced mode and requires an open virtual circuit to the destination
   port.  RETCNF is port generated on receipt of a data  (SNTDAT)  packet
   with  the  last packet flag set on an open virtual circuit.  RETCNF is
   normally not generated by a port driver.  When port generated,  RETCNF
   is inserted on CMDQ3.  The format of RETCNF is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +----+--+-+---------+---------+---------+
             | MBZ|PS|R|   OPC   |   MBZ   |   PORT  |     :A + 12
             +----+--+-+---------+---------+---------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |                                       |     :A + 24
             =               RESERVED FOR            =
             |               SOFTWARE OR             |
             |               UNPREDICTABLE           |
             |                                       |     :A - 4
             +---------------------------------------+      + MQE_LEN


   Fields for RETCNF are:

   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31:27>       MBZ

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 3 for RETCNF.  


   PORT COMMANDS AND RESPONSES                                  Page 7-18


    A + 12       <15:8>        MBZ                   

    A + 12       <7:0>         PORT       For port generated commands
                                          the port which sent the SNTDAT
                                          packet.

    A + 16       <63:0>        XCT_ID     Transaction identifier.
                                          The value to be placed in
                                          the XCT_ID field of the
                                          CNF packet.
                                          For port generated commands 
                                          obtained from the XCT_ID 
                                          field of the SNTDAT
                                          packet.

    A + 24                                Reserved for software
    through                               for port driver generated
    A - 4 + MQE_LEN                       commands.  UNPREDICTABLE
                                          for port generated commands.  
                                          Ignored by the port.

   PORT COMMANDS AND RESPONSES                                  Page 7-19


   7.3.4  Confirm Returned

        This response is generated after the local execution of a  RETCNF
   command.   It is also generated on receipt of any data (SNTDAT) packet
   on an open virtual circuit which results in an error in attempting  to
   place the data in a buffer.  The format of CNFRET is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +----+--+-+---------+---------+---------+
             |  0 |PS|R|   OPC   |  STATUS |   PORT  |     :A + 12
             +----+--+-+---------+---------+---------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |                                       |     :A + 24
             =               RESERVED FOR            =
             |               SOFTWARE OR             |
             |               UNPREDICTABLE           |
             |                                       |     :A - 4
             +---------------------------------------+      + MQE_LEN


   CNFRET fields are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <31:27>       MBZ

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit.
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 3 for CNFRET.  

    A + 12       <15:8>        STATUS     Status.  Types are:
                                            OK.

   PORT COMMANDS AND RESPONSES                                  Page 7-20


                                            Virtual circuit closed.
                                            Invalid buffer name.
                                            Buffer length violation.
                                            Access control violation.
                                            No path.
                                            Buffer memory system error.
                                            Packet size violation.
                                            Invalid destination port.
                                            Abort.
                                          All except OK close the virtual
                                          circuit.         

    A + 12       <7:0>         PORT       The destination port.             
                                          See 6.1

    A + 16                                Same as fields of the
    through                               corresponding RETDAT.
    A - 4 + MQE_LEN                       UNPREDICTABLE if direct
                                          port generated response.

   PORT COMMANDS AND RESPONSES                                  Page 7-21


   7.3.5  Confirm Received

        This response is generated on receipt of a confirm  (CNF)  packet
   on an open virtual circuit.  The format of CNFREC is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +---------+---------+---------+---------+
             |     0   |   OPC   |  STATUS |   PORT  |     :A + 12
             +---------+---------+---------+---------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |                                       |     :A + 24
             =               UNPREDICTABLE           =
             |                                       |     :A - 4
             +---------------------------------------+      + MQE_LEN


   CNFREC fields are:


   Longword      Bits          Name       Description

    A            <31:0>       FLINK       Queue forward link.
                                          See 6.1

    A + 4        <31:0>       BLINK       Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <31:24>      MBZ

    A + 12       <23:16>      OPC         OPC = 25 for CNFREC.  

    A + 12       <15:8>       STATUS      Status. Types are:
                                             OK.

    A + 12       <7:0>        PORT        Port which sent the
                                          confirmation packet.
                                          
    A + 16       <63:0>       XCT_ID      Transaction identifier.
                                          Copied from the XCT_ID
                                          field of the CNF packet.


    A + 24                                UNPREDICTABLE.

   PORT COMMANDS AND RESPONSES                                  Page 7-22


    through
    A - 4 + MQE_LEN



   7.4  REQUESTING DATA

   7.4.1  Request Data

        This command sends a data  request  (DATREQ0,  DATREQ1,  DATREQ2)
   packet.   The  packet  is  sent in sequenced mode and requires an open
   virtual circuit to the destination port.   REQDAT  has  three  opcodes
   (REQDAT0,  REQDAT1,  and  REQDAT2)  which  determine  the data request
   packet opcode.  The format of REQDAT is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-+-+---+--+-+--------+--------+--------+
             |P|M|MBZ|PS|R|   OPC  |   MBZ  |  PORT  |     :A + 12     
             +-+-+---+--+-+--------+--------+--------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |               XCT_LEN                 |     :A + 24
             +---------------------------------------+
             |               SND_NAME                |     :A + 28
             +---------------------------------------+
             |               SND_OFFSET              |     :A + 32
             +---------------------------------------+
             |               REC_NAME                |     :A + 36
             +---------------------------------------+
             |               REC_OFFSET              |     :A + 40
             +---------------------------------------+
             |                                       |     :A + 44
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + MQE_LEN


   REQDAT fields are:

   Longword      Bits          Name       Description


    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  

   PORT COMMANDS AND RESPONSES                                  Page 7-23


                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <31>          P          The value to be placed in
                                          the P field of the DATREQ
                                          packet.

    A + 12       <30:28>       M          The value to be placed
                                          in the M field of the
                                          DATREQ packet.

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 8 for REQDAT0
                                          OPC = 9 for REQDAT1
                                          OPC = 10 for REQDAT2

    A + 12       <15:8>        MBZ

    A + 12       <7:0>         PORT       The destination port.
                                          See 6.1

    A + 16       <63:0>        XCT_ID     The value to be placed
                                          in the the XCT_ID field
                                          of the DATREQ packet.

    A + 24       <31:0>        XCT_LEN    The value to be placed
                                          in the XCT_LEN field of 
                                          the DATREQ packet.
                                          XCT_LEN<31> MBZ.

    A + 28       <31:0>        SND_NAME   The value to be placed 
                                          in the SND_NAME field 
                                          of the DATREQ packet.

    A + 32       <31:0>        SND_OFFSET The value to be placed 
                                          in the SND_OFFSET 
                                          field of the DATREQ 
                                          packet.  SND_OFFSET<31>
                                          MBZ.

    A + 36       <31:0>        REC_NAME   The value to be placed 
                                          in the REC_NAME field 
                                          of the DATREQ packet.

    A + 40       <31:0>        REC_OFFSET The value to be placed 
                                          in the REC_OFFSET 
                                          field of the DATREQ 
                                          packet.  REC_OFFSET<31>

   PORT COMMANDS AND RESPONSES                                  Page 7-24


                                          MBZ.

    A + 44                                Reserved for software. 
    through                               Ignored by the port.
    A - 4 + MQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-25


   7.4.2  Data Requested

        This response is generated after  local  execution  of  a  REQDAT
   command.  The format of DATREQ is:


              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-+---+-+--+-+--------+--------+--------+
             |P| M |0|PS|R|   OPC  | STATUS |  PORT  |     :A + 12
             +-+---+-+--+-+--------+--------+--------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |               XCT_LENGTH              |     :A + 24
             +---------------------------------------+
             |               SND_NAME                |     :A + 28
             +---------------------------------------+
             |               SND_OFFSET              |     :A + 32
             +---------------------------------------+
             |               REC_NAME                |     :A + 36
             +---------------------------------------+
             |               REC_OFFSET              |     :A + 40
             +---------------------------------------+
             |                                       |     :A + 44
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + MQE_LEN


   DATREQ fields are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31>          P          Data packet base size.
                                          See 6.1


   PORT COMMANDS AND RESPONSES                                  Page 7-26


    A + 12       <30:28>       M          Packet multiple.  
                                          See 6.1

    A + 12       <27>          MBZ

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 8 for DATREQ0.
                                          OPC = 9 for DATREQ1.
                                          OPC = 10 for DATREQ2.

    A + 12       <15:8>        STATUS     Status.  Types are:
                                            OK.
                                            Virtual circuit closed.
                                            No path.
                                            Invalid destination port.
                                            Abort.
                                          All except OK close the virtual
                                          circuit.

    A + 12       <7:0>         PORT       The destination port.
                                          See 6.1

    A + 16                                Same as fields of the
    through                               corresponding REQDAT.
    A - 4 + MQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-27


   7.4.3  Return Data

        This  command  sends  data  from  a  local  named  buffer  to   a
   destination  named  buffer.   The  data  is  sent  as one or more data
   (RETDAT) packets.  The last packet has the last packet flag set.   The
   packets are sent in sequenced mode and require an open virtual circuit
   to the destination port.  RETDAT is port generated  on  receipt  of  a
   data  request  packet  on  an  open  virtual  circuit.   RETDAT is not
   normally generated by a port driver.  When generated by the  port  the
   data  request packet opcode determines the CMDQ on which the RETDAT is
   inserted:

        1.  DATREQ0 - CMDQ0.

        2.  DATREQ1 - CMDQ1.

        3.  DATREQ2 - CMDQ2.


        The format of RETDAT is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-+-+---+--+-+--------+--------+--------+
             |P|M|MBZ|PS|R|   OPC  |   MBZ  |  PORT  |     :A + 12
             +-+-+---+--+-+--------+--------+--------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |               XCT_LEN                 |     :A + 24
             +---------------------------------------+
             |               SND_NAME                |     :A + 28
             +---------------------------------------+
             |               SND_OFFSET              |     :A + 32
             +---------------------------------------+
             |               REC_NAME                |     :A + 36
             +---------------------------------------+
             |               REC_OFFSET              |     :A + 40
             +---------------------------------------+
             |                                       |     :A + 44
             =               RESERVED FOR            =
             |               SOFTWARE OR             |
             |               UNPREDICTABLE           |
             |                                       |     :A - 4
             +---------------------------------------+      + MQE_LEN


   RETDAT fields are:


   PORT COMMANDS AND RESPONSES                                  Page 7-28



   Longword      Bits          Name       Description


    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <31>          P          Data packet base size.
                                          Copied from the P field
                                          of the DATREQ packet
                                          for port generated
                                          commands.

    A + 12       <30:28>       M          Packet multiple. Copied 
                                          from the M field of the 
                                          DATREQ packet for
                                          port generated commands.

    A + 12       <27>          MBZ

    A + 12       <26:25>       PS         Path select. Cleared for 
                                          automatic mode in port 
                                          generated commands.

    A + 12       <24>          R          Response flag. Cleared 
                                          for port generated commands.

    A + 12       <23:16>       OPC        OPC = 17 for RETDAT.

    A + 12       <15:8>        MBZ
    
    A + 12       <7:0>         PORT       Port. Copied from the
                                          sending port field
                                          in the DATREQ packet
                                          for port generated 
                                          commands.

    A + 16       <63:0>        XCT_ID     Transaction identifier.
                                          Copied from the XCT_ID
                                          field in the DATREQ
                                          packet for port
                                          generated commands.

    
    A + 24       <31:0>        XCT_LEN    The length of the data 
                                          transfer in bytes.
                                          Copied from the XCT_LEN
                                          field of the DATREQ
                                          packet for port

   PORT COMMANDS AND RESPONSES                                  Page 7-29


                                          generated commands.
                                          XCT_LEN<31> MBZ.

    A + 28       <31:0>        SND_NAME   The sending buffer 
                                          name.  Copied from the
                                          SND_NAME field in the
                                          DATREQ packet for
                                          port generated commands.

    A + 32       <31:0>        SND_OFFSET The starting byte of 
                                          the transfer relative 
                                          to byte 0 of the 
                                          sending buffer.  Copied
                                          from the SND_OFFSET field
                                          of the DATREQ packet
                                          for port generated commands.
                                          SND_OFFSET<31> MBZ.

    A + 36       <31:0>        REC_NAME   The receiving buffer 
                                          name.  Copied from the
                                          REC_NAME field of the
                                          DATREQ packet for
                                          port generated commands.

    A + 40       <31:0>        REC_OFFSET The starting byte of 
                                          the receiving area 
                                          relative to byte 0 of 
                                          the receiving buffer. 
                                          Copied from the REC_OFFSET
                                          field of the DATREQ
                                          packet for automatically
                                          generated commands.
                                          REC_OFFSET<31> MBZ.

    A + 44                                Reserved for software
    through                               for port driver generated
    A - 4 + MQE_LEN                       commands and UNPREDICTABLE
                                          for port generated
                                          commands.  Ignored by the
                                          port.

   PORT COMMANDS AND RESPONSES                                  Page 7-30


   7.4.4  Data Returned

        This response is generated after  local  execution  of  a  RETDAT
   command.  The format of DATRET is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-+---+-+--+-+--------+--------+--------+
             |P| M |0|PS|R|  OPC   | STATUS |  PORT  |     :A + 12
             +-+---+-+--+-+--------+--------+--------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |               XCT_LENGTH              |     :A + 24
             +---------------------------------------+
             |               SND_NAME                |     :A + 28
             +---------------------------------------+
             |               SND_OFFSET              |     :A + 32
             +---------------------------------------+
             |               REC_NAME                |     :A + 36
             +---------------------------------------+
             |               REC_OFFSET              |     :A + 40
             +---------------------------------------+
             |                                       |     :A + 44
             =               SOFTWARE DEFINED        =
             |               OR UNPREDICTABLE        |
             |                                       |     :A - 4
             +---------------------------------------+      + MQE_LEN


   DATRET fields are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <31>          P          Data packet base size.
                                          See 6.1

    A + 12       <30:28>       M          Packet multiple.  


   PORT COMMANDS AND RESPONSES                                  Page 7-31


    A + 12       <27>          MBZ

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

|   A + 12       <23:16>       OPC        OPC = 17 for DATRET.  

    A + 12       <15:8>        STATUS     Status.  Types are:
                                            OK.
                                            Virtual circuit closed.
                                            Invalid buffer name.
                                            Buffer length violation.
                                            Access control violation.
                                            No path.
                                            Buffer memory system error.
                                            Packet size violation.
                                            Invalid destination port.
                                            Abort.
                                          All except OK close the virtual
                                          circuit.

    A + 12        <7:0>        PORT       The destination port.
                                          See 6.1
        
    A + 16                                Same as fields of the
    through                               corresponding RETDAT.
    A - 4 + MQE_LEN                       For port
                                          generated commands
                                          XCT_LENGTH,SND_OFFSET,
                                          and REC_OFFSET are
                                          UNPREDICTABLE.

   PORT COMMANDS AND RESPONSES                                  Page 7-32


   7.4.5  Data Received

        This response is generated on receipt of a data  (RETDAT)  packet
   with  the last packet flag set on an open virtual circuit.  It is also
   generated on receipt of any data (RETDAT) packet on  an  open  virtual
   circuit  which  results  in an error attempting to place the data in a
   buffer.  The format of DATREC is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +---------+---------+---------+---------+
             |     0   |   OPC   |  STATUS |   PORT  |     :A + 12
             +---------+---------+---------+---------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |                                       |     :A + 24
             =               UNPREDICTABLE           =
             |                                       |     :A - 4
             +---------------------------------------+      + MQE_LEN


   DATREC fields are:


   Longword      Bits          Name       Description


    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31:24>       MBZ

    A + 12       <23:16>       OPC        OPC = 49 for DATREC.

    A + 12       <15:8>        STATUS     Status.  Types are:
                                            OK.
                                            Invalid buffer name.
                                            Buffer length violation.
                                            Access control violation.
                                            Buffer memory system error.
                                            Abort.

   PORT COMMANDS AND RESPONSES                                  Page 7-33


                                            Packet size violation.
                                          All except OK close the virtual
                                          circuit.
                                            
    A + 12       <7:0>         PORT       Port which sent the RETDAT 
                                          packet.

    A + 16       <63:0>        XCT_ID     Transaction identifier.
                                          Obtained from the XCT_ID
                                          field of the RETDAT packet.

    A + 24                                UNPREDICTABLE.
    through
    A - 4 + MQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-34


   7.5  TRANSLATION CACHE INVALIDATION

   7.5.1  Invalidate Translation Cache

        This command invalidates  all  cached  address  translations  for
   named buffers.  The format of INVTC is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-------+-+---------+---------+---------+
             |  MBZ  |R|   OPC   |   MBZ   |  PORT   |     :A + 12
             +-------+-+---------+---------+---------+
             |                                       |     :A + 16
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN

   INVTC fields are:

   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31:25>       MBZ

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 24 for INVTC.

    A + 12       <7:0>         PORT       Ignored by the port.


    A + 16                                Reserved for software.
    through                               Ignored by the port.
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-35


   7.5.2  Translation Cache Invalidated

        This response is generated after  local  execution  of  an  INVTC
   command.  The format of TCINV is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-------+-+---------+---------+---------+
             |   0   |R|   OPC   |  STATUS |   PORT  |     :A + 12
             +-------+-+---------+---------+---------+
             |                                       |     :A + 16
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN

   TCINV fields are:

   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31:25>       MBZ

    A + 12       <24>          R          Response Queue bit.
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 24 for TCINV.

    A + 12       <15:8>        STATUS     Status.  Types are:
                                            OK.
                                            Abort.

    A + 12       <7:0>         PORT       Not used.
                                             
    A + 16                                Same as fields of the
    through                               corresponding INVTC.
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-36


   7.6  VIRTUAL CIRCUIT CONTROL

   7.6.1  Set Circuit

        This command modifies a VCD.  If the R-bit is set, the  value  of
   the VCD prior to modification is returned in the CKTSET response.  The
   format of SETCKT is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-------+-+---------+---------+---------+
             |   MBZ |R|   OPC   |   MBZ   |   PORT  |     :A + 12
             +-------+-+---------+---------+---------+
             |      RESERVED     |     MASK          |     :A + 16
             |        FOR        +-------------------+
             |      SOFTWARE     |     M_VALUE       |     :A + 20
             +-------------------+-------------------+
             |        RESERVED FOR RESPONSE          |     :A + 24
             +---------------------------------------+
             |                                       |     :A + 28
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN


   SETCKT fields are:


   Longword      Bits          Field      Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31:25>       MBZ

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 25 for SETCKT.

    A + 12       <7:0>         PORT       Port for which VCD

   PORT COMMANDS AND RESPONSES                                  Page 7-37


                                          is to be modified.
    
    A + 16       <31:16>                  Reserved for software.
                                          Ignored by the port.

    A + 16       <15:0>        MASK       Mask to control mod-
                                          ification of the VCD.

                                          MASK<15:0> controls
                                          modification of
                                          VCD<15:0> as follows:
                                            If MASK<i> is set
                                            VCD<i> is loaded with
                                            M_VALUE<i>; otherwise
                                            VCD<i> is unchanged.

    A + 20       <31:16>                  Reserved for software.
                                          Ignored by the port.

    A + 20       <15:0>        M_VALUE    Modification value.

    A + 24       <31:0>                   Reserved for response.

    A + 28                                Reserved to software.
    through                               Ignored by the port.
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-38


   7.6.2  Circuit Set

        This response is generated after  local  execution  of  a  SETCKT
   command.  The format of CKTSET is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-------+-+---------+---------+---------+
             |    0  |R|   OPC   |  STATUS |   PORT  |     :A + 12
             +-------+-+---------+---------+---------+
             |      RESERVED     |     MASK          |     :A + 16
             |        FOR        +-------------------+
             |      SOFTWARE     |     M_VALUE       |     :A + 20
             +-------------------+-------------------+
             |   UNPREDICTABLE   |     IN_VCD        |     :A + 24
             +-------------------+-------------------+
             |                                       |     :A + 28
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN


   Fields of CKTSET are:


   Longword      Bits          Field      Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31:25>       MBZ

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 25 for CKTSET.


    A + 12       <15:8>        STATUS     Status.  Types are:
                                            OK.
                                            Invalid destination port.

   PORT COMMANDS AND RESPONSES                                  Page 7-39


                                            Abort.

    A + 12       <7:0>         PORT       Port for which VCD
                                          is to be modified.

    A + 16       <31:0>                   Same as fields of the
    through                               corresponding SETCKT.
    A + 20
    
    A + 24       <31:16>                  UNPREDICTABLE.

    A + 24       <15:0>        IN_VCD     Initial value of VCD
                                          before modification.


    A + 28                                Same as fields of
    through                               corresponding SETCKT.
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-40


   7.7  CI EVENT COUNTING

        CI event  counting  is  controlled  by  the  Read  Count  (RDCNT)
   command.   The  counts of CI packet ACKs, NAKs, NO_RSPs, and datagrams
   discarded are kept for a single specified port or for  all  ports  (by
   specifying port 255).

        RDCNT clears the counters and selects the port (or all ports) for
   which  subsequent  counts  will be kept.  If the R-bit is set, a Count
   Read (CNTRD) response is generated giving the values of  the  counters
   prior  to  clearing.  The counter values are unsigned 32-bit integers.
   If  a  counter  overflows,  the  overflowing   counter   is   set   to
   'FFFFFFFF'(hex) and locked until cleared.

        If an invalid port is selected for  counting,  the  counters  are
   cleared, the values returned (with error status), and the invalid port
   selected.  No subsequent events will be counted.

        On  entry  to  the  Enabled  or  Enabled/Maintenance  state,  the
   counters are cleared and counting is selected for all ports.

        Self-directed commands do not  effect  the  counters  unless  the
   self-directed commands send on the CI.  Thus, if the port's own number
   is  selected,  the  counter  value  interpretation  is  implementation
   specific.

   PORT COMMANDS AND RESPONSES                                  Page 7-41


   7.7.1  Read Count

        This command clears the CI event counters and enables counting of
   events corresponding to a selected port or to all ports.  If the R-bit
   is set the current counter values are returned in the CNTRD  response.
   The format of RDCNT is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-------+-+---------+---------+---------+
             |  MBZ  |R|   OPC   |  STATUS |   PORT  |     :A + 12
             +-------+-+---------+---------+---------+
             |                                       |     :A + 16
             =               RESERVED FOR            =
             |               RESPONSE                |
             |                                       |     :A + 40
             +---------------------------------------+
             |                                       |     :A + 44
             =               RESERVED FOR            =   
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN


   RDCNT fields are:

   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31:25>       MBZ

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

    A + 8        <23:16>       OPC        OPC = 26 for RDCNT

    A + 12       <7:0>         PORT       Port for which events
                                          are to be counted.  PORT = 
                                          255 results in 
                                          counting events for

   PORT COMMANDS AND RESPONSES                                  Page 7-42


                                          all ports.

    A + 16                                To be filled by values
    through                               of event counters in
    A + 43                                response.

    A + 44                                Reserved for software.
    through                               Ignored by the port.
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-43


   7.7.2  Count Read

        This response is generated  after  local  execution  of  a  RDCNT
   command.   The current counter values are returned.  Counter values of
   'FFFFFFFF' (hex) are not valid and indicate error  or  overflow.   The
   format of CNTRD is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-------+-+---------+---------+---------+
             |    0  |R|   OPC   |  STATUS |   PORT  |     :A + 12
             +-------+-+---------+---------+---------+
             |               PATH0_ACK               |     :A + 16
             +---------------------------------------+
             |               PATH0_NAK               |     :A + 20
             +---------------------------------------+
             |               PATH0_NO_RSP            |     :A + 24   
             +---------------------------------------+
             |               PATH1_ACK               |     :A + 28
             +---------------------------------------+
             |               PATH1_NAK               |     :A + 32
             +---------------------------------------+
             |               PATH1_NO_RSP            |     :A + 36
             +---------------------------------------+     
             |               DG_DISC                 |     :A + 40
             +---------------------------------------+
             |                                       |     :A + 44
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN

   CNTRD fields are:

   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31:25>       MBZ

    A + 12       <24>          R          Response Queue bit. 

   PORT COMMANDS AND RESPONSES                                  Page 7-44


                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 26 for CNTRD.

    A + 12       <15:8>        STATUS     Status.  Types are:
                                            OK.
                                            Invalid destination port.
                                            Abort.

    A + 12       <31:0>        PORT       Same as the port field
                                          of the corresponding
                                          RDCNT. Note that this
                                          is not necessarily the
                                          port for which the events
                                          were counted.
    
    A + 16       <31:0>        PATH0_ACK  Total ACKs received
                                          on path 0.

    A + 20       <31:0>        PATH0_NAK  Total NAKs received on 
                                          path 0.
       
    A + 24       <31:0>        PATH0_NO_RSP  Total NO_RSPs received
                                          on path 0.

    A + 28       <31:0>        PATH1_ACK  Total ACKs received 
                                          on path 1.  Zero for
                                          single path ports.

    A + 32       <31:0>        PATH1_NAK  Total NAKs received
                                          on path 1.  Zero for
                                          single path ports.

    A + 36       <31:0>        PATH1_NO_RSP  Total NO_RSPs received
                                          on path 1.  Zero for
                                          single path ports.
    
    A + 40       <31:0>        DG_DISC    Total number of datagrams
                                          discarded: All CI packets
                                          for which a DFREEQ entry
                                          is needed but unavailable.

    A + 44                                Same as fields of the
    through                               corresponding RDCNT.
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-45


   7.8  LOOPBACK TESTING

        The loopback test is the local port  sending  itself  a  loopback
   packet  on  the  CI  and receiving that packet.  Unlike other commands
   which when self directed may or may not actually use the CI, the  Send
   Loopback (SNDLB) command always uses the CI.

        Because some port implementations may  have  limited  ability  to
   send  and  receive  at  the same time, SNDLB is specified in a special
   way.   It  is  required  that  the  port  driver  compute  the  cyclic
   redundancy   check   (CRC)   required  by  the  CI  packet.   This  is
   conveniently done using the VAX CRC instruction.



   7.8.1  Send Loopback

        This command sends a loopback (LB) packet.  The packet is sent in
   unsequenced mode.  The format of SNDLB is:


              3
              1                                     0
             +---------------------------------------+
             |                 FLINK                 |     :A
             +---------------------------------------+
             |                 BLINK                 |     :A + 4
             +---------------------------------------+
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +--+---+--+-+-------+---------+---------+
             |PF|MBZ|PS|R|  OPC  |   MBZ   |   PORT  |     :A + 12
             +--+---+--+-+-------+---------+---------+
             |                   |       LB_LEN      |     :A + 16
             |                   +-------------------+
             |                                       |
             =                 LB                    =
             |                                       |
             +---------------------------------------+     
             |                 CRC                   |     :A + 18
             +---------------------------------------+      + LB_LEN
             |                                       |     :A + 22
             =                 RESERVED FOR          =      + LB_LEN
             |                 SOFTWARE              |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN

   SNDLB fields are:

   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

   PORT COMMANDS AND RESPONSES                                  Page 7-46



    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31>          PF         Packing format.  
                                          See 6.1

    A + 12       <30:27>       MBZ

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 13 for SNDLB.

    A + 12       <15:8>        MBZ

    A + 12       <7:0>         PORT       The destination port number.
                                          Normally the local port
                                          number.

    A + 18                     LB         Loopback text in bytes.
    through                               Valid values are 0 to the
    A + 17 + LB_LEN                       minimum of DQE_LEN-22 and
                                          IBUF_LEN-4.
        
    A + 18 +     <31:0>        CRC        The packet CRC.

    A + 22 + LB_LEN                       Reserved for software.
    through                               Ignored by the port.
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-47


        The CRC is computed over the following data structure:

              7                           0
             +-----------------------------+
             |          LB_LEN + 7         |       :P
             |                             |
             +-----------------------------+
             |            PORT             |       :P + 2
             +-----------------------------+
             |          not (PORT)         |       :P + 3
             +-----------------------------+
             |           LCL_PORT          :       :P + 4
             +-----------------------------+
             |             13              |       :P + 5
             +--+--------------------------+
             |PF|           0              |       :P + 6
             +--+--------------------------+
             |                             |       :P + 7
             =             LB              =
             |                             |       :P - 6
             +-----------------------------+        + LB_LEN

   where:

           Byte    Bits            Description

           P       <15:0>          The value of the LB_LEN
                                   field in the SNDLB plus 7.

           P+2     <7:0>           The value of the PORT field
                                   in the SNDLB.

           P+3     <7:0>           The 1's complement of the
                                   PORT field in the SNDLB.

           P+4     <7:0>           The local port number.

           P+5     <7:0>           The value 13.

           P+6     <7>             The value of the PF field in
                                   the SNDLB.

           P+6     <6:0>           The value 0.

           P+7                     The value of LB field in the
           through                 SNDLB.
           P-6 + LB_LEN

        Using the VAX CRC instruction the following steps apply:

        1.  Use  the  AUTODIN-II  polynomial  (see  DEC   STD   032   VAX
            Architecture Standard).

   PORT COMMANDS AND RESPONSES                                  Page 7-48


        2.  Initialize to -1.

        3.  The CRC value to used in SNDLB is the 1's complement  of  the
            result.


   PORT COMMANDS AND RESPONSES                                  Page 7-49


   7.8.2  Loopback Sent

        This response is generated  after  local  execution  of  a  SNDLB
   command.  The format of LBSNT is:


              3
              1                                     0
             +---------------------------------------+
             |                 FLINK                 |     :A
             +---------------------------------------+
             |                 BLINK                 |     :A + 4
             +---------------------------------------+
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +--+-+--+-+---------+---------+---------+
             |PF|0|PS|R|   OPC   |  STATUS |   PORT  |     :A + 12
             +--+-+--+-+---------+---------+---------+
             |                   |       LB_LEN      |     :A + 16
             |                   +-------------------+
             |                                       |
             =                 LB                    =
             |                                       |
             +---------------------------------------+     
             |                 CRC                   |     :A + 18
             +---------------------------------------+      + LB_LEN
             |                                       |     :A + 22
             |                                       |      + LB_LEN
             =                 RESERVED FOR          =
             |                 SOFTWARE              |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN


   LBSNT fields are:

   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <31>          PF         Packing format.  
                                          See 6.1

    A + 12       <30:27>       MBZ

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit.

   PORT COMMANDS AND RESPONSES                                  Page 7-50


                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 13 for LBSNT.

    A + 12       <15:8>        STATUS     Status.  Types are:
                                            OK.
                                            No path.
                                            Packet size violation.
                                            Invalid destination port.
                                            Abort.

    A + 12       <7:0>         PORT       The destination port. 
                                          Normally the local
                                          port number.

    A + 16                                Same as fields of the
    through                               corresponding SNDLB.
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-51


   7.8.3  Loopback Received

        This response is generated on receipt of a loopback (LB)  packet.
   The format of LBREC is:


              3
              1                                     0
             +---------------------------------------+
             |                 FLINK                 |     :A
             +---------------------------------------+
             |                 BLINK                 |     :A + 4
             +---------------------------------------+
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +---+---+-+---------+---------+---------+
             | 0 |RP |0|   OPC   |  STATUS |   PORT  |     :A + 12
             +---+---+-+---------+---------+---------+
             |                   |       LB_LEN      |     :A + 16
             |                   +-------------------+
             |                                       |
             =                 LB                    =
             |                                       |
             +---------------------------------------+     
             |                                       |     :A + 18
             |                 UNPREDICTABLE         |      + LB_LEN
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN


   LBREC fields are:

   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31:27>       MBZ

    A + 12       <26:25>       RP         Receive path. Path 
                                          on which the LB packet
                                          was received.
                                             RP = 1 path 0.
                                             RP = 2 path 1. 

    A + 12       <24>          MBZ

    A + 12       <23:16>       OPC        OPC = 45 for LBREC.


   PORT COMMANDS AND RESPONSES                                  Page 7-52


    A + 12       <15:8>        STATUS     Status.  Types are: 
                                            OK.
                                            Packet size violation.

    A + 12       <7:0>         PORT       The destination port.
                                          See 6.1

    A + 16       <15:0>                   Intended loopback text
                                          length in bytes.  Actual
                                          length if STATUS does not
                                          indicate packet size 
                                          violation.

    A + 16       <31:16>       LB         If STATUS = OK then
                                          bytes A + 18 through
                                          A + 17 + LB_LEN contain
                                          loopback text.
                   
                                          If STATUS = packet size
                                          violation and if DQE_LEN
                                          < = IBUF_LEN in PPR then
                                          bytes A + 18 through A - 1
                                          + DQE_LEN contain the first
                                          DQE_LEN - 18 bytes of the
                                          loopback text.

                                          If STATUS = packet size
                                          violation and if QE_LEN >
                                          IBUF_LEN in PPR then bytes
                                          A + 18 through A - 17 + 
                                          IBUF_LEN contain the first 
                                          IBUF_LEN bytes of the 
                                          loopback text.

                                          The remaining bytes of the 
                                          queue entry (if any) are 
                                          UNPREDICTABLE.


   PORT COMMANDS AND RESPONSES                                  Page 7-53


   7.9  CI CLUSTER CONFIGURATION

   7.9.1  Request ID

        This command sends an ID request (IDREQ) packet.  The  packet  is
   sent  in  unsequenced mode.  The receiving port will return an id (ID)
   packet if in the Enabled, Enabled/  Maintenance,  Disabled/Maintenance
   or  Uninitialized/Maintenance  states.  The ID packet returned carries
   the transaction ID value specified  in  the  REQID  command.   The  ID
   packet is also sent in unsequenced mode.  The format of REQID is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +----+--+-+---------+---------+---------+
             | MBZ|PS|R|   OPC   |   MBZ   |   PORT  |     :A + 12
             +----+--+-+---------+---------+---------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |                                       |     :A + 24
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN


   REQID fields are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <31:27>       MBZ

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 5 for REQID.

   PORT COMMANDS AND RESPONSES                                  Page 7-54



    A + 12       <15:8>        MBZ

    A + 12       <7:0>         PORT       The destination port.
                                          See 6.1

    A + 16       <63:0>        XCT_ID     Transaction identifier.
                                          
    A + 24                                Reserved for software.
    through                               Ignored by the port.
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-55


   7.9.2  ID Requested

        This response is generated  after  local  execution  of  a  REQID
   command.  The format of IDREQ is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +----+--+-+---------+---------+---------+
             |  0 |PS|R|   OPC   |  STATUS |   PORT  |     :A + 12
             +----+--+-+---------+---------+---------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |                                       |     :A + 24
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN


   IDREQ fields are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <31:27>      MBZ

    A + 12       <26:25>      PS          Path Select.
                                          See 6.1

    A + 12       <24>         R           Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>      OPC         OPC = 5 for IDREQ.

    A + 12       <15:8>       STATUS      Status.  Types are:
                                            OK.
                                            No path.
                                            Abort.


   PORT COMMANDS AND RESPONSES                                  Page 7-56


    A + 12       <7:0>        PORT        The destination port
                                          See 6.1


    A + 16                                Same as fields of the
    through                               corresponding REQID.
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-57


   7.9.3  ID Received

        This response is generated on receipt of an ID (ID) packet.   The
   format of IDREC is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
|            +-+--+-+--+-+-------+---------+---------+
|            |0|SP|0|RP|0|  OPC  | STATUS  |   PORT  |     :A + 12
|            +-+--+-+--+-+-------+---------+---------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +-+-------------------------------------+
             |D|             MAINT_ID                |     :A + 24
             +-+-------------------------------------+
             |               CODE_REV                |     :A + 28
             +---------------------------------------+
             |               PORT_FCN                |     :A + 32
             +------------------------+--+-+---------+
             |                        |PT|M| RST_PORT|     :A + 36
             |     SYS_STATE          |_ |N|         |
             |                        |ST|T|         |
             +------------------------+--+-+---------+
|            |              PORT_FCN_EXT             |     :A + 40
             +---------------------------------------+
             |                                       |     :A + 44
             =                   0                   =
             |                                       |     
             +---------------------------------------+     
             |                                       |     :A + 64
             =                UNPREDICTABLE          =
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN

   IDREC fields are:


   Longword      Bits          Name       Description
    
    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.



   PORT COMMANDS AND RESPONSES                                  Page 7-58


    A + 12       <31:30>       MBZ       

    A + 12       <29:28>       SP         Send Path
                                            SP = 0 internal loopback.
                                            SP = 1 is path 0.
                                            SP = 2 is path 1.


    A + 12       <26:25>       RP         Receive Path
                                            RP = 0 internal loopback.
                                            RP = 1 is path 0.
                                            RP = 2 is path 1.

    A + 12       <23:16>       OPC        OPC = 43 for IDREC.

    A + 12       <15:8>        STATUS     Status.  Types are:
                                            OK.

    A + 12       <7:0>         PORT       Port sending
                                          the ID packet.

    A + 16       <63:0>        XCT_ID     Transaction identifier.
                                          Same as XCT_ID field of
                                          the corresponding IDREQ
                                          packet.

    A + 24       <31>          D          Dual path.  D = 1 for
                                          dual path port.  D = 0 for
                                          single path port.

    A + 24       <30:0>        MAINT_ID   Port Type.  Values are
                                          defined in Implementation
                                          Functionality appendix.

    A + 28       <31:0>        CODE_REV   Port microcode revision.
                                          Definition of values is
                                          implementation specific.
                                          This field may be defined
                                          to carry the revision levels
                                          of multiple areas of control
                                          store.

    A + 32       <31:0>        PORT_FCN   Port functionality.
                                          Value specifies which 
                                          functions are supported 
                                          in the implementation.
                                          See Implementation 
                                          Functionality appendix 
                                          for specification of
                                          field format and values.

    A + 36       <31:11>       SYS_STATE  Implementation specific system
                                          state.

    A + 36       <10:9>        PT_ST      Port state (of destination 

   PORT COMMANDS AND RESPONSES                                  Page 7-59


                                          port).
                                            ST = 0 Uninitialized.
                                            ST = 1 Disabled.
                                            ST = 2 Enabled.
                                            
    A + 36       <8>           MNT        Maintenance.  Set for
                                          /Maintenance states.

    A + 36       <7:0>         RST_PORT   Port which caused the last
                                          reset of the port sending the 
                                          ID packet.

|  
|  A + 40        <31:0>        PORT_FCN_EXT Port Functionality 
|  through                                Extension. If the 
|  A + 43                                 contents of these 
|                                         bits is all zeros,
|                                         then this field is
|                                         not implemented.
|                                         This field is
|                                         used by diagnostic and
|                                         system software to 
|                                         provide information
|                                         about remote port
|                                         configuration. 
|                                         See Appendix G for
|                                         specific bit field 
|                                         definitions.
|  
|  
|  
|   A + 44       <31:11>                  Zero.
    through
    A + 60

    A + 64                                UNPREDICTABLE.
    through
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-60


   7.10  RESETTING SYSTEMS

|       The Send Reset (SNDRST) command sends a reset (RST) packet.   The
|  force  reset  flag  is  set  in  the  reset packet if the F-bit in the
|  command is set.  For a description of resetting  a  remote  node,  see
|  section 5.4.1.

        The Send Reset (SNDRST) command sends a reset (RST) packet.   The
   force  reset  flag  is  set  in  the  reset packet if the F-bit in the
   command is set.

   PORT COMMANDS AND RESPONSES                                  Page 7-61


   7.10.1  Send Reset

        This command sends a reset (RST) packet.  The packet is  sent  in
   unsequenced mode.  The format of SNDRST is:
                                                    

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-+---+--+-+---------+---------+--------+
             |F|MBZ|PS|R|   OPC   |   MBZ   |   PORT |     :A + 12
             +-+---+--+-+---------+---------+--------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |                                       |     :A + 24
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN


   SNDRST fields are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <31>          F          Force reset.

    A + 12       <30:27>       MBZ

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 6 for SNDRST.

    A + 12       <15:8>        MBZ


   PORT COMMANDS AND RESPONSES                                  Page 7-62


    A + 12       <7:0>         PORT       The destination port.
                                          See 6.1

    A + 16       <63:0>        XCT_ID     Transaction identifier.

    A + 24                                Reserved for software.
    through                               Ignored by the port.
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-63


   7.10.2  Reset Sent

        This response is generated after  local  execution  of  a  SNDRST
   command.  The format of RSTSNT is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-+-+--+-+----------+---------+---------+
             |F|0|PS|R|   OPC    |  STATUS |   PORT  |     :A + 12
             +-+-+--+-+----------+---------+---------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |                                       |     :A + 24
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN


   RSTSNT fields are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <31>          F          Force reset.

    A + 12       <30:27>       MBZ        

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 6 for RSTSNT

    A + 12       <15:8>        STATUS     Status.  Types are:
                                            OK.
                                            No path.

   PORT COMMANDS AND RESPONSES                                  Page 7-64


                                            Invalid destination port.
                                            Abort.

    A + 12       <7:0>         PORT       The destination port.
                                          See 6.1

                                            
    A + 16                                Same as fields of the
    through                               corresponding SNDRST.
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-65


   7.11  SENDING MAINTENANCE DATA

        The Send Maintenance Data (SNDMDAT) command is  used  to  send  a
   maintenance  data  (SNTMDAT)  packet.   A port receiving a maintenance
   data packet stores the data and returns a maintenance  confirm  (MCNF)
   packet  only if the port is in the Uninitialized/Maintenance state and
   the RST_PORT register contains the number  of  the  port  sending  the
   maintenance  data packet.  The MCNF packet is not sent if there is any
   error in processing the received SNTMDAT packet.

        A self-directed SNDMDAT results in  the  maintenance  data  being
   stored if the port is in the Enabled/Maintenance state.



   7.11.1  Send Maintenance Data

        This  command  sends  data  from  a  local  named  buffer  to   a
   destination  system.   The  data  is sent in a single maintenance data
   (SNTMDAT) packet with the last packet flag set.  The packet is sent in
   unsequenced  mode.   Upon  receiving  that packet the destination port
   stores the data and sends a maintenance confirm (MCNF)  packet.   That
   packet is also sent in unsequenced mode.  The format of SNDMDAT is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-+-----+--+-+--------+--------+--------+
             |P| MBZ |PS|R|   OPC  |  MBZ   |  PORT  |     :A + 12
             +-+-----+--+-+--------+--------+--------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |               XCT_LEN                 |     :A + 24
             +---------------------------------------+
             |               SND_NAME                |     :A + 28
             +---------------------------------------+
             |               SND_OFFSET              |     :A + 32
             +---------------------------------------+
             |               REC_NAME                |     :A + 36
             +---------------------------------------+
             |               REC_OFFSET              |     :A + 40
             +---------------------------------------+
             |                                       |     :A + 44
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN

       

   PORT COMMANDS AND RESPONSES                                  Page 7-66


   SNDMDAT fields are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31>          P          Data packet base size.
                                          See 6.1

    A + 12       <30:28>       M          Packet multiple. MBZ for
                                          for SNDMDAT.

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 18 for SNDMDAT.

    A + 12       <15:8>        MBZ        

    A + 12       <7:0>         PORT       The destination port.
                                          See 6.1

    A + 16       <63:0>        XCT_ID     Transaction ID.

    A + 24       <31:0>        XCT_LEN    The length of the data 
                                          transfer in bytes.
                                          If the data packet base
                                          size = 512 (P=0), XCT_LEN 
                                          <=512; if the data packet base
                                          size = 576 (P=1),
                                          XCT_LEN <=576.

    A + 28       <31:0>        SND_NAME   The sending buffer 
                                          name.

    A + 32       <31:0>        SND_OFFSET The starting byte of 
                                          the transfer relative 
                                          to byte 0 of the 
                                          sending buffer.
                                          SND_OFFSET<31> MBZ.

    A + 36       <31:0>        REC_NAME   Implementation 
                                          specific name of

   PORT COMMANDS AND RESPONSES                                  Page 7-67


                                          the receiving memory
                                          area.

    A + 40       <31:0>        REC_OFFSET Offset (in bytes) of
                                          receiving memory area.

    A + 44                                Reserved for software.
    through                               Ignored by the port.
    A - 4 + DQE_LEN                                

   PORT COMMANDS AND RESPONSES                                  Page 7-68


   7.11.2  Maintenance Data Sent

        This response is generated after local  execution  of  a  SNDMDAT
   command.  The format of MDATSNT is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-+-----+--+-+--------+--------+--------+
             |P|  0  |PS|R|   OPC  | STATUS |  PORT  |     :A + 12
             +-+-----+--+-+--------+--------+--------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |               XCT_LEN                 |     :A + 24
             +---------------------------------------+
             |               SND_NAME                |     :A + 28
             +---------------------------------------+
             |               SND_OFFSET              |     :A + 32
             +---------------------------------------+
             |               REC_NAME                |     :A + 36
             +---------------------------------------+
             |               REC_OFFSET              |     :A + 40
             +---------------------------------------+
             |                                       |     :A + 44
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN


   MDATSNT fields are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31>          P          Data packet base size.
                                          See 6.1

    A + 12       <30:27>       MBZ

   PORT COMMANDS AND RESPONSES                                  Page 7-69



    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 18 for MDATSNT.

    A + 12       <15:8>        STATUS     Status.  Types are:
                                            OK.
                                            Invalid buffer name.
                                            Access control violation.
                                            Buffer length violation.
                                            Access control violation.
                                            No path.
                                            Buffer memory system error.
                                            Packet size violation.
                                            Invalid destination port.
                                            Abort.

    A + 12      <7:0>          PORT         The destination port.
                                            See 6.1

                                            
    A + 16                                  Same as fields of the
    through                                 corresponding SNDMDAT.
    A - 4 + DQE_LEN                        

   PORT COMMANDS AND RESPONSES                                  Page 7-70


   7.11.3  Maintenance Confirm Received

        This response is generated on receipt of  a  maintenance  confirm
   (MCNF) packet.  The format of MCNFREC is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +---------+---------+---------+---------+
             |     0   |   OPC   |  STATUS |   PORT  |     :A + 12
             +---------+---------+---------+---------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |                                       |     :A + 24
             =               UNPREDICTABLE           =
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN


   MCNFREC fields are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <31:24>       MBZ


    A + 12       <23:16>       OPC        OPC = 36 for MCNFREC.

    A + 12       <15:8>        STATUS     Status.  Types are:
                                            OK.

    A + 12       <7:0>         PORT       Port which sent
                                          the maintenance confirm
                                          packet.

    A + 16       <63:0>        XCT_ID     Transaction identifier.
                                          Same value as in the
                                          XCT_ID field of the
                                          corresponding SNTMDAT packet.

   PORT COMMANDS AND RESPONSES                                  Page 7-71



    A + 24                                UNPREDICTABLE.
    through
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-72


   7.12  REQUESTING MAINTENANCE DATA

        The  Request  Maintenance  Data   (REQMDAT)   command   sends   a
   maintenance data request packet.  A port receiving this packet returns
   data in a return maintenance data (RETMDAT) packet only if the port is
   in  the  Uninitialized/Maintenance  state  and  the  RST_PORT register
   contains the number of the  port  sending  the  packet.   The  RETMDAT
   packet  is  not  sent  if there is any error in processing the REQMDAT
   packet.

        A self directed REQMDAT command results in data being returned if
   the port is in the Enabled/Maintenance state.



   7.12.1  Request Maintenance Data

        This command sends a maintenance data request (MDATREQ) packet to
   a  destination  port.   The  packet is sent in unsequenced mode.  Upon
   receipt of that packet, the destination port returns data to the local
   port  in  a  single  maintenance  data  (RETMDAT) packet with the last
   packet flag set.  This packet is also sent in unsequenced  mode.   The
   format of the REQMDAT is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-+-----+--+-+--------+--------+--------+
             |P| MBZ |PS|R|   OPC  |   MBZ  |  PORT  |     :A + 12
             +-+-----+--+-+--------+--------+--------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |               XCT_LEN                 |     :A + 24
             +---------------------------------------+
             |               SND_NAME                |     :A + 28
             +---------------------------------------+
             |               SND_OFFSET              |     :A + 32
             +---------------------------------------+
             |               REC_NAME                |     :A + 36
             +---------------------------------------+
             |               REC_OFFSET              |     :A + 40
             +---------------------------------------+
             |                                       |     :A + 44
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      +DQE_LEN



   PORT COMMANDS AND RESPONSES                                  Page 7-73


   REQMDAT fields are:

   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <31>          P          Data packet base size.
                                          See 6.1

    A + 12       <30:28>       M          Packet multiple. MBZ
                                          for REQMDAT command.

    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 14 for REQMDAT.

    A + 12       <15:8>        MBZ

    A + 12       <7:0>         PORT       The destination port.
                                          See 6.1

    A + 16       <63:0>        XCT_ID     Transaction ID.

    A + 24       <31:0>        XCT_LEN    The number of bytes
                                          to be read from
                                          the destination.  If
                                          the data packet base
                                          size = 512 (P = 0),
                                          XCT_LEN <=512; if
                                          the data packet base
                                          size = 576 (P = 1),
                                          XCT_LEN <=576.
                                          (These size limits are
                                          NOT checked by the port.)

    A + 28       <31:0>        SND_NAME   The implementation
                                          specific name of the
                                          sending memory area.

    A + 32       <31:0>        SND_OFFSET Offset (in bytes) of
                                          sending memory area.

    A + 36       <31:0>        REC_NAME   The name of the local
                                          system buffer to receive

   PORT COMMANDS AND RESPONSES                                  Page 7-74


                                          the maintenance data.

    A + 40       <31:0>        REC_OFFSET The offset in the local
                                          system buffer at which to
                                          begin transferring the
                                          maintenance data.
                                          REC_OFFSET<31> MBZ.

    A + 44                                Reserved for software. 
    through                               Ignored by the port.
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-75


   7.12.2  Maintenance Data Requested

        This response is generated after local  execution  of  a  REQMDAT
   command.  The format of MDATREQ is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +-+-----+--+-+--------+--------+--------+
             |P|  0  |PS|R|  OPC   | STATUS |  PORT  |     :A + 12
             +-+-----+--+-+--------+--------+--------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |               XCT_LEN                 |     :A + 24
             +---------------------------------------+
             |               SND_NAME                |     :A + 28
             +---------------------------------------+
             |               SND_OFFSET              |     :A + 32
             +---------------------------------------+
             |               REC_NAME                |     :A + 36
             +---------------------------------------+
             |               REC_OFFSET              |     :A + 40
             +---------------------------------------+
             |                                       |     :A + 44
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      +DQE_LEN


   MDATREQ fields are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.


    A + 12       <31>          P          Data packet base size.
                                          See 6.1

    A + 12       <30:27>       MBZ

   PORT COMMANDS AND RESPONSES                                  Page 7-76



    A + 12       <26:25>       PS         Path Select.
                                          See 6.1

    A + 12       <24>          R          Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>       OPC        OPC = 14 for MDATREQ.

    A + 12       <15:8>        STATUS     Status.  Types are:
                                            OK.
                                            No path.
                                            Invalid destination port.
                                            Abort.

    A + 12       <7:0>         PORT       The destination port.
                                          See 6.1

    A + 16                                Same as fields of the
    through                               corresponding MDATREQ.
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-77


   7.12.3  Maintenance Data Received

        This response is generated  on  receipt  of  a  maintenance  data
   (RETMDAT) packet with the last packet flag set.  The format of MDATREC
   is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +---------+---------+---------+---------+
             |     0   |   OPC   |  STATUS |   PORT  |     :A + 12
             +---------+---------+---------+---------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |                                       |     :A + 24
             =               UNPREDICTABLE           =
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN


   MDATREC fields are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <31:24>       MBZ

    A + 12       <23:16>       OPC        OPC = 51 for MDATREC.

    A + 12       <15:8>        STATUS     Status.  Types are:
                                            OK.
                                            Invalid buffer name.
                                            Buffer length violation.
                                            Access control violation.
                                            Buffer memory system error.
                                            Packet size violation.

    A + 12       <7:0>         PORT       Port which sent the 
                                          maintenance data packet.


   PORT COMMANDS AND RESPONSES                                  Page 7-78


    A + 16       <63:0>        XCT_ID     Transaction identifier.
                                          Same  as the XCT_ID
                                          field of the corresponding
                                          MDATREQ packet.

    A + 24                                UNPREDICTABLE
    through
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-79


   7.13  STARTING SYSTEMS

|       The Send Start (SNDSTRT) command sends  a  start  (STRT)  packet.
|  For a description of the starting of remote nodes, see section 5.4.4.



   7.13.1  Send Start

        This command sends a start (STRT) packet.  The packet is sent  in
   unsequenced mode.  The format of SNDSTRT is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +--+-+--+-+---------+---------+---------+
             |DS|0|PS|R|   OPC   |   MBZ   |   PORT  |     :A + 12
             +--+-+--+-+---------+---------+---------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |               STRT_ADDR               |     :A + 24
             +---------------------------------------+
             |                                       |     :A + 28
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN


   Fields specific to SNDSTRT are:


   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <31>         DS          Default start address.
                                          If set, systems implementing
                                          variable start addresses
                                          use an implementation 
                                          specific default address.


   PORT COMMANDS AND RESPONSES                                  Page 7-80


    A + 12       <30:27>      MBZ

    A + 12       <26:25>      PS          Path Select.
                                          See 6.1

    A + 12       <24>         R           Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>      OPC         OPC = 7 for SNDSTRT

    A + 12       <15:8>       MBZ

    A + 12       <7:0>        PORT        The destination port.
                                          See 6.1

    A + 16       <63:0>       XCT_ID      Transaction identifier.

    A + 24       <31:0>       STRT_ADDR   Starting address.

    A + 28       <31:0>                   Reserved for software.
    through                               Ignored by port.
    A - 4 + DQE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-81


   7.13.2  Start Sent

        This response is generated after local  execution  of  a  SNDSTRT
   command.  The format of STRTSNT is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |     :A
             +---------------------------------------+
             |               BLINK                   |     :A + 4
             +---------------------------------------+     
             |        RESERVED FOR SOFTWARE          |     :A + 8
             +--+-+--+-+---------+---------+---------+
             |DS|0|PS|R|   OPC   |  STATUS |   PORT  |     :A + 12
             +--+-+--+-+---------+---------+---------+
             |               XCT_ID                  |     :A + 16
             |                                       |
             +---------------------------------------+
             |               STRT_ADDR               |     :A + 24
             +---------------------------------------+
             |                                       |     :A + 28
             =               RESERVED FOR            =
             |               SOFTWARE                |
             |                                       |     :A - 4
             +---------------------------------------+      + DQE_LEN


   STRTSNT fields are:

   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <31>         DS          Default start address.

    A + 12       <30:27>      M           Packet multiple.  
                                          See 6.1

    A + 12       <26:25>      PS          Path Select.
                                          See 6.1

    A + 12       <24>         R           Response Queue bit. 
                                          See 6.1

    A + 12       <23:16>      OPC         OPC = 7 for STRTSNT

    A + 12       <15:8>       STATUS      Status.  Types are:

   PORT COMMANDS AND RESPONSES                                  Page 7-82


                                            OK.
                                            No path.
                                            Invalid destination port.
                                            Abort.

    A + 12       <7:0>        PORT        The destination port. 
                                          See 6.1

    A + 16                                Same as fields of the
    through                               corresponding SNDSTRT.
    A - 4 + DQE_LEN                        

   PORT COMMANDS AND RESPONSES                                  Page 7-83


   7.14  UNRECOGNIZED COMMAND

        This response is generated when the port executes a command with:

        1.  Invalid or unimplemented opcode field.

        2.  Invalid FLAGS field including non-zero bits in bit  positions
            specified as MBZ (except for the M-field).

        3.  Non-zero STATUS field.  Note that the  value  of  the  STATUS
            field is overwritten with unrecognized command status.


        The format of UNRCMD is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |    :A         
             +---------------------------------------+
             |               BLINK                   |    :A + 4
             +---------------------------------------+
             |         RESERVED FOR SOFTWARE         |    :A + 8
             +---------+--------+---------+----------+
             |         |   OPC  |  STATUS |          |    :A + 12
             |         +--------+---------+          |
             |                                       |
             =                SOFTWARE               =
             |                DEFINED                |
             |                                       |    :A - 4
             +---------------------------------------+     + {D/M}QE_LEN

   Fields of UNRCMD are:

   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <23:16>       OPC        Unrecognized opcode.

    A + 12       <15:8>        STATUS     Status.  Types are:
                                             Unrecognized command.

    A + 12       <31:24>                  Software defined. 
     and                                  Same as fields of
    A + 12       <7:0>                    corresponding command.
    through
    A - 4 + {D/M}QE_LEN

   PORT COMMANDS AND RESPONSES                                  Page 7-84


   7.15  UNRECOGNIZED PACKET

        This response is generated when the port receives a  packet  with
   (1) an illegal opcode or flags field (2) an invalid source address, or
   (3) a maintenance packet when the  port  is  not  in  the  appropriate
   state.  The latter cases include:

        1.  Reset packet in the Enabled state.

        2.  Maintenance data, maintenance data request, and start packets
            in either the Enabled or Enabled/Maintenance state.

   Note that setting  DQI  in  VCD<X>  inhibits  generating  UNRPKT  from
   packets  from  port  X.   Setting  DQI in VCD<255> inhibits generating
   UNRPKT from packets with an invalid source port number.

        The format of UNRPKT is:

              3
              1                                     0
             +---------------------------------------+
             |               FLINK                   |    :A         
             +---------------------------------------+
             |               BLINK                   |    :A + 4
             +---------------------------------------+
             |         RESERVED FOR SOFTWARE         |    :A + 8
             +---------+-------+----------+----------+
             |  FLAGS  |  OPC  |  STATUS  |   PORT   |    :A + 12
             +---------+-------+----------+----------+
             |                 |       PKT_LEN       |    :A + 16
             |                 +---------------------+
             |                                       |
             =                  PKT                  =
             |                                       |
             +---------------------------------------+
             |                                       |    :A + 18
             =              UNPREDICTABLE            =     + PKT_LEN
             |                                       |    :A - 4
             +---------------------------------------+     + DQE_LEN

                   
   Fields of UNRPKT are:

   Longword      Bits          Name       Description

    A            <31:0>        FLINK      Queue forward link.
                                          See 6.1

    A + 4        <31:0>        BLINK      Queue backward link.  
                                          See 6.1

    A + 8        <31:0>                   Reserved for software.
                                          Ignored by the port.

    A + 12       <31:24>       FLAGS      Packet flags.

   PORT COMMANDS AND RESPONSES                                  Page 7-85


    
    A + 12       <23:16>       OPC        The packet opcode

    A + 12       <15:8>        STATUS     Status.  Types are:
                                            Unrecognized packet.

    A + 12       <7:0>         PORT       Port which sent the packet.

    A + 16       <15:0>        PKT_LEN    The intended length of the
                                          packet text.
    
    A + 16       <31:16>       PKT        Packet text.  If PKT_LEN 
    through                               < = minimum of IBUF_LEN and 
    A - 4 + DQE_LEN                       DQE_LEN-18, then bytes A + 18 
                                          through A + 17 + PKT_LEN 
                                          contain the packet text.  
                                          Otherwise bytes A+18 through 
                                          A + 17 + (minimum of IBUF_LEN 
                                          and DQE_LEN - 18) bytes of 
                                          packet text.  The remaining 
                                          bytes of the queue entry 
                                          (if any) are UNPREDICTABLE.














                                 CHAPTER 8

                  PORT REGISTERS AND THE PORT QUEUE BLOCK



        In the description of the registers and the PQB the protocol  for
   their  use  is  specified.   The  result  of violating the protocol is
   UNDEFINED.



   8.1  PORT QUEUE BLOCK

        The Port Queue Block (PQB) is  a  page  aligned  structure  which
   contains   the  queue  headers  or  pointers  to  the  queue  headers.
   Additionally it contains the queue  entry  sizes,  the  addresses  and
   lengths  of  the  memory  mapping structures, and a maintenance logout
   area.  The PQB must be set up when the port  is  in  one  of  the  two
   Disabled  states.   While the port is in either of the Enabled states,
   the PQB must not be modified directly by the  port  driver.   (Certain
   parts  of the PQB are of course modified indirectly by executing queue
   instructions.) The format of the PQB is:


             +---------------------------------------+
             |               CMDQ0_FLINK             |    :A
             +---------------------------------------+
             |               CMDQ0_BLINK             |    :A + 4
             +---------------------------------------+
             |               CMDQ1_FLINK             |    :A + 8
             +---------------------------------------+
             |               CMDQ1_BLINK             |    :A + 12
             +---------------------------------------+
             |               CMDQ2_FLINK             |    :A + 16
             +---------------------------------------+
             |               CMDQ2_BLINK             |    :A + 20
             +---------------------------------------+
             |               CMDQ3_FLINK             |    :A + 24
             +---------------------------------------+
             |               CMDQ3_BLINK             |    :A + 28
             +---------------------------------------+
             |               RESPQ_FLINK             |    :A + 32
             +---------------------------------------+
             |               RESPQ_BLINK             |    :A + 36
             +---------------------------------------+

   PORT REGISTERS AND THE PORT QUEUE BLOCK                       Page 8-2


             +---------------------------------------+
             |               DFREEQ_HDR              |    :A + 40
             +---------------------------------------+
             |               MFREEQ_HDR              |    :A + 44
             +---------------------------+-----------+
             |       MBZ                 |  DQE_LEN  |    :A + 48
             +---------------------------+-----------+
             |       MBZ                 |  MQE_LEN  |    :A + 52
             +---------------------------+-----------+
             |               VPQB_BASE               |    :A + 56
             +---------------------------------------+
             |               BDT_BASE                |    :A + 60
             +------------------+--------------------+
             |       MBZ        |      BDT_LEN       |    :A + 64
             +------------------+--------------------+
             |                     SPT_BASE          |    :A + 68
             +-----------+---------------------------+
             |  MBZ      |         SPT_LEN           |    :A + 72
             +-----------+---------------------------+
             |                     GPT_BASE          |    :A + 76
             +-----------+---------------------------+
             |  MBZ      |         GPT_LEN           |    :A + 80
|            +-----------+---------------------------+
|            |                KEEP_ALIVE             |    :A + 84
|            +---------------------------------------+
|            |                                       |    :A + 90
             =                RESERVED               =
             |                                       |    
             +---------------------------------------+
             |                                       |    :A + 256
             =                DQE_LOGOUT             =
             |                                       |
             +---------------------------------------+
             |                                       |    :A + 320
             =                MQE_LOGOUT             =
             |                                       |
             +---------------------------------------+
             |                                       |    :A + 384
             |                RESERVED FOR           |    
             =                PORT LOGOUT            =
             |                                       |    :A + 508
             +---------------------------------------+            



   Where:

   Longword      Bits          Name              Description

    A            <31:0>        CMDQ0_FLINK       Displacement 
                                                 relative to 
                                                 VPQB_BASE of first 
                                                 entry in CMDQ0.

    A + 4        <31:0>        CMDQ0_BLINK       Displacement 

   PORT REGISTERS AND THE PORT QUEUE BLOCK                       Page 8-3


                                                 relative to 
                                                 VPQB_BASE of last 
                                                 entry in CMDQ0.

    A + 8        <31:0>        CMDQ1_FLINK       Displacement 
                                                 relative to 
                                                 VPQB_BASE + 8 of first 
                                                 entry in CMDQ1.

    A + 12       <31:0>        CMDQ1_BLINK       Displacement
                                                 relative to 
                                                 VPQB_BASE + 8 of last 
                                                 entry in CMDQ1.

    A + 16       <31:0>        CMDQ2_FLINK       Displacement relative
                                                 to VPQB_BASE + 16 of
                                                 first entry in CMDQ2.

    A + 20       <31:0>        CMDQ2_BLINK       Displacement relative
                                                 to VPQB_BASE + 16 of
                                                 last entry in CMDQ2.

    A + 24       <31:0>        CMDQ3_FLINK       Displacement relative
                                                 to VPQB_BASE + 24 of
                                                 first entry in CMDQ3.

    A + 28       <31:0>        CMDQ3_BLINK       Displacement relative
                                                 to VPQB_BASE + 24 of
                                                 last entry in CMDQ3.

    A + 32       <31:0>        RESPQ_FLINK       Displacement 
                                                 relative to 
                                                 VPQB_BASE + 32 of first 
                                                 entry in the 
                                                 Response Queue.

    A + 36       <31:0>        RESPQ_BLINK       Displacement 
                                                 relative to 
                                                 VPQB_BASE + 32 of last 
                                                 entry in the 
                                                 Response Queue.

    A + 40       <31:0>        DFREEQ_HDR        System virtual
                                                 address of Datagram
                                                 Free Queue header.
                                                 Bits <2:0> MBZ.

    A + 44       <31:0>        MFREEQ_HDR        System virtual
                                                 address of Message
                                                 Free Queue header.
                                                 Bits <2:0> MBZ.
    
    A + 48       <11:0>        DQE_LEN           Datagram Queue entry 
                                                 length in bytes.  
                                                 64<=DQE_LEN<=IBUF_LEN.

   PORT REGISTERS AND THE PORT QUEUE BLOCK                       Page 8-4



    A + 52       <11:0>        MQE_LEN           Message Queue entry
                                                 length in bytes.
                                                 44<=MQE_LEN<IBUF_LEN.

    A + 56       <31:0>        VPQB_BASE         System virtual 
                                                 address of the base
                                                 of the PQB.  Bit<31>
                                                 must be one; 
                                                 Bits<30> and
                                                 <8:0> MBZ.

    A + 60       <31:0>        BDT_BASE          System Virtual 
                                                 address of the base 
                                                 the of BDT.  The BDT 
                                                 is octaword aligned. Bits
                                                 <3:0> and <30>
                                                 MBZ; Bit<31> must be
                                                 one.

    A + 64       <15:0>        BDT_LEN           Length of the BDT in
                                                 octawords.

    A + 68       <31:0>        SPT_BASE          Physical address of 
                                                 the base of System 
                                                 Page Table.  Bits 
                                                 <31:30> and <1:0> 
                                                 MBZ.

    A + 72       <21:0>        SPT_LEN           Length of the SPT
                                                 in longwords. Bits 
                                                 <31:22> MBZ.

    A + 76       <31:0>        GPT_BASE          System virtual
                                                 address of the base
                                                 of the Global Page
                                                 Table.  Bits <1:0>
                                                 and <30> MBZ; Bit
                                                 <31> must be one.

    A + 80       <21:0>        GPT_LEN           Length of the GPT in
                                                 longwords.  Bits
                                                 <31:22> MBZ.

|   A + 84       <31:0>        KEEP_ALIVE        Maintenance/Sanity timer
|                                                period in seconds. See
|                                                Section 8.1.1. When
|                                                the port is in the 
|                                                ENABLED state, then:
|  
|                                                IF KEEP_ALIVE = ZERO
|                                                THEN 
|                                                     timer = 100sec
|                                                ELSE
|                                                     timer = KEEP_ALIVE

   PORT REGISTERS AND THE PORT QUEUE BLOCK                       Page 8-5


|                                                     or 100sec
|                                                     whichever is 
|                                                     smaller.
|  
|  
|   A + 90                                       Reserved.
    through
    A + 252

    A + 256        <31:0>     DQE_LOGOUT         Datagram Queue Entry 
    through                                      powerfail logout area.  
    A + 316                                      Upon detection of power
                                                 failing, the port
                                                 will write the
                                                 addresses of all
                                                 internally held
                                                 datagram queue entries
                                                 to successive longwords
                                                 (starting at A + 256)
                                                 of the PQB.  Each
                                                 longword of this block
                                                 should be initialized
                                                 to the value 1. 
                                                 
    A + 320        <31:0>      MQE_LOGOUT        Message Queue Entry 
    through                                      powerfail logout area.  
    A + 380                                      Upon detection of power
                                                 failing, the port
                                                 will write the addresses
                                                 of all internally held
                                                 message queue entries to
                                                 successive longwords
                                                 (starting at A + 320) of
                                                 the PQB.  Each longword
                                                 of this block should be
                                                 initialized to value
                                                 1. 

    A + 384                                      Reserved for port
    through                                      maintenance logout
    A + 508                                      area.  Implementation
                                                 specific definition.
|  
|  
|  
|  8.1.1  Port Maintenance And Sanity Timer
|  
|       Port Maintenance/Sanity Timer period in seconds is determined  by
|  the  value in the KEEP_ALIVE field of the PQB.  All ports implementing
|  a  variable  Maintenance/Sanity  Timer  will  read  this  field   when
|  transitioning to the ENABLED State.
|  
|  The Maintenance/Sanity Timer expiration period will be  determined  as
|  follows:

   PORT REGISTERS AND THE PORT QUEUE BLOCK                       Page 8-6


|       1.  If the Port is in the Uninitialized state following power-up,
|           then  the  timer  expiration period will be an implementation
|           specific amount long enough to allow local microcode loading.
|  
|       2.  If the conditions for no.  1 are not true, and  if  the  port
|           has never successfully transitioned to the ENABLED state then
|           the timer expiration period will be 100 seconds.
|  
|       3.  Port transition from DISABLED to ENABLED State is accompanied
|           by  setting the Maintenance/Sanity Timer expiration period as
|           follows:
|  
|            o  If   KEEP_ALIVE   is   Equal    to    ZERO    then    Set
|               Maintenance/Sanity Timer to 100 Seconds
|  
|            o  If KEEP_ALIVE is Not Equal to ZERO then set the timer  to
|               the  number  of  seconds  specified  in KEEP_ALIVE or 100
|               seconds, whichever is smaller.
|  
|  
|       When the port is in the ENABLED state, the failure  of  the  port
|  driver  to  reset  the  Maintenance/Sanity Timer within the KEEP_ALIVE
|  interval  will  cause  the  port  to  make   a   transition   to   the
|  UNINITIALIZED/MAINTENANCE state.

   PORT REGISTERS AND THE PORT QUEUE BLOCK                       Page 8-7


   8.2  PORT REGISTERS

   8.2.1  Port Queue Block Base Register (PQBBR)

        This register contains the physical address of the  base  of  the
   Port Queue Block.  The format of PQBBR is:

              3     
              1                                     0
             +---------------------------------------+
             |             PQB BASE                  |
             +---------------------------------------+



        Bits <31:30> and <8:0> MBZ.  PQBBR  is  read/write  by  the  port
   driver  and  writable  only  when  the  port  is  in  the  Disabled or
   Disabled/Maintenance  state.   Its  value  before  being  written   is
   UNPREDICTABLE.



   8.2.2  Port Status Register (PSR)

        This  register  returns  status  to  the  port  driver  after  an
   interrupt.   When  an interrupt is requested by the port, the value of
   PSR is fixed and is not changed until the  port  driver  releases  the
   register by writing the Port Status Release Control Register (PSRCR).

        PSR is read-only by the port driver and may be read only after an
   interrupt and before writing PSRCR.  The format of PSR is:


|             3                             
|             1                       7 6 5 4 3 2 1 0
|            +-+---------------------+-+-+-+-+-+-+-+-+
|            |M|                     |M|M|M|D|P|P|M|R|
|            |T|          0          |I|E|S|S|I|D|F|Q|
|            |E|                     |S| |E|E|C|C|Q|A|
|            | |                     |C| | | | | |E| |
|            +-+---------------------+-+-+-+-+-+-+-+-+


   Where:

   Bits      Name        Description

   <0>       RQA         Response Queue Available.  When set, 
                         indicates port has inserted an entry on an 
                         empty Response Queue.

   <1>       MFQE        Message Free Queue Empty.  When set, the port 
                         attempted to remove an entry from the MFREEQ
                         and found it empty.  Port processing 
                         of commands continues and, thus, the MFREEQ

   PORT REGISTERS AND THE PORT QUEUE BLOCK                       Page 8-8


                         may not be empty at the time the 
                         port driver gets control.


   <2>       PDC         Port Disable Complete.  When set, the port 
                         is in the Disabled or Disabled/Maintenance
                         state.
       
   <3>       PIC         Port Initialization Complete.  When set, the
                         port has completed internal initialization.  
                         The port is in the Disabled or Disabled/
                         Maintenance state.

   <4>       DSE         Data Structure Error.  When set, the port 
                         has encountered an error in a port data 
                         structure (i.e., queue entry, PQB, BDT or 
                         page table).  Port is in the Disabled or
                         Disabled/Maintenance state.  See the Port Error 
                         Status Register (PESR) and the Port Failing 
                         Address Register (PFAR) for further information.
                         Note that errors in queue structures leave
                         the queues locked.

   <5>       MSE         Memory System Error.  When set, port has 
                         encountered an uncorrectable data or 
                         non-existent memory error in referencing 
                         memory.  Port is in the Disabled or
                         Disabled/Maintenance state.  See  
                         PFAR for further information.

|  <6>       ME          Maintenance/Sanity Timer Expiration.  When set,
|                        the maintenance/sanity timer has
                         expired.  The port is in the
                         Uninitialized/Maintenance state.



|  <7>       MISC        Miscellaneous Error Detected. When set,
|                        indicates that the port microde has
|                        detected one of the miscellaneous errors
|                        and is about to enter either the Disabled or
|                        Disabled/Maintenance state. If the error
|                        was found when the port was in the 
|                        Enabled state, then the port transitions
|                        to the Disabled state. If the state was 
|                        Enabled/Maintenance, the port transitions to 
|                        Disabled/Maintenance. The actual error code is 
|                        stored in the Port Error Status Register.


   <30:8>                Zero.

   <31>      MTE         Maintenance Error.  When set, the port
                         has detected an implementation
                         specific error (or hardware status

   PORT REGISTERS AND THE PORT QUEUE BLOCK                       Page 8-9


                         condition).  The source of the error may be
                         more accurately determined from the
                         implementation specific maintenance
                         registers.  The port is in the Uninitialized
                         state (port is non-functional).

   \The mnemonics ME and MTE are inconsistent (they should be 
   interchanged) but are retained because other documentation would be 
   impacted by their interchange.\
|  
|  
|  
|  8.2.3  Port Error Status Register(PESR)
|  
|       This register indicates the type of error which resulted in a DSE
|  or  an MISC (PSR bit) error.  PESR is valid only after either a DSE or
|  MISC error.
|  
|            3                  1
|            1                  5                 0
|            +------------------+------------------+
|            |                  |                  | 
|            |  MISC Error Code |   DSE Error Code | 
|            |                  |                  |
|            +-------------------------------------+
|  
|          where:
|  
|          bits      name            description
|          ----      ----            -----------
|  
|         <31:16>   MEC             Miscellaneous Error Code.
|                                   This code consists of two 
|                                   fields: bits <31:24> define the 
|                                   the module within the microcode
|                                   where the error occurred, and 
|                                   bits <23:16> contain the specific
|                                   error that occurred. See the 
|                                   functional specification of 
|                                   each implementation for the 
|                                   meaning of these bits.
      
      
|         <15:0>    DSEC            Data Structure Error Code.
|                                   Appendix D describes the
|                                   errors indicated
|                                   by the contents of this
|                                   field. 

   PORT REGISTERS AND THE PORT QUEUE BLOCK                      Page 8-10


   8.2.4  Port Failing Address Register (PFAR)

        After an MSE or DSE interrupt and after a  response  with  buffer
   memory  system  error  status, the PFAR contains the memory address at
   which the failure occurred.  The address  may  be  the  exact  failing
   address, an address in the same page as the exact failing address, or,
   in the case of DSE interrupts, an address in some  part  of  the  data
   structure.   For  DSE  interrupts  PFAR  contains a virtual address or
   offset, while for MSE interrupts and buffer memory system  errors  the
   PFAR contains a physical address.

        Since the port continues command execution and packet  processing
   after  buffer  memory  system  errors,  the  PFAR  is  overwritten  if
   subsequent errors occur.  For DSE  and  MSE  interrupts  the  PFAR  is
   effectively   fixed   since   the   port   enters   the   Disabled  or
   Disabled/Maintenance state.

        PFAR is read only by the port driver and readable after a DSE  or
   MSE  interrupt  or  after  a  response with buffer memory system error
   status.

   PORT REGISTERS AND THE PORT QUEUE BLOCK                      Page 8-11


   8.2.5  Port Parameter Register (PPR)

   This register contains port implementation  parameters  and  the  port
   number.  The value of the PPR is set by the port during initialization
   and valid after a PIC interrupt.  PPR is read only by the port driver.
   The format of the PPR is:

          PORT PARAMETER REGISTER(PPR):

           3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
           1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
|         +-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-+
|         |C|C|C|L|L|L|L|L|L|L|L|L|L|L|L|L| |D|D|D|D|D|D|D|P|P|P|P|P|P|P|P|
|         |S|S|S|1|1|1|0|0|0|0|0|0|0|0|0|0| |I|I|I|I|I|I|I|N|N|N|N|N|N|N|N|
|         |Z|Z|Z|2|1|0|9|8|7|6|5|4|3|2|1|0|0|6|5|4|3|2|1|0|0|0|0|0|0|0|0|0|
|         |2|1|0| | | | | | | | | | | | | | | | | | | | | |7|6|5|4|3|2|1|0|
|         +-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-+

   Where:

   Bits     Name         Description

   <7:0>    PORT_NO      Port number.  



            
|  <14:8>   Implementation  The bits in this field 
|           Specific        contain information about
|           Diagnostic      the local adapters link layer
|           Information     configuration. See Appendix J
|                           for the description of this 
|                           field in different 
|                           implementations.
|                           See DEC STD 161 (CI 
|                           specification) for the 
|                           correct settings of these 
|                           bits in specific cluster 
|                           configurations.
|  
|  
|  <15>     MBZ           Must be zero.

   <28:16>  IBUF_LEN     Internal Buffer length.  Indicates size
                         of internal buffers available for message
                         and data transfers.  Maximum data packet
                         =IBUF_LEN - 16 bytes.  Maximum message or
                         datagram length =IBUF_LEN.  Minimum value 
                         is 592.


   PORT REGISTERS AND THE PORT QUEUE BLOCK                      Page 8-12


|  <31:29>  CSZ(X)       CLUSTER SIZE <02:00>: This field indicates the
|                        maximum number of nodes allowed on the CI. 
              
|                        CSZ<02> CSZ<01> CSZ<00> CLUSTER SIZE    RANGE
|                                                (decimal)     (decimal)
|                        ------- ------- ------- -------------  ---------
|                          0       0       0      16 (max)       0-15
|                          0       0       1      32 (max)       0-31
|                          0       1       0      64 (max)       0-63
|                          0       1       1      128 (max)      0-127
|                          1       0       0      224 (max)      0-223
|                          1       0       1     reserved for future definition
|                          1       1       0     reserved for future definition
|                          1       1       1     reserved for future definition




   8.2.6  Port Control Registers

        The  port  control  registers  are  32-bit  registers  which  are
   write-only  by  the  port driver.  To invoke the functions provided by
   the control registers, the port driver writes a "1" to the register.



   8.2.6.1  Port Command Queue 0 Control Register (PCQ0CR) -

        When the port driver inserts an entry in an empty CMDQ0, the port
   driver  writes PCQ0CR to initiate port execution of the Command Queue.
   PCQ0CR can be written  only  when  the  port  is  in  the  Enabled  or
   Enabled/Maintenance state.



   8.2.6.2  Port Command Queue 1 Control Register (PCQ1CR) -

        Same as PCQ0CR except refers to CMDQ1.



   8.2.6.3  Port Command Queue 2 Control Register (PCQ2CR) -

        Same as PCQ0CR except refers to CMDQ2.



   8.2.6.4  Port Command Queue 3 Control Register (PCQ3CR) -

        Same as PCQ0CR except refers to CMDQ3.

   PORT REGISTERS AND THE PORT QUEUE BLOCK                      Page 8-13


   8.2.6.5  Port Datagram Free Queue Control Register (PDFQCR) -

        When the port driver inserts an  entry  on  the  DFREEQ  and  the
   latter was previously empty, the port driver writes PDFQCR to indicate
   the availability of DFREEQ entries.  PDFQCR can be written only if the
   port is in the Enabled or Enabled/Maintenance State.



   8.2.6.6  Port Message Free Queue Control Register (PMFQCR) -

        Same as PDFQCR except refers to MFREEQ.



   8.2.6.7  Port Status Release Control Register (PSRCR) -

        After the port driver has received an interrupt and read the PSR,
   it returns the PSR to the port by writing PSRCR.



   8.2.6.8  Port Enable Control Register (PECR) -

        The port driver enables  the  port  by  writing  PECR.   PECR  is
   ignored     if     the     port     is     in    the    Uninitialized,
   Uninitialized/Maintenance, Enabled, or Enabled/Maintenance state.



   8.2.6.9  Port Disable Control Register (PDCR) -

        The port driver disables the port by writing PDCR.  When the port
   is  disabled,  the port requests an interrupt.  PDCR is ignored if the
   port is in the Uninitialized, Uninitialized/Maintenance, Disabled,  or
   Disabled/Maintenance state.



   8.2.6.10  Port Initialize Control Register (PICR) -

        The port driver initializes the port by writing PICR.   When  the
   initialization is complete the port requests an interrupt.  As part of
|  the initialization, the maintenance/sanity timer is set to  expire  in
   100 seconds.



|  8.2.6.11  Port - Maintenance/Sanity Timer Control Register (PMTCR)

|       The port driver forces the maintenance/sanity timer to reset  its
   expiration  time  by  writing  the PMTCR.  If the PMTCR is not written
   again  before  the  expiration  time,  the   port   will   enter   the
   Uninitialized/Maintenance state and request an ME interrupt.  PMTCR is
|  ignored if the maintenance/sanity timer is not running.

   PORT REGISTERS AND THE PORT QUEUE BLOCK                      Page 8-14


|  8.2.6.12  Port - Maint./Sanity  Timer  Expiration   Control   Register
   (PMTECR)

|       The port driver  forces  a  Maintenance/Sanity  Timer  Expiration
   Interrupt  by  writing  the PMTECR.  This register may be written only
   when the port is in the Enabled,  Enabled/Maintenance,  Disabled,  and
|  Disabled  Maintenance  states  and  only  while the Maintenance/Sanity
   Timer is not disabled.



   8.2.7  Control And Status Register (PMCSR)

        This register exists in all ports.  Only  two  of  the  bits  are
   implementation   independent.    The   remainder   are  implementation
   specific, subject to the following requirements:

        1.  Status bits are effectively read-only to the port driver  and
            cleared  only  by  maintenance initialization or clearing the
            condition in another register.  Writing the status  bits  has
            no effect.

        2.  Function control bits are read/write by the port driver only.
            These bits are of two classes:

            1.  Init:   this  type  of  bit  invokes  a  function   (e.g.
                initialization) by setting it.  It always reads as zero.

            2.  Enable/disable:  this type of bit causes an  activity  or
                state  to  exist  while the bit is set.  Clearing the bit
                stops the activity or changes the state.  The bit  always
                reads  the most recently written value.  The bit is never
                changed by the port.


   The format of the PMCSR is:

              3       
              1                                    1 0
             +------------------------------------+-+-+
             |                                    |M|M|
             |       IMPLEMENTATION-SPECIFIC      |T|I|
             |                                    |D|N|
             +------------------------------------+-+-+


   Where:


   Bits      Name        Description

   <0>       MIN         Maintenance Init.  Clears all
                         hardware state (including
                         errors).  Upon completion,
                         port is in Uninitialized state.

   PORT REGISTERS AND THE PORT QUEUE BLOCK                      Page 8-15


                         This is an init class control bit.

|  <1>       MTD         Maintenance/Sanity Timer Disable.
                         Read/write by driver.  If set, the
|                        maintenance/sanity timer is turned off.
                         Timer is set to the initial
                         value and suspended.
                         If clear, timer functions normally.
                         Power-up state is clear (timer
                         enabled).  This is an enable/disable
                         class control bit.

   <31:2>                Implementation specific.  Defined
                         as necessary for port maintenance
                         and initialization (loading, etc.).


|  Please see Appendix I articles 1 and 2 for a description of exceptions
|  relating to the MIN bit function.













                                 APPENDIX A

                               QUEUE PROTOCOL



        In normal operation the port driver is permitted to:

        1.  Insert commands on the tail of  a  Command  Queue  using  the
            INSQTI instruction.

        2.  Remove responses from the head of the  Response  Queue  using
            the REMQHI instruction.

        3.  Insert Free Queue entries on the head or the tail of  a  Free
            Queue using the INSQHI or INSQTI instructions.

        4.  Remove Free Queue entries from the head or the tail of a Free
            Queue using the REMQHI or REMQTI instructions.


        No  other  operations  are  permitted.   Further,  if  an  INSQTI
   instruction  places  an entry on an empty Command Queue or Free Queue,
   the port driver must notify the port by writing the  appropriate  Port
   Command Queue or Free Queue Control Register.

        If the port driver wishes to modify a queue  entry  or  modify  a
   queue  structure  in any way other than indicated above, it must first
   halt the port's processing of the queue by disabling the  port  (i.e.,
   writing  the  Port Disable Control Register).  The result of violating
   the queue protocol is UNDEFINED.

        Ports may hold  queue  entries  internally  during  execution  to
   increase performance.  A port may hold at most 16 entries of each type
   (datagram and message).  These represent CMDQ0-3,  RSPQ,  DFREEQ,  and
   MFREEQ  entries.  Independent of the limit of 16 of each type, at most
   4 DFREEQ and 4 MFREEQ entries may be held.  At power-down, the virtual
   addresses  of  any  held entries are written to the appropriate logout
   area.  On  disabling  under  port  driver  control,  all  entries  are
   returned  to  either the Response Queue or the appropriate Free Queue.
   Queue entries  are  only  lost  on  port  initialization  or  on  port
   hardware,  data  structure,  and  memory  system errors that cannot be
   reported in the STATUS field of Responses.













                                 APPENDIX B

                     MULTIPLE PORTS ON A SINGLE SYSTEM



        Multiple ports may be supported on a single system as follows:

        1.  The buffer descriptors may be  shared  with  the  restriction
            that  explicit  buffer closure must be performed by each port
            sharing a buffer (to invalidate all cached translations).

        2.  The Free Queues may be shared by used of the pointers in  the
            PQB and one set of queue headers.

        3.  The PQB's may not be shared since shared command  queues  may
            result in non-sequential delivery of messages.














                                 APPENDIX C

                   SUMMARY OF PORT COMMANDS AND RESPONSES



                                                           Destination 
                                                           Command
   Command        Queue Entry Type       Local Response    or Response


   SNDDG          DG                     DGSNT             DGREC

   SNDMSG         MSG                    MSGSNT            MSGREC

   SNDDAT         MSG                    DATSNT            RETCNF

   RETCNF         MSG                    CNFRET            CNFREC

   REQDAT0        MSG                    DATREQ0           RETDAT

   REQDAT1        MSG                    DATREQ1           RETDAT

   REQDAT2        MSG                    DATREQ2           RETDAT

   RETDAT         MSG                    DATRET            DATREC

   INVTC          DG                     TCINV             <none>

   SETCKT         DG                     CKTSET            <none>

   RDCNT          DG                     CNTRD             <none>

   SNDLB          DG                     LBSNT             LBREC

   REQID          DG                     IDREQ             <none>

   <none>         DG                     <none>            IDREC

   SNDRST         DG                     RSTSNT            <none>

   SNDMDAT        DG                     MDATSNT           <none>

   <none>         DG                     <none>            MCNFREC

   REQMDAT        DG                     MDATREQ           <none>

   SUMMARY OF PORT COMMANDS AND RESPONSES                        Page C-2



   <none>         DG                     <none>            MDATREC

   SNDSTRT        DG                     STRTSNT           <none>

   <?>            DG (in destination)    <?>               UNRPKT















                                 APPENDIX D

                      PORT ERROR STATUS REGISTER CODES







|       The following is a list of the errors associated with  the  value
|  of the contents of the DSE Error Code field in the PESR.


   ERROR           DESCRIPTION             CODE    PFAR


   SYS_VA_FRM      Illegal system virtual   1      Virtual
                   address format.  Bits           Address
                   <31:30> <> 10.

   NX_SYS_VA       Non-existent system      2      Virtual
                   virtual address.  VA            Address
                   <29:9> >= SPT_LEN.

   INV_SYS_PTE     Invalid system PTE.      3      Virtual
                   Bits <31,26,22> <>              Address
                   1XX, 000, or 001.               (being
                                                   mapped)

   INV_BUF_PTE     Invalid buffer PTE.      4      PTE Virtual
                   Bits <31,26,22> <>              Address
                   1XX, 000, or 001.

   NX_GLBL_SVA     Non-existent system      5      Virtual
                   global virtual address.         Address
                   GPTX >= GPT_LEN.

   NX_GLBL_VA      Non-existent buffer      6      PTE Virtual
                   global virtual address.         Address
                   GPTX >= GPT_LEN.

   INV_SGLBL_PTE   Invalid System Global    7      Virtual
                   PTE.  PTE<31,26,22> <>          Address
                   1XX or 000.


   PORT ERROR STATUS REGISTER CODES                              Page D-2


   INV_BGLBL_PTE   Invalid Buffer Global    8      PTE Virtual
                   PTE.  PTE<31,26,22> <>          Address
                   1XX or 000.

   PORT ERROR STATUS REGISTER CODES                              Page D-3


   INV_SGPTE_MAP   Invalid System Global    9      Virtual
                   PTE mapping.  System            address
                   virtual address of 
                   system global PTE is
                   itself globally mapped.

   INV_BGPTE_MAP   Invalid Buffer Global   10      PTE Virtual
                   PTE mapping.  System            address
                   virtual address of 
                   buffer global PTE is
                   itself globally mapped.

   Q_INTL_FAIL     Queue interlock retry   11      Queue Head
                   failure.  Interlock             Virtual
                   was tested and found            Address
                   locked an implementation
                   specific consecutive
                   number of times.

   ILL_Q_ALIGN     Illegal queue offset    12      Queue Head
                   alignment.  FLINK<2:1>          Virtual
                   <> 0 or BLINK<2:0> <>0.         Address

   ILL_PQB_FRM     Illegal PQB format. A   13      Field offset
                   field of the PQB                in PQB in
                   specified to be MBZ             bytes
                   was found non-zero.
                   (The check for MBZ
                   fields is optional so
                   not all ports will
                   return this error.)

   REG_PROT_VIOL   Register protocol       14      Register
                   violation.  Register            byte offset
                   was written with wrong          from device
                   value or under wrong            base address
                   conditions.
                   (The check for protocol
                   violations is optional so
                   not all ports will return
                   this error.)













                                 APPENDIX E

             SUMMARY OF COMMAND/RESPONSE AND CI PACKET OPCODES




   E.1  OPCODE FORMAT



             7   6   5   4   3   2   1   0
           +---+---+---+---+---+---+---+---+
           |       |   |   |     MTYP      |
           |   0   | R | T +---+---+---+---+
           |       | C | Y | D |   DTYP    |
           |       | D | P | U +---+---+---+
           |       |   |   |   |   UTYP    |
           +---+---+---+---+---+---+---+---+

   Where:

   Bits            Field           Description

   <7:6>                           Zero.

   <5>             RCD             Received response.  Set for
                                   responses generated from
                                   received packets.

   <4>             TYP             Type.
                                           TYP = 0 for Message (non-
                                                 data/utility).
                                           TYP = 1 for Data/Utility.

   <3:0>           MTYP            Message type.  Valid if TYP = 0.
                                           MTYP = 1 for SNDDG.
                                           MTYP = 2 for SNDMSG.
                                           MTYP = 3 for RETCNF.
                                           MTYP = 4 for <RETMCNF>.
                                           MTYP = 5 for REQID.
                                           MTYP = 6 for SNDRST.
                                           MTYP = 7 for SNDSTRT
                                           MTYP = 8 for REQDAT0.
                                           MTYP = 9 for REQDAT1.
                                           MTYP = 10 for REQDAT2.

   SUMMARY OF COMMAND/RESPONSE AND CI PACKET OPCODES             Page E-2


                                           MTYP = 11 for <RETID>.
                                           MTYP = 13 for SNDLB.
                                           MTYP = 14 for REQMDAT.

   <3>             DU              Data/Utility.  Valid if TYP = 1.
                                           DU = 0 for data commands.
                                           DU = 1 for utility commands.

   <2:0>           DTYP            Data type.  Valid if TYP = 1 AND
                                   DU = 0.
                                           DTYP = 0 for SNDDAT
                                           DTYP = 1 for RETDAT
                                           DTYP = 2 for SNDMDAT
                                           DTYP = 3 for <RETMDAT>

   <2:0>           UTYP            Utility type.  Valid if TYP = 1
                                   AND DU = 1.
                                           UTYP = 0 for INVTC.
                                           UTYP = 1 for SETCKT.
                                           UTYP = 2 for RDCNT.

        Commands in brackets <> are port internal and  not  part  of  the
   port architecture.

   SUMMARY OF COMMAND/RESPONSE AND CI PACKET OPCODES             Page E-3


   E.2  OPCODE SUMMARY

   COMMAND/RESPONSE     CI packet    DEC     HEX    OCTAL   BINARY


   SNDDG/DGSNT          DG            1       1      1      0000 0001

   SNDMSG/MSGSNT        MSG           2       2      2      0000 0010

   SNDDAT/DATSNT        SNTDAT       16      10     20      0001 0000

   RETCNF/CNFRET        CNF           3       3      3      0000 0011

   REQDAT0/DATREQ0      DATREQ0       8       8     10      0000 1000

   REQDAT1/DATREQ1      DATREQ1       9       9     11      0000 1001

   REQDAT2/DATREQ2      DATREQ2      10       A     12      0000 1010

   RETDAT/DATRET        RETDAT       17      11     21      0001 0001

   INVTC/TCINV                       24      18     30      0001 1000

   SETCKT/CKTSET                     25      19     31      0001 1001

   RDCNT/CNTRD                       26      1A     32      0001 1010

   SNDLB/LBSNT          LB           13       D     15      0000 1101

   REQID/IDREQ          IDREQ         5       5      5      0000 0101

   SNDRST/RSTSNT        RST           6       6      6      0000 0110

   SNDMDAT/MDATSNT      SNTMDAT      18      12     22      0001 0010

   REQMDAT/MDATREQ      MDATREQ      14       E     16      0000 1110

   SNDSTRT/STRTSNT      STRT          7       7      7      0000 0111

   /DGREC                             33     21     41      0010 0001

   /MSGREC                            34     22     42      0010 0010

   /CNFREC                            35     23     43      0010 0011

   /DATREC                            49     31     61      0011 0001

   /LBREC                             45     2D     55      0010 1101

   /IDREC                             43     2B     53      0010 1011

   /MCNFREC                           36     24     44      0010 0100

   /MDATREC                           51     33     63      0011 0011


   SUMMARY OF COMMAND/RESPONSE AND CI PACKET OPCODES             Page E-4


   <none>              ID             11      B     13      0000 1011

   <none>              RETMDAT        19     13     23      0001 0011

   <none>              MCNF            4      4      4      0000 0100














                                 APPENDIX F

                             REGISTER ADDRESSES




                                                         REL. ADDR. (HEX)
                                   
                                               CI-780,       
   REGISTER NAME                   MNEMONIC    CI-750    CIBCI      CIBCA-AA  
   -------------                   --------    ------    -----      --------
   Port Maintenance Control        PMCSR       004       110        1004
      and Status 

   Port Status                     PSR         900       900        1000

   Port Queue Block Base           PQBBR       904       904        F0

   Port Command Queue 0 Control    PCQ0CR      908       908        1010
      
   Port Command Queue 1 Control    PCQ1CR      90C       90C        1014

   Port Command Queue 2 Control    PCQ2CR      910       910        1018

   Port Command Queue 3 Control    PCQ3CR      914       914        101C

   Port Status Release Control     PSRCR       918       918        1020

   Port Enable Control             PECR        91C       91C        1024

   Port Disable Control            PDCR        920       920        1028

   Port Initialize Control         PICR        924       924        102C

   Port Datagram Free Queue ControlPDFQCR      928       928        1030

   Port Message Free Queue Control PMFQCR      92C       92C        1034

   Port Maint/Sanity Timer Control PMTCR       930       930        1038
    
   Port Maint/Sanity Timer         PMTECR      934       934        103C
      Expiration Control 

   Port Failing Address            PFAR        938       938        F4


   REGISTER ADDRESSES                                            Page F-2


   Port Error Status               PESR        93C       93C        FC

   Port Parameter                  PPR         940       940        F8













                                 APPENDIX G

                        IMPLEMENTATION FUNCTIONALITY




   G.1  IMPLEMENTATION FUNCTIONALITY FIELD

   This field is located in the ID packet  and  describes  the  supported
   functionality of the port.

        Each bit of  this  field  corresponds  to  a  function.   If  the
   implementation  supports  the function, the corresponding bit value is
   set.  If not, the bit is clear.  Unused bits are reserved  for  future
   expansion  and  MBZ  in  current  ports  for compatibility with future
   functions.  The format of PORT_FCN is:

              3       2 2                 
              1       6 5                 8 7        0
             +---------+-------------------+---------+
             | STATES  |      PACKETS      |   MBZ   |
             +---------+-------------------+---------+



   Where:

           Bit             Function

           31              Enabled state.
           30              Enabled/Maintenance state.
           29              Disabled state.
           28              Disabled/Maintenance state.
           27              Uninitialized state.
           26              Uninitialized/Maintenance state.

           25              SEND MSG/REC MSG
           24              SEND SNTDAT/REC CNF
           23              REC  SNTDAT/SEND CNF
|          22,21,20        SEND DATREQ{0,1,2}/REC RETDAT
|          19,18,17        REC  DATREQ{0,1,2}/SEND RETDAT
           16              SEND IDREQ/REC ID
           15              SEND SNTMDAT/REC MCNF
           14              REC  SNTMDAT/SEND MCNF
           13              SEND MDATREQ/REC RETMDAT

   IMPLEMENTATION FUNCTIONALITY                                  Page G-2


           12              REC  MDATREQ/SEND RETMDAT
           11              SEND RST
           10              SEND STRT
           9               REC  RST-STRT
           8               SEND/REC LB

           7 - 0           Reserved and MBZ.






   G.2  IMPLEMENTATION FUNCTIONALITY SUMMARY



        "X" = Supported, "-" = Not Supported

   MAINT_ID of 5 is reserved for JUPITER which is not produced.


                     |               OPTION                       |
   FUNCTION          |--------+--------+--------+--------+--------+
                     |  CI780 |        |        |        |        |
                     |  CI750 |  CI20  | HSC70  | CIBCA  |        |
                     |  CIBCI |        | HSC50  |   -AA  |        |         
                     |  CINT  |        |        |        |        |
                     |        |        |        |        |        |
   ------------------+--------+--------+--------+--------+--------+
   MAINT_ID          |CI780=2 |   6    |   4    |   8    |        |
                     |CI750=2 |        |        |        |        |
                     |CIBCI=2 |        |        |        |        |
                     |CINT=7  |        |        |        |        |
   ------------------+--------+--------+--------+--------+--------+
                     |        |        |        |        |        |
   STATES            |        |        |        |        |        |
   ------------------+--------+--------+--------+--------+--------+
   UNINITIALIZED     |   X    |   -    |   X    |   X    |        |
   ------------------+--------+--------+--------+--------+--------+
   UNINIT/MAINT      |   X    |   -    |   X    |   X    |        |
   ------------------+--------+--------+--------+--------+--------+
   DISABLED          |   X    |   -    |   -    |   X    |        |
   ------------------+--------+--------+--------+--------+--------+
   DSBLD/MAINT       |   X    |   -    |   -    |   X    |        |
   ------------------+--------+--------+--------+--------+--------+
   ENABLED           |   X    |   X    |   -    |   X    |        |
   ------------------+--------+--------+--------+--------+--------+
   ENBLD/MAINT       |   X    |   X    |   X    |   X    |        |
   ------------------+--------+--------+--------+--------+--------+
   IBUF_LEN          |3F8(hex)|400(hex)|400(hex)|FF0(hex)|        |
   ------------------+--------+--------+--------+--------+--------+


   IMPLEMENTATION FUNCTIONALITY                                  Page G-3


                     |               OPTION                       |
   FUNCTION          |--------+--------+--------+--------+--------+
                     | CI780  |  CI20  |  HSC50 | CIBCA  |        |
                     | CI750  |        |  HSC70 |   -AA  |        |
                     | BCI-750|        |        |        |        |
                     | CINT   |        |        |        |        |
   ------------------+--------+--------+--------+--------+--------+
                     |        |        |        |        |        |
   PACKETS SND/REC   |        |        |        |        |        |
   ------------------+--------+--------+--------+--------+--------+
   MSG               |   X    |   X    |   X    |   X    |        |
   ------------------+--------+--------+--------+--------+--------+
   SNTDAT/CNF        |   X    |   X    |   X    |   X    |        |
   ------------------+--------+--------+--------+--------+--------+
   CNF/SNTDAT        |   X    |   X    |   -    |   X    |        |
   ------------------+--------+--------+--------+--------+--------+
   DATREQ{0,1,2}     |   X    |   X    |   X    |   X    |        |
   /RETDAT           |        |        |        |        |        |
   ------------------+--------+--------+--------+--------+--------+
   RETDAT/           |   X    |   X    |   -    |   X    |        |
   DATREQ{0,1,2}     |        |        |        |        |        |
   ------------------+--------+--------+--------+--------+--------+
   IDREQ/ID          |   X    |   X    |   X    |   X    |        |
   ------------------+--------+--------+--------+--------+--------+
   SNTMDAT/MCNF      |   X    |   X    |   -    |   -    |        |
   ------------------+--------+--------+--------+--------+--------+
   MCNF/SNTMDAT      |   X    |   X    |   -    |   _    |        |
   ------------------+--------+--------+--------+--------+--------+
   MDATREQ/RETMDAT   |   X    |   X    |   -    |   -    |        |
   ------------------+--------+--------+--------+--------+--------+
   RETMDAT/MDATREQ   |   X    |   X    |   -    |   -    |        |
   ------------------+--------+--------+--------+--------+--------+
   RST/              |   X    |   X    |   -    |   X    |        |
   ------------------+--------+--------+--------+--------+--------+
   STRT/             |   X    |   X    |   -    |   X    |        |
   ------------------+--------+--------+--------+--------+--------+
   /RST-STRT         |   X    |   -    |   X    |   X    |        |
   ------------------+--------+--------+--------+--------+--------+
   LB/LB             |   X    |   X    |   X    |   X    |        |
   ------------------+--------+--------+--------+--------+--------+

   IMPLEMENTATION FUNCTIONALITY                                  Page G-4


|  G.2.1  IMPLEMENTATION FUNCTIONALITY FIELD EXTENSION.
|  
|       This extension provides visibility  to  the  setting  of  various
|  attributes of the port.  It's format is (note that the second longword
|  of this field is MBZ):
|  
|  
|            3 2 2            1 1 1 1 1 1 1       
|            1 9 8            6 5 4 3 2 1 0 8 7      0
|           +---+--------------+---+-+-+-+---+-------+
|           | C |       M      | M |X|A|X| A |   M   |
|           | S |       B      | B |N|A|P| S |   B   |
|           | Z |       L      | Z |R|R|R| T |   Z   |
|           |   |              |   | |B|E|   |       |
|           +---+--------------+---+-+-+-+---+-------+
|  
|  
|  where:
|  
|  Bit Nos.      Field 
|  
|  31:29         CSZ<X>       Cluster Size <02:00>. The 
|                             field indicates the 
|                             maximum number of nodes 
|                             on the CI that the
|                             port is configured for.
|                             Ports shall support
|                             nodes with addresses of
|                             0 to (MAX_NODES -1).
|                             See DEC STD 161.
                                                         
                                                                 
|           CSZ<02> CSZ<01> CSZ<00> CLUSTER SIZE    
|                                  (MAX_NODES value)
|           ------- ------- ------- -------------  
|              0       0       0       16 (max)        
|              0       0       1       32 (max)        
|              0       1       0       reserved for 64 nodes
|              0       1       1       reserved for 128 nodes
|              1       0       0       reserved for 224 nodes
|              1       0       1       reserved for future definition
|              1       1       0       reserved for future definition
|              1       1       1       reserved for future definition
|  
|  
|  28:16         MAX_BODY_LEN The maximum allowed 
|                 <12:0>      length in bytes of 
|                             the packet BODY 
|                             passed between the 
|                             port and data link 
|                             layers. 
|                             The relationship 
|                             between this
|                             parameter and 
|                             IBUF_LEN  is:

   IMPLEMENTATION FUNCTIONALITY                                  Page G-5


|  
|                             IBUF_LEN + 2 = MAX_BODY_LEN
|  
|  15:14                      MBZ 
|  
|  13            XNR          Extended No Response
|                             timeout. When 1 the 
|                             extended NO_RSP
|                             value is selected. 
|                             When 0 the standard
|                             NO_RSP value is selected.
|                             See DEC STD 161.
                                                                
|   12           AARB         Active Hub Arbitration-
|                             If 1 the active hub 
|                             arbitration algorithm is
|                             selected. 
|                             If 0 the passive hub
|                             arbitration algorithm is
|                             selected. 
|                             See DEC STD 161.
                                                                   
|  
|   11           XPRE         Extended Preamble. 
|                             When 1 the extended 
|                             length preamble is
|                             selected. When 0 the
|                             standard length preamble
|                             is selected. 
|                             See DEC STD 161.
|  
|  
|   10:8         AST(X)       Arbitration Slot Time- 
|                             These bits indicate the 
|                             arbitration slot time 
|                             being used by the 
|                             link as given in
|                             the table below.
|  
|             AST<2>   AST<1>   AST<0>       Arbitration Slot
|                                            (in Byte times)
|             ------   ------   ------       ----------------
|               0        0        0            7 (see note)
|               0        0        1            10
|               0        1        0            reserved 
|               0        1        1            reserved 
|               1        0        0            reserved 
|               1        0        1            reserved 
|               1        1        0            reserved 
|               1        1        1            illegal 
|  
|  
|               NOTE: If the adapter implements the 
|               PORT_FCN_EXT field, 000 indicates a byte
|               count of 7. If the field is not implemented,

   IMPLEMENTATION FUNCTIONALITY                                  Page G-6


|               the port may be using a value of either 7 
|               or 10. See DEC STD 161.
|  
|  
|  
|  
|  
|   7:0     MBZ        Must be zero.
                                           













                                 APPENDIX H

                             PACKET PROCESSING



        The following is a PASCAL program defining  the  first  level  of
   packet processing:  whether packets are delivered as UNRPKT responses,
   discarded, or processed normally.

   program CIPKT;

   type    PKT = (DG,LB,MCNF,ID,RETMDAT,SNTMDAT,STRT,MDATREQ,
                   IDREQ,RST,MSG,SNTDAT,DATREQ,CNF,RETDAT,ILLEGAL);

           VCD = record
                   DQI: boolean;
                   CST: boolean;
                   NR: boolean
                   end;

           PORT = 0..255;

   var     VCDT: array [0..255] of VCD;

           PKT_SRC: PORT;

           RST_PORT: PORT;

           MAX_PORT: PORT;

           SELF: PORT;

           PKT_SEQ: boolean;

           FORCE_RESET: boolean;

           PORT_STATE: (EN,ENM,DSM,UNM);

   procedure  UNRPKT;

           begin
           {deliver UNRPKT response}
           end;

   procedure PROCESS;

   PACKET PROCESSING                                             Page H-2



           begin
           {process packet normally}
           end;

   procedure DISCARD;

           begin
           {discard the packet}
           end;

   function DFREEQ_EMPTY: boolean;

           begin
           {true if DFREEQ empty; false otherwise}
           end;

   function DGDISC(I: PORT): boolean;
           begin
           DGDISC:=(not VCDT[I].DQI) or DFREEQ_EMPTY or
                   ((PORT_STATE <> EN) and (PORT_STATE <> ENM))
           end;

   function MSGDISC(I: PORT): boolean;

           begin
           MSGDISC:=(not VCDT[I].CST) or
                   (PKT_SEQ <> VCDT[I].NR) or
                   ((PORT_STATE <> EN) and (PORT_STATE <> ENM))
           end;

   function OPC_FLAG: PKT;

           begin
           {decode opcode and flags field of packet}
           end;

   begin
   if PKT_SRC > MAX_PORT then 
           if DGDISC(255) then DISCARD else UNRPKT
   else
           case OPC_FLAG of

           ILLEGAL:
                   if DGDISC(PKT_SRC) then DISCARD else UNRPKT;


           DG,LB,MCNF,ID,RETMDAT:
                   if DGDISC(PKT_SRC) then PROCESS else UNRPKT;

           IDREQ:
                   PROCESS;


           SNTMDAT,STRT,MDATREQ:

   PACKET PROCESSING                                             Page H-3


                   if PORT_STATE <> UNM then
                           if DGDISC(PKT_SRC) then DISCARD else UNRPKT
                   else
                           if PKT_SRC = RST_PORT then PROCESS else DISCARD;

           RST:
                   if (PORT_STATE <> EN) and
                           ((RST_PORT = PKT_SRC) or
                           (RST_PORT = SELF) or FORCE_RESET)
                                   then PROCESS else
                                           if DGDISC(PKT_SRC) then DISCARD
                                                   else UNRPKT;

           MSG,SNTDAT,DATREQ,CNF,RETDAT:
                   if MSGDISC(PKT_SRC) then DISCARD else PROCESS
           end

   end.

|  
|  
|  
|  
|  
|  
|  
|  
|  
|  
|  
|  
|                                APPENDIX I
|  
|                               EXCEPTIONS.
|  
|  
|  
|  
|  
|  
|  
|  
|       1.  For the CIBCI, setting bit 0 (the MIN bit) in the  PMCSR  has
|           no  effect  on the port.  To clear all states in the adapter,
|           the host must set the NRST bit in the VAXBICSR of the CIBCI.
|  
|       2.  For the CIBCA-AA, setting bit 0 (called the START bit in  the
|           CIBCA  implementation)  of  the  PMCSR clears all port errors
|           except the error bits internal to the BIIC of  the  CIBCA-AA.
|           The  port  is then left in the Uninitialized state.  To clear
|           ALL port states on the CIBCA-AA, the host can  set  the  NRST
|           bit  in  the  VAXBICSR  in addition to setting the START bit.
|           This exception reflects the design of the BIIC,  and  is  not
|           considered conformant with this specification.
|  

|  
|  
|  
|  
|  
|  
|  
|  
|  
|  
|  
|  
|                                APPENDIX J
|  
|           IMPLEMENTATION SPECIFIC DIAGNOSTIC INFORMATION FIELD
|  
|  
|  
|  This appendix describes how  the  Implementation  Specific  Diagnostic
|  Field  in  the  Port  Parameter  Register is assigned for various port
|  implementations.
|  
|  
|  
|  J.0.1  For The CIBCA-AA:
|  
|  
|  
|  PORT PARAMETER REGISTER
|  
|   3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
|   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
|  +-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-+
|  |C|C|C|L|L|L|L|L|L|L|L|L|L|L|L|L| | |E|D|X|A|A|A|P|P|P|P|P|P|P|P|
|  |S|S|S|1|1|1|0|0|0|0|0|0|0|0|0|0| | |A|A|H|D|D|D|N|N|N|N|N|N|N|N|
|  |Z|Z|Z|2|1|0|9|8|7|6|5|4|3|2|1|0|0|0|T|R|D|T|T|T|0|0|0|0|0|0|0|0|
|  |2|1|0| | | | | | | | | | | | | | | |O|B|R|2|1|0|7|6|5|4|3|2|1|0|
|  +-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-+
|  
|  BIT NO.     TITLE           DESCRIPTION
|  
|  
|  13          EATO            Extend Acknowledgement Time Out.
|                              This bit reflects whether 
|                              EXT ACK TO is asserted on the
|                              port. 
|                              IF 0 THEN
|                                    normal acknowledgement
|                                    timeout period.
|                              IF 1 THEN
|                                    extended acknowledgement
|                                    timeout period. 
|  
|                               Refer to DEC STD 161 (CI 
|                               Specification) for guidelines
|                               for correct settings in particular
|                               cluster configurations. 
                               

|  IMPLEMENTATION SPECIFIC DIAGNOSTIC INFORMATION FIELD          Page J-2


|  
|  12           DARB            DISABLE ARBITRATION: This bit, when set 
|                               indicates that arbitration is
|                               disabled.
|                               IF 0 THEN
|                                    normal arbitration.
|                               IF 1 THEN
|                                    arbitration disabled.
|  
|  
|  
|                                Refer to DEC STD 161 (CI 
|                                Specification) for guidelines
|                                for correct settings in particular 
|                                cluster configurations. 
|  
|   11          XHDR             EXTEND HEADER: This bit, when set, 
|                                tells the host that the EXTEND HEADER 
|                                feature of the link layer of the 
|                                local port is enabled.
|                                IF 0 THEN 
|                                     normal header.
|                                IF 1 THEN 
|                                     extended header.
|  
|                                 Refer to DEC STD 161 (CI 
|                                 Specification) for guidelines
|                                 for correct settings for 
|                                 particular cluster configurations.
|  
|   10:08         ADT(X)          ALTER DELTA TIME <2:0>: These three 
|                                 bits reflect the quiet slot delta 
|                                 time setting for the local port as 
|                                 indicated below. Refer to DEC STD 
|                                 161 (CI Specification) for guidelines
|                                 for correct settings in particular
|                                 cluster configurations. 
                               
|                                 ADT<2> ADT<1> ADT<0>   QUIET SLOT COUNT
|                                                        (in decimal, 
|                                                         transmit clocks)
|                                 ------ ------ ------   ----------------
|                                   0      0      0        7
|                                   0      0      1        10
|                                   0      1      0        14
|                                   0      1      1        16
|                                   1      0      0        21
|                                   1      0      1        25
|                                   1      1      0        32
|                                   1      1      1        illegal
|  
|  
|  

|  IMPLEMENTATION SPECIFIC DIAGNOSTIC INFORMATION FIELD          Page J-3


|  J.0.2  For The CI750, CI780, And CIBCI:
|  
|  PORT PARAMETER REGISTER
|  
|   3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
|   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
|  +-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-+
|  |C| | |L|L|L|L|L|L|L|L|L|L|L|L|L| | | | | | | | |P|P|P|P|P|P|P|P|
|  |S| | |1|1|1|0|0|0|0|0|0|0|0|0|0| | | | | | | | |N|N|N|N|N|N|N|N|
|  |Z|0|0|2|1|0|9|8|7|6|5|4|3|2|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|
|  | | | | | | | | | | | | | | | | | | | | | | | | |7|6|5|4|3|2|1|0|
|  +-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-++-+-+-+-+-+-+
|  
|  
|  BIT NO.     TITLE             DESCRIPTION
|  
|  
|  <14:8>      Implementation    Zero. These adapters do not
|              Specific          implement these bits.
|              Diagnostic        
|              Field             
       
|  
|  













                                 APPENDIX K

                               CHANGE HISTORY



        Rev 1 to Rev 2

        1.  Implicit buffer to buffer virtual  circuits  are  changed  to
            explicit  port  to  port  virtual  circuits.  This eliminates
            sequence numbers from buffer descriptors.  A Virtual  Circuit
            Descriptor Table is added together with the SETCKT command.

        2.  Two classes of messages are defined:  Sequenced -- which  use
            virtual circuits and Unsequenced -- which do not.

        3.  32-bit port addressing  is  changed  to  8  bits.   Broadcast
            addressing (needed for 32-bit port addresses) is eliminated.

        4.  Messages are variable size (0 to 4078 bytes).

        5.  Data packets are variable size (multiples of 1 to 8 of  basic
            512 and 576 byte size).

        6.  All successful data transfers are confirmed.  All  errors  in
            data  transfer  operations  result  in  closing  the  virtual
            circuit and giving an error  indication  by  the  port  which
            detected the error.

        7.  Tracking of path status is done by the port.

        8.  CI event counting is simplified.

        9.  Q field for RETCNF commands is in the PQB.

       10.  A SNDTST command is added (for maintenance use).

       11.  A maintenance timer is added.

       12.  PMTCR,PFAR,PMCSR, and PFQCR registers are added.

       13.  Buffer  access  control  based  on  PTE  access  control   is
            eliminated.

   CHANGE HISTORY                                                Page K-2


       14.  Opcodes are reassigned.

       15.  Status field format and values are changed.

   Rev 2 to Rev 3

        1.  Sequenced  messages  are  renamed  messages  and  Unsequenced
            messages are renamed and interpreted as datagrams.

        2.  Separate Free Queues are defined for messages and  datagrams:
            MFREEQ and DFREEQ.

        3.  Port generated RETCNF commands  use  CMDQ3.   Port  generated
            RETDAT  commands  use  a queue specified by the corresponding
            REQDAT.

        4.  Q_LIMIT is removed from virtual circuit descriptors.

        5.  Number of datagrams discarded is counted.

        6.  SNDTST command is eliminated.

        7.  Send Loopback (SNDLB) command is added for loopback testing.

        8.  CLSBUF command is  replaced  by  the  Invalidate  Translation
            Cache (INVTC) command.

        9.  Translation cache entry is  invalidated  on  the  sending  or
            receipt of data packet containing the last packet flag.

       10.  XCT_ID field is increased from 32 to 64 bits.

       11.  Maintenance data operations are restricted to one  CI  packet
            per command.

       12.  All illegal packets and maintenance packets received while in
            the wrong state are delivered as Unrecognized Packet (UNPPRT)
            responses.

       13.  Cluster Size (CSZ) field is added to PPR.

       14.  Port Error Status Register (PESR) is added.

       15.  Port Maintenance Timer Expiration Control  Register  (PMTECR)
            is added.

       16.  Status field format and values are changed.

       17.  Buffer  access  control  based  on  PTE  access  control   is
            restored.

       18.  Opcodes are reassigned.

   CHANGE HISTORY                                                Page K-3


       19.  Broadcast of ID packets on state change is eliminated.

   Rev 3 to Rev 4

        1.  Messages and datagrams are 4089 bytes maximum.

        2.  Command and packet processing are aborted when  the  port  is
            disabled (but data structures are left intact).

        3.  The  maintenance  timer  is  not  set  on  occurrence  of   a
            maintenance error.

        4.  Appendix on packet processing is included.

        5.  Limits on internally cached queue entries are changed.

   Rev 4 to Rev 4.1

        1.  Spelling and typing errors corrected.

        2.  Missing descriptions of data structure fields  in  chapter  7
            added.

        3.  Updated contents of Appendixes F and  G  to  reflect  current
            products.

   Rev 4.1 to 5.0

        1.  Variable period Maintenance/Sanity timer added.

        2.  All   instances   of   "maintenance   timer"    changed    to
            "maintenance/sanity timer".

        3.  Cluster size field in the Port Parameter Register expanded to
            three bits.

        4.  Implementation Specific Diagnostic Information field added to
            Port Parameter Register.

        5.  Miscellaneous Error  bit  added  to  the  PSR.   PESR  format
            changed.

        6.  Exceptions issued for initialization of  the  CIBCA  and  the
            CIBCI.  See Appendix I.

        7.  Descriptions of Resetting and Starting revised.

        8.  Port Functionality Extension field added to IDREC response.

