[Docs] [txt|pdf] [Tracker] [Email] [Nits]

Versions: 00

GSMP Working Group                                   Constantin M. Adam
Internet Draft                                           Aurel A. Lazar
Document: <draft-adam-gsmp-min-resource-00.txt>      Mahesan Nandikesan
                                                            Xbind, Inc.
                                                       October 21, 1999


              A Minimal ATM Switch Resource Model for GSMP
                 <draft-adam-gsmp-min-resource-00.txt>

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.

      Distribution of this memo is unlimited.

      Copyright Notice

      Copyright (C) The Internet Society (1999).  All Rights Reserved.

Abstract

   A resource model for an ATM switch is proposed to capture the basic
   features of an ATM switch. The capabilities to expose the resource
   model and to control the exposed resources is presented in the
   context of the Resource Model option provided by GSMP [1,2].

Table of Contents

1. Introduction ..................................................  2

2. Minimal Resource Set ..........................................  2
   2.1 Input and output ports ....................................  3
   2.2 Switch fabric model .......................................  3
   2.3 Switching table model .....................................  3
   2.4 Multiplexer model .........................................  6

Adam, Lazar, Nandikesan   Expires March 2000                         1

             A Minimal ATM Switch Resource Model for GSMP October 1999



3. Minimal Capability Set ........................................  7
   3.1 Capabilities for exposing the minimal resource set ........  7
   3.2 Capabilities for configuration ............................  8
   3.3 Capabilities for control ..................................  8

4. Message Set ...................................................  8
   4.1 Messages for exposing the minimal resource set ............  9
   4.2 Messages for configuration ................................ 12
   4.3 Messages for control ...................................... 15

A. Representations ............................................... 19
   A.1 Composition of scheduling policies ........................ 19
   A.2 Buffer management polices ................................. 19

B. Error codes ................................................... 19


1. Introduction

The basic function of an ATM switch is to transfer cells from a set of
input ports to a set of output ports. Thus, any resource model of an
ATM switch must capture all the resources necessary and sufficient for
the transfer of cells from the input to output ports. In addition to
this, one may place a number of other requirements. For example, one
may require that the transferred cells be provided with some quality
of service guarantees, or one may require the switch to return cell
transfer statistics so that the management system may monitor the
usage and performance.

The present Internet Draft lays down a resource model that captures
the basic function of an ATM switch, namely cell switching. It will be
referred to as the minimal resource model.  Any additional features
are considered to be extensions to the minimal resource
model. However, all the components included in the minimal model are
modeled in fair generality, primarily with the idea of supporting
quality of service extensions. A companion Internet Draft presents an
extension for guaranteeing quality of service in the form of an
admission control model [7].

In addition to the minimal resource model, the present Internet Draft
also introduces a set of protocol messages that are sufficient to
expose the minimal resource model and control the exposed resources.
These protocol messages have been designed to fit into the "Abstract
or Resource Models" section of the General Switch Management Protocol
[1,2].


2. Minimal Resource Set

This section identifies the set of resources of an ATM switch that is
essential for transferring cells from input ports to output
ports. These resource are then modeled at a certain level of

Adam, Lazar, Nandikesan   Expires March 2000                         2

             A Minimal ATM Switch Resource Model for GSMP October 1999


abstraction that is deemed appropriate for use by an open control
protocol such as GSMP.

An ATM switch consists in general of a switch fabric and associated
switching table(s), a set of multiplexers, a set of input and output
ports, policers, rate shapers, statistics measurement and estimation
units, and in-band signaling units. Of these, the components essential
for transferring cells are the following, which are illustrated in
Figure 1:

    o  input and output ports
    o  switch fabric
    o  switching table
    o  multiplexers

The following subsections provide a model for each of the above four
components. Actual implementations of switches may not be implemented
exactly as described in the model. However, they are sufficiently
accurate to capture the features desirable for open control. In
particular, the table lookup ascribed to the input ports of the above
model could be implemented in the switch fabric in a given
implementation.  This, however, does not invalidate the model.


                 +---------------+
                 |Switching Table|
                 +---------------+
      Input                                           Output
      Ports   +=====================+  +-----------+  Ports
     -------->|                     |--|Multiplexer|--------->
              |    Switch Fabric    |  +-----------+
       ...    |                     |  +-----------+
     -------->|                     |--|Multiplexer|--------->
              +=====================+  +-----------+

                  Figure 1: Minimal resource model


2.1 Input and Output Ports

The input ports receive cells coming from the network and pass them to
the switch fabric. They also read the VPI and VCI in the cell header,
then read the corresponding switching table entry and prepend a
routing header to the cell and replace the cell header with the new
VPI and VCI before passing it to the switch fabric. The routing header
contains the output port number and output port buffer number.

If the switching entry indicates that the cell should be multicasted,
then the routing header will contain a list of output port numbers,
and an output port buffer number corresponding to each output port. No
single port may appear more than once in any given routing header.
Moreover, in the case of multicast, it is the duty of the switch
fabric to place the right VPI and VCI of each duplicated cell. If

Adam, Lazar, Nandikesan   Expires March 2000                         3

             A Minimal ATM Switch Resource Model for GSMP October 1999


multicast is implemented by a feedback with internal ports, then
these internal ports would do the requisite VPI, VCI translation for
each duplication. But, the details of this translation are not
important for the model.


2.2 Switch Fabric Model

The switch fabric is modeled as a black box. Thus, it is taken to be
non-blocking. A model that allows blocking fabrics would require far
greater complexity; it would need the internal structure of the fabric
to be exposed. The present model avoids this level of complexity by
assuming that the fabric is non-blocking.

When a cell arrives at the switch fabric from an input port it is
switched to the output port whose number is given by the routing
header prepended to the cell. If the cell is destined to multiple
ports, i.e., multicast, it is duplicated and sent to each of those
ports. The mechanism by which it is duplicated, which might include
internal input and output ports, is not captured in the model.
However, multicast results in the output being of a higher bit-rate
than the input. The switch fabric may require internal mechanisms such
as feedback to handle this speed up. Thus, the switch should reveal
the maximum aggregate bandwidth it can allocate for multicast.  In
addition, it should also reveal its aggregate maximum throughput.


2.3 Switching Table Model

The switching table is modeled as a list of entries for virtual
circuit and virtual path segments. Multicast segments are modeled as a
sequence of unicast segments. The term 'segment' is used to refer to a
virtual circuit or virtual path that starts on an input port of a
switch and ends on an output port of the same switch.  Similarly, a
multicast segment is a multicast tree whose root and leaves are all on
the same switch. In this way, virtual circuit, virtual path and
multicast segments are distinguished from the corresponding end-to-end
concepts. In fact an end-to-end virtual circuit consists of a series
of virtual circuit segments.

The content of each type of switching table entry is shown in Figure
2.  Multicast segment entries are modeled as a sequence of virtual
circuit segment entries

                    Virtual circuit segment entry
   +----------------------------------------------------------+
   | Input | Input | Input | Output | Output | Output| Output |
   | Port  |  VPI  |  VCI  |  Port  |   VPI  |   VCI | Buffer |
   +----------------------------------------------------------+





Adam, Lazar, Nandikesan   Expires March 2000                         4

             A Minimal ATM Switch Resource Model for GSMP October 1999


            Virtual path segment entry
   +------------------------------------------+
   | Input | Input | Output | Output | Output |
   | Port  |  VPI  |  Port  |   VPI  | Buffer |
   +------------------------------------------+

                     Multicast segment entry
   +----------------------------------------------------------+
   | Input | Input | Input | Output | Output | Output| Output |
   | Port  |  VPI  |  VCI  |  Port1 |   VPI2 |  VCI1 | Buffer1|
   +----------------------------------------------------------+
   | Input | Input | Input | Output | Output | Output| Output |
   | Port  |  VPI  |  VCI  |  Port2 |   VPI2 |  VCI2 | Buffer2|
   +----------------------------------------------------------+
   ~                                                          ~
   |                            .....                         |
   +----------------------------------------------------------+


 Figure 2: Virtual circuit segment (top), virtual path segment(middle)
           and multicast segment (bottom) entries.

Many switches allocate different sets of memory for virtual circuit
segments, virtual path segments and multicast segments. This is due to
various reasons, but primarily due to the fact that multicast can be
realized in one of a few ways. We do not present the details of these
methods here. The present model allows for the space allocated for
unicast, multicast and virtual path segments may possibly be
different, i.e., not shared. In particular, the following cases are
considered:

    i   Virtual circuit and virtual path segments have distinct storage
        spaces that are not shared.

    ii  Virtual circuit and virtual path segments have a common storage
        space that is shared. It is assumed that a virtual circuit
        segment and a virtual path segment each usurp the same amount
        of memory.

    iii Virtual circuit segments and multicast segments each have
        distinct storage spaces that are not shared.

    iv  Virtual circuit segments and multicast segments have a common
        space that is shared. The amount of memory usurped by a
        multicast segment is a certain integral factor times that used
        by a virtual circuit segment. The factor is to be revealed by
        the switch. Obvious choices for the factor include

          *  1 (a port bitmap defines the output entries)
          *  the port count on the switch

Clearly, cases i and ii are mutually exclusive and cases iii and iv

Adam, Lazar, Nandikesan   Expires March 2000                         5

             A Minimal ATM Switch Resource Model for GSMP October 1999


are also mutually exclusive. But, the first two cases are independent
of the last two cases. Thus, there are four possibilities in all.

The branches of a multicast segment are typically added sequentially
over time, rather that all at once. Thus, the space allocated for a
multicast segment entry must take into account the fact that further
branches may be added in the future.


2.4 Multiplexer Model

The present model assumes that there are multiplexers only at the
outputs of the switch fabric. Any speed up in the fabric compared to
the speed of the output ports can be compensated for by buffers of the
multiplexers. Input multiplexers are not considered in the present
model.

A minimal model of an output port multiplexer is shown in Figure 3. It
consists of a set of buffers, a buffer manager, and a scheduler. Cells
arriving at an input of the multiplexer are fed through the buffer
manager, which either passes through or drops the cells. Cells that
pass through are entered into a buffer whose number is given in the
routing header prepended to the cell. The scheduler schedules out the
cells from the buffers onto the output port.

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

                  Figure 3: Resource model of a multiplexer

In the present ATM switch resource model, two ways of allocating
buffers to the connections established through the switch are
considered: shared buffers and per-VC buffers. Shared buffer
allocation can assign the same buffer to multiple virtual circuit,
virtual path and multicast segments.  Per-VC allocation reserves one
buffer for every virtual circuit, virtual path and multicast segment.

Thus, Figure 3 can be decomposed as shown in Figure 4.  The shared
buffers are scheduled by an arbitrary scheduler. The output of this
scheduler and the per-VC buffers are scheduled using a weighted round
robin scheduler.






Adam, Lazar, Nandikesan   Expires March 2000                         6

             A Minimal ATM Switch Resource Model for GSMP October 1999


             +---+      -------+
      ------>|   |------>| | | |-      +-----+
             |   |      -------+ \---->|     |
             |   |                     |     |-|
             |   |      -------+  ---->|     | |
      ------>|   |------>| | | |-/     +-----+ |
             +---+      -------+     Arbitrary |
            Arbitrary    Shared      Scheduler |
            Buffer       Buffers               |  +--+
            Manager                            -->|  |
                                                  |  |
             +---+      -------+                  |  |-->
      ------>|   |------>| | | |----------------->|  |
             +---+      -------+               -->+--+
             +---+      -------+              /   WRR
      ------>|   |------>| | | |-------------/    Scheduler
             +---+      -------+
             Simple    per-VC Buffers
             Buffer
             Manager

               Figure 4: Shared buffers and per-VC buffers


3. Minimal Capability Set

The minimal capability set defines the operations that can be
performed on the minimal resource set. The present section give an
overview of the capabilities. The next section presents these
capabilities concretely as a protocol that fits into the GSMP
framework.


3.1 Capabilities for exposing the minimal resource set

Reading the configuration of the switch resources

    o  Number of ports and port bandwidths
    o  VPI/VCI space sizes per port,
    o  Switching table size
        - VC and VP share or not, size of each if shared, size of the
          of the total if shared
        - VC and MC shared or not, if shared the factor (see section
          2.3)
    o  Switch fabric throughput and maximum bandwidth allowed for
       multicast
    o  Supported scheduling and buffer management policies per port
       (each policy is given a "well-known" code)
    o  Maximum number of buffers and maximum buffer sizes, and whether
       these can be allocated in any way among the ports or if the
       allocation is fixed.



Adam, Lazar, Nandikesan   Expires March 2000                         7

             A Minimal ATM Switch Resource Model for GSMP October 1999


3.2 Capabilities for configuration

Selecting

    o  the scheduling and buffer management policy for each port (based
       on the capability list received from the switch)

    o  the number and sizes of shared buffers for each port.


3.3 Capabilities for control

Reading, writing, and removing
    o  switching table entries

Creating/removing
    o  per-VC buffers


4. Message Set

This section presents a set of protocol messages that, in combination
with the a subset of the core GSMP messages [1], realizes the minimal
capability set given in Section 3. These messages are given numbers in
the range 200 - 249, i.e., in the "Abstract or Resource Models"
section of GSMP [2].

The following core GSMP messages are a necessary complement for
realizing the minimal capability set:

    o  Add Branch
    o  Delete Branches
    o  Add Virtual Path
    o  Port Configuration
    o  All ports configuration

In order to select the resource model presented herein, the system
configuration message (#64) must issued with the MType field set to 1
(the code assigned for the present model) [1].

The messages that allow to set the switch scheduling and buffer
management policies must be issued immediately after the adjacency
protocol has been established, and before any connections are set up
on the switch.  The typical order in which these messages are invoked
is the following:

   1. Get Port Resource Configuration (gives the scheduling and
      buffer management policies available)
   2. Set Scheduling Policy
   3. Set Buffer Management Policy

In all the messages the 'Request Fields' are filled in the request
messages originated by the switch controller, while the 'Response

Adam, Lazar, Nandikesan   Expires March 2000                         8

             A Minimal ATM Switch Resource Model for GSMP October 1999


Fields' are filled by the switch in its replies to requests.


4.1 Messages for Exposing the Minimal Resource Set

4.1.1 Port Resource Configuration Message

Message 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Version    | Message Type  |    Result     |     Code      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Partition ID  |           Transaction Identifier              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                     Port Configuration Record                 |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

where the Port Configuration Record is as follows:

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              Port                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Port Session Number                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Scheduler Mask|               |        Buffer Mgr Mask        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |S.T|M.A|S|   Reserved          |          MC Factor            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Buffer Memory Size                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Max Buffers 1           |          Max Buffers 2        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~           ...                 |              ...              ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          VC table size                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          VP table size                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          MC table size                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Purpose           Query the resources available on a port.

Message Type      201

Request Fields    None.

Response Fields   Port, Scheduler mask, Buff Mgr Mask, S.T, M.A, S,
                  MC Factor, Buffer Memory Size, Max Buffers,

Adam, Lazar, Nandikesan   Expires March 2000                         9

             A Minimal ATM Switch Resource Model for GSMP October 1999


                  VC table size, VP table size, MC table size.

Field Descriptions
                  In the following, the masks for the schedulers and
                  buffer managers gives the list of policies supported
                  for each. A 1 in bit-position n means that policy n
is
                  supported while a 0 means that the policy is not
                  supported. The term 'Proprietary' refers to an
                  arbitrary policy that the ATM switch can chose
                  without disclosing the details of the policy.

     Scheduler 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 [6]
                  Bit 5-14:  Reserved for future extensions
                  Bit 15:    Composite (Appendix A.1)

     Max Buffers 1, Max Buffers 2, ...
                  List of the maximum numbers of buffers that can be
                  supported by each scheduling policy listed in
                  the Scheduler Mask.

     Buff Mgr Mask
                  Mask of buffer management policies supported.
                  Bit 0:       Proprietary
                  Bit 1:       Simple Policy    (Appendix A.1)
                  Bit 2 - 15:  Reserved for future extensions

     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

     Buffer Memory Size
                  Memory size(s) in units of cells, specified
                  according to the value of the Memory Allocation
                  Type:
                  M.A = 0  undefined (should not be used)
                  M.A = 1: the total buffer memory available on
                           the entire switch.
                  M.A = 2: the total buffer memory available on the
                           port.

Adam, Lazar, Nandikesan   Expires March 2000                        10

             A Minimal ATM Switch Resource Model for GSMP October 1999


                  M.A = 3: the memory available per buffer.

     S.T
                  0b00 = Virtual circuit, virtual path, and multicast
                         segments are assigned distinct partitions in
                         the switching table

                  0b01 = Virtual circuit and virtual path segments
                         entries share common switching table
                         space. Multicast segment entries however,
                         are assigned a distinct partition.

                  0b10 = Virtual circuit and multicast segments
                         entries share common switching table
                         space. Virtual path segment entries however,
                         are allocated a distinct partition.

                  0b11 = A switching table location can be used for
                         any an entry of any type - virtual circuit,
                         virtual path or multicast segment.

     S
                  1 = There is one switching table per port. The
                      values given in the following three fields are
                      sizes of the VC, VP, and MC tables for the
                      specified Port.

                  0 = There is one switching table per switch. The
                      values given in the following three fields
                      represents the total capacity of the switching
                      table.

     MC Factor
                  If S.T = 0b10 or S.T = 0b11, MC Factor gives the
                  factor by which multicast entry takes more than a
                  virtual circuit segment entry. Otherwise, this field
                  is reserved.

     VC table size
                  Maximum number of virtual circuit segment entries
                  that can be stored in the switching table. If S.T >
                  0b00, then this space is shared with virtual path
                  and/or multicast segment entries.

     VP table size
                  If S.T = 0b00 or S.T = 0b10, this field gives the
                  maximum number of virtual path segment entries that
                  can be stored.  Otherwise, it is reserved.

     MC table size
                  If S.T = 0b00 or S.T = 0b01, this field gives the
                  maximum number of multicast segment entries that can
                  be stored.  Otherwise, it is reserved.

Adam, Lazar, Nandikesan   Expires March 2000                        11

             A Minimal ATM Switch Resource Model for GSMP October 1999



4.1.2 All Ports Resource Configuration Message

Message 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Version    | Message Type  |    Result     |     Code      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Partition ID  |           Transaction Identifier              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Number of Records                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                     Port  Configuration Records               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Purpose           Query the resources available on each port.

Message Type      202

Request Fields    None. (Port = 0)

Response Fields   Sched mask, Max Buffers, Buff Mgr Mask, M.A, Memory
                  Size(s), S.T., MC Factor

The 'Number of Records' fields is equal to the number of ports of the
switch. 'Port Configuration Records' is a sequence of 'Port
Configuration Record' structures, defined in the previous section.


4.2 Messages for Configuration

4.2.1 Set Scheduling Policy Message

Message 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Version    | Message Type  |    Result     |     Code      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Partition ID |          Transaction Identifier               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              Port                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Port Session Number                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Reserved       |#Buffs |            Scheduler          |

Adam, Lazar, Nandikesan   Expires March 2000                        12

             A Minimal ATM Switch Resource Model for GSMP October 1999


   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                           Parameters ...                      ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Purpose           Select scheduling policy for shared buffers on a
                  specified port.

Message Type      203

Request Fields    Port, #Buffs, Scheduler, Parameters.

Response Fields   None.

Field Descriptions

      #Buffs
                  Number of shared buffers

      Parameters
                  The parameters of the scheduler. The parameters are
                  as follows:

                  Proprietary Scheduling Policy:
                           None

                  First-In-First-Out:
                           None

                  Static Priority Scheduling:
                           None (priorities determined by buffer
                           number specification, first specified
                           buffer being the highest priority).

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

                  MARS:
                           H, h1, h2, ..., hn, specified in that order
                           using two bytes for each parameter. See [6]
                           for definitions.

                  Composite:
                           Scheduler 1, scheduler 2, composing
                           scheduler, number of buffers for scheduler
                           1, Parameters for scheduler 1, number of
                           buffers for schedule 2,parameters for
                           scheduler 2, parameters for the composing
                           scheduler.

4.2.2 Get Scheduling Policy Message

Message Format    Same as in Section 4.2.1.

Adam, Lazar, Nandikesan   Expires March 2000                        13

             A Minimal ATM Switch Resource Model for GSMP October 1999



Purpose           Retrieve the scheduling policy for shared buffer on a
                  specific port.

Message Type      204

Request Fields    Port.

Response Fields   #Buffs, Scheduler, Parameters.


4.2.3 Set Buffer Management Policy Message

Message 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Version    | Message Type  |    Result     |     Code      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Partition ID |          Transaction Identifier               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              Port                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Port Session Number                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Res  |Buffers|    Reserved   |      Buffer Manager Type      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                           Parameters ...                      ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Purpose           Select the number of shared buffers and the buffer
                  management policy on a specific port.

Message Type      205

Request Fields    Port, Buffers, Buffer Manager Type, Parameters.

Response Fields   None.

Field Descriptions

       Buffer
                  Number of output buffers

       Buffer Manager Type
                  The type of the buffer management policy.

       Parameters
                  The parameters of the buffer management policy.

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

Adam, Lazar, Nandikesan   Expires March 2000                        14

             A Minimal ATM Switch Resource Model for GSMP October 1999




4.2.4 Get Buffer Management Policy Message

Message Format    Same as in Section 4.2.3.

Purpose           Retrieve the number of shared buffers and the buffer
                  management policy on a specific port.

Message Type      206

Request Fields    Port.

Response Fields   Buffers, Buffer Manager Type, Parameters.


4.3 Messages for Control

4.3.1 Connection Management Messages

The connection management messages in GSMP have a field that is called
the "Service Selector" and is to be defined by any abstract, resource,
or service model.  All Input and Output Labels are interpreted as a
12-bit long VPI followed by a 16-bit long VCI.


    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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |    Version    | Message Type  |    Result     |     Code      |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | Partition ID  |          Transaction Identifier               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                      Port Session Number                      |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                          Input Port                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |M|B|T|R|                                                       |
    +-+-+-+-+                  Input Label                          ~
    ~                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                          Output Port                          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |QMS|T|R|                                                       |
    +-+-+-+-+                  Output Label                         ~
    ~                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                       Service Selector                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The Service Selector field can be in one of two modes. The two
correspond to whether the connection being added or moved is to be
assigned a per-VC buffer or a shared buffer. Shared buffers are setup

Adam, Lazar, Nandikesan   Expires March 2000                        15

             A Minimal ATM Switch Resource Model for GSMP October 1999


using the messages of Section 4.2. The two formats are shown
below. The first one shows the shared buffer case, where the Buffer
Number is the number of the shared buffer that will be used by the
present connection. The second one shows the per-VC case, where the
Buffer Length is specified in number of cells and Bandwidth is
measured in units of bits/s. In the per-VC case, a new buffer is
created with the above specification provided there is sufficient
buffer space and bandwidth available.

    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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0|     Buffer Number           |            Reserved           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |1|    Buffer Length            |          Bandwidth            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


The QOS Model Selector (QMS) will be set to the value 0b11 (ARM
Specification) in connection management messages.

The Service Selector field is only used in the Add Branch and Move
Branch messages. In all other connection management messages, the
Service Selector field should be set to zero by senders and ignored by
receivers.


4.3.2 Get Switching Table Message

Message 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 LLC(0xAA-AA-03)               |               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     SNAP (0x00-00-00-88-0C)                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Version    |  Message Type |    Result     |      Code     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Partition ID  |           Transaction Identifier              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Sequence Number                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Filter Input Port                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |X|P|V|C|   Filter Input VPI    |      Filter Input VCI         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |M|                   Switching Table Entry 1                   |

Adam, Lazar, Nandikesan   Expires March 2000                        16

             A Minimal ATM Switch Resource Model for GSMP October 1999


   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Switching Table Entry 2                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Input Port                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Res  |       Input VPI       |          Input VCI            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Output Port 1                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |N|Res. |       Output VPI  1   |          Output VCI    1      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Service Selector 1                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Output Port 2                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |N| Res.|       Output VPI  2   |          Output VCI    2      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Service Selector 2                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               ...                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Purpose           Retrieve the switching table corresponding to the
                  input filter port, VPI, or VCI.

Message Type      200

Request Fields    None.

Response Fields   Input Port, M, Switching Table Entries.

Field Descriptions

       M
                  The M-bit is set to 1 in case more response messages
                  will arrive for this request. Otherwise, the M-bit
                  is set to 0.  The N-bit is set to 1 in case more
                  output branches are to follow for the present map
                  entry. Otherwise, the N-bit is set to 0.

       Filter Input Port
                  Specifies the input port for which the switching
                  table is returned


Adam, Lazar, Nandikesan   Expires March 2000                        17

             A Minimal ATM Switch Resource Model for GSMP October 1999


       Filter Input VPI
                  Specifies the input VPI for which the switching
                  table is returned

       Filter Input VCI
                  Specifies the input VCI for which the switching
                  table is returned

       P
                  If this bit is set to 1, then only the switching
                  table entries corresponding to the filter input port
                  are returned.
       V
                  If this bit is set to 1, then only the switching
                  table entries corresponding to the filter input VPI
                  are returned.
       C
                  If this bit is set to 1, then only the switching
                  table entries corresponding to the filter input VCI
                  are returned.

       Input Port
                  The input port of the present entry

       Input VPI
                  The input VPI of the present entry

       Input VCI
                  The input VCI of the present entry

       Output Port n
                  The output port of the n-th branch of the multicast
                  segment. If n = 1 and there is only one branch, then
                  the entry is either a virtual circuit segment or a
                  virtual path segment.

       Output VPI n
                  Output VPI of the n-th branch (see Output Port n)

       Output VCI n
                  Output VCI of the n-th branch. If the present entry
                  is a virtual path segment, then the Output VCI is 0.

       Service Selector n
                  The service selector corresponding to the n-th
                  branch. The format of the Service Selector is as in
                  Section 4.1.

       N
                  0 = No more branches for the multicast segment. If
                      this is the first N-field, then the present
                      switching table entry is not a multicast
                      segment.

Adam, Lazar, Nandikesan   Expires March 2000                        18

             A Minimal ATM Switch Resource Model for GSMP October 1999



                  1 = There is at least one more branch in the present
                      multicast segment.




Appendices

A. Representations

A.1 Composition of Scheduling Policies

Two scheduling policies G1 and G2 can be composed via a third
scheduling policy H to obtained a composite scheduling policy I.  If
G1 and G2 schedule n1 and n2 buffers respectively, then the composite
policy I schedules n1 + n2 buffers. This is illustrated in Figure 5.

                             +-----+
                             |  H  |
                             +-----+
                            /       \
                           /         \
                    +-----+          +-----+
                    |  G1 |          |  G2 |
                    +-----+          +-----+
                   /   |   \          /    \
                  /    |    \         |    |
                 /     |     \        |    |
               +--+  +--+  +--+     +--+  +--+
               |B1|  |B2|  |B3|     |B4|  |B5|
               +--+  +--+  +--+     +--+  +--+

               Figure 5: Composition of scheduling policies


A.2 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.



B. Error Codes

The following are additional error codes defined for use by the
extension to GSMP provided in the present Internet Draft.

128: Attempt to retrieve un-initialized 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 type.

Adam, Lazar, Nandikesan   Expires March 2000                        19

             A Minimal ATM Switch Resource Model for GSMP October 1999


133: Incompatible set of parameter values.
134: Incompatible set of scheduler, buffer manager types.
135: Invalid composition of scheduling policies.
136: Cannot support the requested scheduler, buffer manager
     simultaneously on the specified port.
137: Cannot support the requested schedulers, buffer managers on the
     various ports simultaneously.
138: Cannot support the requested compound scheduling policy.


References

[1]  GSMP Working Group,  "General Switch  Management Protocol V3",
     draft-ietf-gsmp-00.txt, June, 1999

[2]  GSMP Working Group, A. Doria, F. Hellstrand, C. Adam, "Support
     Structure for Optional Abstract or Resource Models",
     draft-doria-gsmp-option-arm-00.txt, Feb 1999

[3]  IEEE/WG 1520, C. Adam, A. A. Lazar, M. Nandikesan, "Proposal for
     Standaridizing the qGSMP protocol", P1520/TS/ATM-002,
     http://comet.columbia.edu/pin-atm/docs/P1520-TS-ATM-002R1.pdf,
     Jan 1999

[4]  IEEE/WG 1520, C. Adam, A. A. Lazar, M. Nandikesan, "Switch
     abstractions for designing open interfaces", P1520/TS/ATM-016,
     http://comet.columbia.edu/pin-atm/docs/P1520-TS-ATM-016R1.pdf,
     March 1999.

[5]  IEEE/WG 1520, C. Adam, A. A. Lazar, M. Nandikesan, "ATM switch
     resource abstractions", P1520/TS/ATM-017,
     http://comet.columbia.edu/pin-atm/docs/P1520-TS-ATM-017R1.pdf,
     March 1999.

[6]  J. Hyman, A. A. Lazar, G. Pacifici, "Real-time scheduling with
     quality of service Constraints," IEEE J. Select. Areas Commun.,
     Sep 1991.

[7]  GSMP Working Group, C. Adam, A. A. Lazar, M. Nandikesan, "An
     admission control model for GSMP", draft-adam-gsmp-sr-00.txt,
     Oct 1999.


Authors' Address

Constantin M. Adam
Xbind, Inc.
55 Broad Street, 23C
New York, NY 10004
USA
Telephone: 212-809-3303, ext. 102
email: ctin@xbind.com


Adam, Lazar, Nandikesan   Expires March 2000                        20

             A Minimal ATM Switch Resource Model for GSMP October 1999


Aurel A. Lazar
Xbind, Inc.
55 Broad Street, 23C
New York, NY 10004
USA
Telephone: 212-809-3303, ext. 101
email: aurel@xbind.com

Mahesan Nandikesan
Xbind, Inc.
55 Broad Street, 23C
New York, NY 10004
USA
Telephone: 212-809-3303, ext. 106
email: mahesan@xbind.com







































Adam, Lazar, Nandikesan   Expires March 2000                        21

Html markup produced by rfcmarkup 1.123, available from https://tools.ietf.org/tools/rfcmarkup/