Internet Draft
GSMP Working Group                                       C. Adam, Xbind
Internet Draft                                          A. Lazar, Xbind
Document: draft-adam-gsmp-qgsmp-00.txt             M. Nandikesan, Xbind
Expiration Date: December 1999                            June 23, 1999

                           The qGSMP Protocol

                     <draft-adam-gsmp-qgsmp-00.txt>

Status of this Memo

   Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other
   documents at any time.  It is inappropriate to use Internet- Drafts
   as reference material or to cite them other than as "work in
   progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

Abstract

   This document presents the qGSMP protocol.  The purpose of qGSMP is
   to provide a simple open protocol for remotely controlling and
   managing an ATM switch with support for quality of service.  qGSMP
   builds upon the GSMP protocol ([5], [6], [7]), and provides
   functions for quality of service (QOS) provisions.

   qGSMP provides a QOS resource model for GSMP by including a set of
   additional messages, and by assigning specific signification to
   certain fields in certain GSMP messages. Only the messages that are
   added or that contain fields interpreted in a specific way are
   presented in this document.  The messages have been organized into
   the same set of categories, namely configuration management,
   connection management, statistics and state, and events.

Adam, Lazar, Nandikesan    Expires Dec 1999                          1
INTERNET-DRAFT                  qGSMP                       June 1999

Table of Contents

1.  Introduction......................................................3

  1.1 The General Switch Management Protocol (GSMP)...................3

  1.2 QOS Resource Model for GSMP.....................................3

2. Model for Controlled QOS...........................................4

  2.1 Modeling an ATM Switch..........................................4

  2.2 Modeling the Multiplexer........................................4

  2.3 Traffic Classes.................................................4

  2.4 Quality of Service..............................................5

  2.5 The Schedulable Region..........................................5

  2.6 Virtual Paths...................................................5

3 Definitions and Representations.....................................5

  3.1 General Definitions and Acronyms................................5

  3.2 Traffic Characterization Parameters.............................6

  3.3 QOS Parameters..................................................7

  3.4 Representation of Traffic and QOS Parameters....................7

  3.5 Representation of Buffer management policies....................8

  3.6 Representation of Schedulable Regions...........................8

  3.7 Measure of Change of Schedulable Regions........................8

4.    Quality of Service Messages.....................................8

  4.1   Message Format................................................8

     4.1.1 Header.....................................................8

     4.1.2 Ellipsis...................................................9

     4.1.3 Reserved Fields............................................9

     4.1.4 Request-Response Messages..................................9

     4.1.5 Bit-Masks..................................................9

  4.2 Connection Management Messages..................................9

     4.2.1 Add Branch Message........................................10

     4.2.2 Delete Branch Message.....................................11

     4.2.3 Add Virtual Path Message..................................11

     4.2.4 Delete Virtual Path Message...............................12

     4.2.5 Switching Table Partition Message.........................13

  4.3 QOS Configuration Messages.....................................13

     4.3.1 Port QOS Configuration Message............................14

     4.3.2 All Ports QOS Configuration Message.......................16

  4.4 Configuration Messages.........................................16

     4.4.1 Set Number of Traffic Classes and Buffers Message.........16

     4.4.2 Get Number of Traffic Classes and Buffers Message.........17

     4.4.3 Set Schedulable Region Message............................17

     4.4.4 Get Schedulable Region Message............................18

     4.4.5 Set Scheduling Policy Message.............................18

     4.4.6 Get Scheduling Policy Message.............................19

     4.4.7 Set Buffer Management Policy Message......................20

     4.4.8 Get Buffer Management Policy Message......................20

     4.4.9 Set Traffic Class Characterization Message................21

Adam, Lazar, Nandikesan    Expires Dec 1999                          2
INTERNET-DRAFT                  qGSMP                       June 1999

     4.4.10 Get Traffic Class Characterization Message...............22

     4.4.11. Set QOS Constraints Message.............................22

     4.4.12 Get QOS Constraints Message..............................23

     4.4.13 Set Schedulable Region Estimator Message.................23

     4.4.14 Get Schedulable Region Estimator Message.................24

  4.5 Statistics and State Messages..................................24

     4.5.1 Get Switching Table Message...............................24

     4.5.2 Get QOS Measurements Message..............................25

  4.6 Events (Asynchronous Messages).................................26

     4.6.1 Schedulable Region Changed Event..........................26

     4.6.2 QOS Violation Event.......................................26

  4.7 Additional Error Codes Defined by qGSMP........................27

5. References........................................................27

6. Authors' Addresses................................................28

1.  Introduction

   This document presents qGSMP - an open protocol for the control and
   management of ATM switches with support for quality of service.
   QGSMP builds upon the GSMP protocol ([5], [6], [7]), and provides
   functions for quality of service (QOS) provisions.

   qGSMP provides a QOS resource model for GSMP by including a set of
   additional messages, and by assigning specific signification to
   certain fields in certain GSMP messages. Only the messages that are
   added or that contain fields interpreted in a specific way are
   presented in this document.The messages have been organized into
   the same set of categories, namely configuration management,
   connection management, statistics and state, and events.

1.1 The General Switch Management Protocol (GSMP)

   GSMP is an open interface to control and manage ATM switches. It
   provides for hardware-independent development of switch-control
   software by third parties. On one side of the GSMP interface is an
   ATM switch and on the other side is a switch controller. All
   messages except asynchronous event messages and adjacency protocol
   messages are generated by the switch controller and responded to by
   the switch. Event messages, much like CPU interrupts, are generated
   by the switch and possibly acknowledged by the switch controller.
   Thus, the switch controller and switch share a master-slave
   relationship.

1.2 QOS Resource Model for GSMP

   The messages provided by qGSMP focus on controlling the output
   multiplexers and retrieving schedulable region estimates. They
   provide means for selecting scheduling, buffer management and
   schedulable region [1] estimation algorithms, setting traffic

Adam, Lazar, Nandikesan    Expires Dec 1999                          3
INTERNET-DRAFT                  qGSMP                       June 1999

   parameters and QOS constraints, and collecting QOS-related
   measurements.

2. Model for Controlled QOS

2.1 Modeling an ATM Switch

   An ATM switch is modeled as shown in Figure 1. It consists of a
   switch fabric, switching table, a set of input and output ports. The
   switching table provides the data required by the switching fabric
   to switch cells from input ports to output ports. Each output port
   contains a multiplexer.

                  +---------------+     +-----------+
                  |Switching Table|     |Schedulable|
                  +---------------+     |  Region   |
                          |             |Estimators |
                          |             +-----------+
                          V
               +=====================+  +-----------+
      -------->|                     |--|Multiplexer|--------->
               |    Switch Fabric    |  +-----------+
        ...    |                     |  +-----------+
      -------->|                     |--|Multiplexer|--------->
               +=====================+  +-----------+

                  Figure 1. The Switch Model for Controlled QOS

2.2 Modeling the Multiplexer

   A multiplexer is shown in Figure 2. It consists of a set of buffers,
   a buffer manager that arbitrates access to the output port buffers,
   and a scheduler, which arbitrates access to the output link.

              +---+      -------+
       ------>|   |------>|     |-      +-----+
              |   |      -------+ \---->|     |
              |   |                     |     |------->
              |   |      -------+  ---->|     |
       ------>|   |------>|     |-/     +-----+
              +---+      -------+
             Buffer       Buffers       Scheduler
             Manager

                  Figure 2. Multiplexer Model

2.3 Traffic Classes

   A traffic class represents a statistical model for an information

Adam, Lazar, Nandikesan    Expires Dec 1999                          4
INTERNET-DRAFT                  qGSMP                       June 1999

   stream. It shall be defined by a peak rate and an additional
   stochastic characterization such as video, voice, or data. The
   latter is specified, for example., through its average rate.

2.4 Quality of Service

   With each traffic class a set of cell-level QOS constraints such as
   maximum delay and loss probability bounds shall be associated.

2.5 The Schedulable Region

   The schedulable region (SR) is the space of possible combinations of
   calls of each traffic class that an output port multiplexer can
   handle while guaranteeing quality of service ([1], [2], [4], [9]].

2.6 Virtual Paths

   Figure 3 illustrates a virtual path of bandwidth c bit/s, starting
   at switch A and terminating at switch C. The following actions are
   needed to create the virtual path:

   Origin node (switch A): Allocate a VPI and c bits/s of bandwidth on
   the output port.

   Intermediate nodes (switch B): Reserve a VP entry in the switching
   table; allocate c bits/s of bandwidth on the output port.

   Termination node (switch C): Allocate a VPI for the input port.

       +--------+            +--------+            +--------+
       |        |            |        |            |        |
       |Switch A|------------|Switch B|------------|Switch C|
       |        ====================================        |
       +--------+            +--------+            +--------+

         ------- physical link
         ======= virtual path

                  Figure 3. A Virtual Path

3 Definitions and Representations

3.1 General Definitions and Acronyms

   Buffer Manager
             An entity on the switch output for regulating access
             to the buffers.

   Switching Table
             A lookup table in a switch used to forward cells from
             input ports to output ports. In addition, the table
             provides information on which resources (output buffer)

Adam, Lazar, Nandikesan    Expires Dec 1999                          5
INTERNET-DRAFT                  qGSMP                       June 1999

             the cells of the connection would utilize in the output
             port multiplexer.

   GSMP
               General Switch Management Protocol.

   Multiplexer
             A collection of buffers along with a scheduler and buffer
             manager for arbitrating acess of cells from multiple
             streams to an output line.

   qGSMP
             General Switch Management Protocol with Quality of
             Service Extensions

   Quality of Service (QOS)
             A measure of cell delays and losses in a switch.

   Schedulable Region
             The set of possible combinations of calls of each traffic
             class that a multiplexer can support while providing
             quality of service ([1], [2], [4], [9]).

   Scheduler
             An arbitrator of cells from multiple streams for accessing
             an output line of a switch.

   Switch Controller
             A piece of software for controlling a switch, but running
             outside the switch, on a PC for example.

   Traffic Class
             A statistical model for an information stream, specified
             by its peak cell rate and an additional stochastic
             characterization such as video, audio, voice or data. The
             latter is specified , for example, through its average
             cell rate.

3.2 Traffic Characterization Parameters

    Peak Cell Rate
             Reciprocal of the shortest inter-cell duration of a
             cell-stream

   Average Cell Rate
             The average number of cells in a cell-stream over a
             measurement era.

   Measurement Era
             The duration used for computing averages.

   Video
             Real-time video statistics

Adam, Lazar, Nandikesan    Expires Dec 1999                          6
INTERNET-DRAFT                  qGSMP                       June 1999

   Audio
             Real-time audio statistics

   Voice
             Real-time voice statistics

   Data
             Real-time data statistics

   Premium
             Arbitrary statistics

3.3 QOS Parameters

   Maximum Cell Delay
             Maximum queueing delay of any cell in a cell stream.

   Average Cell Loss
             The fraction of cells of a cell-stream dropped over a
             measurement era.

   Average Gap Loss
             The average number of consecutively dropped cells of a
             given cell stream over a measurement era.

   Measurement Era
             The duration used for computing averages.

3.4 Representation of Traffic and QOS Parameters

   Representation of Bandwidths
             Bandwidths (line rates, peak cell rates, average cell
             rates, etc.) shall be represented using two-byte
             integers. The most significant bit gives the unit
             (0 = kb/s, 1 = Mb/s) and the remaining 15 bits give the
             value. This permits representation of rates from 0 to
             32 Mb/s in increments of 1 kb/s, and rates from
             0 to 32 Gb/s in increments of 1 Mb/s.

   Representation of Cell Delays
             Cell delays shall be represented using two bytes in units
             of 10 microseconds, thus provisioning for the
             representation of a delay of up to 650 milliseconds.

   Representation of Cell Loss Probabilities
             Probabilities shall be represented using two bytes. The
             Most Significant Byte shall be the mantissa and the other
             one the negative of the exponent base 2.

   Representation of Measurement Era
             The measurement era shall be represented using two bytes
             in units of 100 milliseconds, thus giving a range of 0 -

Adam, Lazar, Nandikesan    Expires Dec 1999                          7
INTERNET-DRAFT                  qGSMP                       June 1999

             1.8 hours.

3.5 Representation of Buffer management policies

   Simple Policy - Cells are admitted if and only if the queue length
   of the buffer to which the traffic class is mapped is below its
   capacity.

3.6 Representation of Schedulable Regions

   An n-dimensional schedulable region S shall be represented using an
   m x n matrix, where n is the number of traffic classes and m is an
   arbitrary positive integer. The larger the value of m, the more
   accurate the representation. First the simplest case of m = 1 will
   be presented. In this case, the matrix becomes an n-dimensional
   vector A = (a_j) of non-negative integers. Let H be the hyperplane
   whose intercepts are a_1 through a_n. The schedulable region
   represented by the vector A is the space bounded by the coordinate
   axes and the hyperplane H.

   The convention 0/0 = 0 and x/0 = infinity for x > 0 shall be
   adopted. In the case of an n x m matrix A = (a_ij), the schedulable
   region is the union of hyperplanes H_1 through H_m, where H_j
   is the hyperplane whose intercepts are a_1j through a_nj.

3.7 Measure of Change of Schedulable Regions

   A measure of change of the Schedulable Region is the largest
   percentage change of any element of the matrix A.

4.  Quality of Service Messages

4.1 Message Format

   qGSMP messages shall be encapsulated directly in AAL-5 CPCS-PDUs [7]
   and represented in big-endian format. The maximum transfer unit
   (MTU) and virtual channel identifier (VPI/VCI) of qGSMP messages
   shall be identical to that of GSMP [5], namely VPI = 0, VCI = 15,
   MTU = 1492.

4.1.1 Header

   Many QOS messages have the common header structure shown below. The
   common header will be called qGSMP header. Some messages, however,
   do not use the qGSMP header.

Adam, Lazar, Nandikesan    Expires Dec 1999                          8
INTERNET-DRAFT                  qGSMP                       June 1999

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                LLC (0xAA-AA-03)               |               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               +
   |                    SNAP (0x00-00-00-88-0C)                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Version     | Message Type  |     Result    |      Code     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Transaction Identifier                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                Port                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Port Session Number                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

4.1.2 Ellipsis

   Fields whose descriptions are appended with ellipses (...) are of
   variable length.

4.1.3 Reserved Fields

   Fields marked 'Reserved' or 'Res' are to be set to zero by the
   sender and ignored by the receiver.

4.1.4 Request-Response Messages

   Apart from the event and adjacency-protocol messages, qGSMP is a
   master-slave interface: Requests made through qGSMP are responded to
   by the switch. If one field is used only in a request or a response,
   this is mentioned under its description. Header fields are used by
   all messages. Reserved fields in QOS messages may be omitted if they
   are not followed by non-Reserved fields.

4.1.5 Bit-Masks

   Bit masks will be used to identify buffers, traffic classes, QOS
   parameters, etc. For an enumeration, the Most Significant Bit
   corresponds to the first element, the next bit to the second
   element, and so on. A bit-value of 1 represents inclusion while a
   bit-value of 0 represents exclusion.

4.2 Connection Management Messages

   The connection management messages provide means for setting and
   tearing down virtual channels and virtual paths. They are atomic in
   that if the multiplexing capacity is not available then the
   switching table entry is not set. Similarly, if there is no room
   left in the switching table, no capacity is acquired from the
   multiplexer (schedulable region).

Adam, Lazar, Nandikesan    Expires Dec 1999                          9
INTERNET-DRAFT                  qGSMP                       June 1999

4.2.1 Add Branch Message

   Add a virtual circuit entry in the switching table, and acquire a
   capacity in the schedulable region.  Every connection belongs to a
   traffic class.  For a premium traffic class, peak rate allocation is
   performed.  Therefore, a peak rate needs also to be specified for a
   connection that uses a premium traffic class. The traffic class and
   the peak rate determine the capacity the connection will require
   from the schedulable region.  The Traffic Class and the Peak Rate
   fields are encoded inside the Service Selector field defined in
   GSMP. To request a connection the Add Branch message is:

        Message Type = 16

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 LLC(0xAA-AA-03)               |               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               +
   |                     SNAP (0x00-00-00-88-0C)                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Version    |  Message Type |    Result     |      Code     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Transaction Identifier                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Port Session Number                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Input Port                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |QMS|E|x|                                                       |
   +-+-+-+-+                 Input Label                           ~
   ~                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Output Port                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |QMS|E|x|                                                       |
   +-+-+-+-+                 Output Label                          ~
   ~                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Traffic Class |   Reserved    |         Peak Rate             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Traffic Class
             Specifies the traffic class of the connection.  This field
             is used only in the request message and does not exist in
             the reply message.

   Peak Rate
             Specifies the peak cell rate of the connection if the
             Traffic Class is of traffic type Premium. Otherwise, this
             field is reserved. In the former case, the peak rate is
             specified as given in Section 3.  This field is used
             only in the request message and does not exist in the

Adam, Lazar, Nandikesan    Expires Dec 1999                         10
INTERNET-DRAFT                  qGSMP                       June 1999

             reply message.

   The reply Add Branch message has the following form:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 LLC(0xAA-AA-03)               |               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               +
   |                     SNAP (0x00-00-00-88-0C)                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Version    |  Message Type |    Result     |      Code     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Transaction Identifier                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Port Session Number                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Input Port                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |QMS|E|x|                                                       |
   +-+-+-+-+                 Input Label                           ~
   ~                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Output Port                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |QMS|E|x|                                                       |
   +-+-+-+-+                 Output Label                          ~
   ~                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Number of Branches       |            Reserved           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Number of Branches
             See the GSMP specification ([5], [6]).  This field is used
             only in the reply message and does not exist in the
             request message ([7]).

4.2.2 Delete Branch Message

   See the GSMP specification ([5], [6]).

4.2.3 Add Virtual Path Message

   Add a VP origination, through VP, or a VP termination (section 2.6).

   For a VP origination, acquire the specified output VPI and
   bandwidth. The input VPI must be set to zero.

   For a through VP, acquire the VP entry specified by the input and
   output ports and VPIs. In addition, acquire the specified bandwidth
   on the output port.

Adam, Lazar, Nandikesan    Expires Dec 1999                         11
INTERNET-DRAFT                  qGSMP                       June 1999

   For a VP termination, acquire the specified input VPI. The output
   VPI and Bandwidth fields must be set to zero.

        Message Type = 26

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 LLC(0xAA-AA-03)               |               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     SNAP (0x00-00-00-88-0C)                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Version    |  Message Type |    Result     |      Code     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Transaction Identifier                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Port Session Number                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Input Port                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |QMS|E|x|                                                       |
   +-+-+-+-+                 Input Label                           ~
   ~                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Output Port                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |QMS|E|x|                                                       |
   +-+-+-+-+                 Output Label                          ~
   ~                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Number of Branches       |           Bandwidth           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Bandwidth
             Specifies the bandwidth to be acquired for the virtual
             path, as given in Section 2.6.

4.2.4 Delete Virtual Path Message

   Delete a VP origination, through VP, or a VP termination (section
   2.6).

   For a VP origination, release the specified output VPI. The input
   VPI must be set to zero. The switch will remove the bandwidth that
   was associated with the VP origination.

   For a through VP, delete the VP entry specified by the input and
   output ports and VPIs. The switch will remove the bandwidth that was
   associated with the through VP.

   For a VP termination, release the specified input VPI. The output
   VPI field must be set to zero.

Adam, Lazar, Nandikesan    Expires Dec 1999                         12
INTERNET-DRAFT                  qGSMP                       June 1999

   The message format is as in Section 4.2.3. To remove a connection
   the Delete Virtual Path message is:

        Message Type = 27

   Bandwidth
             This field is not used in the case of the Delete Virtual
             Path message.

4.2.5 Switching Table Partition Message

   Allocating memory for multicast connections: some switches provide a
   flexible way to partition the memory allocated to the switching
   table between unicast and multicast circuits. The Switching Table
   Partition message allows to control remotely this memory partition.

        Message Type = 200

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          qGSMP Header                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |A|  Multicast Memory Fraction  |R|  Unicast Memory Fraction    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Port
             The port for which the switching table is partitioned.
             This field is in the qGSMP Header.

   A
             If set to '1', the bit A indicates that the entire switch
             switching table is to be partitioned following the way
             specified in the message. Otherwise, the partition applies
             only to the specified port.

   Multicast Memory Fraction
             Specifies which fraction (in 1/128) of the switching table
             is allocated to multicast connections.

   Unicast Memory Fraction
             Specifies which fraction (in 1/128) of the switching table
             is allocated to unicast connections.

   R
             Reserved

4.3 QOS Configuration Messages

   The QOS configuration messages permit queries of the list of
   scheduling and buffer management policies, SR estimation algorithms
   and traffic class characteristics supported by the switch.  They
   also allow to set these parameters, as well as retrieve their

Adam, Lazar, Nandikesan    Expires Dec 1999                         13
INTERNET-DRAFT                  qGSMP                       June 1999

   values.

4.3.1 Port QOS Configuration Message

   The controller queries the QOS support available on a port. The
   switch returns a record containing the QOS capabilities available on
   the port.

        Message Type = 201

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          qGSMP Header                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Res  |Classes|  Qualitative  |  Quantitative |   QOS Mask    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  SR Est Mask  | Scheduler Mask|       Max Buffers ...         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |Buffer Mgr Mask| Reserved  |M.A|      Memory Size(s)           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Field Descriptions

   Classes
             Maximum number of traffic classes supported on the
             port. The next several fields are bit masks parameterizing
             the traffic class and QOS descriptors and supporting
             algorithms available on the port. The mask is intended for
             representing the more common items. Additional elements
             can be defined in the future and included by setting the
             bit named Additional Elements in the mask and then
             appending a list of 8-bit codes of the additional
             items. The items on the mask are given codes equal to
             their bit-position in the mask.

   Qualitative
             Mask of supported qualitative traffic characterizations
             (see Section 3).
             Bit 0:  Premium
             Bit 1:  Video
             Bit 2:  Voice
             Bit 3:  Audio
             Bit 4:  Data
             Bit 5:  Reserved
             Bit 6:  Reserved
             Bit 7:  Additional Elements

   Quantitative
             Mask of supported quantitative traffic characterizations
             on the port (see Section 3).
             Bit 0:  Peak Rate
             Bit 1:  Average Rate

Adam, Lazar, Nandikesan    Expires Dec 1999                         14
INTERNET-DRAFT                  qGSMP                       June 1999

             Bit 2:  Reserved
             Bit 3:  Reserved
             Bit 4:  Reserved
             Bit 5:  Reserved
             Bit 6:  Measurement Era
             Bit 7:  Additional Elements

   QOS mask
             Mask of supported QOS parameters on the port (Section 3).
             Bit 0:  Maximum Delay
             Bit 1:  Average Delay
             Bit 2:  Probability of Loss
             Bit 3:  Maximum Gap Loss
             Bit 4:  Reserved
             Bit 5:  Reserved
             Bit 6:  Measurement Era
             Bit 7:  Additional Elements

   SR Est Mask
             Mask of Schedulable Region estimators supported on the
             port. If bit 0 is set, none of the other bits may be set.
             Bit 0:  No Estimator
             Bit 1:  Proprietary
             Bit 2:  Reserved
             Bit 3:  Reserved
             Bit 4:  Reserved
             Bit 5:  Reserved
             Bit 6:  Reserved
             Bit 7:  Additional Elements

   Sched mask
             Mask of supported schedulers on the port.
             Bit 0:  Proprietary
             Bit 1:  First-In-First-Out
             Bit 2:  Static Priority Scheduling
             Bit 3:  Weighted Round Robin
             Bit 4:  MARS (See [1])
             Bit 5:  Reserved
             Bit 6:  Reserved
             Bit 7:  Additional Elements

   Max Buffer
             List of maximum of number of buffers that can be supported
             per supported scheduling policy (two bytes per number of
             buffers).

   Buff Mgr Mask
             Mask of buffer management policies supported (Section 3).
             Bit 0:  Proprietary
             Bit 1:  Simple Policy
             Bit 2:  Reserved
             Bit 3:  Reserved
             Bit 4:  Reserved

Adam, Lazar, Nandikesan    Expires Dec 1999                         15
INTERNET-DRAFT                  qGSMP                       June 1999

             Bit 5:  Reserved
             Bit 6:  Reserved
             Bit 7:  Additional Elements

   M.A
             Memory allocation schemes supported for output buffers on
             the port.
             0:   Undefined (must not be used)
             1:   Entire memory arbitrarily divisible among buffers of
             all ports
             2:   One block of memory per port, arbitrarily divisible
             among its buffers
             3:   One block of memory per buffer

   Memory Size
             Memory size(s) in units of cells, specified according to
             the value of the Memory Allocation Type:
             M.A = 1:  the memory available one entire the switch (4
             bytes).
             M.A = 2:  the memory available on the port (4 bytes).
             M.A = 3:  the number of scheduling queues on the port (2
             bytes) and the memory available per scheduling buffer (4
             bytes).

             In the above, the term "Proprietary" refers to the switch
             manufacturer's proprietary algorithm. Thus, it may vary
             from switch to switch.

4.3.2 All Ports QOS Configuration Message

   Returns a set of Port QOS Configuration messages, one for each of
   the ports of the switch.  The purpose of the message is to query the
   QOS support available on each port. The switch will reply to the
   message by returning a list of records. The structure of each record
   is identical to the records returned in the Port QOS Configuration
   message.

        Message Type = 202

4.4 Configuration Messages

   The management messages trigger operations that change the QOS
   parameters of the traffic classes, the scheduling or buffer
   management policy, or the Schedulable Region estimation method on an
   output port. They also allow for the schedulable region estimates to
   be initialized to any size. A complementary set of messages permits
   retrieval of the state set by the above-mentioned messages.

4.4.1 Set Number of Traffic Classes and Buffers Message

   Sets the number of traffic classes and buffers, and the buffer to be
   used by each traffic class on a specific port or VPI (for an origin
   node only). The information is provided by the controller. The

Adam, Lazar, Nandikesan    Expires Dec 1999                         16
INTERNET-DRAFT                  qGSMP                       June 1999

   switch acknowledges the operation.

        Message Type = 203

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          qGSMP Header                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Res  |       VPI             |          Reserved             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Res  |Buffers|  Res  |Classes|     Class-to-Buffer Map       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Field Descriptions

   VPI
             The VPI for which the number of buffer and traffic classes
             are being set. A value of zero signifies the port as a
             whole rather that a specific VPI.

   Buffers
             Number of output buffers.

   Classes
             Number of traffic classes.

   Class-to-Buffer Map
             Indicates the buffer to be used for each traffic class as
             follows: Bit 0 is always set to 1. If the next bit that is
             1 is at position n, then traffic classes 0 to n-1 are
             mapped to buffer 0. If the next bit that is 1 is in
             position m, then traffic classes n to m-1 are mapped to
             buffer 2. and so on. If the last bit that is set to 1 is
             at position p, then traffic classes p and higher are
             mapped to buffer k, where k is the number of 1's in the
             mask. k should equal the value set in the field Buffers.

4.4.2 Get Number of Traffic Classes and Buffers Message

   Gets the number of traffic classes and buffers, and the buffer to be
   used by each traffic class on a specific port. The message format
   and the field description is the same as in section 4.4.1.

        Message Type = 204

4.4.3 Set Schedulable Region Message

   Initializes the schedulable region estimate on a specified port or
   VPI. This will reset the schedulable region, but it may change over
   time if schedulable region estimation is turned on.

        Message Type = 205

Adam, Lazar, Nandikesan    Expires Dec 1999                         17
INTERNET-DRAFT                  qGSMP                       June 1999

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          qGSMP Header                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        VPI            | Planes|       Reserved        | Dimen |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Coefficients (aij)    ...               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Field Descriptions

   VPI
             The VPI for which the schedulable region is to be set. A
             value of zero signifies the port as a whole rather that a
             specific VPI.

   Dimen
             The dimension of the Schedulable Region (The number of
             columns of the matrix A. See Section 3).

   Planes
             The number of hyperplanes representing the schedulable
             region (the number of rows of the matrix A. Section 3).

   Coefficients
             The elements of the matrix A = (aij), represented using
             four bytes per element, ordered row by row. (Section 3)

4.4.4 Get Schedulable Region Message

   Gets the schedulable region on a specified port or VPI. The
   controller sends a request containing the port and/or the VPI for
   which the estimate is to be retrieved, and the switch replies with
   the schedulable region description. The message format and the field
   descriptions are the same as in section 4.4.3.

        Message Type = 206

4.4.5 Set Scheduling Policy Message

   Selects scheduling policy on a specified port or VPI. The controller
   specifies the scheduling policy to be setup on the switch, and the
   switch acknowledges the operation.

        Message Type = 207

Adam, Lazar, Nandikesan    Expires Dec 1999                         18
INTERNET-DRAFT                  qGSMP                       June 1999

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          qGSMP Header                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Res  |          VPI          |  Res  |Classes|   Scheduler   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Parameters  ...      |                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Field Descriptions

   VPI
             The VPI for which the scheduling policy is setup. A value
             of zero refers to the port as a whole.

   Classes
             Number of traffic classes

   Scheduler
             Code for scheduling policy.

   Parameters
             The parameters of the scheduler. The parameters for the
             scheduling policies defined in Section 4.3.1 are as
             follows:

             First-In-First-Out:  None

             Static Priority Scheduling:  None (priorities determined
             by the buffer number, lowest numbered buffer having the
             highest priority).

             Weighted Round Robin:  Weights for each buffer, specified
             in two bytes, starting with buffer 1.

             MARS: H, h_1, h_2, ..., h_n, specified in that order using
             two bytes for each parameter. See [1] for definitions.

             Proprietary Scheduling Policy - None.

4.4.6 Get Scheduling Policy Message

   The controller retrieves the scheduling policy on a specific port or
   VPI. It sends an empty request and the switch replies with the
   scheduling policy description. The message format and field
   description are the same as in section 4.4.5.

        Message Type = 208

Adam, Lazar, Nandikesan    Expires Dec 1999                         19
INTERNET-DRAFT                  qGSMP                       June 1999

4.4.7 Set Buffer Management Policy Message

   The controller selects the buffer management policy on a specific
   port or VPI, by specifying the number of output buffers, traffic
   classes, the type of buffer management policy and the policy
   parameters. The switch updates its hardware and acknowledges the
   operation.

        Message Type = 209

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          qGSMP Header                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Res  |        VPI            |  Res  |Buffers|  Res  |Classes|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Buffer Manager Type      |       Parameters ...          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Field Descriptions

   VPI
             The VPI for which the buffer management policy is setup. A
             value of zero refers to the port as a whole.

   Buffer
             Number of output buffers

   Classes
             Number of traffic classes

   Buffer Manager Type
             The code for the buffer management policy (see Section
             4.3.1 for a listing of policies).

   Parameters
             The parameters of the buffer management policy are as
             follows:

             Simple Policy - Buffer Sizes, two bytes each, specified
             starting with the lowest numbered buffer.

4.4.8 Get Buffer Management Policy Message

   The controller retrieves the buffer management policy on a specific
   port or VPI. It specify the port/VPI in the request, and the switch
   replies with the description of the buffer management policy. The
   field descriptions and the message format are the same as in section
   4.4.7.

        Message Type = 210

Adam, Lazar, Nandikesan    Expires Dec 1999                         20
INTERNET-DRAFT                  qGSMP                       June 1999

4.4.9 Set Traffic Class Characterization Message

   The controller sets the traffic class characteristics on a specific
   port or VPI.  It sends the characteristics of the traffic class and
   the switch acknowledges the operation.

        Message Type = 211

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          qGSMP Header                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Res  |        VPI            |S|      Reserved       |Classes|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Qualitative 1 | Quantitative 1|       Class 1 Parameter 1     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              ...              | Qualitative 2 | Quantitative 2|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Class 2 Parameter 1      |              ...              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              ...              |              ...              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Field Descriptions

   VPI
             The VPI for which the traffic classes are setup. A value
             of zero refers to the port as a whole.

   S
             If set, automatically set parameters of any previously
             selected schedulers, buffer managers, and/or SR estimators
             to reflect the traffic class characterizations given in
             the present message.

   Classes
             Number of traffic classes.

   Qualitative n
             Mask of qualitative traffic descriptors defined for
             traffic class n.

   Quantitative n
             Mask of quantitative traffic characteristics for traffic
             class n.

   Any set of supported qualitative or quantitative characteristics,
   including the empty set, may be chosen for traffic class
   description. Every Qualitative or Quantitative Traffic
   Characteristic selected in the mask is specified using 2 bytes.

Adam, Lazar, Nandikesan    Expires Dec 1999                         21
INTERNET-DRAFT                  qGSMP                       June 1999

4.4.10 Get Traffic Class Characterization Message

   The controller gets the values of the traffic class parameters on a
   specific port or VPI. It sends a request containing a specific port
   and/or VPI, and the switch replies returning the requested
   parameters. The message format and the field descriptions are the
   same as in section 4.4.9.

        Message Type = 212

4.4.11. Set QOS Constraints Message

   The controller sets the QOS constraints for each traffic class on a
   specific port or VPI.  The switch acknowledges the operation.

        Message Type = 213

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          qGSMP Header                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Res  |        VPI            |           Reserved            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |S|T|    Reserved       |Classes|    Reserved   |  Class 1 Mask |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Class 1 Parameter 1      |                ...            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Reserved    | Class 2 Mask  |      Class 2 Parameter 1      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              ...              |                ...            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Field Descriptions

   VPI
             The VPI for which the QOS parameters are setup. A value of
             zero refers to the port as a whole.

   S
             If set, automatically set parameters of any previously
             selected schedulers, buffer managers, and SR estimators to
             reflect the QOS constraints given in the present message.

   T
             The case T = 1 signifies that QOS is to be guaranteed per
             connection whereas the case T = 0 signifies that QOS is to
             be guaranteed per traffic class.

   Classes
             Number of traffic classes.

Adam, Lazar, Nandikesan    Expires Dec 1999                         22
INTERNET-DRAFT                  qGSMP                       June 1999

   Class n Mask
             Mask of QOS parameters for class n. Any set of supported
             QOS constraints, including the empty set, may be
             chosen. If the mask is empty, then class n is provided
             with no QOS guarantees.

   Class n Parameter m
             Every QOS parameter selected in the Class n Mask is
             specified using 2 bytes (Section 3).

4.4.12 Get QOS Constraints Message

   The controller gets the values of the QOS constraints on a specific
   port or VPI. It sends an request specifying the port and/or the VPI,
   and the switch replies with the requested parameters. The message
   format and the field description is the same as in section 4.4.11.

        Message Type = 214

4.4.13 Set Schedulable Region Estimator Message

   The controller selects a schedulable region estimation algorithm and
   an update threshold on a specific port or VPI. The switch sets up
   the parameters and acknowledges the operation.

        Message Type = 215

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          qGSMP Header                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Res  |        VPI            |           Reserved            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Res  |  SR Update Threshold  |       Estimation Classes      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Reserved       |  Est  |    Estimator Parameters ...   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Field Descriptions

   VPI
             The VPI for which the schedulable region estimation
             parameters are being setup. A value of zero refers to the
             port as a whole.

   SR Update Threshold
             Specified in units of 0.01%, resulting in a maximum
             possible value of 20% (Section 3).

   Estimation Classes
             Mask of classes to be included for SR estimation.

Adam, Lazar, Nandikesan    Expires Dec 1999                         23
INTERNET-DRAFT                  qGSMP                       June 1999

   Est
             Code of the estimator (section 4.3.1). Selection of "No
             Estimator" (code 0) terminates SR estimation on the port.

   Estimator Parameters
             Specific to each estimator, none for proprietary
             estimators.

4.4.14 Get Schedulable Region Estimator Message

   The controller retrieves the schedulable region estimator type and
   the update threshold on a specific port or VPI. It sends a request
   specifying the port and/or the VPI and the switch replies with the
   parameters. The message format and the field descriptions are the
   same as in section 4.4.13.

        Message Type = 216

4.5 Statistics and State Messages

   The Statistics messages permit queries of QOS measurements and
   schedulable region estimates. This is in addition to the GSMP
   messages that provide for queries of cell counts.

4.5.1 Get Switching Table Message

   The controller retrieves the switching table corresponding to the
   input port. It specifies the input port and receives from the switch
   a list of switch table entries.  The content of an entry is
   described below.

        Message Type = 217

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 LLC(0xAA-AA-03)               |               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               +
   |                     SNAP (0x00-00-00-88-0C)                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Version    |  Message Type |    Result     |      Code     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Transaction Identifier                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Sequence Number                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Input Port                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Table Entry 1                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Adam, Lazar, Nandikesan    Expires Dec 1999                         24
INTERNET-DRAFT                  qGSMP                       June 1999

   Each Switching Table Entry has the following format:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Res  |       Input VPI       |          Input VCI            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                            Output Port 1                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Res  |       Output VPI  1   |          Output VCI    1      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |Traffic Class 1|   Reserved    |         Peak Rate 1           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                            Output Port 2                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Res  |       Output VPI  2   |          Output VCI    2      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |Traffic Class 2|    Reserved   |         Peak Rate 2           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               ...                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

4.5.2 Get QOS Measurements Message

   The controller queries the QOS constraints measurements on a
   specific port or VPI. It specifies the port and/or the VPI for which
   the measurements are collected, as well as the classes and the
   parameters that it wants to measure by using bit maps.  It can also
   set a bit, S, that will reset the measurements. The switch replies
   with the values of the requested parameters.

        Message Type = 218

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          qGSMP Header                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Res  |        VPI            |           Reserved            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |S|      Reserved       | Class |    Reserved   |   Class Mask  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Class Parameter 1       |                ...            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Field Descriptions

   S
             If set, reset measurement statistics after returning the
             present measurements. The reset values of all traffic and
             QOS measurements shall be zero.

Adam, Lazar, Nandikesan    Expires Dec 1999                         25
INTERNET-DRAFT                  qGSMP                       June 1999

   Class
             The traffic class for which measurements are to be
             returned.

   Class Mask
             A bitmap that allows the controller to specify for which
             traffic class parameters the switch will send
             measurements.

   Class Parameter i
             This field will contain the value of the i-th parameter of
             the traffic class. This value is returned by the switch to
             the controller.

4.6 Events (Asynchronous Messages)

4.6.1 Schedulable Region Changed Event

   If the size of the Schedulable Region varies significantly, the
   switch will send the controller an event that will indicate the port
   or the VPI for which the schedulable region has changed. To get more
   information, the controller can query the switch about the
   schedulable region shape.

        Message Type = 219

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          qGSMP Header                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Res  |        VPI            |           Reserved            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

4.6.2 QOS Violation Event

   The switch notifies the controller about a violation for one or
   several of the parameters defined in the QOS constraints. The
   message format is the same as in the section 4.5.2. The Class field
   identifies the traffic class for which the violation has happened.
   The class mask will be used in this case to identify the parameters
   for which the violation has occured, and the parameter values will
   contain the values measured during the QOS violation.

        Message Type = 220

Adam, Lazar, Nandikesan    Expires Dec 1999                         26
INTERNET-DRAFT                  qGSMP                       June 1999

4.7 Additional Error Codes Defined by qGSMP

       128:  Attempt to retrieve uninitialized variable(s).
       129:  Specified cardinality is zero.
       130:  Specified quantity does not match existing value.
       131:  Invalid parameter value(s).
       132:  Unsupported parameter, scheduler, buffer manager, and/or
             SR estimator type.
       133:  Incompatible set of parameter values.
       134:  Incompatible set of traffic/QOS parameter types.
       135:  Incompatible set of scheduler, buffer manager and/or SR
             estimator types.
       136:  Invalid composition of scheduling policies.
       137:  Cannot support the requested set of traffic/QOS parameter
             types simultaneously.
       138:  Cannot support the requested set of traffic/QOS parameters
             values simultaneously (too stringent).
       139:  Cannot support the requested scheduler, buffer manager
             and/or SR estimator simultaneously on the specified port.
       140:  Cannot support the requested schedulers, buffer managers
             and/or SR estimators on the various ports simultaneously.
       141:  Cannot support the requested compound scheduling policy.

5. References

      [1] Hyman, J.M., Lazar, A.A. and Pacifici, G., "Real-Time
          Scheduling with Quality of Service Constraints", IEEE Journal
          on Selected Areas in Communications, Vol. 9, September 1991,
          pp. 1052-1063.

      [2] Hyman, J.M., Lazar, A.A. and Pacifici, G., "A Separation
          Principle between Scheduling and Admission Control for
          Broadband Switching", IEEE Journal on Selected Areas in
          Communications, Vol. 11, May 1993, pp. 605-616.

      [3] Hyman, J.M., Lazar, A.A. and Pacifici, G., "Modeling VC, VP
          and VN Resource Assignment Strategies for Broadband
          Networks," In Proceeding of the Workshop on Network and
          Operating Systems Support for Digital Audio and Video,
          Lancaster, United Kingdom, November 3-5, 1993, pp. 99-110.

      [4] Liebeherr, J., Wrege, D.E. and Ferrari, D., "Exact Admission
          Control for Networks with Bounded Delay Service," IEEE/ACM
          Transactions on Networking, Vol. 4, pp. 885 - 901.

      [5] Newman, P., Edwards, W., Hinden, R., Hoffman, E., Liaw,
          F. C., Lyon, T. and Minshall, G., "Ipsilon's General Switch
          Management Protocol Specification Version 2.0," Request for
          Comments 2297, Internet Engineering Task Force, March 1998.

      [6] GSMP Working Group, Tom Worster Editor, "General Switch
          Management Protocol V3", draft-ietf-gsmp-00.txt, Feb, 1999

Adam, Lazar, Nandikesan    Expires Dec 1999                         27
INTERNET-DRAFT                  qGSMP                       June 1999

      [7] Doria, A., Hellstrand, F. and Adam, C., "Support Structure
          for Optional Abstract or Resource Models",
          draft-doria-gsmp-option-arm-00.txt, June, 1999

      [8] "B-ISDN ATM Adaptation Layer (AAL) Specification,"
           International Telecommunication Union, ITU-T Recommendation
           I.363, March 1993.

      [9] Zamora, J., Jacobs, S., Elefteriadis, A., Chang, S.-F. and
          Anastassiou, D., "A Practical Methodology for Guaranteeing
          Quality of Service for Video-on-Demand", accepted for
          publication to the IEEE Transactions on Circuits and Systems
          for Video Technology, February 1999.

6. Authors' Addresses

   Constantin Adam
   Xbind, Inc.
   55 Broad Street, Suite 13C
   New York, NY 10004
   Phone: 212-809-3303
   email: ctin@xbind.com

   Aurel A. Lazar
   Xbind, Inc.
   55 Broad Street, Suite 13C
   New York, NY 10004
   Phone: 212-809-3303
   email: aurel@xbind.com

   Mahesan Nandikesan
   Xbind, Inc.
   55 Broad Street, Suite 13C
   New York, NY 10004
   Phone: 212-809-3303
   email: mahesan@xbind.com

Adam, Lazar, Nandikesan    Expires Dec 1999                         28