Internet Draft


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