diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc2297.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc2297.txt')
-rw-r--r-- | doc/rfc/rfc2297.txt | 6107 |
1 files changed, 6107 insertions, 0 deletions
diff --git a/doc/rfc/rfc2297.txt b/doc/rfc/rfc2297.txt new file mode 100644 index 0000000..ac0a32e --- /dev/null +++ b/doc/rfc/rfc2297.txt @@ -0,0 +1,6107 @@ + + + + + + +Network Working Group P. Newman, Nokia +Request for Comments: 2297 W. Edwards, Sprint +Updates: 1987 R. Hinden, Nokia +Category: Informational E. Hoffman, Nokia + F. Ching Liaw + T. Lyon, Nokia + G. Minshall, Fiberlane + March 1998 + + + Ipsilon's General Switch Management Protocol Specification + Version 2.0 + +Status of this Memo + + This memo provides information for the Internet community. It does + not specify an Internet standard of any kind. Distribution of this + memo is unlimited. + +Copyright Notice + + Copyright (C) The Internet Society (1998). All Rights Reserved. + + +Abstract + + This memo specifies enhancements to the General Switch Management + Protocol (GSMP) [RFC1987]. The major enhancement is the addition of + Quality of Service (QoS) messages. Other improvements have been made + to the protocol resulting from operational experience. GSMP is a + general purpose protocol to control an ATM switch. It allows a + controller to establish and release connections across the switch; + add and delete leaves on a multicast connection; manage switch ports; + request configuration information; and request statistics. + + + + + + + + + + + + + + + + + +Newman, et. al. Informational [Page 1] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + +Table of Contents + + 1. Introduction....................................................3 + + 2. GSMP Packet Encapsulation.......................................4 + 2.1 ATM Encapsulation...........................................4 + 2.2 Ethernet Encapsulation......................................6 + + 3. Common Definitions and Procedures...............................7 + 3.1 GSMP Packet Format..........................................8 + 3.2 Failure Response Messages..................................11 + + 4. Connection Management Messages.................................16 + 4.1 Add Branch Message.........................................21 + 4.2 Delete Tree Message........................................23 + 4.3 Verify Tree Message........................................24 + 4.4 Delete All Message.........................................24 + 4.5 Delete Branches Message....................................25 + 4.6 Move Branch Message........................................27 + + 5. Port Management Messages.......................................29 + 5.1 Port Management Message....................................29 + 5.2 Label Range Message........................................34 + + 6. State and Statistics Messages..................................37 + 6.1 Connection Activity Message................................38 + 6.2 Statistics Messages........................................40 + 6.2.1 Port Statistics Message..............................44 + 6.2.2 Connection Statistics Message........................44 + 6.2.3 QoS Class Statistics Message.........................44 + 6.3 Report Connection State Message............................45 + + 7. Configuration Messages.........................................49 + 7.1 Switch Configuration Message...............................50 + 7.2 Port Configuration Message.................................51 + 7.3 All Ports Configuration Message............................57 + + 8. Event Messages.................................................59 + 8.1 Port Up Message............................................60 + 8.2 Port Down Message..........................................60 + 8.3 Invalid VPI/VCI Message....................................61 + 8.4 New Port Message...........................................61 + 8.5 Dead Port Message..........................................61 + + 9. Quality of Service Messages....................................61 + 9.1 Abstract Switch Model......................................62 + 9.2 QoS Configuration Message..................................66 + 9.3 Scheduler Establishment Message............................74 + + + +Newman, et. al. Informational [Page 2] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + 9.4 QoS Class Establishment Message............................78 + 9.5 QoS Release Message........................................85 + 9.6 QoS Connection Management Message..........................86 + 9.7 QoS Failure Response Codes.................................97 + + 10. Adjacency Protocol............................................97 + 10.1 Packet Format.............................................98 + 10.2 Procedure.................................................101 + 10.3 Loss of Synchronization...................................103 + + 11. Summary of Failure Response Codes.............................104 + + 12. Summary of Message Set........................................105 + + References........................................................107 + Security Considerations...........................................107 + Authors' Addresses................................................107 + Full Copyright Statement..........................................109 + + + +1. Introduction + + The General Switch Management Protocol (GSMP), is a general purpose + protocol to control an ATM switch. GSMP allows a controller to + establish and release connections across the switch; add and delete + leaves on a multicast connection; manage switch ports; request + configuration information; and request statistics. It also allows the + switch to inform the controller of asynchronous events such as a link + going down. GSMP runs across an ATM link connecting the controller to + the switch, on a control connection (virtual channel) established at + initialization. GSMP operation across an Ethernet link is also + specified. The GSMP protocol is asymmetric, the controller being the + master and the switch being the slave. Multiple switches may be + controlled by a single controller using multiple instantiations of + the protocol over separate control connections. + + A switch is assumed to contain multiple "ports". Each port is a + combination of one "input port" and one "output port". Some GSMP + requests refer to the port as a whole whereas other requests are + specific to the input port or the output port. ATM cells arrive at + the switch from an external communication link on incoming virtual + paths or virtual channels at an input port. ATM cells depart from the + switch to an external communication link on outgoing virtual paths or + virtual channels from an output port. Virtual paths on a port or link + are referenced by their virtual path identifier (VPI). Virtual + channels on a port or link are referenced by their virtual path and + virtual channel identifiers (VPI/VCI). + + + +Newman, et. al. Informational [Page 3] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + A virtual channel connection across a switch is formed by connecting + an incoming virtual channel to one or more outgoing virtual channels. + Virtual channel connections are referenced by the input port on which + they arrive and the virtual path and virtual channel identifiers + (VPI/VCI) of their incoming virtual channel. A virtual path + connection across a switch is formed by connecting an incoming + virtual path to one or more outgoing virtual paths. Virtual path + connections are referenced by the input port on which they arrive and + their virtual path identifier (VPI). In a virtual path connection + the value of the VCI in each cell on that, connection is not used by + the switch and remains unchanged by the switch. + + GSMP supports point-to-point and point-to-multipoint connections. A + multipoint-to-point connection is specified by establishing multiple + point-to-point connections each of them specifying the same output + branch. A multipoint-to-multipoint connection is specified by + establishing multiple point-to-multipoint trees each of them + specifying the same output branches. + + In general a virtual channel is established with a certain quality of + service (QoS). A rich set of QoS messages is introduced in this + version of the protocol. However, implementation or operation of GSMP + without any of the messages defined in Section 9, "Quality of service + messages," is permitted. In this case each virtual channel + connection or virtual path connection may be assigned a priority when + it is established. It may be assumed that for virtual connections + that share the same output port, an ATM cell on a connection with a + higher priority is much more likely to exit the switch before an ATM + cell on a connection with a lower priority if they are both in the + switch at the same time. The number of priorities that each port of + the switch supports may be obtained from the port configuration + message. + + GSMP contains an adjacency protocol. The adjacency protocol is used + to synchronize state across the link, to negotiate which version of + the GSMP protocol to use, to discover the identity of the entity at + the other end of a link, and to detect when it changes. + + +2. GSMP Packet Encapsulation + +2.1 ATM Encapsulation + + GSMP packets are variable length and for an ATM data link layer they + are encapsulated directly in an AAL-5 CPCS-PDU [I.363] with an + LLC/SNAP header as illustrated: + + + + + +Newman, et. al. Informational [Page 4] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + 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) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + ~ GSMP Message ~ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Pad (0 - 47 octets) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + AAL-5 CPCS-PDU Trailer (8 octets) + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + (The convention in the documentation of Internet Protocols [RFC1700] + is to express numbers in decimal. Numbers in hexadecimal format are + specified by prefacing them with the characters "0x". Data is + pictured in "big-endian" order. That is, fields are described left to + right, with the most significant octet on the left and the least + significant octet on the right. Whenever a diagram shows a group of + octets, the order of transmission of those octets is the normal order + in which they are read in English. Whenever an octet represents a + numeric quantity the left most bit in the diagram is the high order + or most significant bit. That is, the bit labeled 0 is the most + significant bit. Similarly, whenever a multi-octet field represents a + numeric quantity the left most bit of the whole field is the most + significant bit. When a multi-octet quantity is transmitted, the most + significant octet is transmitted first. This is the same coding + convention as is used in the ATM layer [I.361] and AAL-5 [I.363].) + + The LLC/SNAP header contains the octets: 0xAA 0xAA 0x03 0x00 0x00 + 0x00 0x88 0x0C. (0x880C is the assigned Ethertype for GSMP.) + + The maximum transmission unit (MTU) of the GSMP Message field is 1492 + octets. + + The virtual channel over which a GSMP session is established between + a controller and the switch it is controlling is called the GSMP + control channel. The default VPI and VCI of the GSMP control channel + for LLC/SNAP encapsulated GSMP messages on an ATM data link layer is: + + VPI = 0 + VCI = 15. + + + + +Newman, et. al. Informational [Page 5] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + +2.2 Ethernet Encapsulation + + GSMP packets may be encapsulated on an Ethernet data link as + illustrated: + + 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Destination Address | + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + | Source Address | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Ethertype (0x88-0C) | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + | | + ~ GSMP Message ~ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Sender Instance | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Receiver Instance | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Pad | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Frame Check Sequence | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Destination Address + For the SYN message of the adjacency protocol the + Destination Address is the broadcast address + 0xFFFFFFFFFFFF. (Alternatively, it is also valid to + configure the node with the unicast 48-bit IEEE MAC address + of the destination. In this case the configured unicast + Destination Address is used in the SYN message.) For all + other messages the Destination Address is the unicast 48- + bit IEEE MAC address of the destination. This address may + be discovered from the Source Address field of messages + received during synchronization of the adjacency protocol. + + Source Address + For all messages the Source Address is the 48-bit IEEE MAC + address of the sender. + + Ethertype + The assigned Ethertype for GSMP is 0x880C. + + + + +Newman, et. al. Informational [Page 6] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + GSMP Message + The maximum transmission unit (MTU) of the GSMP Message + field is 1492 octets. + + Sender Instance + The Sender Instance number for the link obtained from the + adjacency protocol. This field is already present in the + adjacency protocol message. It is appended to all non- + adjacency GSMP messages in the Ethernet encapsulation to + offer additional protection against the introduction of + corrupt state. + + Receiver Instance + The Receiver Instance number is what the sender believes is + the current instance number for the link, allocated by the + entity at the far end of the link. This field is already + present in the adjacency protocol message. It is appended + to all non-adjacency GSMP messages in the Ethernet + encapsulation to offer additional protection against the + introduction of corrupt state. + + Pad + The minimum length of the data field of an Ethernet packet + is 46 octets. If necessary, padding should be added such + that it meets the minimum Ethernet frame size. This padding + should be octets of zero and it is not considered to be + part of the GSMP message. + + After the adjacency protocol has achieved synchronization, for every + GSMP message received with an Ethernet encapsulation, the receiver + must check the Source Address from the Ethernet MAC header, the + Sender Instance, and the Receiver Instance. The incoming GSMP + message must be discarded if the Sender Instance and the Source + Address do not match the values of Sender Instance and Sender Name + stored by the "Update Peer Verifier" operation of the GSMP adjacency + protocol. The incoming GSMP message must also be discarded if it + arrives over any port other than the port over which the adjacency + protocol has achieved synchronization. In addition, the incoming + message must also be discarded if the Receiver Instance field does + not match the current value for the Sender Instance of the GSMP + adjacency protocol. + + +3. Common Definitions and Procedures + + GSMP is a master-slave protocol. The controller issues request + messages to the switch. Each request message indicates whether a + response is required from the switch and contains a transaction + + + +Newman, et. al. Informational [Page 7] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + identifier to enable the response to be associated with the request. + The switch replies with a response message indicating either a + successful result or a failure. There are five classes of GSMP + request-response message: Connection Management, Port Management, + State and Statistics, Configuration, and Quality of Service. The + switch may also generate asynchronous Event messages to inform the + controller of asynchronous events. Event messages are not + acknowledged by the controller. There is also an adjacency protocol + message used to establish synchronization across the link and + maintain a handshake. + + For the request-response messages, each message type has a format for + the request message and a format for the success response. Unless + otherwise specified a failure response message is identical to the + request message that caused the failure, with the Code field + indicating the nature of the failure. Event messages have only a + single format defined as they are not acknowledged by the controller. + + Switch ports are described by a 32-bit port number. The switch + assigns port numbers and it may typically choose to structure the 32 + bits into subfields that have meaning to the physical structure of + the switch (e.g. slot, port). In general, a port in the same physical + location on the switch will always have the same port number, even + across power cycles. The internal structure of the port number is + opaque to the GSMP protocol. However, for the purposes of network + management such as logging, port naming, and graphical + representation, a switch may declare the physical location (physical + slot and port) of each port. Alternatively, this information may be + obtained by looking up the product identity in a database. + + Each switch port also maintains a port session number assigned by the + switch. A message, with an incorrect port session number must be + rejected. This allows the controller to detect a link failure and to + keep state synchronized. + + Except for the adjacency protocol message, no GSMP messages may be + sent across the link until the adjacency protocol has achieved + synchronization, and all GSMP messages received on a link that does + not currently have state synchronization must be discarded. + +3.1 GSMP Packet Format + + All GSMP messages, except the adjacency protocol message, have the + following format: + + + + + + + +Newman, et. al. Informational [Page 8] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + 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 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + ~ Message Body ~ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Version + The version number of the GSMP protocol being used in this + session. It should be set by the sender of the message to + the GSMP protocol version negotiated by the adjacency + protocol. + + Message Type + The GSMP message type. GSMP messages fall into six classes: + Connection Management, Port Management, State and + Statistics, Configuration, Quality of Service, and Events. + Each class has a number of different message types. In + addition, one Message Type is allocated to the adjacency + protocol. + + Result + Field in a Connection Management request message, a Port + Management request message, or a Quality of Service request + message is used to indicate whether a response is required + to the request message if the outcome is successful. A + value of "NoSuccessAck" indicates that the request message + does not expect a response if the outcome is successful, + and a value of "AckAll" indicates that a response is + expected if the outcome is successful. In both cases a + failure response must be generated if the request fails. + For Sate and Statistics, and Configuration request + messages, a value of "NoSuccessAck" in the request message + is ignored and the request message is handled as if the + field were set to "AckAll". (This facility was added to + reduce the control traffic in the case where the controller + periodically checks that the state in the switch is + correct. If the controller does not use this capability, + all request messages should be sent with a value of + "AckAll.") + + + + + + +Newman, et. al. Informational [Page 9] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + In a response message the result field can have three + values: "Success," "More," and "Failure". The "Success" and + "More" results both indicate a success response. The "More" + result indicates that the success response exceeds the + maximum transmission unit of the data link and that one or + more further messages will be sent to complete the success + response. All messages that belong to the same success + response will have the same Transaction Identifier. The + "Success" result indicates a success response that may be + contained in a single message or the final message of a + success response spanning multiple messages. + + The encoding of the result field is: + + NoSuccessAck: Result = 1 + AckAll: Result = 2 + Success: Result = 3 + Failure: Result = 4 + More: Result = 5. + + + The Result field is not used in an adjacency protocol + message. + + Code + Field gives further information concerning the result in a + response message. It is mostly used to pass an error code + in a failure response but can also be used to give further + information in a success response message or an event + message. In a request message the code field is not used + and is set to zero. In an adjacency protocol message the + Code field is used to determine the function of the + message. + + Transaction Identifier + Used to associate a request message with its response + message. For request messages the controller may select any + transaction identifier. For response messages the + transaction identifier is set to the value of the + transaction identifier from the message to which it is a + response. For event messages the transaction identifier + should be set to zero. The Transaction Identifier is not + used, and the field is not present, in the adjacency + protocol. + + The following fields are frequently found in GSMP messages. They are + defined here to avoid repetition. + + + + +Newman, et. al. Informational [Page 10] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Port + Gives the port number of the switch port to which the + message applies. + + Port Session Number + Each switch port maintains a Port Session Number assigned + by the switch. The port session number of a port remains + unchanged while the port is continuously in the Available + state and the link status is continuously Up. When a port + returns to the Available state after it has been + Unavailable or in any of the Loopback states, or when the + line status returns to the Up state after it has been Down + or in Test, or after a power cycle, a new Port Session + Number must be generated. Port session numbers should be + assigned using some form of random number. + + If the Port Session Number in a request message does not + match the current Port Session Number for the specified + port, a failure response message must be returned with the + Code field indicating, "Invalid port session number." The + current port session number for a port may be obtained + using a Port Configuration or an All Ports Configuration + message. + + Any field in a GSMP message that is unused or defined as "reserved" + must be set to zero by the sender and ignored by the receiver. + + It is not an error for a GSMP message to contain additional data + after the end of the Message Body. This is to support development and + experimental purposes. However, the maximum transmission unit of the + GSMP message, as defined by the data link layer encapsulation, must + not be exceeded. + + A success response message must not be sent until the requested + operation has been successfully completed. + +3.2 Failure Response Messages + + A failure response message is formed by returning the request message + that caused the failure with the Result field in the header + indicating failure (Result = 4) and the Code field giving the failure + code. The failure code specifies the reason for the switch being + unable to satisfy the request message. + + If the switch issues a failure response in reply to a request + message, no change should be made to the state of the switch as a + result of the message causing the failure. (For request messages that + contain multiple requests, such as the Delete Branches message, the + + + +Newman, et. al. Informational [Page 11] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + failure response message will specify which requests were successful + and which failed. The successful requests may result in changed + state.) + + If the switch issues a failure response it must choose the most + specific failure code according to the following precedence: + + Invalid Message + + Failure specific to the particular message type (failure code + 16). (The meaning of this failure is dependent upon the + particular message type and is specified in the text defining + the message.) + + A failure response specified in the text defining the message + type. + + Connection Failures + + Virtual Path Connection Failures + + Multicast Failures + + QoS Failures (QoS failures are specified in Section 9.7.) + + General Failures + + If multiple failures match in any of the following categories, the + one that is listed first should be returned. The following failure + response messages and failure codes are defined: + + Invalid Message + + 3: The specified request is not implemented on this switch. + The Message Type field specifies a message that is not + implemented on the switch or contains a value that is not + defined in the version of the protocol running in this + session of GSMP. + + 5: One or more of the specified ports does not exist. + At least one of the ports specified in the message is + invalid. A port is invalid if it does not exist or if it + has been removed from the switch. + + 4: Invalid Port Session Number. + The value given in the Port Session Number field does not + match the current Port Session Number for the specified + port. + + + +Newman, et. al. Informational [Page 12] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Connection Failures + + 8: The specified connection does not exist. + An operation that expects a connection to be specified, + either a virtual channel or a virtual path connection, + cannot locate the specified connection. A virtual channel + connection is specified by the input port, input VPI, and + input VCI on which it arrives. A virtual path connection + is specified by the input port and input VPI on which it + arrives. + + 9: The specified branch does not exist. + An operation that expects a branch of an existing + connection to be specified, either a virtual channel or a + virtual path connection, cannot locate the specified + branch. A branch of a virtual channel connection is + specified by the virtual channel connection it belongs to + and the output port, output VPI, and output VCI on which + it departs. A branch of a virtual path connection is + specified by the virtual path connection it belongs to + and the output port and output VPI on which it departs. + + 18: One or more of the specified input VPIs is invalid. + + 19: One or more of the specified input VCIs is invalid. + + 20: One or more of the specified output VPIs is invalid. + + 21: One or more of the specified output VCIs is invalid. + + 22: Invalid Class of Service field in a Connection Management + message. + The value of the Class of Service field is invalid. + + 23: Insufficient resources for QoS Profile. + The resources requested by the QoS Profile in the Class + of service field are not available. + + Virtual Path Connections + + 24: Virtual path switching is not supported on this input port. + + 25: Point-to-multipoint virtual path connections are not + supported on either the requested input port or the + requested output port. + One or both of the requested input and output ports is + unable to support point-to-multipoint virtual path + connections. + + + +Newman, et. al. Informational [Page 13] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + 26: Attempt to add a virtual path connection branch to an + existing virtual channel connection. + It is invalid to mix branches switched as virtual channel + connections with branches switched as virtual path + connections on the same point-to-multipoint connection. + + 27: Attempt to add a virtual channel connection branch to an + existing virtual path connection. + It is invalid to mix branches switched as virtual channel + connections with branches switched as virtual path + connections on the same point-to-multipoint connection. + + Multicast Failures + + 10: A branch belonging to the specified point-to-multipoint + connection is already established on the specified output + port and the switch cannot support more than a single + branch of any point-to-multipoint connection on the same + output port. + + 11: The limit on the maximum number of point-to-multipoint + connections that the switch can support has been reached. + + 12: The limit on the maximum number of branches that the + specified point-to-multipoint connection can support has + been reached. + + 17: Cannot label each output branch of a point-to-multipoint tree + with a different label. + Some early designs, and some low-cost ATM switch designs, + require all output branches of a multicast connection to + use the same value of VPI/VCI. + + 28: Only point-to-point bidirectional connections may be + established. + It is an error to attempt to add an additional output + branch to an existing connection with the bidirectional + flag set. + + 13: Unable to assign the requested VPI/VCI value to the requested + branch on the specified point-to-multipoint connection. + Although the requested VPI and VCI are valid, the switch + is unable to support the request using the specified + values of VPI and VCI for some reason not covered by the + above failure responses. This message implies that a + valid value of VPI or VCI exists that the switch could + + + + + +Newman, et. al. Informational [Page 14] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + support. For example, some switch designs restrict the + number of distinct VPI/VCI values available to a point- + to-multipoint connection. (Most switch designs will not + require this message.) + + 14: General problem related to the manner in which point-to- + multipoint is supported by the switch. + Use this message if none of the more specific multicast + failure messages apply. (Most switch designs will not + require this message.) + + General Failures + + 2: Invalid request message. + There is an error in one of the fields of the message not + covered by a more specific failure message. + + 6: One or more of the specified ports is down. + A port is down if its Port Status is Unavailable. + Connection Management, Connection State, Port Management, + and Configuration operations are permitted on a port that + is Unavailable. Connection Activity and Statistics + operations are not permitted on a port that is + Unavailable and will generate this failure response. A + Port Management message specifying a Take Down function + on a port already in the Unavailable state will also + generate this failure response. + + 15: Out of resources. + The switch has exhausted a resource not covered by a more + specific failure message, for example, running out of + memory. + + 1: Unspecified reason not covered by other failure codes. + The failure message of last resort. + + The following failure response messages are only used by the Label + Range message. + + 29: Cannot support requested VPI range. + + 30: Cannot support requested VCI range on all requested VPIs. + + The following failure response messages are only used by the Set + Transmit Cell Rate function of the Port Management + message. + + 31: The transmit cell rate of this output port cannot be changed. + + + +Newman, et. al. Informational [Page 15] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + 32: Requested transmit cell rate out of range for this output + port. + + +4. Connection Management Messages + + Connection management messages are used by the controller to + establish, delete, modify and verify virtual channel connections and + virtual path connections across the switch. The Add Branch, Delete + Tree, and Delete All connection management messages have the + following format for both request and response messages: + + 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 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port Session Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Input Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |M|Q|B|C| Input VPI | Input VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Output Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |x x x x| Output VPI | Output VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Number of Branches | Class of Service | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Input Port + Identifies a switch input port. + + Flags + + M: Multicast + The Multicast flag is used as a hint for point-to- + multipoint connections in the Add Branch message. It is not + used in any other connection management messages and in + these messages it should be set to zero. If set, it + indicates that the virtual channel connection or the + virtual path connection is very likely to be a point-to- + multipoint connection. If zero, it indicates that this + connection is very likely to be a point-to-point connection + or is unknown. + + + + +Newman, et. al. Informational [Page 16] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + The Multicast flag is only used in the Add Branch message + when establishing the first branch of a new connection. It + is not required to be set when establishing subsequent + branches of a point-to-multipoint connection and on such + connections it should be ignored by the receiver. (On + receipt of the second and subsequent Add Branch messages + the receiver knows that this is a point-to-multipoint + connection.) If it is known that this is the first branch + of a point-to-multipoint connection this flag should be + set. If it is unknown, or if it is known that the + connection is point-to-point this flag should be zero. The + use of this flag is not mandatory. It may be ignored by the + switch. If unused the flag should be set to zero. Some + switches use a different data structure for point-to- + multipoint connections than for point-to-point connections. + This flag avoids the switch setting up a point-to-point + structure for the first branch of a point-to-multipoint + connection which must immediately be deleted and + reconfigured as point-to-multipoint when the second branch + is established. + + Q: QoS Profile + The QoS Profile flag, if set, indicates that the Class of + Service field contains a QoS Profile Identifier. If this + flag is zero, it indicates that the Class of Service field + contains a Priority or a Scheduler Identifier. + + B: Bidirectional + The Bidirectional flag applies only to the Add Branch + message. In all other Connection Management messages it is + not used. It may only be used when establishing a point- + to-point connection. The Bidirectional flag in an Add + Branch message, if set, requests that two unidirectional + virtual channels or virtual paths be established, one in + the forward direction, and one in the reverse direction. It + is equivalent to two Add Branch messages, one specifying + the forward direction, and one specifying the reverse + direction. The forward direction uses the values of Input + Port, Input VPI, Input VCI, Output Port, Output VPI, and + Output VCI as specified in the Add Branch message. The + reverse direction is derived by exchanging the values + specified in the Input Port, Input VPI, and Input VCI + fields, with those of the Output Port, Output VPI, and + Output VCI fields respectively. Thus, a virtual connection + in the reverse direction arrives at the input port + specified by the Output Port field, on the VPI/VCI + specified by the Output VPI and Output VCI fields. It + departs from the output port specified by the Input Port + + + +Newman, et. al. Informational [Page 17] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + field, on the VPI/VCI specified by the Input VPI and Input + VCI fields. + + The Bidirectional flag is simply a convenience to establish + two unidirectional virtual connections in opposite + directions between the same two ports, with identical + VPI/VCIs, using a single Add Branch message. In all future + messages the two unidirectional virtual connections must be + handled separately. There is no bidirectional delete + message. However, a single Delete Branches message with two + Delete Branch Elements, one for the forward connection and + one for the reverse, may be used. + + C: Congestion Indication + The Congestion Indication flag, if set, requests that cells + on this connection be marked if congestion is experienced. + If this connection passes through a queue that the switch + considers to be congested, the Congestion Experienced bit + will be set in the Payload Type field of the cell header of + all cells on the connection. GSMP does not specify the + algorithm or any threshold by which the switch decides when + a queue is congested. + + Input VPI + Identifies an ATM virtual path arriving at the switch input + port indicated by the Input Port field. + + Input VCI + Identifies an ATM virtual channel arriving on the virtual + path indicated by the Input VPI field at the switch input + port indicated by the Input Port field. For virtual path + connections the Input VCI field is not used. + + Output Port + Identifies a switch output port. + + x: Unused + + Output VPI + Identifies an outgoing virtual path departing from the + switch output port indicated in the Output Port field. + + Output VCI + Identifies an outgoing virtual channel departing on the + virtual path indicated by the Output VPI field from the + switch output port indicated in the Output Port field. For + virtual path connections the Output VCI field is not used. + + + + +Newman, et. al. Informational [Page 18] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Number of Branches + In a success response message and a failure response + message, gives the number of output branches on a virtual + channel connection or a virtual path connection after + completion of the requested operation. (A point-to-point + connection will have one branch, a point-to-multipoint + connection will have two or more branches.) If the switch + is unable to keep track of the number of branches on a + virtual path connection or a virtual channel connection it + must respond with the value 0xFFFF meaning: "number of + branches unknown". This field is not used in the request + message. + + Class of Service + This field can contain either a QoS Profile Identifier, a + Priority, or a Scheduler Identifier. If the QoS Profile + flag in the Flags field is set, the Class of Service field + contains a QoS Profile. If the QoS Profile flag in the + Flags field is zero, and the value of the Class of Service + field is greater than or equal to 0x100, the Class of + Service field contains a Scheduler Identifier. If the QoS + Profile flag in the Flags field is zero, and the value of + the Class of Service field is less than 0x100, the Class of + Service field contains a Priority. (Values of Scheduler + Identifier less than 0x100 are interpreted as priorities.) + The Class of Service field is only used in the Add Branch + and Move Branch messages. + + A QoS Profile Identifier is an opaque 16-bit value. It is + used to identify a QoS profile in the switch which + specifies the Quality of Service required by the + connection. QoS profiles are established by a mechanism + external to GSMP. + + A Scheduler Identifier is an alternative method of + communicating the QoS requirements of a connection. The + Scheduler Identifier is defined in Section 9, "Quality of + Service Messages." + + A Priority specifies the priority of the connection for Add + Branch and Move Branch messages that choose not to use a + QoS profile, or the QoS capabilities defined in Section 9, + "Quality of Service Messages." The highest priority is + numbered zero and the lowest priority is numbered "Q-1" + where "Q" is the number of priorities that the output port + can support. The ability to offer different qualities of + service to different connections based upon their priority + is assumed to be a property of the output port of the + + + +Newman, et. al. Informational [Page 19] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + switch. It is assumed that for virtual path connections or + virtual channel connections that share the same output + port, an ATM cell on a connection with a higher priority is + much more likely to exit the switch before an ATM cell on a + connection with a lower priority, if they are both in the + switch at the same time. The number of priorities that each + output port can support is given in the Port Configuration + message. + + For all connection management messages, except the Delete Branches + message, the success response message is a copy of the request + message returned with the Result field indicating success and the + Number of Branches field indicating the number of branches on the + connection after completion of the operation. The Code field is not + used in a connection management success response message. + + The failure response message is a copy of the request message + returned with a Result field indicating failure and the Number of + Branches field indicating the number of branches on the connection. + + Fundamentally, no distinction is made between point-to-point and + point-to-multipoint connections. By default, the first Add Branch + message for a particular Input Port, Input VPI, and Input VCI will + establish a point-to-point virtual connection. The second Add Branch + message with the same Input Port, Input VPI, and Input VCI fields + will convert the connection to a point-to-multipoint virtual + connection with two branches. (For virtual path connections the Input + VCI is not required.) However, to avoid possible inefficiency with + some switch designs, the Multicast Flag is provided. If the + controller knows that a new connection is point-to-multipoint when + establishing the first branch, it may indicate this in the Multicast + Flag. Subsequent Add Branch messages with the same Input Port, Input + VPI, and Input VCI fields will add further branches to the point-to- + multipoint connection. Use of the Delete Branch message on a point- + to-multipoint connection with two branches will result in a point- + to-point connection. However, the switch may structure this + connection as a point-to-multipoint connection with a single output + branch if it chooses. (For some switch designs this structure may be + more convenient.) Use of the Delete Branch message on a point-to- + point connection will delete the point-to-point connection. There is + no concept of a connection with zero output branches. All connections + are unidirectional, one input virtual path or virtual channel to one + or more output virtual paths or virtual channels. + + GSMP supports point-to-point and point-to-multipoint connections. A + multipoint-to-point connection is specified by establishing multiple + point-to-point connections each of them specifying the same output + branch. (An output branch is specified by an output port and output + + + +Newman, et. al. Informational [Page 20] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + VPI for a virtual path connection and by an output port, output VPI, + and output VCI for a virtual channel connection.) A multipoint-to- + multipoint connection is specified by establishing multiple point- + to-multipoint trees each of them specifying the same output branches. + + The connection management messages apply both to virtual channel + connections and virtual path connections. The Add Branch and Move + Branch connection management messages have two Message Types. One + Message Type indicates that a virtual channel connection is required, + and the other Message Type indicates that a virtual path connection + is required. The Delete Branches, Delete Tree, and Delete All + connection management messages have only a single Message Type + because they do not need to distinguish between virtual channel + connections and virtual path connections. For virtual path + connections, neither Input VCI fields nor Output VCI fields are + required. They should be set to zero by the sender and ignored by the + receiver. Virtual channel branches may not be added to an existing + virtual path connection. Conversely, virtual path branches may not + be added to an existing virtual channel connection. In the Port + Configuration message each switch input port may declare whether it + is capable of supporting virtual path switching (i.e. accepting + connection management messages requesting virtual path connections). + + The connection management messages may be issued regardless of the + Port Status of the switch port. Connections may be established or + deleted when a switch port is in the Available, Unavailable, or any + of the Loopback states. However, all connection state on an input + port will be deleted when the port returns to the Available state + from any other state, i.e. when a Port Management message is received + for that port with the Function field indicating either Bring Up, or + Reset Input Port. + +4.1 Add Branch Message + + The Add Branch message is a connection management message used to + establish a virtual channel connection or a virtual path connection + or to add an additional branch to an existing virtual channel + connection or virtual path connection. It may also be used to check + the connection state stored in the switch. The connection is + specified by the Input Port, Input VPI, and Input VCI fields. The + output branch is specified by the Output Port, Output VPI, and Output + VCI fields. The quality of service requirements of the connection are + specified by the Class of Service field. To request a virtual channel + connection the Virtual Channel Connection (VCC) Add Branch message + is: + + Message Type = 16 + + + + +Newman, et. al. Informational [Page 21] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + To request a virtual path connection the Virtual Path Connection + (VPC) Add Branch message is: + + Message Type = 26 + + If a VPC Add Branch message is received and the switch input port + specified by the Input Port field does not support virtual path + switching, a failure response message must be returned indicating, + "Virtual path switching is not supported on this input port." + + If the virtual channel connection specified by the Input Port, Input + VPI, and Input VCI fields; or the virtual path connection specified + by the Input Port and Input VPI fields; does not already exist, it + must be established with the single output branch specified in the + request message. If the Bidirectional Flag in the Flags field is set, + the reverse connection must also be established. The output branch + should have the QoS attributes specified by the Class of Service + field. + + For the VCC Add Branch message, if a virtual path connection already + exists on the virtual path specified by the Input Port and Input VPI + fields, a failure response message must be returned indicating, + "Attempt to add a virtual channel connection branch to an existing + virtual path connection." For the VPC Add Branch message, if a + virtual channel connection already exists on any of the virtual + channels within the virtual path specified by the Input Port and + Input VPI fields, a failure response message must be returned + indicating, "Attempt to add a virtual path connection branch to an + existing virtual channel connection." + + If the virtual channel connection specified by the Input Port, Input + VPI, and Input VCI fields; or the virtual path connection specified + by the Input Port and Input VPI fields; already exists, but the + specified output branch does not, the new output branch must be + added. The new output branch should have the QoS attributes + specified by the Class of Service field. + + If the virtual channel connection specified by the Input Port, Input + VPI, and Input VCI fields; or the virtual path connection specified + by the Input Port and Input VPI fields; already exists and the + specified output branch also already exists, the QoS attributes of + the connection, specified by the Class of Service field, if different + from the request message, should be changed to that in the request + message. A success response message must be sent if the Result field + of the request message is "AckAll". This allows the controller to + periodically reassert the state of a connection or to change its + priority. If the result field of the request message is + "NoSuccessAck" a success response message should not be returned. + + + +Newman, et. al. Informational [Page 22] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + This may be used to reduce the traffic on the control link for + messages that are reasserting previously established state. For + messages that are reasserting previously established state, the + switch must always check that this state is correctly established in + the switch hardware (i.e. the actual connection tables used to + forward cells). + + If the output branch specified by the Output Port, Output VPI, and + Output VCI fields for a virtual channel connection; or the output + branch specified by the Output Port and Output VPI fields for a + virtual path connection; is already in use by any connection other + than that specified by the Input Port, Input VPI, and Input VCI + fields, then the resulting output branch will have multiple input + branches. If multiple point-to-point connections share the same + output branch the result will be a multipoint-to-point connection. If + multiple point-to-multipoint trees share the same output branches the + result will be a multipoint-to-multipoint connection. + + If the virtual channel connection specified by the Input Port, Input + VPI, and Input VCI fields, or the virtual path connection specified + by the Input Port and Input VPI fields, already exists, and the + Bidirectional Flag in the Flags field is set, a failure response must + be returned indicating: "Only point-to-point bidirectional + connections may be established." + + It should be noted that different switches support multicast in + different ways. There will be a limit to the total number of point- + to-multipoint connections any switch can support, and possibly a + limit on the maximum number of branches that a point-to-multipoint + connection may specify. Some switches also impose a limit on the + number of different VPI/VCI values that may be assigned to the output + branches of a point-to-multipoint connection. Many switches are + incapable of supporting more than a single branch of any particular + point-to-multipoint connection on the same output port. Specific + failure codes are defined for some of these conditions. + +4.2 Delete Tree Message + + The Delete Tree message is a connection management message used to + delete an entire virtual channel connection or an entire virtual path + connection. All remaining branches of the connection are deleted. A + virtual channel connection is specified by the Input Port, Input VPI, + and Input VCI fields. A virtual path connection is specified by the + Input Port and Input VPI fields. The Output Port, Output VPI, and + Output VCI fields are not used in this message. The Delete Tree + message is: + + Message Type = 18 + + + +Newman, et. al. Informational [Page 23] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + If the Result field of the request message is "AckAll" a success + response message must be sent upon successful deletion of the + specified connection. The success message must not be sent until the + delete operation has been completed and if possible, not until all + data on the connection, queued for transmission, has been + transmitted. The Number of Branches field is not used in either the + request or response messages of the Delete Tree message. + +4.3 Verify Tree Message + + The Verify Tree message has been removed from this version of GSMP. + Its function has been replaced by the Number of Branches field in the + success response to the Add Branch message which contains the number + of branches on a virtual channel connection after successful + completion of an add branch operation. + + Message Type = 19 is reserved. + + If a request message is received with Message Type = 19 a failure + response must be returned with the Code field indicating: "The + specified request is not implemented in this version of the + protocol." + +4.4 Delete All Message + + The Delete All message is a connection management message used to + delete all connections on a switch input port. All connections that + arrive at the specified input port must be deleted. On completion of + the operation all dynamically assigned VPI/VCI values for the + specified port must be unassigned, i.e. there must be no virtual + connections established in the VPI/VCI space that GSMP controls on + this port. The Input VPI, Input VCI, Output Port, Output VPI, and + Output VCI fields are not used in this message. The Delete All + message is: + + Message Type = 20 + + If the Result field of the request message is "AckAll" a success + response message must be sent upon completion of the operation. The + Number of Branches field is not used in either the request or + response messages of the Delete All message. The success response + message must not be sent until the operation has been completed. + + The following failure response messages may be returned to a Delete + All request. + + The specified request is not implemented on this switch. + + + + +Newman, et. al. Informational [Page 24] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + One or more of the specified ports does not exist. + + Invalid Port Session Number. + + If any field in a Delete All message not covered by the above failure + codes is invalid, a failure response must be returned indicating: + "Invalid request message." Else, the delete all operation must be + completed successfully and a success message returned. No other + failure messages are permitted. + +4.5 Delete Branches Message + + The Delete Branches message is a connection management message used + to request one or more delete branch operations. Each delete branch + operation deletes a branch of a virtual channel connection or a + virtual path connection, or in the case of the last branch of a + connection, it deletes the connection. The Delete Branches message + is: + + Message Type = 17 + + The request message 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Version | Message Type | Result | Code | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Reserved | Number of Elements | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + ~ Delete Branch Elements ~ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Number of Elements + Specifies the number of Delete Branch Elements to follow in + the message. The number of Delete Branch Elements in a + Delete Branches message must not cause the packet length to + exceed the maximum transmission unit defined by the + encapsulation. + + Each Delete Branch Element specifies an output branch to be deleted + and has the following structure: + + + + + +Newman, et. al. Informational [Page 25] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port Session Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Input Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Error | Input VPI | Input VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Output Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |x x x x| Output VPI | Output VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Error + Is used to return a failure code indicating the reason for + the failure of a specific Delete Branch Element in a Delete + Branches failure response message. The Error field is not + used in the request message and must be set to zero. A + value of zero is used to indicate that the delete operation + specified by this Delete Branch Element was successful. + Values for the other failure codes are specified in Section + 3.2, "Failure Response Messages." + + All other fields of the Delete Branch Element have the same + definition as specified for the other connection management + messages. + + In each Delete Branch Element, either a virtual channel connection is + specified by the Input Port, Input VPI, and Input VCI fields; or a + virtual path connection is specified by the Input Port and Input VPI + fields. The specific branch to be deleted is indicated by the Output + Port, Output VPI, and Output VCI fields for virtual channel + connections and by the Output Port and Output VPI for virtual path + connections. + + If the Result field of the Delete Branches request message is + "AckAll" a success response message must be sent upon successful + deletion of the branches specified by all of the Delete Branch + Elements. The success response message must not be sent until all of + the delete branch operations have been completed. The success + response message is only sent if all of the requested delete branch + operations were successful. No Delete Branch Elements are returned in + a Delete Branches success response message and the Number of Elements + field must be set to zero. + + If there is a failure in any of the Delete Branch Elements a Delete + Branches failure response message must be returned. The Delete + Branches failure response message is a copy of the request message + with the Code field of the entire message set to, "Failure specific + + + +Newman, et. al. Informational [Page 26] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + to the particular message type," and the Error field of each Delete + Branch Element indicating the result of each requested delete + operation. A failure in any of the Delete Branch Elements must not + interfere with the processing of any other Delete Branch Elements. + +4.6 Move Branch Message + + The Move Branch message is used to move a branch of an existing + connection from its current output port VPI/VCI to a new output port + VPI/VCI in a single atomic transaction. This operation occurs + frequently in IP switching, every time a flow is switched from hop- + by-hop forwarding to a dedicated virtual channel. The Move Branch + connection management message has the following format for both + request and response messages: + + 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 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port Session Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Input Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Flags | Input VPI | Input VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Old Output Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |x x x x| Old Output VPI | Old Output VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | New Output Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |x x x x| New Output VPI | New Output VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Number of Branches | Class of Service | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + The VCC Move Branch message is a connection management message used + to move a single output branch of a virtual channel connection from + its current output port, output VPI, and output VCI, to a new output + port, output VPI, and output VCI on the same virtual channel + connection. None of the other output branches are modified. When the + operation is complete the original output VPI/VCI on the original + output port will be deleted from the connection. The VCC Move Branch + message is: + + + + +Newman, et. al. Informational [Page 27] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Message Type = 22 + + For the VCC Move Branch message, if the virtual channel connection + specified by the Input Port, Input VPI, and Input VCI fields already + exists, and the output branch specified by the Old Output Port, Old + Output VPI, and Old Output VCI fields exists as a branch on that + connection, the output branch specified by the New Output Port, New + Output VPI, and New Output VCI fields is added to the connection and + the branch specified by the Old Output Port, Old Output VPI, and Old + Output VCI fields is deleted. If the Result field of the request + message is "AckAll" a success response message must be sent upon + successful completion of the operation. The success response message + must not be sent until the Move Branch operation has been completed. + + For the VCC Move Branch message, if the virtual channel connection + specified by the Input Port, Input VPI, and Input VCI fields already + exists, but the output branch specified by the Old Output Port, Old + Output VPI, and Old Output VCI fields does not exist as a branch on + that connection, a failure response must be returned with the Code + field indicating, "The specified branch does not exist." + + The VPC Move Branch message is a connection management message used + to move a single output branch of a virtual path connection from its + current output port and output VPI, to a new output port and output + VPI on the same virtual channel connection. None of the other output + branches are modified. When the operation is complete the original + output VPI on the original output port will be deleted from the + connection. The VPC Move Branch message is: + + Message Type = 27 + + For the VPC Move Branch message, if the virtual path connection + specified by the Input Port and Input VPI fields already exists, and + the output branch specified by the Old Output Port and Old Output VPI + fields exists as a branch on that connection, the output branch + specified by the New Output Port and New Output VPI fields is added + to the connection and the branch specified by the Old Output Port and + Old Output VPI fields is deleted. If the Result field of the request + message is "AckAll" a success response message must be sent upon + successful completion of the operation. The success response message + must not be sent until the Move Branch operation has been completed. + + For the VPC Move Branch message, if the virtual path connection + specified by the Input Port and Input VPI fields already exists, but + the output branch specified by the Old Output Port and Old Output VPI + fields does not exist as a branch on that connection, a failure + response must be returned with the Code field indicating, "The + specified branch does not exist." + + + +Newman, et. al. Informational [Page 28] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + If the virtual channel connection specified by the Input Port, Input + VPI, and Input VCI fields; or the virtual path connection specified + by the Input Port and Input VPI fields; does not exist, a failure + response must be returned with the Code field indicating, "The + specified connection does not exist." + + If the output branch specified by the New Output Port, New Output + VPI, and New Output VCI fields for a virtual channel connection; or + the output branch specified by the New Output Port and New Output VPI + fields for a virtual path connection; is already in use by any + connection other than that specified by the Input Port, Input VPI, + and Input VCI fields then the resulting output branch will have + multiple input branches. If multiple point-to-point connections share + the same output branch the result will be a multipoint-to-point + connection. If multiple point-to-multipoint trees share the same + output branches the result will be a multipoint-to-multipoint + connection. + + +5. Port Management Messages + +5.1 Port Management Message + + The Port Management message allows a port to be brought into service, + taken out of service, looped back, reset, or the transmit cell rate + changed. Only the Bring Up and the Reset Input Port functions change + the connection state (established connections) on the input port. + Only the Bring Up function changes the value of the Port Session + Number. If the Result field of the request message is "AckAll" a + success response message must be sent upon successful completion of + the operation. The success response message must not be sent until + the operation has been completed. The Port Management Message is: + + Message Type = 32 + + The Port Management message has the following format for the request + and success response messages: + + + + + + + + + + + + + + +Newman, et. al. Informational [Page 29] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + 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 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port Session Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Event Sequence Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Event Flags | Duration | Function | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transmit Cell Rate | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Event Sequence Number + In the success response message gives the current value of + the Event Sequence Number of the switch port indicated by + the Port field. The Event Sequence Number is set to zero + when the port is initialized. It is incremented by one each + time the port detects an asynchronous event that the switch + would normally report via an Event message. If the Event + Sequence Number in the success response differs from the + Event Sequence Number of the most recent Event message + received for that port, events have occurred that were not + reported via an Event message. This is most likely to be + due to the flow control that restricts the rate at which a + switch can send Event messages for each port. In the + request message this field is not used. + + Event Flags + Field in the request message is used to reset the Event + Flags in the switch port indicated by the Port field. Each + Event Flag in a switch port corresponds to a type of Event + message. When a switch port sends an Event message it sets + the corresponding Event Flag on that port. The port is not + permitted to send another Event message of the same type + until the Event Flag has been reset. If the Function field + in the request message is set to "Reset Event Flags," for + each bit that is set in the Event Flags field, the + corresponding Event Flag in the switch port is reset. + + The Event Flags field is only used in a request message + with the Function field set to "Reset Event Flags." For all + other values of the Function field, the Event Flags field + + + +Newman, et. al. Informational [Page 30] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + is not used. In the success response message the Event + Flags field must be set to the current value of the Event + Flags for the port, after the completion of the operation + specified by the request message, for all values of the + Function field. Setting the Event Flags field to all zeros + in a "Reset Event Flags" request message allows the + controller to obtain the current state of the Event Flags + and the current Event Sequence Number of the port without + changing the state of the Event Flags. + + The correspondence between the types of Event message and + the bits of the Event Flags field is as follows: + + 0 1 2 3 4 5 6 7 + +-+-+-+-+-+-+-+-+ + |U|D|I|N|Z|x x x| + +-+-+-+-+-+-+-+-+ + + U: Port Up Bit 0, (most significant bit) + D: Port Down Bit 1, + I: Invalid VPI/VCI Bit 2, + N: New Port Bit 3, + Z: Dead Port Bit 4, + x: Unused Bits 5--7. + + Duration + Is the length of time, in seconds, that any of the loopback + states remain in operation. When the duration has expired + the port will automatically be returned to service. If + another Port Management message is received for the same + port before the duration has expired, the loopback will + continue to remain in operation for the length of time + specified by the Duration field in the new message. The + Duration field is only used in request messages with the + Function field set to Internal Loopback, External Loopback, + or Bothway Loopback. + + Function + Specifies the action to be taken. The specified action will + be taken regardless of the current status of the port + (Available, Unavailable, or any Loopback state). If the + specified function requires a new Port Session Number to be + generated, the new Port Session Number must be returned in + the success response message. The defined values of the + Function field are: + + Bring Up: + Function = 1. Bring the port into service. All + + + +Newman, et. al. Informational [Page 31] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + connections that arrive at the specified input port + must be deleted and a new Port Session Number must be + selected using some form of random number. On + completion of the operation all dynamically assigned + VPI/VCI values for the specified input port must be + unassigned, i.e. no virtual connections will be + established in the VPI/VCI space that GSMP controls on + this input port. The Port Status of the port + afterwards will be Available. + + Take Down: + Function = 2. Take the port out of service. Any cells + received at this port will be discarded. No cells will + be transmitted from this port. The Port Status of the + port afterwards will be Unavailable. + + The behavior is undefined if the port is taken down + over which the GSMP session that controls the switch + is running. (In this case the most probable behavior + would be for the switch either to ignore the message + or to terminate the current GSMP session and to + initiate another session, possibly with the backup + controller, if any.) The correct method to reset the + link over which GSMP is running is to issue an RSTACK + message in the adjacency protocol. + + Internal Loopback: + Function = 3. Cells arriving at the output port from + the switch fabric are looped through to the input port + to return to the switch fabric. All of the ATM + functions of the input port above the physical layer, + e.g. header translation, are performed upon the looped + back cells. The Port Status of the port afterwards + will be Internal Loopback. + + External Loopback: + Function = 4. Cells arriving at the input port from + the external communications link are immediately + looped back to the communications link at the physical + layer without entering the input port. None of the ATM + functions of the input port above the physical layer + are performed upon the looped back cells. The Port + Status of the port afterwards will be External + Loopback. + + Bothway Loopback: + Function = 5. Both internal and external loopback are + + + + +Newman, et. al. Informational [Page 32] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + performed. The Port Status of the port afterwards will + be Bothway Loopback. + + Reset Input Port: + Function = 6. All connections that arrive at the + specified input port must be deleted and the input and + output port hardware re-initialized. On completion of + the operation all dynamically assigned VPI/VCI values + for the specified input port must be unassigned, i.e. + no virtual connections will be established in the + VPI/VCI space that GSMP controls on this input port. + The range of VPIs and VCIs that may be controlled by + GSMP on this port will be set to the default values + specified in the Port Configuration message. The + transmit cell rate of the output port must be set to + its default value. The Port Session Number is not + changed by the Reset Input Port function. The Port + Status of the port afterwards will be Unavailable. + + Reset Event Flags: + Function = 7. For each bit that is set in the Event + Flags field, the corresponding Event Flag in the + switch port must be reset. The Port Status of the port + is not changed by this function. + + Set Transmit Cell Rate: + Function = 8. Sets the transmit cell rate of the + output port as close as possible to the rate specified + in the Transmit Cell Rate field. In the success + response message the Transmit Cell Rate must indicate + the actual transmit cell rate of the output port. If + the transmit cell rate of the requested output port + cannot be changed, a failure response must be returned + with the Code field indicating: "The transmit cell + rate of this output port cannot be changed." If the + transmit cell rate of the requested output port can be + changed, but the value of the Transmit Cell Rate field + is beyond the range of acceptable values, a failure + response must be returned with the Code field + indicating: "Requested transmit cell rate out of range + for this output port." In the failure response message + the Transmit Cell Rate must contain the same value as + contained in the request message that caused the + failure. The transmit cell rate of the output port is + not changed by the Bring Up, Take Down, or any of the + Loopback functions. It is returned to the default + value by the Reset Input Port function. + + + + +Newman, et. al. Informational [Page 33] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Transmit Cell Rate + This field is only used in request and success response + messages with the Function field set to "Set Transmit Cell + Rate." It is used to set the output cell rate of the output + port. It is specified in cells/s. If the Transmit Cell Rate + field contains the value 0xFFFFFFFF the transmit cell rate + of the output port should be set to the highest valid + value. + +5.2. Label Range Message + + The default label range, Min VPI to Max VPI and Min VCI to Max VCI, + is specified for each port by the Port Configuration or the All Ports + Configuration messages. When the protocol is initialized, before the + transmission of any Label Range messages, the label range of each + port will be set to the default label range. (The default label range + is dependent upon the switch design and configuration and is not + specified by the GSMP protocol.) The Label Range message allows the + range of VPIs supported by a specified port, or the range of VCIs + supported by a specified VPI on a specified port, to be changed. + Each switch port must declare whether it supports the Label Range + message in the Port Configuration or the All Ports Configuration + messages. The Label Range message is: + + Message Type = 33 + + The Label Range message has the following format for the request and + success response messages: + + 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 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port Session Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |Q|V|x x| Min VPI |x x x x| Max VPI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Min VCI | Max VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Remaining VPIs | Remaining VCIs | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + + + + +Newman, et. al. Informational [Page 34] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Flags + + Q: Query + If the Query flag is set in a request message, the switch + must respond with the current range of valid VPIs, or the + current range of valid VCIs on a specified VPI, according + to the VPI/VCI flag. The current label range is not changed + by a request message with the Query flag set. If the Query + flag is zero, the message is requesting a label change + operation. + + V: VPI/VCI + If the VPI/VCI flag is set, the message refers to a range + of VPIs only. The Min VCI and Max VCI fields are unused. If + the VPI/VCI flag is zero the message refers to a range of + VCIs on either one VPI or on a range of VPIs. + + x: Unused + + Min VPI + Max VPI + Specify a range of VPI values, Min VPI to Max VPI + inclusive. A single VPI may be specified with a Min VPI + and a Max VPI having the same value. In a request message, + if the value of the Max VPI field is less than or equal to + the value of the Min VPI field, the requested range is a + single VPI with a value equal to the Min VPI field. Zero is + a valid value. In a request message, if the Query flag is + set, and the VPI/VCI flag is zero, the Max VPI field + specifies a single VPI and the Min VPI field is not used. + The maximum valid value of these fields for both request + and response messages is 0xFFF. + + Min VCI + Max VCI + Specify a range of VCI values, Min VCI to Max VCI + inclusive. A single VCI may be specified with a Min VCI + and a Max VCI having the same value. In a request message, + if the value of the Max VCI field is less than or equal to + the value of the Min VCI field, the requested range is a + single VCI with a value equal to the Min VCI field. Zero is + a valid value. (However, VPI=0, VCI=0 is not available as + a virtual channel connection as it is used as a special + value in ATM to indicate an unassigned cell.) + + Remaining VPIs + Remaining VCIs + These fields are unused in the request message. In the + + + +Newman, et. al. Informational [Page 35] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + success response message and in the failure response + message these fields give the maximum number of remaining + VPIs and VCIs that could be requested for allocation on the + specified port (after completion of the requested operation + in the case of the success response). It gives the switch + controller an idea of how many VPIs and VCIs it could + request. The number given is the maximum possible given the + constraints of the switch hardware. There is no implication + that this number of VPIs and VCIs is available to every + switch port. + + If the Query flag and the VPI/VCI flag are set in the request + message, the switch must reply with a success response message + containing the current range of valid VPIs that are supported by the + port. The Min VPI and Max VPI fields are not used in the request + message. + + If the Query flag is set and the VPI/VCI flag is zero in the request + message, the switch must reply with a success response message + containing the current range of valid VCIs that are supported by the + VPI specified by the Max VPI field. If the requested VPI is invalid, + a failure response must be returned indicating: "One or more of the + specified input VPIs is invalid." The Min VPI field is not used in + either the request or success response messages. + + If the Query flag is zero and the VPI/VCI flag is set in the request + message, the Min VPI and Max VPI fields specify the new range of VPIs + to be allocated to the input port specified by the Port field. + Whatever the range of VPIs previously allocated to this port it + should be increased or decreased to the specified value. + + If the Query flag and the VPI/VCI flag are zero in the request + message, the Min VCI and Max VCI fields specify the range of VCIs to + be allocated to each of the VPIs specified by the VPI range. + Whatever the range of VCIs previously allocated to each of the VPIs + within the specified VPI range on this port, it should be increased + or decreased to the specified value. The allocated VCI range must be + the same on each of the VPIs within the specified VPI range. + + The success response to a Label Range message requesting a change of + label range is a copy of the request message with the Remaining VPIs + and Remaining VCIs fields updated to the new values after the Label + Range operation. + + If the switch is unable to satisfy a request to change the VPI range, + it must return a failure response message with the Code field set to + "Cannot support requested VPI range." In this failure response + + + + +Newman, et. al. Informational [Page 36] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + message the switch must use the Min VPI and Max VPI fields to suggest + a VPI range that it would be able to satisfy. + + If the switch is unable to satisfy a request to change the VCI range + on all VPIs within the requested VPI range, it must return a failure + response message with the Code field set to "Cannot support requested + VCI range on all requested VPIs." In this failure response message + the switch must use the Min VPI, Max VPI, Min VCI, and Max VCI fields + to suggest a VPI and VCI range that it would be able to satisfy. + + In all other failure response messages for the label range operation + the switch must return the values of Min VPI, Max VPI, Min VCI, and + Max VCI from the request message. + + While switches can typically support all 256 or 4096 VPIs the VCI + range that can be supported is often more constrained. Often the Min + VCI must be 0 or 32. Typically all VCIs within a particular VPI must + be contiguous. The hint in the failure response message allows the + switch to suggest a label range that it could satisfy in view of its + particular architecture. + + While the Label Range message is defined to specify both a range of + VPIs and a range of VCIs within each VPI, the most likely use is to + change either the VPI range or the range of VCIs within a single VPI. + It is possible for a VPI to be valid but to be allocated no valid + VCIs. Such a VPI could be used for a virtual path connection but to + support virtual channel connections it would need to be allocated a + range of VCIs. + + A Label Range request message may be issued regardless of the Port + Status or the Line Status of the target switch port. If the Port + field of the request message contains an invalid port (a port that + does not exist or a port that has been removed from the switch) a + failure response message must be returned with the Code field set to, + "One or more of the specified ports does not exist." + + +6. State and Statistics Messages + + The state and statistics messages permit the controller to request + the values of various hardware counters associated with the switch + input and output ports, virtual path connections, virtual channel + connections, and QoS Classes. They also permit the controller to + request the connection state of a switch input port. The Connection + Activity message is used to determine whether one or more specific + virtual channel connections or virtual path connections have recently + been carrying traffic. The Statistics message is used to query the + various port, connection, and QoS class traffic and error counters. + + + +Newman, et. al. Informational [Page 37] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + The Report Connection State message is used to request an input port + to report the connection state for a single virtual channel + connection, a single virtual path connection, or for the entire input + port. + +6.1 Connection Activity Message + + The Connection Activity message is used to determine whether one or + more specific virtual channel connections or virtual path connections + have recently been carrying traffic. The Connection Activity message + contains one or more Activity Records. Each Activity Record is used + to request and return activity information concerning a single + virtual channel connection or virtual path connection. Each virtual + channel connection is specified by its input port, input VPI, and + input VCI. Each virtual path connection is specified by its input + port and input VPI. These are specified in the Input Port, Input VPI, + and Input VCI fields of each Activity Record. Two forms of activity + detection are supported. If the switch supports per connection + traffic accounting, the current value of the traffic counter for each + specified virtual channel connection or virtual path connection must + be returned. The units of traffic counted are not specified but will + typically be either cells or frames. The controller must compare the + traffic counts returned in the message with previous values for each + of the specified connections to determine whether each connection has + been active in the intervening period. If the switch does not + support per connection traffic accounting, but is capable of + detecting per connection activity by some other unspecified means, + the result may be indicated for each connection using the Flags + field. The Connection Activity message is: + + Message Type = 48 + + The Connection Activity request and success response messages have + 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Version | Message Type | Result | Code | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Number of Records | Reserved | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + ~ Activity Records ~ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + + +Newman, et. al. Informational [Page 38] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Number of Records + Field specifies the number of Activity Records to follow. + The number of Connection Activity records in a single + Connection Activity message must not cause the packet + length to exceed the maximum transmission unit defined by + the encapsulation. + + Each Activity Record has the following format: + + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Input Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |V|C|A|x| Input VPI | Input VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + Traffic Count + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Input Port + Identifies the port number of the input port on which the + connection of interest arrives in order to identify the + connection (regardless of whether the traffic count for the + connection is maintained on the input port or the output + port). + + Input VPI + Input VCI + Fields identify the specific virtual path connection or + virtual channel connection for which statistics are being + requested. For a virtual path connection the Input VCI + field is not used. + + Flags + + V: Valid Record + In the success response message the Valid Record flag is + used to indicate an invalid Activity Record. The flag must + be zero if any of the fields in this Activity Record are + invalid, if the input port specified by the Input Port + field does not exist, or if the specified connection does + not exist. If the Valid Record flag is zero in a success + response message, the Counter flag, the Activity flag, and + the VC Traffic Count field are undefined. If the Valid + Record flag is set, the Activity Record is valid, and the + Counter and Activity flags are valid. The Valid Record flag + is not used in the request message. + + + + +Newman, et. al. Informational [Page 39] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + C: Counter + In a success response message, if the Valid Record flag is + set, the Counter flag, if zero, indicates that the value in + the VC Traffic Count field is valid. If set, it indicates + that the value in the Activity flag is valid. The Counter + flag is not used in the request message. + + A: Activity + In a success response message, if the Valid Record and + Counter flags are set, the Activity flag, if set, indicates + that there has been some activity on this connection since + the last Connection Activity message for this connection. + If zero, it indicates that there has been no activity on + this connection since the last Connection Activity message + for this connection. The Activity flag is not used in the + request message. + + x: Unused + + Traffic Count + Field is not used in the request message. In the success + response message, if the switch supports per connection + traffic counting, the Traffic Count field must be set to + the value of a free running, connection specific, 64-bit + traffic counter counting traffic flowing across the + specified connection. The value of the traffic counter is + not modified by reading it. If per connection traffic + counting is supported, the switch must report the + Connection Activity result using the traffic count rather + than using the Activity flag. + + The format of the failure response is the same as the request message + with the Number of Records field set to zero and no VC Activity + records returned in the message. If the switch is incapable of + detecting per connection activity, a failure response must be + returned indicating, "The specified request is not implemented on + this switch." + +6.2 Statistics Messages + + The Statistics messages are used to query the various port, + connection, and QoS class traffic and error counters. + + The Statistics request messages have the following format: + + + + + + + +Newman, et. al. Informational [Page 40] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + 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 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | zero | VPI | VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | QoS Class Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + VPI + VCI + Fields identify the specific virtual path connection or + virtual channel connection for which statistics are being + requested. For a virtual path connection the Input VCI + field is not used. For requests that do not require a + virtual path connection or virtual channel connection to be + specified, the VPI and VCI fields are not used. + + QoS Class Identifier + Field identifies the QoS class for which statistics are + being requested. This field is only used if the QoS Class + Establishment message defined in section 9.4 is + implemented. + + The success response for the Statistics message has the following + format: + + + + + + + + + + + + + + + + + + + + +Newman, et. al. Informational [Page 41] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + 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 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | zero | VPI | VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | QoS Class Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + Input Cell Count + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + Input Frame Count + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + Input Cell Discard Count + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + Input Frame Discard Count + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + Input HEC Error Count + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + Input Invalid VPI/VCI Count + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + Output Cell Count + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + Output Frame Count + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + Output Cell Discard Count + + | | + + + +Newman, et. al. Informational [Page 42] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + Output Frame Discard Count + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Port + VPI/VCI + QoS Class Identifier + Fields are the same as those of the request message. + + Input Cell Count + Output Cell Count + Give the value of a free running 64-bit counter counting + cells arriving at the input or departing from the output + respectively. + + Input Frame Count + Output Frame Count + Give the value of a free running 64-bit counter counting + frames (packets) arriving at the input or departing from + the output respectively. + + Input Cell Discard Count + Output Cell Discard Count + Give the value of a free running 64-bit counter counting + cells discarded due to queue overflow on an input port or + on an output port respectively. + + Input Frame Discard Count + Output Frame Discard Count + Give the value of a free running 64-bit counter counting + frames discarded due to congestion on an input port or on + an output port respectively. + + HEC Error Count + Gives the value of a free running 64-bit counter counting + cells discarded due to header checksum errors on arrival at + an input port. + + Invalid VPI/VCI Count + Gives the value of a free running 64-bit counter counting + cells discarded because their VPI/VCI is invalid on arrival + at an input port. For a virtual channel connection an + incoming VPI/VCI is invalid if no connection is currently + established having that value of VPI/VCI. For a virtual + path connection an incoming VPI is invalid if no connection + is currently established having that value of VPI. + + + +Newman, et. al. Informational [Page 43] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + +6.2.1 Port Statistics Message + + The Port Statistics message requests the statistics for the switch + port specified in the Port field. The contents of the VPI/VCI and the + QoS Class Identifier fields in the Port Statistics request message + are ignored. All of the count fields in the success response message + refer to per-port counts regardless of the connection or QoS class to + which the cells belong. Any of the count fields in the success + response message not supported by the port must be set to zero. The + Port Statistics message is: + + Message Type = 49 + +6.2.2 Connection Statistics Message + + The Connection Statistics message requests the statistics for the + virtual channel connection specified in the VPI/VCI field, or the + virtual path connection specified in the VPI field, that arrives on + the switch input port specified in the Port field, regardless of the + QoS class to which the cells belong. All of the count fields in the + success response message refer only to the specified connection. The + HEC Error Count and Invalid VPI/VCI Count fields are not connection + specific and must be set to zero. Any of the other count fields not + supported on a per connection basis must be set to zero in the + success response message. The Connection Statistics message is: + + Message Type = 50 + +6.2.3 QoS Class Statistics Message + + The QoS Class Statistics message requests the statistics for the QoS + class specified by the QoS Class Identifier field that arrives on the + switch input port specified in the Port field, regardless of the + connection to which the cells belong. The QoS Statistics message is + only used if the QoS Class Establishment message defined in section + 9.4 is implemented. The contents of the VPI/VCI fields in the QoS + Class Statistics request message are ignored. All of the count fields + in the success response message refer only to the specified QoS + class. The HEC Error Count and Invalid VPI/VCI Count fields are not + specific to a QoS class and must be set to zero. Any of the other + count fields not supported on a per QoS class basis must be set to + zero in the success response message. The QoS Class Statistics + message is: + + Message Type = 51 + + + + + + +Newman, et. al. Informational [Page 44] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + +6.3 Report Connection State Message + + The Report Connection State message is used to request an input port + to report the connection state for a single virtual channel + connection, a single virtual path connection, or for the entire input + port. The Report Connection State message is: + + Message Type = 52 + + The Report Connection State request message 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Version | Message Type | Result | Code | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Input Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |A|V|x x| Input VPI | Input VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Input Port + Identifies the port number of the input port for which the + connection state is being requested. + + Flags + + A: All Connections + If the All Connections flag is set, the message requests + the connection state for all virtual path connections and + virtual channel connections that arrive at the input port + specified by the Input Port field. In this case the Input + VPI and Input VCI fields and the VPI/VCI flag are unused. + + V: VPI/VCI + If the All Connections flag is zero and the VPI/VCI flag is + set, the message requests the connection state for the + virtual path connection that arrives at the input port + specified by the Input Port and Input VPI fields. If the + specified Input VPI identifies a virtual path connection + (i.e. a single switched virtual path) the state for that + connection is requested. If the specified Input VPI + identifies a virtual path containing virtual channel + connections, the message requests the connection state for + all virtual channel connections that belong to the + specified virtual path. The Input VCI field is not used. + + + +Newman, et. al. Informational [Page 45] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + If the All Connections flag is zero and the VPI/VCI flag is + also zero, the message requests the connection state for + the virtual channel connection that arrives at the input + port specified by the Port, Input VPI and Input VCI fields. + + x: Unused. + + Input VPI + Input VCI + Fields identify the specific virtual path connection, the + specific virtual path, or the specific virtual channel + connection for which connection state is being requested. + For a virtual path connection (switched as a single virtual + path connection) or a virtual path (switched as one or more + virtual channel connections within the virtual path) the + Input VCI field is not used. For requests that do not + require a virtual path connection or virtual channel + connection to be specified, the Input VPI and Input VCI + fields are not used. + + The Report Connection State success response message 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Version | Message Type | Result | Code | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Input Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Sequence Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + ~ Connection Records ~ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Input Port + Is the same as the Input Port field in the request message. + It identifies the port number of the input port for which + the connection state is being reported. + + Sequence Number + In the case that the requested connection state cannot be + reported in a single success response message, each + successive success response message in reply to the same + + + +Newman, et. al. Informational [Page 46] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + request message must increment the Sequence Number. The + Sequence Number of the first success response message, in + response to a new request message, must be zero. + + Connection Records + Each success response message must contain one or more + Connection Records. Each Connection Record specifies a + single point-to-point or point-to-multipoint virtual path + connection or virtual channel connection. The number of + Connection Records in a single Report Connection State + success response must not cause the packet length to exceed + the maximum transmission unit defined by the encapsulation. + If the requested connection state cannot be reported in a + single success response message, multiple success response + messages must be sent. All success response messages that + are sent in response to the same request message must have + the same Input Port and Transaction Identifier fields as + the request message. A single Connection Record must not be + split across multiple success response messages. The More + flag of the last Connection Record in a success response + message indicates whether the response to the request has + been completed or whether one or more further success + response messages should be expected in response to the + same request message. + + Each Connection Record has the following format: + + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |A|V|P|M| Input VPI | Input VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + ~ Output Branch Records ~ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Flags + + A: All Connections + V: VPI/VCI + For the first Connection Record in each success response + message the All Connections and the VPI/VCI flags must be + the same as those of the request message. For successive + Connection Records in the same success response message + these flags are not used. + + P: VPC + The VPC flag, if set, indicates that the Connection Record + refers to a virtual path connection. If zero, it indicates + + + +Newman, et. al. Informational [Page 47] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + that the Connection Record refers to a virtual channel + connection. + + M: More + If the More flag is set, it indicates that another + Connection Record, in response to the same request message, + will follow either in the same success response message or + in a successive success response message. If the More flag + is zero it indicates that this is the last Connection + record in this success response message and that no further + success response messages will be sent in response to the + current request message. It indicates that the response to + the request message is now complete. + + Input VPI + Input VCI + The input VPI and VCI of the connection specified in this + Connection Record. If this Connection Record specifies a + virtual path connection (the VPC flag is set) the Input VCI + field is unused. + + Output Branch Records + Each Connection Record must contain one or more Output + Branch Records. Each Output Branch Record specifies a + single output branch belonging to the connection identified + by the Input VPI and Input VCI fields of the Connection + Record. A point-to-point connection will require only a + single Output Branch Record. A point-to-multipoint + connection will require multiple Output Branch Records. The + last Output Branch Record of each Connection Record is + indicated by the Last Branch flag of the Output Branch + Record. If a point-to-multipoint connection has more output + branches than can fit in a single Connection Record + contained within a single success response message, that + connection may be reported using multiple Connection + Records in multiple success response messages. + + Each Output Branch Record has the following format: + + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Output Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |L|x x x| Output VPI | Output VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Output Port + The output port of the switch to which this output branch + is routed. + + + +Newman, et. al. Informational [Page 48] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Flags + + L: Last Branch + The Last Branch flag, if set, indicates that this is the + last Output Branch Record of this Connection Record. If + zero, it indicates that one or more further Output Branch + Records are to follow. If this is the last Output Branch + Record in the message and the Last Branch flag is zero, + further output branches belonging to the same connection + will be given in another Connection Record. This Connection + Record will be the first Connection Record in the next + success response message. This Connection Record must have + the same Input VPI and Input VCI values as the current + Connection Record. + + x: Unused. + + Output VPI + Output VCI + The output VPI and VCI of the output branch specified in + this Output Branch Record. If this Output Branch Record is + part of a Connection Record that specifies a virtual path + connection (the VPC flag is set) the Output VCI field is + unused. + + A Report Connection State request message may be issued regardless of + the Port Status or the Line Status of the target switch port. + + If the Input Port of the request message is valid, and the All + Connections flag is set, but there are no connections established on + that port, a failure response message must be returned with the code + field set to, "Failure specific to the particular message type." For + the Report Connection State message, this failure code indicates that + no connections matching the request message were found. This failure + message should also be returned if the Input Port of the request + message is valid, the All Connections flag is zero, and no + connections are found on that port matching the specified virtual + path connection, virtual path, or virtual channel connection. + + +7. Configuration Messages + + The configuration messages permit the controller to discover the + capabilities of the switch. Three configuration request messages have + been defined: Switch, Port, and All Ports. + + All configuration request messages have the following format: + + + + +Newman, et. al. Informational [Page 49] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + 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 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +7.1 Switch Configuration Message + + The Switch Configuration message requests the global (non port- + specific) configuration for the switch. The Switch Configuration + message is: + + Message Type = 64 + + The Port field is not used in the request message. + + The Switch Configuration success response message 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Version | Message Type | Result | Code | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Firmware Version Number | Window Size | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Switch Type | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + | Switch Name | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Firmware Version Number + The version number of the switch control firmware + installed. + + Window Size + The maximum number of unacknowledged request messages that + may be transmitted by the controller without the + possibility of loss. This field is used to prevent request + messages being lost in the switch because of overflow in + the receive buffer. The field is a hint to the controller. + If desired, the controller may experiment with higher and + + + +Newman, et. al. Informational [Page 50] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + lower window sizes to determine heuristically the best + window size. + + Switch Type + A 16-bit field allocated by the manufacturer of the switch. + (For these purposes the manufacturer of the switch is + assumed to be the organization identified by the OUI in the + Switch Name field.) The Switch Type identifies the product. + When the Switch Type is combined with the OUI from the + Switch Name the product is uniquely identified. Network + Management may use this identification to obtain product + related information from a database. + + Switch Name + A 48-bit quantity that is unique within the operational + context of the device. A 48-bit IEEE 802 MAC address, if + available, may be used as the Switch Name. The most + significant 24 bits of the Switch Name must be an + Organizationally Unique Identifier (OUI) that identifies + the manufacturer of the switch. + +7.2 Port Configuration Message + + The Port Configuration message requests the switch for the + configuration information of a single switch port. The Port field in + the request message specifies the port for which the configuration is + requested. The Port Configuration message is: + + Message Type = 65. + + The Port Configuration success response message has the following + format: + + + + + + + + + + + + + + + + + + + +Newman, et. al. Informational [Page 51] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + 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 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port Session Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |V|M|L|R| Min VPI |Q|x x x| Max VPI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Min VCI | Max VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Receive Cell Rate | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transmit Cell Rate | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port Status | Port Type | Line Status | Priorities | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Physical Slot Number | Physical Port Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Port + The switch port to which the configuration information + refers. Configuration information relating to both the + input and the output sides of the switch port is given. + Port numbers are 32 bits wide and allocated by the switch. + The switch may choose to structure the 32 bits into + subfields that have meaning to the physical structure of + the switch hardware (e.g. physical slot and port). This + structure may be indicated in the Physical Slot Number and + Physical Port Number fields. + + Flags + + V: VP Switching + The VP Switching flag, if set, indicates that this input + port is capable of supporting virtual path switching. Else, + if zero, it indicates that this input port is only capable + of virtual channel switching. + + M: Multicast Labels + The Multicast Labels flag, if set, indicates that this + output port is capable of labelling each output branch of a + point-to-multipoint tree with a different label. If zero, + it indicates that this output port is not able to label + + + +Newman, et. al. Informational [Page 52] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + each output branch of a point-to-multipoint tree with a + different label. + + L: Logical Multicast + The Logical Multicast flag, if set, indicates that this + output port is capable of supporting more than a single + branch from any point-to-multipoint connection. This + capability is often referred to as logical multicast. If + zero, it indicates that this output port can only support a + single output branch from each point-to-multipoint + connection. + + R: Label Range + The Label Range flag, if set, indicates that this switch + port is capable of reallocating its VPI label range or its + VCI label range and therefore accepts the Label Range + message. Else, if zero, it indicates that this port does + not accept Label Range messages. + + Q: QoS + The QoS flag, if set, indicates that this switch port is + capable of handling the Quality of Service messages defined + in section 9 of this specification. Else, if zero, it + indicates that this port does not accept the Quality of + Service messages. + + x: Unused + + Min VPI + The default minimum value of dynamically assigned incoming + VPI that the connection table on the input port supports + and that may be controlled by GSMP. This value is not + changed as a result of the Label Range message. + + Max VPI + The default maximum value of dynamically assigned incoming + VPI that the connection table on the input port supports + and that may be controlled by GSMP. This value is not + changed as a result of the Label Range message. + + At power-on, after a hardware reset, and after the Reset + Input Port function of the Port Management message, the + input port must handle all values of VPI within the range + Min VPI to Max VPI inclusive and GSMP must be able to + control all values within this range. It should be noted + that the range Min VPI to Max VPI refers only to the + incoming VPI range that can be supported by the associated + port. No restriction is placed on the values of outgoing + + + +Newman, et. al. Informational [Page 53] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + VPIs that may be written into the cell header. If the + switch does not support virtual paths it is acceptable for + both Min VPI and Max VPI to specify the same value, most + likely zero. + + Use of the Label Range message allows the range of VPIs + supported by the port to be changed. However, the Min VPI + and Max VPI fields in the Port Configuration and All Ports + Configuration messages always report the same default + values regardless of the operation of the Label Range + message. + + Min VCI + The default minimum value of dynamically assigned incoming + VCI that the connection table on the input port can support + and may be controlled by GSMP. This value is not changed as + a result of the Label Range message. + + Max VCI + The default maximum value of dynamically assigned incoming + VCI that the connection table on the input port can support + and may be controlled by GSMP. This value is not changed as + a result of the Label Range message. + + At power-on, after a hardware reset, and after the Reset + Input Port function of the Port Management message, the + input port must handle all values of VCI within the range + Min VCI to Max VCI inclusive, for each of the virtual paths + in the range Min VPI to Max VPI inclusive, and GSMP must be + able to control all values within this range. It should be + noted that the range Min VCI to Max VCI refers only to the + incoming VCI range that can be supported by the associated + port on each of the virtual paths in the range Min VPI to + Max VPI. No restriction is placed on the values of outgoing + VCIs that may be written into the cell header. + + Use of the Label Range message allows the range of VCIs to + be changed on each VPI supported by the port. However, the + Min VCI and Max VCI fields in the Port Configuration and + All Ports Configuration messages always report the same + default values regardless of the operation of the Label + Range message. + + For a port over which the GSMP protocol is operating, the + VCI of the GSMP control channel may or may not be reported + as lying within the range Min VCI to Max VCI. A switch + should honor a connection request message that specifies + + + + +Newman, et. al. Informational [Page 54] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + the VCI value of the GSMP control channel even if it lies + outside the range Min VCI to Max VCI. + + Receive Cell Rate + The maximum rate of cells that may arrive at the input port + in cells/s. + + Transmit Cell Rate + The maximum rate of cells that may depart from the output + port in cells/s. (The transmit cell rate of the output port + may be changed by the Set Transmit Cell Rate function of + the Port Management message.) + + Port Status + Gives the administrative state of the port. The defined + values of the Port Status field are: + + Available: + Port Status = 1. The port is available to both send + and receive cells. When a port changes to the + Available state from any other administrative state, + all dynamically assigned virtual connections must be + cleared and a new Port Session Number must be + generated. + + Unavailable: + Port Status = 2. The port has intentionally been taken + out of service. No cells will be transmitted from this + port. No cells will be received by this port. + + Internal Loopback: + Port Status = 3. The port has intentionally been taken + out of service and is in internal loopback: cells + arriving at the output port from the switch fabric are + looped through to the input port to return to the + switch fabric. All of the ATM functions of the input + port above the physical layer, e.g. header + translation, are performed upon the looped back cells. + + External Loopback: + Port Status = 4. The port has intentionally been taken + out of service and is in external loopback: cells + arriving at the input port from the external + communications link are immediately looped back to the + communications link at the physical layer without + entering the input port. None of the ATM functions of + the input port above the physical layer are performed + upon the looped back cells. + + + +Newman, et. al. Informational [Page 55] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Bothway Loopback: + Port Status = 5. The port has intentionally been taken + out of service and is in both internal and external + loopback. + + The Port Status of the port over which the GSMP session + controlling the switch is running, must be declared + Available. The controller will ignore any other Port status + for this port. The Port Status of switch ports after + power-on initialization is not defined by GSMP. + + Port Type + The type of physical transmission interface for this port. + The values for this field are defined by the atmIfType + object specified in the Ipsilon IP Switch MIB [IpsilonMIB]. + + Line Status + The status of the physical transmission medium connected to + the port. The defined values of the Line Status field are: + + Up: + Line Status = 1. The line is able to both send and + receive cells. When the Line Status changes to Up + from either the Down or Test states, a new Port + Session Number must be generated. + + Down: + Line Status = 2. The line is unable either to send or + receive cells or both. + + Test: + Line Status = 3. The port or line is in a test mode, + for example, power-on test. + + Priorities + The number of different priority levels that this output + port can assign to virtual connections. Zero is invalid in + this field. If an output port is able to support "Q" + priorities, the highest priority is numbered zero and the + lowest priority is numbered "Q-1". The ability to offer + different qualities of service to different connections + based upon their priority is assumed to be a property of + the output port of the switch. It may be assumed that for + connections that share the same output port, an ATM cell on + a connection with a higher priority is much more likely to + exit the switch before an ATM cell on a connection with a + lower priority if they are both in the switch at the same + time. + + + +Newman, et. al. Informational [Page 56] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Physical Slot Number + The physical location of the slot in which the port is + located. It is an unsigned 16-bit integer that can take any + value except 0xFFFF. The value 0xFFFF is used to indicate + "unknown." The Physical Slot Number is not used by the GSMP + protocol. It is provided to assist network management in + functions such as logging, port naming, and graphical + representation. + + Physical Port Number + The physical location of the port within the slot in which + the port is located. It is an unsigned 16-bit integer that + can take any value except 0xFFFF. The value 0xFFFF is used + to indicate "unknown." The Physical Port Number is not used + by the GSMP protocol. It is provided to assist network + management in functions such as logging, port naming, and + graphical representation. + + There must be a one to one mapping between Port Number and + the Physical Slot Number and Physical Port Number + combination. Two different Port Numbers must not yield the + same Physical Slot Number and Physical Port Number + combination. The same Port Number must yield the same + Physical Slot Number and Physical Port Number within a + single GSMP session. If both Physical Slot Number and + Physical Port Number indicate "unknown" the physical + location of switch ports may be discovered by looking up + the product identity in a database to reveal the physical + interpretation of the 32-bit Port Number. + +7.3 All Ports Configuration Message + + The All Ports Configuration message requests the switch for the + configuration information of all of its ports. The All Ports + Configuration message is: + + Message Type = 66 + + The Port field is not used in the request message. + + The All Ports Configuration success response message has the + following format: + + + + + + + + + +Newman, et. al. Informational [Page 57] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + 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 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Number of Records | Port Record Length | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + ~ Port Records ~ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Number of Records + Field gives the total number of Port Records to be returned + in response to the All Ports Configuration request message. + The number of port records in a single All Ports + Configuration success response must not cause the packet + length to exceed the maximum transmission unit defined by + the encapsulation. If a switch has more ports than can be + sent in a single success response message it must send + multiple success response messages. All success response + messages that are sent in response to the same request + message must have the same Transaction Identifier as the + request message and the same value in the Number of Records + field. All success response messages that are sent in + response to the same request message, except for the last + message, must have the result field set to "More." The last + message, or a single success response message, must have + the result field set to "Success." All Port records within + a success response message must be complete, i.e. a single + Port record must not be split across multiple success + response messages. + + Port Record Length + Field gives the length of each port record in bytes. This + is currently 32 but the Port Record Length field allows for + the future definition of further fields at the end of the + port record while preserving compatibility with earlier + versions of the protocol. + + Port Records + Follow in the remainder of the message. Each port record + has the following format: + + + + + + +Newman, et. al. Informational [Page 58] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port Session Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |V|M|L|R| Min VPI |Q|x x x| Max VPI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Min VCI | Max VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Receive Cell Rate | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transmit Cell Rate | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port Status | Port Type | Line Status | Priorities | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Physical Slot Number | Physical Port Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + The definition of the fields in the Port Record is exactly the same + as that of the Port Configuration message. + + +8. Event Messages + + Event messages allow the switch to inform the controller of certain + asynchronous events. Event messages are not acknowledged. The Result + field and the Code field in the message header are not used and + should be set to zero. Event messages are not sent during + initialization. Event messages have 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Version | Message Type | Result | Code | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port Session Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Event Sequence Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | zero | VPI | VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + + + +Newman, et. al. Informational [Page 59] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Event Sequence Number + The current value of the Event Sequence Number for the + specified port. The Event Sequence Number is set to zero + when the port is initialized. It is incremented by one each + time the port detects an asynchronous event that the switch + would normally report via an Event message. The Event + Sequence Number must be incremented each time an event + occurs even if the switch is prevented from sending an + Event message due to the action of the flow control. + + VPI/VCI + Field gives the VPI/VCI to which the event message refers. + If this field is not required by the event message it is + set to zero. + + Each switch port must maintain an Event Sequence Number and a set of + Event Flags, one Event Flag for each type of Event message. When a + switch port sends an Event message it must set the Event Flag on that + port corresponding to the type of the event. The port is not + permitted to send another Event message of the same type until the + Event Flag has been reset. Event Flags are reset by the "Reset Event + Flags" function of the Port Management message. This is a simple flow + control preventing the switch from flooding the controller with event + messages. The Event Sequence Number of the port must be incremented + every time an event is detected on that port even if the port is + prevented from reporting the event due to the action of the flow + control. This allows the controller to detect that it has not been + informed of some events that have occurred on the port due to the + action of the flow control. + +8.1 Port Up Message + + The Port Up message informs the controller that the Line Status of a + port has changed from either the Down or Test state to the Up state. + When the Line Status of a switch port changes to the Up state from + either the Down or Test state a new Port Session Number must be + generated, preferably using some form of random number. The new Port + Session Number is given in the Port Session Number field. The VPI/VCI + field is not used and is set to zero. The Port Up message is: + + Message Type = 80 + +8.2 Port Down Message + + The Port Down message informs the controller that the Line Status of + a port has changed from the Up state to the Down state. This message + will be sent to report link failure if the switch is capable of + detecting link failure. The port session number that was valid before + + + +Newman, et. al. Informational [Page 60] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + the port went down is reported in the Port Session Number field. The + VPI/VCI field is not used and is set to zero. The Port Down message + is: + + Message Type = 81 + +8.3 Invalid VPI/VCI Message + + The Invalid VPI/VCI message is sent to inform the controller that one + or more cells have arrived at an input port with a VPI/VCI that is + currently not allocated to an assigned connection. The input port is + indicated in the Port field, and the VPI/VCI in the VPI/VCI field. + The Invalid VPI/VCI message is: + + Message Type = 82 + +8.4 New Port Message + + The New Port message informs the controller that a new port has been + added to the switch. The port number of the new port is given in the + Port field. A new Port Session Number must be assigned, preferably + using some form of random number. The new Port Session Number is + given in the Port Session Number field. The state of the new port is + undefined so the VPI/VCI field is not used and is set to zero. The + New Port message is: + + Message Type = 83 + +8.5 Dead Port Message + + The Dead Port message informs the controller that a port has been + removed from the switch. The port number of the port is given in the + Port field. The Port Session Number that was valid before the port + was removed is reported in the Port Session Number field. The + VPI/VCI fields are not used and are set to zero. The Dead Port + message is: + + Message Type = 84 + + +9. Quality of Service Messages + + The GSMP Quality of Service (QoS) messages allow a controller to + group virtual path connections and virtual channel connections into + QoS classes, and to allocate QoS resources to both QoS classes and to + individual connections. At initialization, the switch describes its + QoS capabilities to the controller, in terms of the abstract switch + model, using the QoS Configuration message. The controller issues + + + +Newman, et. al. Informational [Page 61] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Scheduler Establishment messages to configure the scheduler on each + switch output port. It also issues QoS Class Establishment messages + to configure QoS classes. Connections may be added to, or deleted + from, a QoS class using the QoS Connection Management message. QoS + resources may also be assigned to individual connections using the + QoS Connection Management message. Connections that only require the + scheduler may use the simple connection management messages defined + in Section 3, "Connection Management Messages." + +9.1 Abstract Switch Model + + The abstract switch model, fig. 1, is the means by which a switch can + describe its fundamental QoS capabilities to a controller. It + consists of four main functions: a policer, a classifier, a + regulator, and a scheduler. The classifier groups multiple + connections (VPCs or VCCs) together into a QoS class such that QoS + resources may be shared by the QoS class as a whole. Within a QoS + class there is no differentiation between members of the class in + terms of QoS resources received. However, the ordering of cells + within each constituent VPC or VCC must be preserved on exit from the + switch. Connections are not required to be aggregated into a QoS + class with other connections; they may be allocated individual QoS + resources. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Newman, et. al. Informational [Page 62] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + VPC/VCCs Policer Classifier Regulator Scheduler + + +--+ +----+ +--------+ + -------->| |---->| | | | + +--+ | | | | + | | | | + +--+ | | +----+ | | + -------->| |---->| | | |--------->| | + +--+ | | | |conforming| | + | |------>| | | | + +--+ | | QoS | | | | + -------->| |---->| | Class | |--------->| | + +--+ | | +----+ excess | | + | | | | + +--+ | | | | + -------->| |---->| | | | + +--+ +----+ | | + | | + | | Output + | | Port + | |----------> + | | + | | + +--+ +----+ | | + -------->| |---->| | | | + +--+ | | | | + | | | | + +--+ | | +----+ | | + -------->| |---->| | | |--------->| | + +--+ | | | |conforming| | + | |------>| | | | + +--+ | | QoS | | | | + -------->| |---->| | Class | |--------->| | + +--+ | | +----+ excess | | + | | | | + +--+ | | | | + -------->| |---->| | | | + +--+ +----+ | | + +--------+ + + Fig. 1: Abstract Switch Model + + The policer is a single input, single output device that can discard + or tag cells. A policer may be applied to police each individual + connection. A policer may also be applied to police the aggregate + traffic of a QoS class. The policer is used to enforce an upper + bound on the traffic on a connection or on a QoS class. + + + + +Newman, et. al. Informational [Page 63] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + The regulator follows the policer and classifier. It offers either a + policing function or a shaping function. The policing function + evaluates cells as conforming to the rate specified by the regulator + parameters or as being in excess of that rate. One of three actions + can be specified to be taken for each cell as a result of this + evaluation: tagging, discard or differentiated scheduling. Tagging + sets the CLP bit of cells deemed to be in excess of the rate defined + by the regulator parameters. The discard function discards excess + cells. The differentiated scheduling function allows conforming cells + and excess cells to be scheduled for service at different points in + the scheduler. This would allow conforming cells, for example, to + receive service with a QoS guarantee, whereas excess cells receive + best-effort service. The implementation of differentiated + scheduling, however, is complicated by the requirement not to reorder + cells within each connection. + + The shaping function of the regulator paces cells out, on each QoS + class or individual connection, at the rate specified by the + regulator parameters. No jitter requirement may be specified, nor is + any specific guarantee of jitter given. If traffic arrives on any QoS + class or individual connection at a greater rate than the output rate + specified, that traffic will be delayed. If the delayed traffic for + any QoS class or individual connection exceeds a bound, discard will + occur. Differentiated scheduling is supported by the shaper but its + application to shaping is somewhat different than its application to + policing. Conforming traffic is that traffic which leaves the shaper + as a result of the shaping process. The conforming pointer specifies + the point in the scheduler structure where such traffic is scheduled + for output. (This is typically the highest priority of the scheduler + but the GSMP specification permits other priorities to be specified.) + If an excess pointer is also enabled for a particular QoS class or + individual connection, traffic in excess of the rate specified by the + shaper may also be transmitted. The position of the excess pointer + in the scheduler structure determines the undefined amount of + additional traffic that will be supported. The excess traffic may be + tagged if required, if tagging is supported. The excess pointer will + receive the same share of bandwidth that a best-effort class or + connection would receive at the same location in the scheduler + structure. + + The location of the classifier and regulator functions in the switch + is important. If the classifier is located on an input port, only + virtual connections that arrive at that input port may be aggregated + into a QoS class. If the classifier is centralized, or located on an + output port, virtual connections that arrive at any input port may be + aggregated into the same QoS class. If the regulator is located on an + output port all virtual connections within a QoS class passing + through that regulator must exit the switch at that output port. + + + +Newman, et. al. Informational [Page 64] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + However, if the regulator is centralized, or located on an input + port, virtual connections that are part of the same QoS class may be + switched to different output ports. Each switch port must specify + the location of its classifier and regulator functions. + + The scheduler is located on the output port, fig. 2. It distributes + the bandwidth of the output link between the QoS classes and + individual connections. It is a two-level scheduler: a priority + scheduler at one level and a FIFO or a weighted scheduler at the + other. Up to 255 strict priority levels may be supported. Traffic in + any specific priority level may only be transmitted if no traffic is + queued for transmission in any higher priority level. Within each + priority level a weighted scheduler may be defined. Each leaf of the + scheduler tree is connected to a waiting room. The waiting room has + two functions. When it receives service from the scheduler, it must + select a QoS class or individual connection for transmission. When it + is notified of traffic arrival on a QoS class or connection, it must + decide whether there is enough room left in the waiting room to + accept the traffic, else that traffic must be discarded. The waiting + room has a size parameter indicating how much traffic may be + accepted. Other queueing parameters may be attached to the waiting + room. Multiple conforming and excess pointers from the regulators may + point to each waiting room. Within a waiting room, the scheduling of + multiple connections sharing that waiting room may support weighted + sharing between the connections. + + + + + + + + + + + + + + + + + + + + + + + + + + +Newman, et. al. Informational [Page 65] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + From Waiting FIFO/Weighted Priority + Regulator Room Scheduler Scheduler + + Net +---+ + +------+ Weight | | + ---------->| |-%-------->| 0 |------\ + +------+ | | \ + +---+ \ + ---------->+------+ | + | |-%--\ +---+ | + ---------->+------+ \---->| | | + | 1 |---\ | + +------+ /---->| | \ \ + ---------->| |-%--/ +---+ \ \ +---+ + +------+ \ \-->| | + \----->| |---------> + ---------->+------+ /-->| | Output + ---------->| |-%-\ / +---+ Port + ---------->+------+ \ / + \ +---+ / + +------+ \--->| | / + ---------->| |-%-------->| 2 |-----/ + +------+ /--->| | + / +---+ + +------+ / + ---------->| |-%-/ + +------+ + + Fig. 2: The Scheduler + +9.2 QoS Configuration Message + + The QoS Configuration message permits the controller to discover the + QoS capabilities of each switch port in terms of the abstract switch + model. The QoS Configuration message is: + + Message Type = 96 + + + The QoS Configuration request message has the following format: + + + + + + + + + + + +Newman, et. al. Informational [Page 66] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + 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 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + The QoS Configuration success response message 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Version | Message Type | Result | Code | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port Session Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Scheduler Flags | Regulator Flags | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Excess Capabilities | Reserved | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Hi Sharing | Lo Sharing | Max Classes | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Default Size | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Default Discard Threshold | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Max Buffer | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Max Shaper Buffer | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Scaling Factor | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Port + The switch port to which the QoS configuration information + refers. QoS configuration information relating to both the + input and the output sides of the switch port is given. + + + + + + +Newman, et. al. Informational [Page 67] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Scheduler Flags + + 0 1 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |W|Q|S|G|D|F|M|B|I|x x x x x x x| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + W: Weighted Connections + Bit 0 of the Scheduler Flags field, if set, indicates that + a weighted service algorithm (such as weighted round-robin) + is available for allocation of service to individual + connections within at least some waiting rooms. It means + that a Connection Weight parameter can be attached to a QoS + Connection Management message. Not all waiting rooms at all + priority levels may be able to support this function. + Whether a particular waiting room can support this function + will be discovered when a QoS Connection Management message + is issued. + + Q: Weighted QoS Classes + Bit 1 of the Scheduler Flags field, if set, indicates that + a weighted service algorithm (such as weighted round-robin) + is available for allocation of service to QoS classes + within at least some waiting rooms. It means that a QoS + Class Weight parameter can be attached to a QoS Class + Establishment message. Not all waiting rooms at all + priority levels may be able to support this function. + Whether a particular waiting room can support this function + will be discovered when a QoS Class Establishment message + is issued. + + S: Shared Waiting Room + Bit 2 of the Scheduler Flags field, if set, indicates that + multiple QoS classes and multiple connections may be + scheduled within a single waiting room. This is expected to + be the normal case. If Bit 2 of the Scheduler Flags field + is zero, it indicates that only a single QoS class or a + single connection may be directed to any single waiting + room. + + G: Global Max Classes + Bit 3 of the Scheduler Flags field, if set, indicates that + the Max Classes field gives the maximum number of QoS + classes that may be supported by the entire switch. If + zero, it indicates that the Max Classes field gives the + maximum number of QoS classes that may be supported by this + switch port. + + + +Newman, et. al. Informational [Page 68] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + D: Packet Discard + Bit 4 of the Scheduler Flags field, if set, indicates that + the scheduler on this output port is capable of packet + discard. Packet discard indicates a discard algorithm that + is aware of AAL-5 packet boundaries and attempts to discard + whole packets. No specific algorithm is indicated though + Early Packet Discard (EPD) is likely to be the most common. + Other algorithms such as "push from front" schemes, dynamic + threshold, or Random Early Detection (RED) are also + examples of possible packet discard algorithms. The only + parameters available to the packet discard algorithm, via + GSMP, are the Size and Discard Threshold of the waiting + room. + + F: Frame-Based Scheduling + Bit 5 of the Scheduler Flags field, if set, indicates that + the scheduler on this output port is capable of frame-based + scheduling. In frame-based scheduling, a connection is only + scheduled for transmission when a complete AAL-5 packet is + available. When a connection is scheduled for + transmission, all cells belonging to one or more complete + packets from that connection will be transmitted without + being interleaved with any other cells on that output port + (regardless of their priority). Frame-based scheduling is + a property of the waiting room and is requested in the + Scheduler Establishment message. A QoS class may be routed + through a waiting room configured with frame-based + scheduling. In this case each component connection of the + QoS class will receive frame based scheduling. For correct + distribution of bandwidth, each QoS class that requires + frame-based scheduling should have its own waiting room. + + M: VC Merging + Bit 6 of the Scheduler Flags field, if set, indicates that + the scheduler on this output port is capable of VC merging + by a mechanism other than frame-based scheduling. VC + merging indicates that the switch is capable of the + multipoint-to-point merging of two or more incoming virtual + connections onto a single outgoing virtual connection + without interleaving cells from different AAL-5 packets + that bear the same VPI/VCI. VC merging differs from frame- + based scheduling in that cells with a different VPI/VCI may + be interleaved with those of a multipoint-to-point VC + merging connection. Thus, higher priority cells may be + interleaved during the transmission of a packet on a lower + priority VC merging connection. Most switches achieve VC + merging by using frame-based scheduling. VC merging is a + property of the waiting room and is requested in the + + + +Newman, et. al. Informational [Page 69] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Scheduler Establishment message. A QoS class may be routed + through a waiting room configured with VC merging. In this + case each component connection of the QoS class will + receive VC merging. + + B: Shared Buffer + Bit 7 of the Scheduler Flags field, if set, indicates that + at least some of the buffer space specified by the Max + Buffer field is shared with other ports. If zero, it + indicates that the buffer space specified by the Max Buffer + field is not shared with other ports. + + I: Identical Ports + Bit 8 of the Scheduler Flags field, if set, indicates that + all ports of the switch have identical QoS capabilities. If + this bit is set the controller does not have to request the + QoS configuration of each port individually as all ports + have the same capability. + + x: Bits 9--15 of the Scheduler Flags field are not used. + + Regulator Flags + + 0 1 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |C|Q|I O|P|S|H|M|x x x x x x x x| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + C: Connection Policing + Bit 0 of the Regulator Flags field indicates that this + input port supports the policing of individual incoming + connections. The parameters for the policer are specified + in the QoS Connection Management message when the + connection is established. + + Q: QoS Class Policing + If bit 1 of the Regulator Flags field is set, a policer + function is available to police each QoS class on output + from the classifier. The parameters for this policer are + specified in the QoS Class Establishment message. If this + bit is zero, no policer function is available to police a + QoS class. + + IO: QoS Class Location + Bits 2 and 3 of the Regulator Flags field specify the + location of the classifier and regulator functions. If both + + + + +Newman, et. al. Informational [Page 70] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + bits 2 and 3 of the Regulator Flags field are zero, no + classifier or regulator function is available to this port. + + If bit 2 of the Regulator Flags field is set and bit 3 is + zero, the classifier and regulator functions are available + on the input port. This implies that only virtual + connections arriving at this input port may be grouped into + QoS classes by this classifier. However, connections in a + QoS class output from this regulator may be switched to any + output port. + + If bit 2 of the Regulator Flags field is zero and bit 3 is + set, the classifier and regulator functions are available + on the output port. This implies that virtual connections + arriving at any input port may be grouped into QoS classes + by this classifier. However, all connections in any QoS + class output from this regulator may only be switched to + this output port. + + If both bits 2 and 3 of the Regulator Flags field are set, + this switch port has access to centralized classifier and + regulator functions. This implies that virtual connections + arriving at any input port may be grouped into a QoS class + by this classifier. Also, connections in a QoS class output + from this regulator may be switched to any output port. + + Regulator Function + + P: If bit 4 of the Regulator Flags field is set, the regulator + is able to support the policing function. + + S: If bit 5 of the Regulator Flags field is set, the regulator + is able to support the shaping function on all priority + levels of the scheduler. + + H: If bit 5 of the Regulator Flags field is zero and bit 6 is + set, the regulator is able to support the shaping function + but only on the highest priority level of the scheduler. + All connections and QoS classes using this regulator must + be routed to a waiting room at the highest priority level + of the scheduler. + + M: QoS Multicast + If bit 7 of the Regulator Flags field is set, any point- + to-multipoint connection arriving on this input port, with + QoS parameters established by the GSMP Quality of Service + messages, must use the same QoS parameters for all output + branches. + + + +Newman, et. al. Informational [Page 71] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + x: Bits 8--15 of the Regulator Flags field are not used. + + Excess Capabilities + + 0 1 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |D|T|S|A|B|x x x x x x x x x x x| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Policer: + + D: If bit 0 of the Excess Capabilities field is set, the policer + function of the regulator is able to support discard. + + T: If bit 1 of the Excess Capabilities field is set, the policer + function of the regulator is able to support tagging. + + S: If bit 2 of the Excess Capabilities field is set, the policer + function of the regulator is able to support differentiated + scheduling. + + Shaper: + + A: If bit 3 of the Excess Capabilities field is set, the shaper + function of the regulator is able to support tagging. + + B: If bit 4 of the Excess Capabilities field is set, the shaper + function of the regulator is able to support differentiated + scheduling. + + x: Bits 5--15 of the Excess Capabilities field are not used. + + Hi Sharing + Lo Sharing + Defines a range of priority levels that support weighted + sharing. Each priority level in the range Lo Sharing to Hi + Sharing inclusive, supports weighted sharing. A priority + level that supports weighted sharing offers a weighted + sharing algorithm (for example, weighted round-robin) + between waiting rooms within that priority level. This + permits the output link bandwidth available at that + priority level, to be shared between the waiting rooms + allocated to that priority level, according to the Net + Weight parameter of each waiting room. The value 0xFF for + both parameters indicates that this output port does not + support weighted sharing in any priority level. + + + + +Newman, et. al. Informational [Page 72] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Max Classes + If bit 3 of the Scheduler Flags field is zero, Max Classes + gives the maximum number of QoS classes that may be + supported by this switch port. In this case the maximum + number of QoS classes that may be supported by this switch + port is not affected by the number of QoS classes in use by + other switch ports. If bit 3 of the Scheduler Flags field + is set, Max Classes gives the maximum number of QoS classes + that may be supported by the entire switch. In this case it + is assumed that use of these QoS classes may be distributed + among the various switch ports. + + Default Size + The size of waiting room that this output port allocates by + default. The actual size of waiting room may be specified + in the Scheduler Establishment message. The size of a + waiting room specifies the maximum number of cells + permitted to wait for transmission via that waiting room. + Any further cells arriving at that waiting room beyond this + number will be discarded. + + Default Discard Threshold + The value of discard threshold that this output port + allocates by default. The actual value of discard threshold + may be specified in the Scheduler Establishment message. + The discard threshold specifies the number of cells waiting + for transmission via a waiting room after which further + arriving cells will be subject to a discard mechanism. + + Max Buffer + The maximum amount of buffer space, measured in cells, + available to this port. If bit 7 of the Scheduler Flags + field is zero this, buffer space is not shared with other + ports. If bit 7 of the Scheduler Flags field is set, at + least some of this buffer space is shared with other ports. + + Max Shaper Buffer + The maximum amount of buffer space, measured in cells, + available to a QoS connection or a QoS class within the + shaper function of the regulator. This shaper buffer space + is likely to be shared among all QoS classes and QoS + connections using the shaper, so there is no guarantee that + the amount of buffer space defined by the Max Shaper Buffer + field will be available to any particular QoS class or QoS + connection. + + + + + + +Newman, et. al. Informational [Page 73] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Scaling Factor + The QoS Class Establishment and QoS Connection Management + messages require parameters that describe cell rates in + cells per second or their reciprocal, cell interarrival + periods, in seconds per cell. In order that these + parameters may be specified with a 32-bit unsigned integer, + the switch defines a Scaling Factor to be used in defining + such parameters. By appropriate choice of the Scaling + Factor the switch can select the range and granularity of + rate or time that can be specified with the 32-bit unsigned + integer. Further details are given in the discussion of + the UPC Parameters field of the QoS Connection Management + message. + +9.3 Scheduler Establishment Message + + The Scheduler Establishment message is used to configure the + scheduler on a specified output port. It is used to configure a + waiting room, attach it to a leaf of the scheduler tree, and return a + Scheduler Identifier to reference the waiting room. The Scheduler + Establishment message may also be used to modify the parameters of an + already established waiting room. + + Scheduler Identifiers in the range 0--255 represent default values. + They are used for the priority levels that may be specified in the + Class of Service field of Connection Management messages without + requiring explicit establishment via a Scheduler Establishment + message. Each of these default values specifies a single waiting + room with default parameters, configured as a FIFO queue, on each of + the valid scheduler priority levels. (This permits Connection + Management messages to continue to specify QoS requirements as a + priority without requiring the use of any of the QoS messages.) The + number of priority levels available to the scheduler is specified in + the Priorities field of the Port Configuration and All Ports + Configuration messages. + + The Scheduler Establishment Message is: + + Message Type = 97 + + The Scheduler Establishment request and success response messages + have the following format: + + + + + + + + + +Newman, et. al. Informational [Page 74] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + 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 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port Session Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Scheduler Identifier | Net Weight | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Reserved |D|F|M|W|x x x x| Priority | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Waiting Room Size | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Discard Threshold | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Scheduler Identifier + The Scheduler Identifier is selected by the controller. It + is used to identify the waiting room being established or + modified in future messages. The Scheduler Identifier is + taken from a namespace that is local to the switch port. A + Scheduler Identifier in the Scheduler Establishment message + must be greater than 0x00FF but less than 0xFFFF. The + values 0 -- 0x00FF are reserved for use as default values. + The default values of the Scheduler Identifier are used to + specify the default settings for the scheduler. Each of the + default values maps directly to one of the scheduler + priority levels. The value 0xFFFF is reserved for use in + the QoS Connection Management message. + + Net Weight + The Net Weight specifies the share of the bandwidth + available to the priority level, specified by the Priority + field, that should be given to this waiting room. The Net + Weight parameter is only valid if the priority level + specified by the Priority field supports weighted sharing. + + The Net Weight is an unsigned 16-bit field specifying a + binary fraction. I.e. the bandwidth share, as a fraction + of the bandwidth available to the priority level, is given + by: + + Bandwidth share = Net Weight * 2**(-16) + + + + +Newman, et. al. Informational [Page 75] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + A Net Weight of zero indicates equal sharing between all + waiting rooms sharing this priority level that request a + Net Weight of zero. While a 16-bit field is used to + specify the Net Weight it is understood that the accuracy + of the bandwidth sharing is hardware dependent and is not + specified. + + If weighted sharing is not required at a particular + priority level, a waiting room with a Net Weight value of + 0xFFFF must be specified for that priority level. A + priority level that does not support weighted sharing can + only support a single waiting room. + + Flags + + D: Packet Discard + Bit 0 of the Flags field, if set, indicates that packet + discard is required on all connections and QoS classes + routed through this waiting room. + + F: Frame-Based Scheduling + Bit 1 of the Flags field, if set, indicates that frame- + based scheduling is required on all connections and QoS + classes routed through this waiting room. In frame-based + scheduling, a connection is only scheduled for transmission + when a complete AAL-5 packet is available. When a + connection is scheduled for transmission, all cells + belonging to one or more complete packets from that + connection will be transmitted without being interleaved + with any other cells on that output port. A QoS class may + be routed through a waiting room configured with frame- + based scheduling. In this case each component connection + of the QoS class will receive frame based scheduling. For + correct distribution of bandwidth, each QoS class that + requires frame-based scheduling should have its own waiting + room. + + M: VC Merging + Bit 2 of the Scheduler Flags field, if set, indicates that + VC merging is required on all connections and QoS classes + routed through this waiting room. VC merging enables the + multipoint-to-point merging of two or more incoming virtual + connections onto a single outgoing virtual connection, + without interleaving cells from different AAL-5 packets + that bear the same VPI/VCI. VC merging differs from frame- + based scheduling in that cells with a different VPI/VCI may + be interleaved with those of a multipoint-to-point VC + merging connection. Most switches achieve VC merging by + + + +Newman, et. al. Informational [Page 76] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + using frame-based scheduling. A QoS class may be routed + through a waiting room configured with VC merging. In this + case each component connection of the QoS class will + receive VC merging. + + W: Weighted Scheduling + Bit 3 of the Flags field, if set, indicates that weighted + scheduling is required on all connections and QoS classes + routed through this waiting room. All connections and QoS + classes routed through this waiting room will require a + Connection Weight or a QoS Class Weight respectively. The + Connection Weight is specified in the QoS Connection + Management message. The QoS Class Weight is specified in + the QoS Class Establishment message. If weighted scheduling + within this waiting room is unavailable, a failure response + message must be returned indicating, "Weighted scheduling + within this waiting room is unavailable." + + Bit 3 of the Flags field, if zero, indicates that this + waiting room should be configured as a single FIFO queue. + All cells arriving at this waiting room will receive + first-in-first-out service. If Frame-Based Scheduling or VC + Merging are also selected, the strict first-in-first-out + service discipline will be modified by the requirement to + support Frame-Based Scheduling or VC Merging. + + x: Bits 4--7 of the Flags field are not used. + + Priority + Specifies the priority level in the scheduler to which the + waiting room should be attached. Priorities are numbered + from zero, with priority level zero being the highest + priority. + + Waiting Room Size + The required size of the waiting room. The size of a + waiting room specifies the maximum number of cells + permitted to wait for transmission via that waiting room. + Any further cells arriving at that waiting room beyond this + number will be discarded. If the switch is unable to grant + the size requested in the Scheduler Establishment request + message it may reply with the actual size allocated to the + waiting room in the Waiting Room Size field of the success + response message. A value of zero for the Waiting Room + Size indicates that the default value should be used. + + + + + + +Newman, et. al. Informational [Page 77] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Discard Threshold + The required value of the discard threshold. The discard + threshold specifies the number of cells waiting for + transmission via a waiting room after which further + arriving cells will be subject to a discard mechanism. The + value of the Discard Threshold must be less than or equal + to the value of the Waiting Room Size parameter for any + given waiting room. If the switch is unable to grant the + value of discard threshold requested in the Scheduler + Establishment request message it may reply with the actual + value of discard threshold allocated to the waiting room in + the Discard Threshold field of the success response + message. A value of zero for the Discard Threshold + indicates that the default value should be used. + + +9.4 QoS Class Establishment Message + + The QoS Class Establishment message is used to configure a QoS class + on a specified port or to modify the parameters of an already + established QoS class. It configures the classifier and the + regulator functions for the QoS class. It also configures the QoS + class policer if a policing function is available for QoS classes. + + Two styles of QoS class are available. In one style each component + connection of the QoS class may be routed independently to an output + port and waiting room specified in its connection management message. + In this case the Scheduler Identifier, and if required, the Excess + Scheduler Id, are specified in the QoS Connection Management message + that references this style of QoS class. In the alternative style of + QoS class, all component connections in the QoS class are routed to + the same waiting room on the same output port. In this case the + Output Port, the Scheduler Identifier, and if required, the Excess + Scheduler Id, are specified in the QoS Class Establishment message. + + The classifier and regulator functions must be located together, + either on an input port, on an output port, or centralized. Each port + declares the location of its classifier and regulator functions at + initialization using the QoS Configuration message. If the classifier + and regulator functions are located on an input port, only + connections that arrive at that input port may join a QoS class + established on that port. However, each connection that is part of a + QoS class established on that port may be switched to a different + output port. If the classifier and regulator functions are located on + an output port, connections that arrive at any input port may join a + QoS class established on that port. However, all connections within a + QoS class established on that port must be switched to that output + port. For a centralized classifier and regulator function, there is + + + +Newman, et. al. Informational [Page 78] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + no restriction on the input ports on which connections in a QoS class + must arrive, or on the output ports to which connections in a QoS + class must be switched. (For the case of a centralized classifier + and regulator the actual port specified in the QoS Class + Establishment message is used only for administrative purposes. Any + valid value of Port and Port Session Number, that specifies a + centralized classifier and regulator function, may be used.) + + The QoS Class Establishment message is: + + Message Type = 98 + + The QoS Class Establishment request and success response messages + have 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Version | Message Type | Result | Code | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port Session Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | QoS Class Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Regulator | Excess Action | QoS Class Weight | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Scheduler Identifier | Excess Scheduler Id | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Output Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + ~ QoS Class Policer Parameters ~ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + ~ QoS Class Regulator Parameters ~ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + QoS Class Identifier + The QoS Class Identifier is selected by the controller. It + is used to identify the QoS class being established or + modified, in future QoS Connection Management and QoS Class + Establishment messages. It is taken from a namespace that + + + +Newman, et. al. Informational [Page 79] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + is global across the entire switch. No two QoS classes may + have the same QoS Class Identifier regardless of the switch + ports on which they are defined. A QoS Class Identifier in + a QoS Class Establishment message must be greater than 0 + and less than 0xFFFFFFFF. + + Regulator + The Regulator field specifies which function is required of + the regulator. Three possible functions are currently + defined: none, policing, and shaping. + + None: Regulator = 1 + Policing: Regulator = 2 + Shaping: Regulator = 3 + + If the Regulator function is specified as none, no + operations are performed by the regulator on the cells + output from the classifier. Cells output from the + classifier are transferred directly to the waiting room + specified by the Scheduler Identifier. + + If policing is specified, a token bucket policer will be + applied to the QoS class. The policer determines which + cells conform to the specified policer traffic parameters + and which do not. Conforming cells are transferred directly + to the waiting room specified by the Scheduler Identifier. + The action to be taken by the policer on the excess traffic + is specified by the Excess Action field. The policer + traffic parameters are specified in the QoS Class Regulator + Parameters fields. + + If shaping is specified, traffic shaping will be applied to + the QoS class. Cells in a QoS class should leave the + regulator spaced evenly apart at a rate defined by the QoS + Class Regulator Parameters fields. These cells are + transferred directly to the waiting room specified by the + Scheduler Identifier. The jitter on the conforming cell + stream on exit from the shaping function of the regulator + is not specified. + + Excess Action + + 0 1 2 3 4 5 6 7 + +-+-+-+-+-+-+-+-+ + |T|D|S|x x x x x| + +-+-+-+-+-+-+-+-+ + + + + + +Newman, et. al. Informational [Page 80] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + T: Tagging + If bit 0 of the Excess Action field is set, all cells + transferred to the waiting room specified by the Excess + Scheduler Id will have their CLP bit set. If bit 0 of the + Excess Action field is zero, the CLP bit of cells + transferred to the waiting room specified by the Excess + Scheduler Id will remain unchanged. + + D: Discard + This function is only available if policing is selected as + the regulator function. If the Regulator field specifies + Policing, and bit 1 of the Excess Action field is set, all + cells determined by the policer to be in excess of the + traffic parameters must be discarded. In this case the + Excess Scheduler Id is not used and bit 0 of the Excess + Action field should be ignored. + + S: Differentiated Scheduling + This function operates differently according to whether + policing or shaping is selected as the regulator function. + + If the Regulator field specifies Policing, and bit 1 of the + Excess Action field is zero, and bit 2 of the Excess Action + field is set, all cells determined by the policer to be in + excess of the traffic parameters must be transferred to the + waiting room specified by the Excess Scheduler Id. In this + case care must be taken in the implementation to ensure + that within each virtual path connection or virtual channel + connection, cells depart in the same order that they + arrived. If the Regulator field specifies Policing, and + bit 1 of the Excess Action field is zero, and bit 2 of the + Excess Action field is zero, all cells determined by the + policer to be in excess of the traffic parameters must be + transferred to the waiting room specified by the Scheduler + Identifier. In this case the Excess Scheduler Id is not + used. + + If the Regulator field specifies Shaping, and bit 2 of the + Excess Action field is zero, cells will be transferred from + the QoS class to the waiting room pointed to by the + Scheduler Identifier at a rate defined by the QoS Class + Regulator Parameters. In this case the Excess Scheduler Id + is not used. If the Regulator field specifies Shaping, and + bit 2 of the Excess Action field is set, additional cells + will be scheduled for transmission by the waiting room + pointed to by the Excess Scheduler Id. This permits a + minimum cell rate to be allocated to the QoS class using + the QoS Class Regulator Parameters and additional bandwidth + + + +Newman, et. al. Informational [Page 81] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + to be shared by the QoS class. The additional share of + bandwidth is determined according to the parameters of the + waiting room pointed to by the Excess Scheduler Id. If the + Excess Scheduler Id is specified in the QoS Class + Establishment message, the additional bandwidth will be + shared by the entire QoS class. If the Excess Scheduler Id + is specified in each individual QoS Connection Management + message, the additional bandwidth is specific to that + connection and not shared by the entire QoS class. Care + must be taken in the implementation to ensure that within + each virtual path connection or virtual channel connection, + cells depart in the same order that they arrived. + + x: Bits 3--7 of the Excess Action field are not used. + + QoS Class Weight + If bit 1 of the Scheduler Flags field of the QoS + Configuration message indicates that weighted service may + be applied to a QoS class, the QoS Class Weight parameter + specifies the share of the bandwidth available to the + waiting room that should be given to this QoS class. + + The QoS Class Weight is an unsigned 16-bit field specifying + a binary fraction. I.e. the bandwidth share, as a fraction + of the bandwidth available to the waiting room, is given + by: + + Bandwidth share = QoS Class Weight * 2**(-16) + + A QoS Class Weight of zero indicates equal sharing between + all QoS classes sharing this waiting room that request a + QoS Class Weight of zero. While a 16-bit field is used to + specify the QoS Class Weight it is understood that the + accuracy of the bandwidth sharing is hardware dependent and + is not specified. + + If the Regulator field of the QoS Class Establishment + message indicates None, or Policer, the QoS Class Weight + should be applied to the waiting room pointed to by the + Scheduler Identifier. If the Regulator field of the QoS + Class Establishment message indicates Shaper, the QoS Class + Weight should be applied to the waiting room pointed to by + the Excess Scheduler Id. + + If the specified waiting room is unable to offer weighted + sharing for a QoS class, a failure response message should + be returned with the failure code indicating: "This waiting + room is unable to offer weighted sharing for a QoS class." + + + +Newman, et. al. Informational [Page 82] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Scheduler Identifier + If all conforming traffic from this QoS class is directed + to the same waiting room, on the same output port, this + field specifies the Scheduler Identifier for the entire QoS + class. The Scheduler Identifier points to the waiting room, + on the output port specified by the Output Port field, to + which all conforming traffic should be sent. If this field + is not used it should be set to 0xFFFF. If each component + connection of the QoS class specifies its own output port + and waiting room, the Scheduler Identifier must be + specified in the QoS Connection Management message and this + field must be set to 0xFFFF. + + Excess Scheduler Id + If all conforming traffic from this QoS class is directed + to the same waiting room, on the same output port, this + field specifies the Excess Scheduler Id for the entire QoS + class. The Excess Scheduler Id points to the waiting room, + on the output port specified by the Output Port field, to + which all excess traffic should be sent. If this field is + not used it should be set to 0xFFFF. If each component + connection of the QoS class specifies its own output port + and waiting room, the Excess Scheduler Id must be specified + in the QoS Connection Management message and this field + must be set to 0xFFFF. If the Scheduler Id is specified in + the QoS Class Establishment message, the Excess Scheduler + Id must also be specified in the QoS Class Establishment + message (or not used). If the Scheduler Id is specified in + the QoS Connection Management message, the Excess Scheduler + Id must also be specified in the QoS Connection Management + message (or not used). The Excess Scheduler Id must not + point to the same waiting room on the same output port as + the Scheduler Identifier. + + Output Port + If the Scheduler Identifier field in the QoS Establishment + message is not 0xFFFF the Output Port field specifies the + Output Port to which traffic from this QoS class should be + routed. If the Scheduler Identifier field in the QoS + Establishment message is 0xFFFF, this field is not used. + + QoS Class Policer Parameters + A policer function may be applied to a QoS class on output + from the classifier independently of the regulator + function. The QoS class policer function is identical to + the connection policer function defined in the QoS + + + + + +Newman, et. al. Informational [Page 83] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Connection Management message with the exception that it + applies to all cells that belong to the QoS class rather + than just cells that belong to a single connection. + + The QoS Class Policer Parameters have 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | QoS Class Increment-1 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | QoS Class Limit-1 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | QoS Class Increment-2 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | QoS Class Limit-2 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Reserved |C|A|x x x x x x| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + The definition of these fields is given in the UPC + Parameters section of the QoS Connection Management + message. + + QoS Class Regulator Parameters + The QoS class regulator function is identical to the + regulator function defined in the QoS Connection Management + message with the exception that it applies to all cells + that belong to the QoS class rather than just cells that + belong to a single connection. + + The QoS Class Regulator Parameters have 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | QoS Class Regulator Increment | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | QoS Class Regulator Limit | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + The definition of these fields is given in the Regulator + Parameters section of the QoS Connection Management + message. + + + + + + +Newman, et. al. Informational [Page 84] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + +9.5 QoS Release Message + + The QoS Release message is used to delete a Scheduler Identifier or a + QoS Class Identifier and to release all resources associated with it. + + The QoS Release message is: + + Message Type = 99 + + The QoS Release request and success response messages have 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Version | Message Type | Result | Code | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port Session Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Reserved | Scheduler Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | QoS Class Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Port + If the QoS Release message contains a Scheduler Identifier, + the Port field must contain the Port Number of the switch + output port to which the Scheduler Identifier applies. If + the QoS Release message contains a QoS Class Identifier, + any valid Port number may be used. (The QoS Class + Identifier has a global namespace.) + + Port Session Number + The current Port Session Number for the port specified in + the Port field. + + Scheduler Identifier + If the Scheduler Identifier contains the value 0xFFFF the + QoS Class Identifier specified in the QoS Class Identifier + field should be released. Else, if the value of the + Scheduler Identifier lies in the range 0x0100 -- 0xFFFE + inclusive, the Scheduler Identifier specified by the + Scheduler Identifier field should be released. A Scheduler + + + + +Newman, et. al. Informational [Page 85] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Identifier with a value less than 0x0100 is invalid in a + QoS Release message. (It specifies a default value which + may not be released.) + + QoS Class Identifier + If the Scheduler Identifier contains the value 0xFFFF the + QoS Class Identifier field specifies the QoS Class + Identifier to be released. + + If the QoS Release message requests that a Scheduler Identifier be + released, and the Scheduler Identifier is still in use by one or more + established connections, a failure response must be returned with the + failure code indicating: "Scheduler Identifier still in use." If the + QoS Release message requests that a QoS Class Identifier be released, + and the QoS Class Identifier is still in use by one or more + established connections, a failure response must be returned with the + failure code indicating: "QoS Class Identifier still in use." + +9.6 QoS Connection Management Message + + The QoS Connection Management message is used by the controller to + establish and modify virtual channel connections and virtual path + connections across the switch which require QoS parameters to be + specified. The functionality of the QoS Connection Management message + is identical to that of the Add Branch connection management message + with the additional specification of QoS parameters. No specific QoS + connection release messages are defined. QoS connections may be + released with the Delete Tree, Delete All, and Delete Branches + messages defined in Section 4, "Connection Management Messages." When + a QoS connection is released, all associated QoS resources are + released. + + There are three styles of connection with specified QoS parameters: + + QoS Connection: + This connection style specifies its own individual QoS parameters + and is routed independently to the waiting room and output port + specified in the QoS Connection Management message. It is not a + member of a QoS class. Each output branch of a point-to-multipoint + QoS connection may specify its own QoS parameters which may be + different from all other output branches of that point-to- + multipoint QoS connection, if the switch supports this capability. + However, all output branches must specify identical connection + policer parameters. A QoS Connection Management message requesting + this style of connection is identified by a QoS Class Identifier + with the value 0xFFFFFFFF. + + + + + +Newman, et. al. Informational [Page 86] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + QoS Class Connection: + This connection style does not specify its own individual QoS + parameters. It is a member of a QoS class, and the QoS parameters + are specified by the QoS class. It is, however, routed + independently to the waiting room and output port specified in the + QoS Connection Management message. Each output branch of a + point-to-multipoint QoS Class Connection must use the same QoS + parameters. A QoS Connection Management message requesting this + style of connection will have a valid QoS Class Identifier and a + valid Scheduler Identifier. + + QoS Class Member: + This connection style does not specify its own individual QoS + parameters. It is a member of a QoS class, and the QoS parameters + are specified by the QoS class. The QoS class also specifies the + waiting room and output port to which all members of the class are + routed. This style of connection does not support point-to- + multipoint connections. A QoS Connection Management message + requesting this style of connection will have a valid QoS Class + Identifier and a Scheduler Identifier with the value 0xFFFF. + + To request a virtual channel connection with specified QoS + parameters, the Virtual Channel Connection (VCC) QoS Connection + Management message is: + + Message Type = 100. + + To request a virtual path connection with specified QoS parameters, + the Virtual Path Connection (VPC) QoS Connection Management message + is: + + Message Type = 101. + + The QoS Connection Management message has the following format for + both request and response messages: + + + + + + + + + + + + + + + + +Newman, et. al. Informational [Page 87] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + 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 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Transaction Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Port Session Number | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Input Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |M|Q|B|C| Input VPI | Input VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Output Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |x x x x| Output VPI | Output VCI | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Number of Branches | Scheduler Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | QoS Class Identifier | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Regulator | Excess Action | Connection Weight | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |S|A|x x x x x x| Reserved | Excess Scheduler Id | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + ~ UPC Parameters ~ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + ~ Regulator Parameters ~ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Port Session Number + Input Port + Input VPI + Input VCI + Output Port + Output VPI + Output VCI + Number of Branches + The definition of these fields is exactly the same as + defined for the Add Branch message in Section 4.1, + "Connection Management Messages." + + + + + + +Newman, et. al. Informational [Page 88] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + M B C Flags + The definition of the M, B, and C flags is exactly the same + as defined in Section 4, "Connection Management Messages." + They apply to the QoS Connection Management message exactly + as defined for the Add Branch message. + + Q: QoS Profile Flag The QoS Profile flag is not used in the QoS + Connection Management message. + + Scheduler Identifier + For QoS Connection and QoS Class Connection styles, the + Scheduler Identifier points to the waiting room, on the + output port specified by the Output Port field, to which + all conforming traffic on the connection should be routed. + The values 0 -- 255 specify the default settings for the + scheduler. Each of the default values maps directly to one + of the scheduler priority levels. A Scheduler Identifier in + the range 0 -- 255 may be used without first being + established by a Scheduler Establishment message. All + Scheduler Identifiers in the range 0x0100 to 0xFFFE must + first be established by a Scheduler Establishment message. + + A Scheduler Identifier with a value of 0xFFFF indicates + that a QoS Class Member connection style is being + requested. In this connection style, the waiting room and + output port are specified by reference to the QoS class + specified by the QoS Class Identifier field. In this case + the QoS Class Identifier field must contain a valid QoS + Class Identifier. + + QoS Class Identifier + For QoS Class Connection and QoS Class Member connection + styles, the QoS Class Identifier specifies the QoS Class to + which the connection belongs. It must first be established + by a QoS Class Establishment message and must have a value + greater than 0 and less than 0xFFFFFFFF. + + A QoS Class Identifier with a value of 0xFFFFFFFF indicates + that a connection of style "QoS Connection" is being + requested. In this connection style, the connection does + not belong to a QoS class. All QoS parameters are specified + by the QoS Connection Management message and apply only to + the specified connection. + + Regulator + Excess Action + The Regulator and Excess Action parameters are only used in + connection requests of style "QoS Connection." The + + + +Newman, et. al. Informational [Page 89] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + definition of these fields in the QoS Connection Management + message is exactly the same as defined for the QoS Class + Establishment message with the exception that they apply to + an individual connection rather than to an entire QoS + class. + + Connection Weight + This field is only used in connections of style "QoS + Connection" and "QoS Class Connection." For QoS Class + Member style connections, the QoS Class Weight parameter of + the QoS Class Establishment message should be used to + assign a weight to the QoS Class. + + If bit 0 of the Scheduler Flags field of the QoS + Configuration message indicates that weighted service may + be applied to a connection, the Connection Weight parameter + specifies the share of the bandwidth available to the + waiting room that should be given to this connection. + + The Connection Weight is an unsigned 16-bit field + specifying a binary fraction. I.e. the bandwidth share, as + a fraction of the bandwidth available to the waiting room, + is given by: + + Bandwidth share = Connection Weight * 2**(-16) + + A Connection Weight of zero indicates equal sharing between + all connections in this waiting room that request a + Connection Weight of zero. While a 16-bit field is used to + specify the Connection Weight it is understood that the + accuracy of the bandwidth sharing is hardware dependent and + is not specified. + + For connections of style "QoS Class Connection," if the + Regulator function of the QoS Class is specified as None, + or Policer, the Connection Weight should be applied to the + waiting room pointed to by the Scheduler Identifier field + in the QoS Connection Management message. If the Regulator + function of the QoS Class is specified as Shaper, the + Connection Weight should be applied to the waiting room + pointed to by the Excess Scheduler Id field in the QoS + Connection Management message. + + For connections of style "QoS Connection," if the Regulator + field of the QoS Connection Management message specifies + None, or Policer, the Connection Weight should be applied + to the waiting room pointed to by the Scheduler Identifier + field. If the Regulator field of the QoS Connection + + + +Newman, et. al. Informational [Page 90] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Management message specifies Shaper, the Connection Weight + should be applied to the waiting room pointed to by the + Excess Scheduler Id field. + + If the specified waiting room is unable to offer weighted + sharing for a connection, a failure response message should + be returned with the failure code indicating: "this waiting + room is unable to offer weighted sharing for a connection." + + QoS Flags + + S: Selective Discard + If the Selective Discard flag is set, only cells with the + Cell Loss Priority (CLP) bit set will be subject to the + discard mechanism when the number of cells in the waiting + room exceeds the Discard Threshold. If the Selective + Discard flag is zero, all cells (CLP=0 and CLP=1) will be + subject to the discard mechanism when the number of cells + in the waiting room exceeds the Discard Threshold. + Selective discard can be combined with packet discard. In + this case only packets in which at least one cell has the + CLP bit set will be subject to the discard mechanism. + + A: All Branches + For a QoS Connection Management message that specifies a + point-to-multipoint connection, if the All Branches flag is + set, all branches of the point-to-multipoint connection + must be set to the QoS parameters specified in the message. + If the All Branches flag is zero, only the single output + branch specified in the message should be set to the QoS + parameters specified in the message. For a QoS Connection + Management message that specifies a point-to-point + connection, the All Branches flag is not used. + + x: Unused + + Excess Scheduler Id + For connections of style "QoS Connection" and "QoS Class + Connection," the Excess Scheduler Id points to the waiting + room, on the output port specified by the Output Port + field, to which all excess traffic should be routed. The + values 0 -- 255 specify the default settings for the + scheduler. Each of the default values maps directly to one + of the scheduler priority levels. An Excess Scheduler Id in + the range 0 -- 255 may be used without first being + established by a Scheduler Establishment message. All + + + + + +Newman, et. al. Informational [Page 91] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + values of Excess Scheduler Id in the range 0x0100 to 0xFFFE + must first be established by a Scheduler Establishment + message. + + If this field is not used it should be set to 0xFFFF. The + Excess Scheduler Id must not point to the same waiting room + on the same output port as the Scheduler Identifier. + + UPC Parameters + All connection styles may be subject to a Usage Parameter + Control (UPC) function, also known as a connection policer. + The policing function is applied to each individual + connection before it is combined with other connections + into a QoS class by the classifier function. A policing + function applied to an entire QoS class is defined in the + QoS Class Establishment message. + + The connection policer is defined by reference to the + Generic Cell Rate Algorithm (GCRA) defined by the ATM Forum + [af-tm-0056], although any equivalent policing algorithm + may be used. The GCRA takes two parameters, the increment + (I) and the limit (L). The reciprocal of the increment + (1/I) specifies the rate being policed. The limit specifies + the burst tolerance. (For comparison with the token bucket + policer discussed in [Partridge], the size of the token + bucket is given by L/I.) + + Two policers in series may be specified to permit the + policing of both peak rate and average rate (also called + sustainable rate). The parameters for the first policer are + Increment-1 and Limit-1. For comparison with the ATM Forum + specification these would be used to police the Peak Cell + Rate (PCR) and Cell Delay Variation Tolerance (CDVT) + respectively. The parameters for the second policer are + Increment-2 and Limit-2. For comparison with the ATM Forum + specification these would be used to police the Sustainable + Cell Rate (SCR), and Burst Tolerance. (The Burst Tolerance + may be computed from the Maximum Burst Size [af-tm-0056].) + + There are two configurations in which the two policers may + be connected in series. In the All Cells configuration, + all cells (cells with the Cell Loss Priority (CLP) bit set + to zero and cells with the CLP bit set to one) are subject + to the policing action of both policers in series. In the + CLP Selective configuration, all cells, both CLP=0 and + CLP=1, are policed by the first policer; but only cells + + + + + +Newman, et. al. Informational [Page 92] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + with CLP=0 are subject to policing by the second policer. + Either tagging or discard may be specified for each of the + policer configurations. + + The values of the parameters Increment and Limit in the UPC + Parameters fields are given in terms of a time unit + specified by the switch in the QoS Configuration Parameters + message. The time unit is specified by the switch as a + rate, the Scaling Factor, which gives the rate in cells per + second that would result from an Increment parameter value + of one. Thus to determine the value of the Increment + parameter from the desired policed rate given in cells per + second: + + Increment parameter = (Scaling_Factor)/(policed_rate) + + To determine the value of the Limit parameter from the + desired Cell Delay Variation Tolerance (CDVT) given in + seconds: + + Limit parameter = CDVT * Scaling_Factor + + To determine the value of the Limit parameter from the + desired Burst Tolerance (BT) given in seconds: + + Limit parameter = BT * Scaling_Factor + + The Increment and Limit parameters are specified as 32-bit + unsigned integers; so the choice of the Scaling Factor + allows the switch to select the range and granularity of + the policer parameters with respect to the line rate of the + switch port. For example, a SONET STS-3c (155.52 Mbps) + switch port has a line rate of approximately 353 kcells/s. + With a Scaling Factor value of 353,000,000 we can specify a + policed rate slightly less than the line rate with a + granularity of 0.1%. For a policed rate of 1 kbps we can + still support a bucket size of 31 cells. + + The UPC Parameters have the following format: + + + + + + + + + + + + +Newman, et. al. Informational [Page 93] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Increment-1 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Limit-1 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Increment-2 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Limit-2 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Reserved |C|A|x x x x x x| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Increment-1 + The increment parameter for the first policer, specified as + a 32-bit unsigned integer. A value of zero for the + Increment-1 parameter is used to disable the first policer. + In this case all cells will be considered to conform to the + traffic parameters of the first policer. + + Limit-1 + The limit parameter for the first policer, specified as a + 32-bit unsigned integer. + + Increment-2 + The increment parameter for the second policer, specified + as a 32-bit unsigned integer. A value of zero for the + Increment-2 parameter is used to disable the second + policer. In this case all cells will be considered to + conform to the traffic parameters of the second policer. + + Limit-2 + The limit parameter for the second policer, specified as a + 32-bit unsigned integer. + + Flags + + C: Configuration + If the Configuration flag is set, the policer should be set + to the All Cells configuration. If the Configuration flag + is zero, the policer should be set to the CLP Selective + configuration. + + In the All Cells configuration, all cells (both CLP=0 and + CLP=1) are subject to the policing action of both policers + in series. In the CLP Selective configuration, all cells, + both CLP=0 and CLP=1, are policed by the first policer; but + + + +Newman, et. al. Informational [Page 94] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + only cells with CLP=0 are subject to policing by the second + policer. Either tagging or discard may be specified for + each of the policer configurations. + + A: Action + If the Action flag is zero, discard is required as the + policing action. If the Action flag is set, tagging is + required as the policing action. + + If tagging is selected in the All Cells configuration, any + cell with CLP=0 in either policer, that the policer + determines to be in excess of the specified policer + parameters, will be changed to CLP=1. If discard is + selected in the All Cells configuration, any cell (CLP=0 or + CLP=1) in either policer, that the policer determines to be + in excess of the specified policer parameters, will be + discarded. + + In the CLP Selective configuration, the first policer is + always set to discard any cell (CLP=0 or CLP=1) that it + determines to be in excess of its specified policer + parameters. If tagging is selected in the CLP Selective + configuration, the second policer will change the CLP bit + to CLP=1 of any cell that it determines to be in excess of + its specified parameters. If discard is selected in the CLP + Selective configuration, the second policer will discard + any cell that it determines to be in excess of its + specified parameters. + + To configure the policer for the conformance definitions + specified by the ATM Forum [af-tm-0056] the following + configurations are suggested: + + CBR.1: One policer, All Cells, Discard + VBR.1: Two policers, All Cells, Discard + VBR.2: Two policers, CLP Selective, Discard + VBR.3: Two policers, CLP Selective, Tagging + UBR.1: One policer, All Cells, Discard + UBR.2: One policer, All Cells, Tagging. + + x: Unused + + Regulator Parameters + Only connections of style "QoS Connection" require the + Regulator Parameters to be specified in the QoS Connection + Management message. For connections of style "QoS Class + Connection" and "QoS Class Member" the Regulator Parameters + are specified in the QoS Class Establishment message. + + + +Newman, et. al. Informational [Page 95] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + The Regulator Parameters are specified in a similar manner + to the UPC parameters. If the regulator function is + specified as Policing, a single GCRA policer is applied to + all cells (both CLP=0 and CLP=1) on the connection. The + policer takes two parameters: an increment, the Regulator + Increment, and a limit, the Regulator Limit. The reciprocal + of the increment (1/I) specifies the rate being policed. + The limit (L) specifies the burst tolerance. (For + comparison with the token bucket policer discussed in + [Partridge], the size of the token bucket is given by L/I.) + + The Regulator Increment and Regulator Limit parameters are + 32-bit unsigned integers. Their values are determined in + terms of the Scaling Factor specified by the switch in the + QoS Configuration Parameters message. To determine the + value of the Regulator Increment parameter from the desired + policed rate given in cells per second: + + Regulator Increment = (Scaling_Factor)/(policed_rate) + + For a policed rate (r) the GCRA policer guarantees that + over any time period T the amount of traffic determined by + the policer to be conforming to the traffic parameters does + not exceed: + + rT + L/I + + The value of the Regulator Limit may be determined from + this relation. + + If the regulator function is specified as Shaping, only the + Regulator Increment parameter is used. The Regulator Limit + parameter is not used. The value of the Regulator Increment + parameter is determined in terms of the Scaling Factor + specified by the switch in the QoS Configuration Parameters + message. To determine the value of the Regulator Increment + parameter from the desired shaper rate, given in cells per + second, on output from the shaper: + + Regulator Increment = (Scaling_Factor)/(shaper_rate) + + An Increment value of zero is used to disable the policer. + In this case all cells on that connection will be + considered to conform to the policer traffic parameters. A + shaper given a Regulator Increment parameter of zero will + perform no shaping function on that connection. + + The Regulator Parameters have the following format: + + + +Newman, et. al. Informational [Page 96] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Regulator Increment | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Regulator Limit | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +9.7 QoS Failure Response Codes + + A failure response message is formed by returning the request message + that caused the failure with the Result field in the header + indicating failure (Result = 4) and the Code field giving the failure + code. The failure code specifies the reason for the switch being + unable to satisfy the request message. The following additional + failure codes are defined for use in response to QoS messages. + General failure codes are specified in Section 3.2, Failure Response + Messages. + + 128: Weighted scheduling within this waiting room is unavailable. + 129: This waiting room is unable to offer weighted sharing for a + QoS class. + 130: This waiting room is unable to offer weighted sharing for a + connection. + 131: Scheduler Identifier still in use. + 132: QoS Class Identifier still in use. + 133: Invalid QoS parameter. + 134: Insufficient QoS resources. + 135: Any point-to-multipoint connection arriving on this input + port must use the same QoS parameters for all output + branches. + + +10. Adjacency Protocol + + The adjacency protocol is used to synchronize state across the link, + to agree on which version of the protocol to use, to discover the + identity of the entity at the other end of a link, and to detect when + it changes. GSMP is a hard state protocol. It is therefore important + to detect loss of contact between switch and controller, and to + detect any change of identity of switch or controller. No GSMP + messages other than those of the adjacency protocol may be sent + across the link until the adjacency protocol has achieved + synchronization. + + + + + + + +Newman, et. al. Informational [Page 97] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + +10.1 Packet Format + + All GSMP messages belonging to the adjacency protocol have the + following structure: + + 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 | Timer |M| Code | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Sender Name | + + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + | Receiver Name | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Sender Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Receiver Port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Sender Instance | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Receiver Instance | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Version + In the adjacency protocol the Version field is used for + version negotiation. In a SYN message the Version field + always contains the highest version understood by the + sender. A receiver receiving a SYN message with a version + higher than understood will ignore that message. A + receiver receiving a SYN message with a version lower than + its own highest version, but a version that it understands, + will reply with a SYNACK with the version from the received + SYN in its GSMP Version field. This defines the version of + the GSMP protocol to be used while the adjacency protocol + remains synchronized. All other messages will use the + agreed version in the Version field. + + The version number for the version of the GSMP protocol + defined by this specification is Version = 2. + + Message Type + The adjacency protocol is: + + Message Type = 10 + + + + + +Newman, et. al. Informational [Page 98] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Timer + The Timer field is used to inform the receiver of the timer + value used in the adjacency protocol of the sender. The + timer specifies the nominal time between periodic adjacency + protocol messages. It is a constant for the duration of a + GSMP session. The timer field is specified in units of + 100ms. + + M-Flag + The M-Flag is used in the SYN message to indicate whether + the sender is a master or a slave. If the M-Flag is set in + the SYN message, the sender is a master. If zero, the + sender is a slave. The GSMP protocol is asymmetric, the + controller being the master and the switch being the slave. + The M-Flag prevents a master from synchronizing with + another master, or a slave with another slave. If a slave + receives a SYN message with a zero M-Flag, it must ignore + that SYN message. If a master receives a SYN message with + the M-Flag set, it must ignore that SYN message. In all + other messages the M-Flag is not used. + + Code + Field specifies the function of the message. Four Codes are + defined for the adjacency protocol: + + SYN: Code = 1 + SYNACK: Code = 2 + ACK: Code = 3 + RSTACK: Code = 4. + + Sender Name + For the SYN, SYNACK, and ACK messages, is the name of the + entity sending the message. The Sender Name is a 48-bit + quantity that is unique within the operational context of + the device. A 48-bit IEEE 802 MAC address, if available, + may be used for the Sender Name. If the Ethernet + encapsulation is used the Sender Name must be the Source + Address from the MAC header. For the RSTACK message, the + Sender Name field is set to the value of the Receiver Name + field from the incoming message that caused the RSTACK + message to be generated. + + Receiver Name + For the SYN, SYNACK, and ACK messages, is the name of the + entity that the sender of the message believes is at the + far end of the link. If the sender of the message does not + know the name of the entity at the far end of the link, + this field should be set to zero. For the RSTACK message, + + + +Newman, et. al. Informational [Page 99] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + the Receiver Name field is set to the value of the Sender + Name field from the incoming message that caused the RSTACK + message to be generated. + + Sender Port + For the SYN, SYNACK, and ACK messages, is the local port + number of the link across which the message is being sent. + For the RSTACK message, the Sender Port field is set to the + value of the Receiver Port field from the incoming message + that caused the RSTACK message to be generated. + + Receiver Port + For the SYN, SYNACK, and ACK messages, is what the sender + believes is the local port number for the link, allocated + by the entity at the far end of the link. If the sender of + the message does not know the port number at the far end of + the link, this field should be set to zero. For the RSTACK + message, the Receiver Port field is set to the value of the + Sender Port field from the incoming message that caused the + RSTACK message to be generated. + + Sender Instance + For the SYN, SYNACK, and ACK messages, is the sender's + instance number for the link. It is used to detect when the + link comes back up after going down or when the identity of + the entity at the other end of the link changes. The + instance number is a 32-bit number that is guaranteed to be + unique within the recent past and to change when the link + or node comes back up after going down. Zero is not a valid + instance number. For the RSTACK message, the Sender + Instance field is set to the value of the Receiver Instance + field from the incoming message that caused the RSTACK + message to be generated. + + Receiver Instance + For the SYN, SYNACK, and ACK messages, is what the sender + believes is the current instance number for the link, + allocated by the entity at the far end of the link. If the + sender of the message does not know the current instance + number at the far end of the link, this field should be set + to zero. For the RSTACK message, the Receiver Instance + field is set to the value of the Sender Instance field from + the incoming message that caused the RSTACK message to be + generated. + + + + + + + +Newman, et. al. Informational [Page 100] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + +10.2 Procedure + + The adjacency protocol is described by the following rules and state + tables. + + The rules and state tables use the following operations: + + o The "Update Peer Verifier" operation is defined as storing the + values of the Sender Instance, Sender Port, and Sender Name fields + from a SYN or SYNACK message received from the entity at the far + end of the link. + + o The procedure "Reset the link" is defined as: + + 1. Generate a new instance number for the link + 2. Delete the peer verifier (set to zero the values of Sender + Instance, Sender Port, and Sender Name previously stored by + the Update Peer Verifier operation) + 3. Send a SYN message + 4. Enter the SYNSENT state. + + o The state tables use the following Boolean terms and operators: + + A The Sender Instance in the incoming message matches the + value stored from a previous message by the "Update Peer + Verifier" operation. + + B The Sender Instance, Sender Port, and Sender Name fields in + the incoming message match the values stored from a + previous message by the "Update Peer Verifier" operation. + + C The Receiver Instance, Receiver Port, and Receiver Name + fields in the incoming message match the values of the + Sender Instance, Sender Port, and Sender Name currently + sent in outgoing SYN, SYNACK, and ACK messages. + + "&&" Represents the logical AND operation + + "||" Represents the logical OR operation + + "!" Represents the logical negation (NOT) operation. + + o A timer is required for the periodic generation of SYN, SYNACK, + and ACK messages. The value of the timer is announced in the Timer + field. The period of the timer is unspecified but a value of one + second is suggested. + + + + + +Newman, et. al. Informational [Page 101] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + There are two independent events: the timer expires, and a packet + arrives. The processing rules for these events are: + + Timer Expires: Reset Timer + If state = SYNSENT Send SYN + If state = SYNRCVD Send SYNACK + If state = ESTAB Send ACK + + Packet Arrives: + If incoming message is an RSTACK: + If (A && C && !SYNSENT) Reset the link + Else Discard the message. + If incoming message is a SYN, SYNACK, or ACK: + Response defined by the following State Tables. + If incoming message is any other GSMP message and state != + ESTAB: + Discard incoming message. + If state = SYNSENT Send SYN (Note 1) + If state = SYNRCVD Send SYNACK (Note 1) + + Note 1: No more than two SYN or SYNACK messages should be + sent within any time period of length defined by the + timer. + + o State synchronization across a link is considered to be achieved + when the protocol reaches the ESTAB state. All GSMP messages, + other than adjacency protocol messages, that are received before + synchronization is achieved will be discarded. + +State Tables + +State: SYNSENT + ++======================================================================+ +| Condition | Action | New State | ++====================+=====================================+===========+ +| SYNACK && C | Update Peer Verifier; Send ACK | ESTAB | ++--------------------+-------------------------------------+-----------+ +| SYNACK && !C | Send RSTACK | SYNSENT | ++--------------------+-------------------------------------+-----------+ +| SYN | Update Peer Verifier; Send SYNACK | SYNRCVD | ++--------------------+-------------------------------------+-----------+ +| ACK | Send RSTACK | SYNSENT | ++======================================================================+ + + + + + + + +Newman, et. al. Informational [Page 102] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + +State: SYNRCVD + ++======================================================================+ +| Condition | Action | New State | ++====================+=====================================+===========+ +| SYNACK && C | Update Peer Verifier; Send ACK | ESTAB | ++--------------------+-------------------------------------+-----------+ +| SYNACK && !C | Send RSTACK | SYNRCVD | ++--------------------+-------------------------------------+-----------+ +| SYN | Update Peer Verifier; Send SYNACK | SYNRCVD | ++--------------------+-------------------------------------+-----------+ +| ACK && B && C | Send ACK | ESTAB | ++--------------------+-------------------------------------+-----------+ +| ACK && !(B && C) | Send RSTACK | SYNRCVD | ++======================================================================+ + + +State: ESTAB + ++======================================================================+ +| Condition | Action | New State | ++====================+=====================================+===========+ +| SYN || SYNACK | Send ACK (note 2) | ESTAB | ++--------------------+-------------------------------------+-----------+ +| ACK && B && C | Send ACK (note 3) | ESTAB | ++--------------------+-------------------------------------+-----------+ +| ACK && !(B && C) | Send RSTACK | ESTAB | ++======================================================================+ + + Note 2: No more than two ACKs should be sent within any time period + of length defined by the timer. Thus, one ACK must be sent every time + the timer expires. In addition, one further ACK may be sent between + timer expirations if the incoming message is a SYN or SYNACK. This + additional ACK allows the adjacency protocol to reach synchronization + more quickly. + + Note 3: No more than one ACK should be sent within any time period of + length defined by the timer. + +10.3 Loss of Synchronization + + If after synchronization is achieved, no valid GSMP messages are + received in any period of time in excess of three times the value of + the Timer field announced in the incoming adjacency protocol + messages, loss of synchronization may be declared. + + The preferred procedure for a switch to use when it looses + synchronization with its active controller is to attempt to establish + + + +Newman, et. al. Informational [Page 103] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + synchronization with (one of) its backup controller(s). However, in + this preferred approach, it must not reset its state until it + achieves synchronization with a backup controller. This means that + if, before achieving synchronization with a backup controller, it + regains synchronization with its original controller, it may continue + the original session (and cease attempting to establish + synchronization with a backup controller). If synchronization with + the original session is regained it is the responsibility of the + controller to ensure consistent state between the switch and + controller. + + While the above is the preferred procedure, it is also the case that + the simplest procedure when declaring loss of synchronization with + the active controller is to reset the switch state, and start + searching for a controller. This simple procedure is legitimate. + +11. Summary of Failure Response Codes + + The following list gives a summary of the failure codes defined for + failure response messages: + + 1: Unspecified reason not covered by other failure codes. + 2: Invalid request message. + 3: The specified request is not implemented on this switch. + 4: Invalid Port Session Number. + 5: One or more of the specified ports does not exist. + 6: One or more of the specified ports is down. + 7: Unused. (This failure code has been replaced by failure codes + 18--21.) + 8: The specified connection does not exist. + 9: The specified branch does not exist. + 10: A branch belonging to the specified point-to-multipoint + connection is already established on the specified output + port and the switch cannot support more than a single + branch of any point-to-multipoint connection on the same + output port. + 11: The limit on the maximum number of point-to-multipoint + connections that the switch can support has been reached. + 12: The limit on the maximum number of branches that the + specified point-to-multipoint connection can support has + been reached. + 13: Unable to assign the requested VPI/VCI value to the requested + branch on the specified point-to-multipoint connection. + 14: General problem related to the manner in which point-to- + multipoint is supported by the switch. + 15: Out of resources (e.g. memory exhausted, etc.). + 16: Failure specific to the particular message type. (The meaning + of this failure code depends upon the Message Type. It is + + + +Newman, et. al. Informational [Page 104] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + defined within the description of any message that uses + it.) + 17: Cannot label each output branch of a point-to-multipoint tree + with a different label. + 18: One or more of the specified input VPIs is invalid. + 19: One or more of the specified input VCIs is invalid. + 20: One or more of the specified output VPIs is invalid. + 21: One or more of the specified output VCIs is invalid. + 22: Invalid Class of Service field in a Connection Management + message. + 23: Insufficient resources for QoS Profile. + 24: Virtual path switching is not supported on this input port. + 25: Point-to-multipoint virtual path connections are not + supported on either the requested input port or the + requested output port. + 26: Attempt to add a virtual path connection branch to an + existing virtual channel connection. + 27: Attempt to add a virtual channel connection branch to an + existing virtual path connection. + 28: Only point-to-point bidirectional connections may be + established. + 29: Cannot support requested VPI range. + 30: Cannot support requested VCI range on all requested VPIs. + 31: The transmit cell rate of this output port cannot be changed. + 32: Requested transmit cell rate out of range for this output + port. + 128: Weighted scheduling within this waiting room is unavailable. + 129: This waiting room is unable to offer weighted sharing for a + QoS class. + 130: This waiting room is unable to offer weighted sharing for a + connection. + 131: Scheduler Identifier still in use. + 132: QoS Class Identifier still in use. + 133: Invalid QoS parameter. + 134: Insufficient QoS resources. + 135: Any point-to-multipoint connection arriving on this input + port must use the same QoS parameters for all output + branches. + + +12. Summary of Message Set + + The following table gives a summary of the messages defined in this + version of the specification. It also indicates which messages must + be supported in a minimal implementation of the protocol. Those + messages marked as "Required" must be supported by the switch for an + implementation to be considered to conform to this specification. + (While the controller should also implement those messages marked + + + +Newman, et. al. Informational [Page 105] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + "Required," conformance cannot be tested for the controller due to + the Master-Slave nature of the protocol.) + + Message Name Message Type Status + + Connection Management Messages + Add Branch VCC....................16 Required + VPC....................26 + Delete Tree.......................18 + Delete All........................20 + Delete Branches...................17 Required + Move Branch VCC...................22 + VPC...................27 + + Port Management Messages + Port Management...................32 Required + Label Range.......................33 + + State and Statistics Messages + Connection Activity...............48 + Port Statistics...................49 Required + Connection Statistics.............50 + QoS Class Statistics..............51 + Report Connection State...........52 + + Configuration Messages + Switch Configuration..............64 Required + Port Configuration................65 Required + All Ports Configuration...........66 Required + + Event Messages + Port Up...........................80 + Port Down.........................81 + Invalid VPI/VCI...................82 + New Port..........................83 + Dead Port.........................84 + + Quality of Service Messages + QoS Configuration.................96 + Scheduler Establishment...........97 + QoS Class Establishment...........98 + QoS Release.......................99 + QoS Connection Management VCC....100 + VPC....101 + + Adjacency Protocol....................10 Required + + + + + +Newman, et. al. Informational [Page 106] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + +REFERENCES + + [af-tm-0056] ATM Forum Traffic Management Specification 4.0, af-tm- + 0056.000, April 1996. + + [I.361] "B-ISDN ATM Layer Specification," International + Telecommunication Union, ITU-T Recommendation I.361, + Mar. 1993. + + [I.363] "B-ISDN ATM Adaptation Layer (AAL) Specification," + International Telecommunication Union, ITU-T + Recommendation I.363, Mar. 1993. + + [IpsilonMIB] Ipsilon IP Switch MIB, + http://www.ipsilon.com/products/ips.mib + + [Partridge] C. Partridge, "Gigabit Networking," Addison-Wesley, + 1994. + + [RFC1700] Reynolds, J., and J. Postel, "Assigned Numbers," STD 2, + RFC 1700, October 1994. + + [RFC1987] Newman, P, Edwards, W., hinden, R., Hoffman, E. Ching + Liaw, F., Lyon, T. and G. Minshall, "Ipsilon's General + Switch Management Protocol Specification," Version 1.1, + RFC 1987, August 1996. + + +SECURITY CONSIDERATIONS + + Physical security on the control link connecting the controller to + the switch is assumed. Security issues are not discussed in this + document. + + +AUTHORS' ADDRESSES + + Peter Newman Phone: +1 (408) 990 2003 + Nokia EMail: pn@ipsilon.com + + W. L. Edwards, Chief Scientist Phone: +1 (913) 534 5334 + Sprint EMail: texas@sprintcorp.com + + Robert M. Hinden Phone: +1 (408) 990 2004 + Nokia EMail: hinden@ipsilon.com + + Eric Hoffman Phone: +1 (408) 990 2010 + Nokia EMail: hoffman@ipsilon.com + + + +Newman, et. al. Informational [Page 107] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + + Fong Ching Liaw Phone: +1 (408) 873 2688 + Coppercom EMail: fong@coppercom.com + + Tom Lyon Phone: +1 (408) 990 2001 + Nokia EMail: pugs@ipsilon.com + + Greg Minshall Phone: +1 (650) 237 3164 + Fiberlane Communications EMail: minshall@fiberlane.com + +Nokia (Sunnyvale) is located at: + + 232 Java Drive + Sunnyvale, CA 94089 + USA + +Sprint is located at: + + Sprint + Sprint Technology Services - Long Distance Division + 9300 Metcalf Avenue + Mailstop KSOPKB0802 + Overland Park, KS 66212-6333 + USA + +Fiberlane Communications is located at: + + 1399 Charleston Road + Mountain View, CA 94043 + USA + + + + + + + + + + + + + + + + + + + + + + +Newman, et. al. Informational [Page 108] + +RFC 2297 Ipsilon's General Switch Management March 1998 + + +Full Copyright Statement + + Copyright (C) The Internet Society (1998). All Rights Reserved. + + This document and translations of it may be copied and furnished to + others, and derivative works that comment on or otherwise explain it + or assist in its implementation may be prepared, copied, published + and distributed, in whole or in part, without restriction of any + kind, provided that the above copyright notice and this paragraph are + included on all such copies and derivative works. However, this + document itself may not be modified in any way, such as by removing + the copyright notice or references to the Internet Society or other + Internet organizations, except as needed for the purpose of + developing Internet standards in which case the procedures for + copyrights defined in the Internet Standards process must be + followed, or as required to translate it into languages other than + English. + + The limited permissions granted above are perpetual and will not be + revoked by the Internet Society or its successors or assigns. + + This document and the information contained herein is provided on an + "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING + TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION + HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + + + + + + + + + + + + + + + + + + + + + + + + +Newman, et. al. Informational [Page 109] + |