GSMP Working Group C. Adam, Xbind Internet Draft A. Lazar, Xbind Document: draft-adam-gsmp-qgsmp-00.txt M. Nandikesan, Xbind Expiration Date: December 1999 June 23, 1999 The qGSMP Protocol Status of this Memo Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract This document presents the qGSMP protocol. The purpose of qGSMP is to provide a simple open protocol for remotely controlling and managing an ATM switch with support for quality of service. qGSMP builds upon the GSMP protocol ([5], [6], [7]), and provides functions for quality of service (QOS) provisions. qGSMP provides a QOS resource model for GSMP by including a set of additional messages, and by assigning specific signification to certain fields in certain GSMP messages. Only the messages that are added or that contain fields interpreted in a specific way are presented in this document. The messages have been organized into the same set of categories, namely configuration management, connection management, statistics and state, and events. Adam, Lazar, Nandikesan Expires Dec 1999 1 INTERNET-DRAFT qGSMP June 1999 Table of Contents 1. Introduction......................................................3 1.1 The General Switch Management Protocol (GSMP)...................3 1.2 QOS Resource Model for GSMP.....................................3 2. Model for Controlled QOS...........................................4 2.1 Modeling an ATM Switch..........................................4 2.2 Modeling the Multiplexer........................................4 2.3 Traffic Classes.................................................4 2.4 Quality of Service..............................................5 2.5 The Schedulable Region..........................................5 2.6 Virtual Paths...................................................5 3 Definitions and Representations.....................................5 3.1 General Definitions and Acronyms................................5 3.2 Traffic Characterization Parameters.............................6 3.3 QOS Parameters..................................................7 3.4 Representation of Traffic and QOS Parameters....................7 3.5 Representation of Buffer management policies....................8 3.6 Representation of Schedulable Regions...........................8 3.7 Measure of Change of Schedulable Regions........................8 4. Quality of Service Messages.....................................8 4.1 Message Format................................................8 4.1.1 Header.....................................................8 4.1.2 Ellipsis...................................................9 4.1.3 Reserved Fields............................................9 4.1.4 Request-Response Messages..................................9 4.1.5 Bit-Masks..................................................9 4.2 Connection Management Messages..................................9 4.2.1 Add Branch Message........................................10 4.2.2 Delete Branch Message.....................................11 4.2.3 Add Virtual Path Message..................................11 4.2.4 Delete Virtual Path Message...............................12 4.2.5 Switching Table Partition Message.........................13 4.3 QOS Configuration Messages.....................................13 4.3.1 Port QOS Configuration Message............................14 4.3.2 All Ports QOS Configuration Message.......................16 4.4 Configuration Messages.........................................16 4.4.1 Set Number of Traffic Classes and Buffers Message.........16 4.4.2 Get Number of Traffic Classes and Buffers Message.........17 4.4.3 Set Schedulable Region Message............................17 4.4.4 Get Schedulable Region Message............................18 4.4.5 Set Scheduling Policy Message.............................18 4.4.6 Get Scheduling Policy Message.............................19 4.4.7 Set Buffer Management Policy Message......................20 4.4.8 Get Buffer Management Policy Message......................20 4.4.9 Set Traffic Class Characterization Message................21 Adam, Lazar, Nandikesan Expires Dec 1999 2 INTERNET-DRAFT qGSMP June 1999 4.4.10 Get Traffic Class Characterization Message...............22 4.4.11. Set QOS Constraints Message.............................22 4.4.12 Get QOS Constraints Message..............................23 4.4.13 Set Schedulable Region Estimator Message.................23 4.4.14 Get Schedulable Region Estimator Message.................24 4.5 Statistics and State Messages..................................24 4.5.1 Get Switching Table Message...............................24 4.5.2 Get QOS Measurements Message..............................25 4.6 Events (Asynchronous Messages).................................26 4.6.1 Schedulable Region Changed Event..........................26 4.6.2 QOS Violation Event.......................................26 4.7 Additional Error Codes Defined by qGSMP........................27 5. References........................................................27 6. Authors' Addresses................................................28 1. Introduction This document presents qGSMP - an open protocol for the control and management of ATM switches with support for quality of service. QGSMP builds upon the GSMP protocol ([5], [6], [7]), and provides functions for quality of service (QOS) provisions. qGSMP provides a QOS resource model for GSMP by including a set of additional messages, and by assigning specific signification to certain fields in certain GSMP messages. Only the messages that are added or that contain fields interpreted in a specific way are presented in this document.The messages have been organized into the same set of categories, namely configuration management, connection management, statistics and state, and events. 1.1 The General Switch Management Protocol (GSMP) GSMP is an open interface to control and manage ATM switches. It provides for hardware-independent development of switch-control software by third parties. On one side of the GSMP interface is an ATM switch and on the other side is a switch controller. All messages except asynchronous event messages and adjacency protocol messages are generated by the switch controller and responded to by the switch. Event messages, much like CPU interrupts, are generated by the switch and possibly acknowledged by the switch controller. Thus, the switch controller and switch share a master-slave relationship. 1.2 QOS Resource Model for GSMP The messages provided by qGSMP focus on controlling the output multiplexers and retrieving schedulable region estimates. They provide means for selecting scheduling, buffer management and schedulable region [1] estimation algorithms, setting traffic Adam, Lazar, Nandikesan Expires Dec 1999 3 INTERNET-DRAFT qGSMP June 1999 parameters and QOS constraints, and collecting QOS-related measurements. 2. Model for Controlled QOS 2.1 Modeling an ATM Switch An ATM switch is modeled as shown in Figure 1. It consists of a switch fabric, switching table, a set of input and output ports. The switching table provides the data required by the switching fabric to switch cells from input ports to output ports. Each output port contains a multiplexer. +---------------+ +-----------+ |Switching Table| |Schedulable| +---------------+ | Region | | |Estimators | | +-----------+ V +=====================+ +-----------+ -------->| |--|Multiplexer|---------> | Switch Fabric | +-----------+ ... | | +-----------+ -------->| |--|Multiplexer|---------> +=====================+ +-----------+ Figure 1. The Switch Model for Controlled QOS 2.2 Modeling the Multiplexer A multiplexer is shown in Figure 2. It consists of a set of buffers, a buffer manager that arbitrates access to the output port buffers, and a scheduler, which arbitrates access to the output link. +---+ -------+ ------>| |------>| |- +-----+ | | -------+ \---->| | | | | |-------> | | -------+ ---->| | ------>| |------>| |-/ +-----+ +---+ -------+ Buffer Buffers Scheduler Manager Figure 2. Multiplexer Model 2.3 Traffic Classes A traffic class represents a statistical model for an information Adam, Lazar, Nandikesan Expires Dec 1999 4 INTERNET-DRAFT qGSMP June 1999 stream. It shall be defined by a peak rate and an additional stochastic characterization such as video, voice, or data. The latter is specified, for example., through its average rate. 2.4 Quality of Service With each traffic class a set of cell-level QOS constraints such as maximum delay and loss probability bounds shall be associated. 2.5 The Schedulable Region The schedulable region (SR) is the space of possible combinations of calls of each traffic class that an output port multiplexer can handle while guaranteeing quality of service ([1], [2], [4], [9]]. 2.6 Virtual Paths Figure 3 illustrates a virtual path of bandwidth c bit/s, starting at switch A and terminating at switch C. The following actions are needed to create the virtual path: Origin node (switch A): Allocate a VPI and c bits/s of bandwidth on the output port. Intermediate nodes (switch B): Reserve a VP entry in the switching table; allocate c bits/s of bandwidth on the output port. Termination node (switch C): Allocate a VPI for the input port. +--------+ +--------+ +--------+ | | | | | | |Switch A|------------|Switch B|------------|Switch C| | ==================================== | +--------+ +--------+ +--------+ ------- physical link ======= virtual path Figure 3. A Virtual Path 3 Definitions and Representations 3.1 General Definitions and Acronyms Buffer Manager An entity on the switch output for regulating access to the buffers. Switching Table A lookup table in a switch used to forward cells from input ports to output ports. In addition, the table provides information on which resources (output buffer) Adam, Lazar, Nandikesan Expires Dec 1999 5 INTERNET-DRAFT qGSMP June 1999 the cells of the connection would utilize in the output port multiplexer. GSMP General Switch Management Protocol. Multiplexer A collection of buffers along with a scheduler and buffer manager for arbitrating acess of cells from multiple streams to an output line. qGSMP General Switch Management Protocol with Quality of Service Extensions Quality of Service (QOS) A measure of cell delays and losses in a switch. Schedulable Region The set of possible combinations of calls of each traffic class that a multiplexer can support while providing quality of service ([1], [2], [4], [9]). Scheduler An arbitrator of cells from multiple streams for accessing an output line of a switch. Switch Controller A piece of software for controlling a switch, but running outside the switch, on a PC for example. Traffic Class A statistical model for an information stream, specified by its peak cell rate and an additional stochastic characterization such as video, audio, voice or data. The latter is specified , for example, through its average cell rate. 3.2 Traffic Characterization Parameters Peak Cell Rate Reciprocal of the shortest inter-cell duration of a cell-stream Average Cell Rate The average number of cells in a cell-stream over a measurement era. Measurement Era The duration used for computing averages. Video Real-time video statistics Adam, Lazar, Nandikesan Expires Dec 1999 6 INTERNET-DRAFT qGSMP June 1999 Audio Real-time audio statistics Voice Real-time voice statistics Data Real-time data statistics Premium Arbitrary statistics 3.3 QOS Parameters Maximum Cell Delay Maximum queueing delay of any cell in a cell stream. Average Cell Loss The fraction of cells of a cell-stream dropped over a measurement era. Average Gap Loss The average number of consecutively dropped cells of a given cell stream over a measurement era. Measurement Era The duration used for computing averages. 3.4 Representation of Traffic and QOS Parameters Representation of Bandwidths Bandwidths (line rates, peak cell rates, average cell rates, etc.) shall be represented using two-byte integers. The most significant bit gives the unit (0 = kb/s, 1 = Mb/s) and the remaining 15 bits give the value. This permits representation of rates from 0 to 32 Mb/s in increments of 1 kb/s, and rates from 0 to 32 Gb/s in increments of 1 Mb/s. Representation of Cell Delays Cell delays shall be represented using two bytes in units of 10 microseconds, thus provisioning for the representation of a delay of up to 650 milliseconds. Representation of Cell Loss Probabilities Probabilities shall be represented using two bytes. The Most Significant Byte shall be the mantissa and the other one the negative of the exponent base 2. Representation of Measurement Era The measurement era shall be represented using two bytes in units of 100 milliseconds, thus giving a range of 0 - Adam, Lazar, Nandikesan Expires Dec 1999 7 INTERNET-DRAFT qGSMP June 1999 1.8 hours. 3.5 Representation of Buffer management policies Simple Policy - Cells are admitted if and only if the queue length of the buffer to which the traffic class is mapped is below its capacity. 3.6 Representation of Schedulable Regions An n-dimensional schedulable region S shall be represented using an m x n matrix, where n is the number of traffic classes and m is an arbitrary positive integer. The larger the value of m, the more accurate the representation. First the simplest case of m = 1 will be presented. In this case, the matrix becomes an n-dimensional vector A = (a_j) of non-negative integers. Let H be the hyperplane whose intercepts are a_1 through a_n. The schedulable region represented by the vector A is the space bounded by the coordinate axes and the hyperplane H. The convention 0/0 = 0 and x/0 = infinity for x > 0 shall be adopted. In the case of an n x m matrix A = (a_ij), the schedulable region is the union of hyperplanes H_1 through H_m, where H_j is the hyperplane whose intercepts are a_1j through a_nj. 3.7 Measure of Change of Schedulable Regions A measure of change of the Schedulable Region is the largest percentage change of any element of the matrix A. 4. Quality of Service Messages 4.1 Message Format qGSMP messages shall be encapsulated directly in AAL-5 CPCS-PDUs [7] and represented in big-endian format. The maximum transfer unit (MTU) and virtual channel identifier (VPI/VCI) of qGSMP messages shall be identical to that of GSMP [5], namely VPI = 0, VCI = 15, MTU = 1492. 4.1.1 Header Many QOS messages have the common header structure shown below. The common header will be called qGSMP header. Some messages, however, do not use the qGSMP header. Adam, Lazar, Nandikesan Expires Dec 1999 8 INTERNET-DRAFT qGSMP June 1999 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LLC (0xAA-AA-03) | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | SNAP (0x00-00-00-88-0C) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Version | Message Type | Result | Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Transaction Identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Port Session Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.1.2 Ellipsis Fields whose descriptions are appended with ellipses (...) are of variable length. 4.1.3 Reserved Fields Fields marked 'Reserved' or 'Res' are to be set to zero by the sender and ignored by the receiver. 4.1.4 Request-Response Messages Apart from the event and adjacency-protocol messages, qGSMP is a master-slave interface: Requests made through qGSMP are responded to by the switch. If one field is used only in a request or a response, this is mentioned under its description. Header fields are used by all messages. Reserved fields in QOS messages may be omitted if they are not followed by non-Reserved fields. 4.1.5 Bit-Masks Bit masks will be used to identify buffers, traffic classes, QOS parameters, etc. For an enumeration, the Most Significant Bit corresponds to the first element, the next bit to the second element, and so on. A bit-value of 1 represents inclusion while a bit-value of 0 represents exclusion. 4.2 Connection Management Messages The connection management messages provide means for setting and tearing down virtual channels and virtual paths. They are atomic in that if the multiplexing capacity is not available then the switching table entry is not set. Similarly, if there is no room left in the switching table, no capacity is acquired from the multiplexer (schedulable region). Adam, Lazar, Nandikesan Expires Dec 1999 9 INTERNET-DRAFT qGSMP June 1999 4.2.1 Add Branch Message Add a virtual circuit entry in the switching table, and acquire a capacity in the schedulable region. Every connection belongs to a traffic class. For a premium traffic class, peak rate allocation is performed. Therefore, a peak rate needs also to be specified for a connection that uses a premium traffic class. The traffic class and the peak rate determine the capacity the connection will require from the schedulable region. The Traffic Class and the Peak Rate fields are encoded inside the Service Selector field defined in GSMP. To request a connection the Add Branch message is: Message Type = 16 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LLC(0xAA-AA-03) | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | SNAP (0x00-00-00-88-0C) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Version | Message Type | Result | Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Transaction Identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Port Session Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Input Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |QMS|E|x| | +-+-+-+-+ Input Label ~ ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Output Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |QMS|E|x| | +-+-+-+-+ Output Label ~ ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Traffic Class | Reserved | Peak Rate | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Traffic Class Specifies the traffic class of the connection. This field is used only in the request message and does not exist in the reply message. Peak Rate Specifies the peak cell rate of the connection if the Traffic Class is of traffic type Premium. Otherwise, this field is reserved. In the former case, the peak rate is specified as given in Section 3. This field is used only in the request message and does not exist in the Adam, Lazar, Nandikesan Expires Dec 1999 10 INTERNET-DRAFT qGSMP June 1999 reply message. The reply Add Branch message has the following form: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LLC(0xAA-AA-03) | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | SNAP (0x00-00-00-88-0C) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Version | Message Type | Result | Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Transaction Identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Port Session Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Input Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |QMS|E|x| | +-+-+-+-+ Input Label ~ ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Output Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |QMS|E|x| | +-+-+-+-+ Output Label ~ ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Number of Branches | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Number of Branches See the GSMP specification ([5], [6]). This field is used only in the reply message and does not exist in the request message ([7]). 4.2.2 Delete Branch Message See the GSMP specification ([5], [6]). 4.2.3 Add Virtual Path Message Add a VP origination, through VP, or a VP termination (section 2.6). For a VP origination, acquire the specified output VPI and bandwidth. The input VPI must be set to zero. For a through VP, acquire the VP entry specified by the input and output ports and VPIs. In addition, acquire the specified bandwidth on the output port. Adam, Lazar, Nandikesan Expires Dec 1999 11 INTERNET-DRAFT qGSMP June 1999 For a VP termination, acquire the specified input VPI. The output VPI and Bandwidth fields must be set to zero. Message Type = 26 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LLC(0xAA-AA-03) | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SNAP (0x00-00-00-88-0C) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Version | Message Type | Result | Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Transaction Identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Port Session Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Input Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |QMS|E|x| | +-+-+-+-+ Input Label ~ ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Output Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |QMS|E|x| | +-+-+-+-+ Output Label ~ ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Number of Branches | Bandwidth | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Bandwidth Specifies the bandwidth to be acquired for the virtual path, as given in Section 2.6. 4.2.4 Delete Virtual Path Message Delete a VP origination, through VP, or a VP termination (section 2.6). For a VP origination, release the specified output VPI. The input VPI must be set to zero. The switch will remove the bandwidth that was associated with the VP origination. For a through VP, delete the VP entry specified by the input and output ports and VPIs. The switch will remove the bandwidth that was associated with the through VP. For a VP termination, release the specified input VPI. The output VPI field must be set to zero. Adam, Lazar, Nandikesan Expires Dec 1999 12 INTERNET-DRAFT qGSMP June 1999 The message format is as in Section 4.2.3. To remove a connection the Delete Virtual Path message is: Message Type = 27 Bandwidth This field is not used in the case of the Delete Virtual Path message. 4.2.5 Switching Table Partition Message Allocating memory for multicast connections: some switches provide a flexible way to partition the memory allocated to the switching table between unicast and multicast circuits. The Switching Table Partition message allows to control remotely this memory partition. Message Type = 200 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | qGSMP Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |A| Multicast Memory Fraction |R| Unicast Memory Fraction | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Port The port for which the switching table is partitioned. This field is in the qGSMP Header. A If set to '1', the bit A indicates that the entire switch switching table is to be partitioned following the way specified in the message. Otherwise, the partition applies only to the specified port. Multicast Memory Fraction Specifies which fraction (in 1/128) of the switching table is allocated to multicast connections. Unicast Memory Fraction Specifies which fraction (in 1/128) of the switching table is allocated to unicast connections. R Reserved 4.3 QOS Configuration Messages The QOS configuration messages permit queries of the list of scheduling and buffer management policies, SR estimation algorithms and traffic class characteristics supported by the switch. They also allow to set these parameters, as well as retrieve their Adam, Lazar, Nandikesan Expires Dec 1999 13 INTERNET-DRAFT qGSMP June 1999 values. 4.3.1 Port QOS Configuration Message The controller queries the QOS support available on a port. The switch returns a record containing the QOS capabilities available on the port. Message Type = 201 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | qGSMP Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Res |Classes| Qualitative | Quantitative | QOS Mask | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SR Est Mask | Scheduler Mask| Max Buffers ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Buffer Mgr Mask| Reserved |M.A| Memory Size(s) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Field Descriptions Classes Maximum number of traffic classes supported on the port. The next several fields are bit masks parameterizing the traffic class and QOS descriptors and supporting algorithms available on the port. The mask is intended for representing the more common items. Additional elements can be defined in the future and included by setting the bit named Additional Elements in the mask and then appending a list of 8-bit codes of the additional items. The items on the mask are given codes equal to their bit-position in the mask. Qualitative Mask of supported qualitative traffic characterizations (see Section 3). Bit 0: Premium Bit 1: Video Bit 2: Voice Bit 3: Audio Bit 4: Data Bit 5: Reserved Bit 6: Reserved Bit 7: Additional Elements Quantitative Mask of supported quantitative traffic characterizations on the port (see Section 3). Bit 0: Peak Rate Bit 1: Average Rate Adam, Lazar, Nandikesan Expires Dec 1999 14 INTERNET-DRAFT qGSMP June 1999 Bit 2: Reserved Bit 3: Reserved Bit 4: Reserved Bit 5: Reserved Bit 6: Measurement Era Bit 7: Additional Elements QOS mask Mask of supported QOS parameters on the port (Section 3). Bit 0: Maximum Delay Bit 1: Average Delay Bit 2: Probability of Loss Bit 3: Maximum Gap Loss Bit 4: Reserved Bit 5: Reserved Bit 6: Measurement Era Bit 7: Additional Elements SR Est Mask Mask of Schedulable Region estimators supported on the port. If bit 0 is set, none of the other bits may be set. Bit 0: No Estimator Bit 1: Proprietary Bit 2: Reserved Bit 3: Reserved Bit 4: Reserved Bit 5: Reserved Bit 6: Reserved Bit 7: Additional Elements Sched mask Mask of supported schedulers on the port. Bit 0: Proprietary Bit 1: First-In-First-Out Bit 2: Static Priority Scheduling Bit 3: Weighted Round Robin Bit 4: MARS (See [1]) Bit 5: Reserved Bit 6: Reserved Bit 7: Additional Elements Max Buffer List of maximum of number of buffers that can be supported per supported scheduling policy (two bytes per number of buffers). Buff Mgr Mask Mask of buffer management policies supported (Section 3). Bit 0: Proprietary Bit 1: Simple Policy Bit 2: Reserved Bit 3: Reserved Bit 4: Reserved Adam, Lazar, Nandikesan Expires Dec 1999 15 INTERNET-DRAFT qGSMP June 1999 Bit 5: Reserved Bit 6: Reserved Bit 7: Additional Elements M.A Memory allocation schemes supported for output buffers on the port. 0: Undefined (must not be used) 1: Entire memory arbitrarily divisible among buffers of all ports 2: One block of memory per port, arbitrarily divisible among its buffers 3: One block of memory per buffer Memory Size Memory size(s) in units of cells, specified according to the value of the Memory Allocation Type: M.A = 1: the memory available one entire the switch (4 bytes). M.A = 2: the memory available on the port (4 bytes). M.A = 3: the number of scheduling queues on the port (2 bytes) and the memory available per scheduling buffer (4 bytes). In the above, the term "Proprietary" refers to the switch manufacturer's proprietary algorithm. Thus, it may vary from switch to switch. 4.3.2 All Ports QOS Configuration Message Returns a set of Port QOS Configuration messages, one for each of the ports of the switch. The purpose of the message is to query the QOS support available on each port. The switch will reply to the message by returning a list of records. The structure of each record is identical to the records returned in the Port QOS Configuration message. Message Type = 202 4.4 Configuration Messages The management messages trigger operations that change the QOS parameters of the traffic classes, the scheduling or buffer management policy, or the Schedulable Region estimation method on an output port. They also allow for the schedulable region estimates to be initialized to any size. A complementary set of messages permits retrieval of the state set by the above-mentioned messages. 4.4.1 Set Number of Traffic Classes and Buffers Message Sets the number of traffic classes and buffers, and the buffer to be used by each traffic class on a specific port or VPI (for an origin node only). The information is provided by the controller. The Adam, Lazar, Nandikesan Expires Dec 1999 16 INTERNET-DRAFT qGSMP June 1999 switch acknowledges the operation. Message Type = 203 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | qGSMP Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Res | VPI | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Res |Buffers| Res |Classes| Class-to-Buffer Map | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Field Descriptions VPI The VPI for which the number of buffer and traffic classes are being set. A value of zero signifies the port as a whole rather that a specific VPI. Buffers Number of output buffers. Classes Number of traffic classes. Class-to-Buffer Map Indicates the buffer to be used for each traffic class as follows: Bit 0 is always set to 1. If the next bit that is 1 is at position n, then traffic classes 0 to n-1 are mapped to buffer 0. If the next bit that is 1 is in position m, then traffic classes n to m-1 are mapped to buffer 2. and so on. If the last bit that is set to 1 is at position p, then traffic classes p and higher are mapped to buffer k, where k is the number of 1's in the mask. k should equal the value set in the field Buffers. 4.4.2 Get Number of Traffic Classes and Buffers Message Gets the number of traffic classes and buffers, and the buffer to be used by each traffic class on a specific port. The message format and the field description is the same as in section 4.4.1. Message Type = 204 4.4.3 Set Schedulable Region Message Initializes the schedulable region estimate on a specified port or VPI. This will reset the schedulable region, but it may change over time if schedulable region estimation is turned on. Message Type = 205 Adam, Lazar, Nandikesan Expires Dec 1999 17 INTERNET-DRAFT qGSMP June 1999 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | qGSMP Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VPI | Planes| Reserved | Dimen | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Coefficients (aij) ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Field Descriptions VPI The VPI for which the schedulable region is to be set. A value of zero signifies the port as a whole rather that a specific VPI. Dimen The dimension of the Schedulable Region (The number of columns of the matrix A. See Section 3). Planes The number of hyperplanes representing the schedulable region (the number of rows of the matrix A. Section 3). Coefficients The elements of the matrix A = (aij), represented using four bytes per element, ordered row by row. (Section 3) 4.4.4 Get Schedulable Region Message Gets the schedulable region on a specified port or VPI. The controller sends a request containing the port and/or the VPI for which the estimate is to be retrieved, and the switch replies with the schedulable region description. The message format and the field descriptions are the same as in section 4.4.3. Message Type = 206 4.4.5 Set Scheduling Policy Message Selects scheduling policy on a specified port or VPI. The controller specifies the scheduling policy to be setup on the switch, and the switch acknowledges the operation. Message Type = 207 Adam, Lazar, Nandikesan Expires Dec 1999 18 INTERNET-DRAFT qGSMP June 1999 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | qGSMP Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Res | VPI | Res |Classes| Scheduler | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Parameters ... | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Field Descriptions VPI The VPI for which the scheduling policy is setup. A value of zero refers to the port as a whole. Classes Number of traffic classes Scheduler Code for scheduling policy. Parameters The parameters of the scheduler. The parameters for the scheduling policies defined in Section 4.3.1 are as follows: First-In-First-Out: None Static Priority Scheduling: None (priorities determined by the buffer number, lowest numbered buffer having the highest priority). Weighted Round Robin: Weights for each buffer, specified in two bytes, starting with buffer 1. MARS: H, h_1, h_2, ..., h_n, specified in that order using two bytes for each parameter. See [1] for definitions. Proprietary Scheduling Policy - None. 4.4.6 Get Scheduling Policy Message The controller retrieves the scheduling policy on a specific port or VPI. It sends an empty request and the switch replies with the scheduling policy description. The message format and field description are the same as in section 4.4.5. Message Type = 208 Adam, Lazar, Nandikesan Expires Dec 1999 19 INTERNET-DRAFT qGSMP June 1999 4.4.7 Set Buffer Management Policy Message The controller selects the buffer management policy on a specific port or VPI, by specifying the number of output buffers, traffic classes, the type of buffer management policy and the policy parameters. The switch updates its hardware and acknowledges the operation. Message Type = 209 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | qGSMP Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Res | VPI | Res |Buffers| Res |Classes| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Buffer Manager Type | Parameters ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Field Descriptions VPI The VPI for which the buffer management policy is setup. A value of zero refers to the port as a whole. Buffer Number of output buffers Classes Number of traffic classes Buffer Manager Type The code for the buffer management policy (see Section 4.3.1 for a listing of policies). Parameters The parameters of the buffer management policy are as follows: Simple Policy - Buffer Sizes, two bytes each, specified starting with the lowest numbered buffer. 4.4.8 Get Buffer Management Policy Message The controller retrieves the buffer management policy on a specific port or VPI. It specify the port/VPI in the request, and the switch replies with the description of the buffer management policy. The field descriptions and the message format are the same as in section 4.4.7. Message Type = 210 Adam, Lazar, Nandikesan Expires Dec 1999 20 INTERNET-DRAFT qGSMP June 1999 4.4.9 Set Traffic Class Characterization Message The controller sets the traffic class characteristics on a specific port or VPI. It sends the characteristics of the traffic class and the switch acknowledges the operation. Message Type = 211 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | qGSMP Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Res | VPI |S| Reserved |Classes| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Qualitative 1 | Quantitative 1| Class 1 Parameter 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | Qualitative 2 | Quantitative 2| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Class 2 Parameter 1 | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Field Descriptions VPI The VPI for which the traffic classes are setup. A value of zero refers to the port as a whole. S If set, automatically set parameters of any previously selected schedulers, buffer managers, and/or SR estimators to reflect the traffic class characterizations given in the present message. Classes Number of traffic classes. Qualitative n Mask of qualitative traffic descriptors defined for traffic class n. Quantitative n Mask of quantitative traffic characteristics for traffic class n. Any set of supported qualitative or quantitative characteristics, including the empty set, may be chosen for traffic class description. Every Qualitative or Quantitative Traffic Characteristic selected in the mask is specified using 2 bytes. Adam, Lazar, Nandikesan Expires Dec 1999 21 INTERNET-DRAFT qGSMP June 1999 4.4.10 Get Traffic Class Characterization Message The controller gets the values of the traffic class parameters on a specific port or VPI. It sends a request containing a specific port and/or VPI, and the switch replies returning the requested parameters. The message format and the field descriptions are the same as in section 4.4.9. Message Type = 212 4.4.11. Set QOS Constraints Message The controller sets the QOS constraints for each traffic class on a specific port or VPI. The switch acknowledges the operation. Message Type = 213 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | qGSMP Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Res | VPI | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |S|T| Reserved |Classes| Reserved | Class 1 Mask | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Class 1 Parameter 1 | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Class 2 Mask | Class 2 Parameter 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Field Descriptions VPI The VPI for which the QOS parameters are setup. A value of zero refers to the port as a whole. S If set, automatically set parameters of any previously selected schedulers, buffer managers, and SR estimators to reflect the QOS constraints given in the present message. T The case T = 1 signifies that QOS is to be guaranteed per connection whereas the case T = 0 signifies that QOS is to be guaranteed per traffic class. Classes Number of traffic classes. Adam, Lazar, Nandikesan Expires Dec 1999 22 INTERNET-DRAFT qGSMP June 1999 Class n Mask Mask of QOS parameters for class n. Any set of supported QOS constraints, including the empty set, may be chosen. If the mask is empty, then class n is provided with no QOS guarantees. Class n Parameter m Every QOS parameter selected in the Class n Mask is specified using 2 bytes (Section 3). 4.4.12 Get QOS Constraints Message The controller gets the values of the QOS constraints on a specific port or VPI. It sends an request specifying the port and/or the VPI, and the switch replies with the requested parameters. The message format and the field description is the same as in section 4.4.11. Message Type = 214 4.4.13 Set Schedulable Region Estimator Message The controller selects a schedulable region estimation algorithm and an update threshold on a specific port or VPI. The switch sets up the parameters and acknowledges the operation. Message Type = 215 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | qGSMP Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Res | VPI | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Res | SR Update Threshold | Estimation Classes | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Est | Estimator Parameters ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Field Descriptions VPI The VPI for which the schedulable region estimation parameters are being setup. A value of zero refers to the port as a whole. SR Update Threshold Specified in units of 0.01%, resulting in a maximum possible value of 20% (Section 3). Estimation Classes Mask of classes to be included for SR estimation. Adam, Lazar, Nandikesan Expires Dec 1999 23 INTERNET-DRAFT qGSMP June 1999 Est Code of the estimator (section 4.3.1). Selection of "No Estimator" (code 0) terminates SR estimation on the port. Estimator Parameters Specific to each estimator, none for proprietary estimators. 4.4.14 Get Schedulable Region Estimator Message The controller retrieves the schedulable region estimator type and the update threshold on a specific port or VPI. It sends a request specifying the port and/or the VPI and the switch replies with the parameters. The message format and the field descriptions are the same as in section 4.4.13. Message Type = 216 4.5 Statistics and State Messages The Statistics messages permit queries of QOS measurements and schedulable region estimates. This is in addition to the GSMP messages that provide for queries of cell counts. 4.5.1 Get Switching Table Message The controller retrieves the switching table corresponding to the input port. It specifies the input port and receives from the switch a list of switch table entries. The content of an entry is described below. Message Type = 217 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LLC(0xAA-AA-03) | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | SNAP (0x00-00-00-88-0C) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Version | Message Type | Result | Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Transaction Identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Input Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Table Entry 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Adam, Lazar, Nandikesan Expires Dec 1999 24 INTERNET-DRAFT qGSMP June 1999 Each Switching Table Entry has the following format: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Res | Input VPI | Input VCI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Output Port 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Res | Output VPI 1 | Output VCI 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Traffic Class 1| Reserved | Peak Rate 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Output Port 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Res | Output VPI 2 | Output VCI 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Traffic Class 2| Reserved | Peak Rate 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.5.2 Get QOS Measurements Message The controller queries the QOS constraints measurements on a specific port or VPI. It specifies the port and/or the VPI for which the measurements are collected, as well as the classes and the parameters that it wants to measure by using bit maps. It can also set a bit, S, that will reset the measurements. The switch replies with the values of the requested parameters. Message Type = 218 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | qGSMP Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Res | VPI | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |S| Reserved | Class | Reserved | Class Mask | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Class Parameter 1 | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Field Descriptions S If set, reset measurement statistics after returning the present measurements. The reset values of all traffic and QOS measurements shall be zero. Adam, Lazar, Nandikesan Expires Dec 1999 25 INTERNET-DRAFT qGSMP June 1999 Class The traffic class for which measurements are to be returned. Class Mask A bitmap that allows the controller to specify for which traffic class parameters the switch will send measurements. Class Parameter i This field will contain the value of the i-th parameter of the traffic class. This value is returned by the switch to the controller. 4.6 Events (Asynchronous Messages) 4.6.1 Schedulable Region Changed Event If the size of the Schedulable Region varies significantly, the switch will send the controller an event that will indicate the port or the VPI for which the schedulable region has changed. To get more information, the controller can query the switch about the schedulable region shape. Message Type = 219 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | qGSMP Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Res | VPI | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.6.2 QOS Violation Event The switch notifies the controller about a violation for one or several of the parameters defined in the QOS constraints. The message format is the same as in the section 4.5.2. The Class field identifies the traffic class for which the violation has happened. The class mask will be used in this case to identify the parameters for which the violation has occured, and the parameter values will contain the values measured during the QOS violation. Message Type = 220 Adam, Lazar, Nandikesan Expires Dec 1999 26 INTERNET-DRAFT qGSMP June 1999 4.7 Additional Error Codes Defined by qGSMP 128: Attempt to retrieve uninitialized variable(s). 129: Specified cardinality is zero. 130: Specified quantity does not match existing value. 131: Invalid parameter value(s). 132: Unsupported parameter, scheduler, buffer manager, and/or SR estimator type. 133: Incompatible set of parameter values. 134: Incompatible set of traffic/QOS parameter types. 135: Incompatible set of scheduler, buffer manager and/or SR estimator types. 136: Invalid composition of scheduling policies. 137: Cannot support the requested set of traffic/QOS parameter types simultaneously. 138: Cannot support the requested set of traffic/QOS parameters values simultaneously (too stringent). 139: Cannot support the requested scheduler, buffer manager and/or SR estimator simultaneously on the specified port. 140: Cannot support the requested schedulers, buffer managers and/or SR estimators on the various ports simultaneously. 141: Cannot support the requested compound scheduling policy. 5. References [1] Hyman, J.M., Lazar, A.A. and Pacifici, G., "Real-Time Scheduling with Quality of Service Constraints", IEEE Journal on Selected Areas in Communications, Vol. 9, September 1991, pp. 1052-1063. [2] Hyman, J.M., Lazar, A.A. and Pacifici, G., "A Separation Principle between Scheduling and Admission Control for Broadband Switching", IEEE Journal on Selected Areas in Communications, Vol. 11, May 1993, pp. 605-616. [3] Hyman, J.M., Lazar, A.A. and Pacifici, G., "Modeling VC, VP and VN Resource Assignment Strategies for Broadband Networks," In Proceeding of the Workshop on Network and Operating Systems Support for Digital Audio and Video, Lancaster, United Kingdom, November 3-5, 1993, pp. 99-110. [4] Liebeherr, J., Wrege, D.E. and Ferrari, D., "Exact Admission Control for Networks with Bounded Delay Service," IEEE/ACM Transactions on Networking, Vol. 4, pp. 885 - 901. [5] Newman, P., Edwards, W., Hinden, R., Hoffman, E., Liaw, F. C., Lyon, T. and Minshall, G., "Ipsilon's General Switch Management Protocol Specification Version 2.0," Request for Comments 2297, Internet Engineering Task Force, March 1998. [6] GSMP Working Group, Tom Worster Editor, "General Switch Management Protocol V3", draft-ietf-gsmp-00.txt, Feb, 1999 Adam, Lazar, Nandikesan Expires Dec 1999 27 INTERNET-DRAFT qGSMP June 1999 [7] Doria, A., Hellstrand, F. and Adam, C., "Support Structure for Optional Abstract or Resource Models", draft-doria-gsmp-option-arm-00.txt, June, 1999 [8] "B-ISDN ATM Adaptation Layer (AAL) Specification," International Telecommunication Union, ITU-T Recommendation I.363, March 1993. [9] Zamora, J., Jacobs, S., Elefteriadis, A., Chang, S.-F. and Anastassiou, D., "A Practical Methodology for Guaranteeing Quality of Service for Video-on-Demand", accepted for publication to the IEEE Transactions on Circuits and Systems for Video Technology, February 1999. 6. Authors' Addresses Constantin Adam Xbind, Inc. 55 Broad Street, Suite 13C New York, NY 10004 Phone: 212-809-3303 email: ctin@xbind.com Aurel A. Lazar Xbind, Inc. 55 Broad Street, Suite 13C New York, NY 10004 Phone: 212-809-3303 email: aurel@xbind.com Mahesan Nandikesan Xbind, Inc. 55 Broad Street, Suite 13C New York, NY 10004 Phone: 212-809-3303 email: mahesan@xbind.com Adam, Lazar, Nandikesan Expires Dec 1999 28