GSMP Working Group Constantin M. Adam Internet Draft Aurel A. Lazar Document: Mahesan Nandikesan Xbind, Inc. October 21, 1999 A Minimal ATM Switch Resource Model for GSMP 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