Network Working Group A. Doria Request for Comments: 3292 Lulea University of Technology Category: Standards Track F. Hellstrand K. Sundell Nortel Networks T. Worster June 2002 General Switch Management Protocol (GSMP) V3 Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (2002). All Rights Reserved. Abstract This document describes the General Switch Management Protocol Version 3 (GSMPv3). The GSMPv3 is an asymmetric protocol that allows one or more external switch controllers to establish and maintain the state of a label switch such as, an ATM, frame relay or MPLS switch. The GSMPv3 allows control of both unicast and multicast switch connection state as well as control of switch system resources and QoS features. Acknowledgement GSMP was created by P. Newman, W. Edwards, R. Hinden, E. Hoffman, F. Ching Liaw, T. Lyon, and G. Minshall (see [6] and [7]). This version of GSMP is based on their work. Contributors In addition to the authors/editors listed in the heading, many members of the GSMP group have made significant contributions to this specification. Among the contributors who have contributed materially are: Constantin Adam, Clint Bishard, Joachim Buerkle, Torbjorn Hedqvist, Georg Kullgren, Aurel A. Lazar, Mahesan Nandikesan, Matt Peters, Hans Sjostrand, Balaji Srinivasan, Jaroslaw Sydir, Chao-Chun Wang. Doria, et. al. Standards Track [Page 1] RFC 3292 General Switch Management Protocol V3 June 2002 Specification of Requirements The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. Table of Contents 1. Introduction ................................................... 4 2. GSMP Packet Encapsulation ...................................... 6 3. Common Definitions and Procedures .............................. 6 3.1 GSMP Packet Format ........................................... 7 3.1.1 Basic GSMP Message format ................................ 7 3.1.2 Fields commonly found in GSMP messages .................. 11 3.1.3 Labels .................................................. 12 3.1.4 Failure Response Messages ............................... 17 4. Connection Management Messages ................................ 18 4.1 General Message Definitions ................................. 18 4.2 Add Branch Message .......................................... 25 4.2.1 ATM specific procedures: ................................ 29 4.3 Delete Tree Message ......................................... 30 4.4 Verify Tree Message ......................................... 30 4.5 Delete All Input Port Message ............................... 30 4.6 Delete All Output Port Message .............................. 31 4.7 Delete Branches Message ..................................... 32 4.8 Move Output Branch Message .................................. 35 4.8.1 ATM Specific Procedures: ................................ 37 4.9 Move Input Branch Message ................................... 38 4.9.1 ATM Specific Procedures: ................................ 41 5. Reservation Management Messages ............................... 42 5.1 Reservation Request Message ................................. 43 5.2 Delete Reservation Message .................................. 46 5.3 Delete All Reservations Message.............................. 47 6. Management Messages ........................................... 47 6.1 Port Management Message ..................................... 47 6.2 Label Range Message ......................................... 53 6.2.1 Labels .................................................. 56 7. State and Statistics Messages ................................. 60 7.1 Connection Activity Message ................................. 61 7.2 Statistics Messages ......................................... 64 7.2.1 Port Statistics Message ................................. 67 7.2.2 Connection Statistics Message ........................... 67 7.2.3 QoS Class Statistics Message ............................ 68 7.3 Report Connection State Message ............................. 68 8. Configuration Messages ........................................ 73 8.1 Switch Configuration Message ................................ 73 8.1.1 Configuration Message Processing ........................ 75 8.2 Port Configuration Message .................................. 75 Doria, et. al. Standards Track [Page 2] RFC 3292 General Switch Management Protocol V3 June 2002 8.2.1 PortType Specific Data .................................. 79 8.3 All Ports Configuration Message ............................. 87 8.4 Service Configuration Message ............................... 89 9. Event Messages ................................................ 93 9.1 Port Up Message ............................................ 95 9.2 Port Down Message .......................................... 95 9.3 Invalid Label Message ...................................... 95 9.4 New Port Message ........................................... 96 9.5 Dead Port Message .......................................... 96 9.6 Adjacency Update Message ................................... 96 10. Service Model Definition .................................... 96 10.1 Overview .................................................. 96 10.2 Service Model Definitions ................................. 97 10.2.1 Original Specifications ............................... 97 10.2.2 Service Definitions ................................... 98 10.2.3 Capability Sets ....................................... 99 10.3 Service Model Procedures .................................. 99 10.4 Service Definitions ....................................... 100 10.4.1 ATM Forum Service Categories .......................... 101 10.4.2 Integrated Services ................................... 104 10.4.3 MPLS CR-LDP ........................................... 105 10.4.4 Frame Relay ........................................... 105 10.4.5 DiffServ .............................................. 106 10.5 Format and Encoding of the Traffic Parameters ............. 106 10.5.1 Traffic Parameters for ATM Forum Services ............. 106 10.5.2 Traffic Parameters for Int-Serv Controlled Load Service 107 10.5.3 Traffic Parameters for CRLDP Service .................. 108 10.5.4 Traffic Parameters for Frame Relay Service ............ 109 10.6 Traffic Controls (TC) Flags ............................... 110 11. Adjacency Protocol .......................................... 111 11.1 Packet Format ............................................. 112 11.2 Procedure ................................................. 115 11.2.1 State Tables .......................................... 117 11.3 Partition Information State ............................... 118 11.4 Loss of Synchronisation.................................... 119 11.5 Multiple Controllers Per Switch Partition ................. 119 11.5.1 Multiple Controller Adjacency Process ................. 120 12. Failure Response Codes ...................................... 121 12.1 Description of Failure and Warning Response Messages ...... 121 12.2 Summary of Failure Response Codes and Warnings ............ 127 13. Security Considerations ..................................... 128 Appendix A Summary of Messages ................................. 129 Appendix B IANA Considerations ................................. 130 References ...................................................... 134 Authors' Addresses .............................................. 136 Full Copyright Statement ........................................ 137 Doria, et. al. Standards Track [Page 3] RFC 3292 General Switch Management Protocol V3 June 2002 1. Introduction The General Switch Management Protocol (GSMP) is a general purpose protocol to control a label 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, request and delete reservation of switch resources, and request statistics. It also allows the switch to inform the controller of asynchronous events such as a link going down. 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. Also a switch may be controlled by more than one controller by using the technique of partitioning. A "physical" switch can be partitioned into several virtual switches that are referred to as partitions. In this version of GSMP, switch partitioning is static and occurs prior to running GSMP. The partitions of a physical switch are isolated from each other by the implementation and the controller assumes that the resources allocated to a partition are at all times available to that partition. A partition appears to its controller as a label switch. Throughout the rest of this document, the term switch (or equivalently, label switch) is used to refer to either a physical, non-partitioned switch or to a partition. The resources allocated to a partition appear to the controller as if they were the actual physical resources of the partition. For example if the bandwidth of a port were divided among several partitions, each partition would appear to the controller to have its own independent port. GSMP controls a partitioned switch through the use of a partition identifier that is carried in every GSMP message. Each partition has a one-to-one control relationship with its own logical controller entity (which in the remainder of the document is referred to simply as a controller) and GSMP independently maintains adjacency between each controller-partition pair. Kinds of label switches include frame or cell switches that support connection oriented switching, using the exact match-forwarding algorithm based on labels attached to incoming cells or frames. 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. Cells or labelled frames arrive at the switch from an external communication link on Doria, et. al. Standards Track [Page 4] RFC 3292 General Switch Management Protocol V3 June 2002 incoming labelled channels at an input port. Cells or labelled frames depart from the switch to an external communication link on labelled channels from an output port. A switch may support multiple label types, however, each switch port can support only one label type. The label type supported by a given port is indicated by the switch to the controller in a port configuration message. Connections may be established between ports, supporting different label types. Label types include ATM, Frame Relay, MPLS Generic and FEC Labels. A connection across a switch is formed by connecting an incoming labelled channel to one or more outgoing labelled channels. Connections are referenced by the input port on which they originate and the Label values of their incoming labelled channel.