idnits 2.17.1 draft-ietf-gsmp-06.txt: -(3720): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(6569): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == There are 6 instances of lines with non-ascii characters in the document. == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** There are 12 instances of too long lines in the document, the longest one being 3 characters in excess of 72. ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 1398: '... The R flag MUST not be used in c...' RFC 2119 keyword, line 1401: '...e M flag set, it MUST return a failure...' RFC 2119 keyword, line 2235: '...place mechanism it MUST reply with the...' RFC 2119 keyword, line 6067: '...ntroller entity synchronisation SHOULD...' RFC 2119 keyword, line 6278: '... The R flag MUST NOT be used in c...' Miscellaneous warnings: ---------------------------------------------------------------------------- == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: The R flag MUST not be used in conjunction with either the M flag or the B flag. If a switch receives a Add connection request that has the R flag set with either the B or the M flag set, it MUST return a failure response message of: " 37: Connection replacement mode cannot be combined with Bi-directional or Multicast mode" -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (January 2001) is 8499 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Looks like a reference, but probably isn't: 'Appendix A' on line 6542 == Unused Reference: '3' is defined on line 6591, but no explicit reference was found in the text == Unused Reference: '4' is defined on line 6596, but no explicit reference was found in the text == Unused Reference: '16' is defined on line 6644, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. '1' -- Possible downref: Non-RFC (?) normative reference: ref. '2' -- Possible downref: Non-RFC (?) normative reference: ref. '3' == Outdated reference: A later version (-07) exists of draft-ietf-gsmp-mib-00 ** Obsolete normative reference: RFC 1700 (ref. '5') (Obsoleted by RFC 3232) ** Downref: Normative reference to an Informational RFC: RFC 1987 (ref. '6') ** Downref: Normative reference to an Informational RFC: RFC 2297 (ref. '7') -- Possible downref: Non-RFC (?) normative reference: ref. '8' == Outdated reference: A later version (-06) exists of draft-ietf-mpls-cr-ldp-03 -- Possible downref: Non-RFC (?) normative reference: ref. '11' -- Possible downref: Non-RFC (?) normative reference: ref. '12' -- Possible downref: Non-RFC (?) normative reference: ref. '13' == Outdated reference: A later version (-08) exists of draft-ietf-mpls-label-encaps-07 == Outdated reference: A later version (-05) exists of draft-ietf-gsmp-encaps-01 -- No information found for draft-ietf-gsmp-applicabiity - is the name correct? -- Possible downref: Normative reference to a draft: ref. '16' -- Possible downref: Non-RFC (?) normative reference: ref. '17' -- Possible downref: Non-RFC (?) normative reference: ref. '18' -- Possible downref: Non-RFC (?) normative reference: ref. '19' ** Obsolete normative reference: RFC 2434 (ref. '20') (Obsoleted by RFC 5226) Summary: 9 errors (**), 0 flaws (~~), 10 warnings (==), 15 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 INTERNET DRAFT Avri Doria 2 GSMP Working Group Fiffi Hellstrand 3 Standards Track Kenneth Sundell 4 Nortel Networks 6 Tom Worster 7 Ennovate Networks 9 Expires January 2001 11 General Switch Management Protocol V3 13 15 This document is an Internet-Draft and is in full conformance with 16 all provisions of Section 10 of RFC2026. 18 Internet-Drafts are working documents of the Internet Engineering 19 Task Force (IETF), its areas, and its working groups. Note that 20 other groups may also distribute working documents as Internet- 21 Drafts. 23 Internet-Drafts are draft documents valid for a maximum of six 24 months and may be updated, replaced, or obsoleted by other 25 documents at any time. It is inappropriate to use Internet- 26 Drafts as reference material or to cite them other than as "work 27 in progress." 29 The list of current Internet-Drafts can be accessed at 30 http://www.ietf.org/ietf/1id-abstracts.txt 32 The list of Internet-Draft Shadow Directories can be accessed at 33 http://www.ietf.org/shadow.html. 35 Acknowledgement 37 GSMP was created by P. Newman, W. Edwards, R. Hinden, E. Hoffman, 38 F. Ching Liaw, T. Lyon, and G. Minshall (see [6] and [7]). This 39 version of GSMP is based on their work. 41 Contributors 43 In addition to the authors/editors listed in the heading, many 44 members of the GSMP group have made significant contributions to 45 this specification. Among the contributors who have contributed 46 materially are: Constantin Adam, Clint Bishard, Joachim Buerkle, 47 Aurel A. Lazar, Mahesan Nandikesan, Matt Peters, Balaji 48 Srinivasan, Jaroslaw Sydir, Chao-Chun Wang. 50 Abstract 52 This memo provides the sixth draft of the standards track 53 specification of the General Switch Management protocol (GSMP). 54 This release is intended for working group last call. 56 Changes since 58 (Note: this section will be removed before submission to IESG) 60 - IANA considerations re-written 62 - Remove references to QSM that have been replaced by 63 references to IQS and OQS. 65 - Added support for replace connection mechanism in Add 66 Branch, Port Management and Port Configuration 67 messages. 69 - Added multicast flag for output branch in Add Branch 70 message. 72 - Added failure messages for replace connection and for 73 multipoint-to-point connections. 75 - Fixed a number of typos and other blemishes 77 Table of Contents 78 GENERAL SWITCH MANAGEMENT PROTOCOL V3................................. 1 80 1. INTRODUCTION ...................................................... 5 82 2. GSMP PACKET ENCAPSULATION ......................................... 8 84 3. COMMON DEFINITIONS AND PROCEDURES ................................. 8 85 3.1 GSMP PACKET FORMAT ............................................ 9 86 3.1.1 Basic GSMP Message format ................................. 9 87 3.1.2 Fields commonly found in GSMP messages ................... 12 88 3.1.3 Labels.................................................... 13 89 3.1.4 Failure Response Messages................................. 22 90 4. CONNECTION MANAGEMENT MESSAGES.................................... 24 91 4.1 GENERAL MESSAGE DEFINITIONS................................... 24 92 4.2 ADD BRANCH MESSAGE ........................................... 29 93 4.2.1 ATM specific procedures:.................................. 33 94 4.3 DELETE TREE MESSAGE .......................................... 34 95 4.4 VERIFY TREE MESSAGE........................................... 34 96 4.5 DELETE ALL INPUT PORT MESSAGE ................................ 35 97 4.6 DELETE ALL OUTPUT PORT MESSAGE................................ 36 98 4.7 DELETE BRANCHES MESSAGE ...................................... 36 99 4.8 MOVE OUTPUT BRANCH MESSAGE.................................... 39 100 4.8.1 ATM Specific Procedures:.................................. 41 101 4.9 MOVE INPUT BRANCH MESSAGE .................................... 42 102 4.9.1 ATM Specific Procedures:.................................. 44 103 5. RESERVATION MANAGEMENT MESSAGES .................................. 46 104 5.1 RESERVATION REQUEST MESSAGE................................... 46 105 5.2 DELETE RESERVATION MESSAGE ................................... 49 106 5.3 DELETE ALL RESERVATIONS MESSAGE............................... 49 107 6. MANAGEMENT MESSAGES .............................................. 51 108 6.1 PORT MANAGEMENT MESSAGE ...................................... 51 109 6.2 LABEL RANGE MESSAGE .......................................... 56 110 6.2.1 Short Labels.............................................. 59 111 6.2.2 TLV Labels................................................ 63 112 7. STATE AND STATISTICS MESSAGES .................................... 71 113 7.1 CONNECTION ACTIVITY MESSAGE................................... 71 114 7.2 STATISTICS MESSAGES .......................................... 74 115 7.2.1 Port Statistics Message................................... 76 116 7.2.2 Connection Statistics Message............................. 77 117 7.2.3 QoS Class Statistics Message ............................. 77 118 7.3 REPORT CONNECTION STATE MESSAGE .............................. 77 119 8. CONFIGURATION MESSAGES............................................ 83 120 8.1 SWITCH CONFIGURATION MESSAGE ................................. 83 121 8.1.1 Configuration Message Processing ......................... 85 122 8.2 PORT CONFIGURATION MESSAGE ................................... 85 123 8.2.1 PortType Specific Data.................................... 89 124 8.3 ALL PORTS CONFIGURATION MESSAGE.............................. 100 125 8.4 SERVICE CONFIGURATION MESSAGE ............................... 102 126 9. EVENT MESSAGES................................................... 107 127 9.1 PORT UP MESSAGE ............................................. 108 128 9.2 PORT DOWN MESSAGE ........................................... 108 129 9.3 INVALID LABEL MESSAGE ....................................... 108 130 9.4 NEW PORT MESSAGE............................................. 109 131 9.5 DEAD PORT MESSAGE ........................................... 109 132 9.6 ADJACENCY UPDATE MESSAGE..................................... 109 133 10. SERVICE MODEL DEFINITION ....................................... 110 134 10.1 OVERVIEW.................................................... 110 135 10.2 SERVICE MODEL DEFINITIONS................................... 110 136 10.2.1 Original Specifications ................................ 111 137 10.2.2 Service Definitions..................................... 111 138 10.2.3 Capability Sets......................................... 112 139 10.3 SERVICE MODEL PROCEDURES.................................... 112 140 10.4 SERVICE DEFINITIONS......................................... 113 141 10.4.1 ATM Forum Service Categories ........................... 115 142 10.4.2 Integrated Services .................................... 119 143 10.4.3 MPLS CR-LDP ............................................ 119 144 10.4.4 Frame Relay ............................................ 120 145 10.4.5 Diff-Serv............................................... 121 146 10.4.6 Circuit Emulation ...................................... 121 147 10.5 FORMAT AND ENCODING OF THE TRAFFIC PARAMETERS .............. 121 148 10.5.1 Traffic Parameters for ATM Forum Services .............. 122 149 10.5.2 Traffic Parameters for Int-Serv Controlled Load Service. 122 150 10.5.3 Traffic Parameters for the CRLDP Service ............... 123 151 10.5.4 Traffic Parameters for the Frame Relay Service ......... 124 152 10.6 TRAFFIC CONTROLS (TC) FLAGS................................. 125 153 11. ADJACENCY PROTOCOL ............................................. 128 154 11.1 PACKET FORMAT .............................................. 128 155 11.2 PROCEDURE .................................................. 131 156 11.2.1 State Tables............................................ 134 157 11.3 PARTITION INFORMATION STATE................................. 135 158 11.4 LOSS OF SYNCHRONISATION..................................... 135 159 11.5 MULTIPLE CONTROLLERS PER SWITCH PARTITION................... 136 160 11.5.1 Multiple Controller Adjacency Process................... 136 161 12. FAILURE RESPONSE CODES ......................................... 138 162 12.1 DESCRIPTION OF FAILURE RESPONSE MESSAGES.................... 138 163 12.2 SUMMARY OF FAILURE RESPONSE CODES .......................... 144 164 13. SECURITY CONSIDERATIONS ........................................ 146 166 APPENDIX A SUMMARY OF MESSAGES ..................................... 147 168 APPENDIX B IANA CONSIDERATIONS ..................................... 149 169 1. Introduction 171 The General Switch Management Protocol (GSMP), is a general 172 purpose protocol to control a label switch. GSMP allows a 173 controller to establish and release connections across the switch; 174 add and delete leaves on a multicast connection; manage switch 175 ports; request configuration information; and request statistics. 176 It also allows the switch to inform the controller of asynchronous 177 events such as a link going down. The GSMP protocol is asymmetric, 178 the controller being the master and the switch being the slave. 179 Multiple switches may be controlled by a single controller using 180 multiple instantiations of the protocol over separate control 181 connections. Also a switch may be controlled by more than one 182 controller by using the technique of partitioning. 184 A "physical" switch can be partitioned into several virtual 185 switches that are referred to as partitions. In this version of 186 GSMP switch partitioning is static and occurs prior to running 187 GSMP. The partitions of a physical switch are isolated from each 188 other by the implementation and the controller assumes that the 189 resources allocated to a partition are at all times available to 190 that partition. A partition appears to its controller as a label 191 switch. Throughout the rest of this document, the term switch (or 192 equivalently, label switch) is used to refer to either a physical, 193 non-partitioned switch or to a partition. The resources allocated 194 to a partition appear to the controller as if they were the actual 195 physical resources of the partition. For example if the bandwidth 196 of a port were divided among several partitions, each partition 197 would appear to the controller to have its own independent port. 199 GSMP controls a partitioned switch through the use of a partition 200 identifier that is carried in every GSMP message. Each partition 201 has a one-to-one control relationship with its own logical 202 controller entity (which in the remainder of the document is 203 referred to simply as a controller) and GSMP independently 204 maintains adjacency between each controller-partition pair. 206 Kinds of label switch include frame or cell switches that support 207 connection oriented switching using the exact match-forwarding 208 algorithm based on labels attached to incoming cells or frames. A 209 switch is assumed to contain multiple "ports". Each port is a 210 combination of one "input port" and one "output port". Some GSMP 211 requests refer to the port as a whole whereas other requests are 212 specific to the input port or the output port. Cells or labelled 213 frames arrive at the switch from an external communication link on 214 incoming labelled channels at an input port. Cells or labelled 215 frames depart from the switch to an external communication link on 216 labelled channels from an output port. 218 A switch may support multiple label types, however, each switch 219 port can support only one label type. The label type supported by 220 a given port is indicated by the switch to the controller in a 221 port configuration message. Connections may be established between 222 ports supporting different label types. Label types include ATM, 223 Frame Relay and MPLS Generic Labels. 225 A connection across a switch is formed by connecting an incoming 226 labelled channel to one or more outgoing labelled channels. 227 Connections are referenced by the input port on which they arrive 228 and the Labels values of their incoming labelled channel. 230 GSMP supports point-to-point and point-to-multipoint connections. 231 A multipoint-to-point connection is specified by establishing 232 multiple point-to-point connections each of them specifying the 233 same output branch. A multipoint-to-multipoint connection is 234 specified by establishing multiple point-to-multipoint trees each 235 of them specifying the same output branches. 237 In general a connection is established with a certain quality of 238 service (QoS). This version of GSMP includes a default QoS 239 Configuration and additionally allows the negotiation of 240 alternative, optional QoS configurations. The default QoS 241 Configuration includes three QoS Models: a Service Model, a Simple 242 Abstract Model (strict priorities) and a QoS Profile Model. 244 The Service Model is based on service definitions found external 245 to GSMP such as in Integrated Services or ATM Service Categories. 246 Each connection is assigned a specific service that defines the 247 handling of the connection by the switch. Additionally, traffic 248 parameters and traffic controls may be assigned to the connection 249 depending on the assigned service. 251 In the Simple Abstract Model a connection is assigned a priority 252 when it is established. It may be assumed that for connections 253 that share the same output port, an cell or frame on a connection 254 with a higher priority is much more likely to exit the switch 255 before a cell or frame on a connection with a lower priority if 256 they are both in the switch at the same time. The number of 257 priorities that each port of the switch supports may be obtained 258 from the port configuration message. 260 The QoS Profile Model provides a simple mechanism that allows 261 connection to be assigned QoS semantics defined external to GSMP. 263 All GSMP switches must support the default QoS Configuration. A 264 GSMP switch may additionally support one or more alternative QoS 265 Configurations. The QoS models of alternative QoS configurations 266 are defined outside the GSMP specification. GSMP includes a 267 negotiation mechanism that allows a controller to select form the 268 QoS configurations that a switch supports. 270 GSMP contains an adjacency protocol. The adjacency protocol is 271 used to synchronise state across the link, to negotiate which 272 version of the GSMP protocol to use, to discover the identity of 273 the entity at the other end of a link, and to detect when it 274 changes. 276 2. GSMP Packet Encapsulation 278 GSMP packets may be transported via any suitable medium. GSMP 279 packet encapsulations for ATM, Ethernet and TCP are specified in 280 [15]. Additional encapsulations for GSMP packets may be defined in 281 separate documents. 283 3. Common Definitions and Procedures 285 GSMP is a master-slave protocol. The controller issues request 286 messages to the switch. Each request message indicates whether a 287 response is required from the switch and contains a transaction 288 identifier to enable the response to be associated with the 289 request. The switch replies with a response message indicating 290 either a successful result or a failure. There are six classes of 291 GSMP request-response message: Connection Management, Reservation 292 Management, Port Management, State and Statistics, Configuration, 293 and Quality of Service. The switch may also generate asynchronous 294 Event messages to inform the controller of asynchronous events. 295 The controller can be required to acknowledge event messages, but 296 by default does not do so. There is also an adjacency protocol 297 message used to establish synchronisation across the link and 298 maintain a handshake. 300 For the request-response messages, each message type has a format 301 for the request message and a format for the success response. 302 Unless otherwise specified a failure response message is identical 303 to the request message that caused the failure, with the Code 304 field indicating the nature of the failure. 306 Switch ports are described by a 32-bit port number. The switch 307 assigns port numbers and it may typically choose to structure the 308 32 bits into opaque sub-fields that have meaning to the physical 309 structure of the switch (e.g. slot, port). In general, a port in 310 the same physical location on the switch will always have the same 311 port number, even across power cycles. The internal structure of 312 the port number is opaque to the GSMP protocol. However, for the 313 purposes of network management such as logging, port naming, and 314 graphical representation, a switch may declare the physical 315 location (physical slot and port) of each port. Alternatively, 316 this information may be obtained by looking up the product 317 identity in a database. 319 Each switch port also maintains a port session number assigned by 320 the switch. A message, with an incorrect port session number must 321 be rejected. This allows the controller to detect a link failure 322 and to keep state synchronised. 324 Except for the adjacency protocol message, no GSMP messages may be 325 sent across the link until the adjacency protocol has achieved 326 synchronisation, and all GSMP messages received on a link that 327 does not currently have state synchronisation must be discarded. 329 3.1 GSMP Packet Format 331 3.1.1 Basic GSMP Message format 333 All GSMP messages, except the adjacency protocol message, have the 334 following format: 336 0 1 2 3 337 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 338 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 339 | Version | Message Type | Result | Code | 340 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 341 | Partition ID | Transaction Identifier | 342 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 343 |I| SubMessage Number | Length | 344 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 345 | | 346 ~ Message Body ~ 347 | | 348 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 350 (The convention in the documentation of Internet Protocols [5] is 351 to express numbers in decimal. Numbers in hexadecimal format are 352 specified by prefacing them with the characters "0x". Numbers in 353 binary format are specified by prefacing them with the characters 354 "0b". Data is pictured in "big-endian" order. That is, fields are 355 described left to right, with the most significant byte on the 356 left and the least significant byte on the right. Whenever a 357 diagram shows a group of bytes, the order of transmission of those 358 bytes is the normal order in which they are read in English. 359 Whenever an byte represents a numeric quantity the left most bit 360 in the diagram is the high order or most significant bit. That is, 361 the bit labelled 0 is the most significant bit. Similarly, 362 whenever a multi-byte field represents a numeric quantity the left 363 most bit of the whole field is the most significant bit. When a 364 multi-byte quantity is transmitted, the most significant byte is 365 transmitted first. This is the same coding convention as is used 366 in the ATM layer [1] and AAL-5 [2].) 368 Version 369 The version number of the GSMP protocol being used in 370 this session. It should be set by the sender of the 371 message to the GSMP protocol version negotiated by the 372 adjacency protocol. 374 Message Type 375 The GSMP message type. GSMP messages fall into the 376 following classes: Connection Management, Resource 377 Management, Port Management, State and Statistics, 378 Configuration, Quality of Service, Events and messages 379 belonging to an Abstract or Resource Model (ARM) 380 extension. Each class has a number of different message 381 types. In addition, one Message Type is allocated to the 382 adjacency protocol. 384 Result 385 Field in a Connection Management request message, a Port 386 Management request message, or a Quality of Service 387 request message that is used to indicate whether a 388 response is required to the request message if the 389 outcome is successful. A value of "NoSuccessAck" 390 indicates that the request message does not expect a 391 response if the outcome is successful, and a value of 392 "AckAll" indicates that a response is expected if the 393 outcome is successful. In both cases a failure response 394 must be generated if the request fails. For Sate and 395 Statistics, and Configuration request messages, a value 396 of "NoSuccessAck" in the request message is ignored and 397 the request message is handled as if the field were set 398 to "AckAll". (This facility was added to reduce the 399 control traffic in the case where the controller 400 periodically checks that the state in the switch is 401 correct. If the controller does not use this capability, 402 all request messages should be sent with a value of 403 "AckAll.") 405 In a response message the result field can have three 406 values: "Success," "More," and "Failure". The "Success" 407 and "More" results both indicate a success response. All 408 messages that belong to the same success response will 409 have the same Transaction Identifier. The "Success" 410 result indicates a success response that may be 411 contained in a single message or the final message of a 412 success response spanning multiple messages. 414 "More" in the result indicates that the message, either 415 request or response, exceeds the maximum transmission 416 unit of the data link and that one or more further 417 messages will be sent to complete the success response. 419 ReturnReceipt is a results field used in Events to 420 indicate that an acknowledgement is required for the 421 message. The default for Events Messages is that the 422 controller will not acknowledge Events. In the case 423 where a switch requires acknowledgement, it will set the 424 EventAck flag in the header of the Event Message. 426 The encoding of the result field is: 428 NoSuccessAck: Result = 1 429 AckAll: Result = 2 430 Success: Result = 3 431 Failure: Result = 4 432 More: Result = 5 433 ReturnReceipt Result = 6 435 The Result field is not used in an adjacency protocol 436 message. 438 Code 439 Field gives further information concerning the result in 440 a response message. It is mostly used to pass an error 441 code in a failure response but can also be used to give 442 further information in a success response message or an 443 event message. In a request message the code field is 444 not used and is set to zero. In an adjacency protocol 445 message the Code field is used to determine the function 446 of the message. 448 Partition ID 449 Field used to associate the command with a specific 450 switch partition. The format of the Partition ID is not 451 defined in GSMP. If desired, the Partition ID can be 452 divided into multiple sub-identifiers within a single 453 partition. For example: the Partition ID could be 454 subdivided into a 6-bit partition number and a 2-bit 455 sub-identifier which would allow a switch to support 64 456 partitions with 4 available IDs per partition. 458 Transaction Identifier 459 Used to associate a request message with its response 460 message. For request messages the controller may select 461 any transaction identifier. For response messages the 462 transaction identifier is set to the value of the 463 transaction identifier from the message to which it is a 464 response. For event messages the transaction identifier 465 should be set to zero. The Transaction Identifier is not 466 used, and the field is not present, in the adjacency 467 protocol. 469 I flag 470 If I is set then the SubMessage Number field indicates 471 the total number of SubMessage segments that compose the 472 entire message. If it is not set then the SubMessage 473 Number field indicates the sequence number of this 474 SubMessage segment within the whole message. 476 SubMessage Number 477 When a message is segmented because it exceeds the MTU 478 of the link layer, each segment will include a 479 submessage number to indicate its position. 480 Alternatively, if it is the first submessage in a 481 sequence of submessages, the I flag will be set and this 482 filed will contain the total count of submessage 483 segments. 485 Length 486 Message length in bytes including header. 488 3.1.2 Fields commonly found in GSMP messages 490 The following fields are frequently found in GSMP messages. They 491 are defined here to avoid repetition. 493 Port 494 Gives the port number of the switch port to which the 495 message applies. 497 Port Session Number 498 Each switch port maintains a Port Session Number 499 assigned by the switch. The port session number of a 500 port remains unchanged while the port is continuously in 501 the Available state and the link status is continuously 502 Up. When a port returns to the Available state after it 503 has been Unavailable or in any of the Loopback states, 504 or when the line status returns to the Up state after it 505 has been Down or in Test, or after a power cycle, a new 506 Port Session Number must be generated. Port session 507 numbers should be assigned using some form of random 508 number. 510 If the Port Session Number in a request message does not 511 match the current Port Session Number for the specified 512 port, a failure response message must be returned with 513 the Code field indicating, "Invalid port session 514 number." The current port session number for a port may 515 be obtained using a Port Configuration or an All Ports 516 Configuration message. 518 3.1.3 Labels 520 There are two types of labels that are used in GSMP: short labels, 521 which are 28 bits long and TLV labels, which can be of variable 522 length. Additionally, a label field can be composed of many 523 stacked labels that together constitute the label. 525 All Labels will be designated as follow: 527 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 528 |T|S|x|x| Input or Output Label | 529 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 531 T: Label Type Indicator 532 T = 0: Short 28 bit Label 533 T = 1: TLV label 535 Both label types are discussed below in section 3.1.3.1 and 536 section 3.1.3.2. 538 S: Stacked Label Indicator 539 Label Stacking is discussed below in section 3.1.3.3 541 x: Reserved Flags. These are generally used by specific 542 messages and will be defined in those messages. 544 3.1.3.1 Short Labels 546 Whenever a 28-bit label is sufficient, as is the case with ATM, 547 Frame Relay and MPLS, a short label may be used. 549 3.1.3.1.1 ATM Short Labels 551 If a port's attribute PortType=ATM then that port's labels must be 552 interpreted as ATM Labels as shown: 554 0 1 2 3 555 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 556 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 557 |T|S|x|x| VPI | VCI | 558 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 560 For a virtual path connection (switched as a single virtual path 561 connection) or a virtual path (switched as one or more virtual 562 channel connections within the virtual path) the VCI field is not 563 used. 565 ATM distinguishes between virtual path connections and virtual 566 channel connections. The connection management messages apply both 567 to virtual channel connections and virtual path connections. The 568 Add Branch and Move Branch connection management messages have two 569 Message Types. One Message Type indicates that a virtual channel 570 connection is required, and the other Message Type indicates that 571 a virtual path connection is required. The Delete Branches, Delete 572 Tree, and Delete All connection management messages have only a 573 single Message Type because they do not need to distinguish 574 between virtual channel connections and virtual path connections. 575 For virtual path connections, neither Input VCI fields nor Output 576 VCI fields are required. They should be set to zero by the sender 577 and ignored by the receiver. Virtual channel branches may not be 578 added to an existing virtual path connection. Conversely, virtual 579 path branches may not be added to an existing virtual channel 580 connection. In the Port Configuration message each switch input 581 port may declare whether it is capable of supporting virtual path 582 switching (i.e. accepting connection management messages 583 requesting virtual path connections). 585 3.1.3.1.2 Frame Relay Short Labels 587 If a port's attribute PortType=FR then that port's labels must be 588 interpreted as Frame Relay Labels as shown: 590 0 1 2 3 591 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 592 +- - - -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 593 |T|S|x|x| Res |Len| DLCI | 594 +- - - -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 596 The Len field specifies the number of bits of the DLCI. The 597 following values are supported: 599 Len DLCI bits 600 0 10 601 1 17 602 2 23 604 DLCI is the binary value of the Frame Relay Label. The significant 605 number of bits (10, 17, or 23) of the label value is to be encoded 606 into the Data Link Connection Identifier (DLCI) field when part of 607 the Frame Relay data link header [13]. 609 3.1.3.1.3 MPLS Generic Short Labels 610 If a port's attribute PortType=MPLS then that port's labels are 611 for use on links for which label values are independent of the 612 underlying link technology. Example of such links are PPP and 613 Ethernet. On such links the labels are carried in MPLS label 614 stacks [14]. The labels for this PortType must be interpreted as 615 MPLS labels as shown: 617 0 1 2 3 618 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 619 +- - - - - - - - - - - -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 620 |T|S|x|x| | MPLS Label | 621 +- - - - - - - - - - - -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 623 MPLS Label 624 This is a 20-bit label value as specified in [14] 625 represented as a 20-bit number in a 4 byte field. 627 3.1.3.2 TLV Labels 629 When the Label Type Indicator (T flag) is set to 1, the label is 630 TLV (Type, Length and Value) label. A summary of TLV labels 631 supported in this version of the protocol is listed below: 633 TLV Label Type Section Title 635 ATM Label 0x100 ATM TLV Labels 636 FR Label 0x101 Frame Relay TLV Labels 637 MPLS Gen Label 0x102 MPLS Generic TLV Labels 638 FEC Label 0x103 FEC TLV Labels 639 DS3-DS1 Label 0x200 DS3 to DS1 Service TLV Labels 640 E3-E1 Label 0x201 E3 to E1 Service TLV Labels 641 S-DS1 Label 0x202 Structured DS1 Service TLV Labels 642 U-DS1 Label 0x203 Unstructured DS1 Service TLV Labels 643 S-E1 Label 0x204 Structured E1 Service TLV Labels 644 U-E1 Label 0x205 Unstructured E1 Service TLV Labels 646 The form of all TLV labels is as follows: 648 0 1 2 3 649 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 650 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 651 |T|S|x|x| Label Type | Label Length | 652 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 653 | | 654 ~ Label Value ~ 655 | | 656 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 658 Label Type 660 A 12-bit field indicating the type of label. 662 Label Length 664 A 16-bit field indicating the length of label in bytes, padded 665 into a 32-bit word boundary. 667 3.1.3.2.1 ATM TLV Labels 669 If the T bit is set and Label Type = ATM Label, the labels must be 670 interpreted as shown: 672 0 1 2 3 673 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 674 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 675 |T|S|x|x| ATM Label (0x100) | Label Length | 676 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 677 | | VPI | VCI | 678 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 680 The label value field should be interpreted as defined in section 681 "ATM Short Labels". 683 3.1.3.2.2 Frame Relay TLV Labels 685 If the T bit is set and TLV Type = FR Label, the labels must be 686 interpreted as shown: 688 0 1 2 3 689 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 690 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 691 |T|S|x|x| FR Label (0x101) | Label Length | 692 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 693 | | Res |Len| DLCI | 694 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 696 The label value field should be interpreted as defined in 697 section "Frame Relay Short Labels". 699 3.1.3.2.3 MPLS Generic TLV Labels 701 If the T bit is set and Label Type = MPLS Generic Label, the 702 labels must be interpreted as shown: 704 0 1 2 3 705 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 706 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 707 |T|S|x|x| MPLS Gen Label (0x102)| Label Length | 708 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 709 | | MPLS Label | 710 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 712 The label value field should be interpreted as defined in 713 section "MPLS Generic Short Labels". 715 3.1.3.2.4 FEC TLV 717 Labels may be bound to Forwarding Equivalence Classes (FECs) 718 as defined in [19]. In this version of the protocol only 719 Prefix FECs are supported. If the T bit is set and Label Type 720 = FEC Label, the labels must be interpreted as shown: 722 0 1 2 3 723 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 724 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 725 |T|S|x|x| FEC Label (0x103) | Label Length | 726 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 727 |x x x x x x x x| Address Family | Prefix Length | 728 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 729 ~ Prefix ~ 730 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 732 Address Family 734 Two byte quantity containing a value from ADDRESS FAMILY 735 NUMBERS in [5] that encodes the address family for the address 736 prefix in the Prefix field. 738 Prefix Length 740 One byte containing the length in bits of the address prefix 741 that follows. A length of zero indicates a prefix that matches 742 all addresses (the default destination); in this case the 743 Prefix itself is zero bytes. 745 Prefix 747 An address prefix encoded according to the Address Family 748 field, whose length, in bits, was specified in the Prefix 749 Length field, padded to a 32-bit word boundary. 751 3.1.3.2.5 DS3 to DS1 Service TLV Labels 753 If the T bit is set and Label Type = DS3-DS1 Service Label, 754 the labels must be interpreted as shown: 756 0 1 2 3 757 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 758 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 759 |T|S|x|U| DS3-DS1 Label (0x200) | Label Length | 760 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 761 | Channel ID | Time Slots | 762 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 764 This label type represents a DS3 circuit channalized into a DS1 765 channel. 767 U: 769 Indicates when set that the DS1 channel is unstructured, 770 otherwise it is structured. 772 Channel ID: 774 Specifies the DS1 channel identity: 775 DS1 Channel ID's 1-28 777 Time Slots: 779 A variable length bit field indicating the 64k time slots 780 included in the label. The length in bytes was specified in 781 the Label Length field, padded to a 32-bit word boundary. 783 3.1.3.2.6 E3 into E1 Service TLV Labels 785 If the T bit is set and Label Type = E3-E1 Service Label, the 786 labels must be interpreted as shown: 788 0 1 2 3 789 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 790 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 791 |T|S|x|U| E3-E1 Label (0x201) | Label Length | 792 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 793 | Channel ID | Time Slots ~ 794 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 795 ~ Time Slots ~ 796 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 798 This label type represents an E3 circuit channalized into an E1 799 channel. 801 U : 803 Indicates when set that the E1 channel is unstructured, 804 otherwise it is structured. 806 Channel ID: 808 Specifies the E1 channel identity: 809 E1 Channel ID's 1-16 811 Time Slots: 813 A variable length bit field indicating the 64k time slots 814 included in the label. The length in bytes was specified in 815 the Label Length field, padded to a 32-bit word boundary. 817 3.1.3.2.7 Structured DS1 Service TLV Labels 819 If the T bit is set and Label Type = S-DS1 Label, the labels 820 must be interpreted as shown: 822 0 1 2 3 823 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 824 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 825 |T|S|x|x| S-DS1 Label (0x202) | Label Length | 826 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 827 | Time Slots | 828 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 830 Time Slots: 832 A variable length bit field indicating the 64k time slots 833 included in the label. The length in bytes was specified in 834 the Label Length field, padded to a 32-bit word boundary. 836 3.1.3.2.8 Unstructured DS1 Service TLV Labels 838 If the T bit is set and Label Type = E3-E1 Service Label, the 839 labels must be interpreted as shown: 841 0 1 2 3 842 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 843 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 844 |T|S|x|x| U-DS1 Label (0x203) | Label Length | 845 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 846 | Time Slots | 847 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 849 Time Slots: 851 A variable length bit field indicating the 64k time slots 852 included in the label. The length in bytes was specified in 853 the Label Length field, padded to a 32-bit word boundary. 855 3.1.3.2.9 Structured E1 Service TLV Labels 857 If the T bit is set and Label Type = S-E1 Label, the labels 858 must be interpreted as shown: 860 0 1 2 3 861 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 862 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 863 |T|S|x|x| S-E1 Label (0x204) | Label Length | 864 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 865 | Time Slots | 866 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 868 Time Slots: 870 A variable length bit field indicating the 64k time slots 871 included in the label. The length in bytes was specified in 872 the Label Length field, padded to a 32-bit word boundary. 874 3.1.3.2.10 Unstructured E1 Service TLV Labels 876 If the T bit is set and Label Type = U-E1 Label, the labels 877 must be interpreted as shown: 879 0 1 2 3 880 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 881 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 882 |T|S|x|x| U-E1 Label (0x204) | Label Length | 883 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 884 | Time Slots | 885 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 887 Time Slots: 889 A variable length bit field indicating the 64k time slots 890 included in the label. The length in bytes was specified in 891 the Label Length field, padded to a 32-bit word boundary. 893 3.1.3.3 Label Stacking 895 Label stacking is a technique used in MPLS that allows 896 hierarchical labelling. MPLS label stacking is similar to, but 897 subtly different from, the VPI/VCI hierarchy of labels in ATM. 898 There is no set limit to the depth of label stacks that can be 899 used in GSMP. 901 When the Stacked Label Indicator S is set to 1 it indicates that 902 an additional label field will be appended to the adjacent label 903 field. For example, a stacked Input Short Label could be 904 designated as follows: 906 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 907 |T|S|x|x| Input Label | 908 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 909 ** ~T|S|x|x| Stacked Input Label ~ 910 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 912 ** Note: There can be zero or more Stacked Labels fields (like 913 those marked **) following an Input or Output Label field. 914 A Stacked Label follows the previous label field if and 915 only if the S Flag in the previous label is set. 917 When a label is extended by stacking, it is treated by the 918 protocol as a single extended label, and all operations on that 919 label are atomic. For example, in an add branch message, the 920 entire input label is switched for the entire output label. 921 Likewise in a Move Input Branch and Move Output Branch messages, 922 the entire label is swapped. For that reason, in all messages 923 that designate a label field it will be depicted as a single 32- 924 bit value, though it might be instantiated by many 32-bit values 925 in practice. 927 3.1.3.4 Additional General Message Information 929 1. Any field in a GSMP message that is unused or defined as 930 "reserved" must be set to zero by the sender and ignored by the 931 receiver. 933 2. Flags that are undefined will be designated as: 934 x: reserved 936 3. It is not an error for a GSMP message to contain additional 937 data after the end of the Message Body. This is allowed to 938 support proprietary and experimental purposes. However, the 939 maximum transmission unit of the GSMP message, as defined by 940 the data link layer encapsulation, must not be exceeded. 942 4. A success response message must not be sent until the requested 943 operation has been successfully completed. 945 3.1.4 Failure Response Messages 947 A failure response message is formed by returning the request 948 message that caused the failure with the Result field in the 949 header indicating failure (Result = 4) and the Code field giving 951 the failure code. The failure code specifies the reason for the 952 switch being unable to satisfy the request message. 954 If the switch issues a failure response in reply to a request 955 message, no change should be made to the state of the switch as a 956 result of the message causing the failure. (For request messages 957 that contain multiple requests, such as the Delete Branches 958 message, the failure response message will specify which requests 959 were successful and which failed. The successful requests may 960 result in changed state.) 962 If the switch issues a failure response it must choose the most 963 specific failure code according to the following precedence: 965 - Invalid Message 967 - General Message Failure 969 - Specific Message Failure A failure response specified in the 970 text defining the message type. 972 - Connection Failures 974 - Virtual Path Connection Failures 976 - Multicast Failures 978 - QoS Failures 980 - General Failures 982 If multiple failures match in any of the categories, the one that 983 is listed first should be returned. Descriptions of the Failure 984 response messages can be found in section 12. 986 4. Connection Management Messages 988 4.1 General Message Definitions 990 Connection management messages are used by the controller to 991 establish, delete, modify and verify connections across the 992 switch. The Add Branch, Delete Tree, and Delete All connection 993 management messages have the following format for both request and 994 response messages: 996 0 1 2 3 997 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 998 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 999 | Version | Message Type | Result | Code | 1000 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1001 | Partition ID | Transaction Identifier | 1002 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1003 |I| SubMessage Number | Length | 1004 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1005 | Port Session Number | 1006 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1007 | Reservation ID | 1008 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1009 | Input Port | 1010 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1011 |T|S|x|x| Input Label | 1012 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1013 | Input Service Selector | 1014 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1015 | Output Port | 1016 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1017 |T|S|x|x| Output Label | 1018 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1019 | Output Service Selector | 1020 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1021 |IQS|OQS|P|x|N|O| Adaptation Method | 1022 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1024 When required, the Add Branch, Move Input Branch and Move 1025 Output Branch messages have an additional, variable length 1026 data block appended to the above message. This will be 1027 required when indicated by the IQS and OQS flags (if they 1028 are set to 0b10) and the service selector. The additional 1029 data block has the following form: 1031 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1032 | Input TC Flags| Reserved | 1033 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1034 | | 1035 ~ Traffic Parameters Block ~ 1036 | | 1037 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1038 |Output TC Flags| Reserved | 1039 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1040 | | 1041 ~ Traffic Parameters Block ~ 1042 | | 1043 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1045 Note: Field and Parameters that have been explained in the 1046 description of the general messages will not be explained 1047 in this section. Please refer to section 3.1 for details. 1049 Input Port 1050 Identifies a switch input port. 1052 Reservation ID 1053 Identifies the reservation that must be deployed for the 1054 branch being added. Reservations are established using 1055 reservation management messages (see Chapter 5). A value 1056 of zero indicates that no Reservation is being deployed 1057 for the branch. If a reservation with a corresponding 1058 Reservation ID exists then the reserved resources must 1059 be applied to the branch. If the numerical value of 1060 Reservation ID is greater than the value of Max 1061 Reservations (from the Switch Configuration message), a 1062 failure response is returned indicating "Reservation ID 1063 out of Range." If the value of Input Port differs from 1064 the input port specified in the reservation or if the 1065 value of Output Port differs from the output port 1066 specified in the reservation, a failure response must be 1067 returned indicating "Mismatched reservation ports." If 1068 no reservation corresponding to Reservation ID exists, a 1069 failure response must be returned indicating "Non- 1070 existent reservation." 1072 If a valid Reservation ID is specified and the Service 1073 Model is used (i.e. IQS/OQS=0b10) then the Traffic 1074 Parameters Block may be omitted from the Add Branch 1075 message indicating that the Traffic Parameters specified 1076 in the corresponding Reservation Request message are to 1077 be used. 1079 Input Label 1080 Identifies an incoming labelled channel arriving at the 1081 switch input port indicated by the Input Port field. The 1082 value in the Input Label field must be interpreted 1083 according to the Label Type attribute of the switch 1084 input port indicated by the Input Port field. 1086 Output Port 1087 Identifies a switch output port. 1089 Output Label 1090 Identifies an outgoing labelled channel departing at the 1091 switch output port indicated by the Output Port field. 1092 The value in the Output Label field must be interpreted 1093 according to the Label Type attribute of the switch 1094 input port indicated by the Output Port field 1096 IQS, OQS 1097 Input and Output QoS Model Selector: 1098 The QoS Model Selector is used to specify a QoS Model 1099 for the connection. The value of IQS/OQS indicates the 1100 interpretation for both the Input Service Selector or 1101 the Output Service Selector and should be interpreted as 1102 a priority, a QoS profile a service specification or an 1103 ARM specification as shown: 1105 IQS/OQS QoS Model Service Selector 1106 --- --------- ---------------- 1107 00 Simple Abstract Model Priority 1108 01 QoS Profile Model QoS Profile 1109 10 Service Model Service Specification 1110 11 Optional ARM ARM Specification 1112 P Flag 1113 If the Parameter flag is set it indicates that a single 1114 instance of the Traffic Parameter block is provided. 1115 This occurs in cases where the Input Traffic Parameters 1116 are identical to Output Traffic Parameters. 1118 B Flag 1119 The B flag is used to indicate whether bandwidth 1120 allocation is in use. Details on the use of the B flag 1121 can be found in section 1123 N Flag 1124 The Null flag is used to indicate a null adaptation 1125 method. This occurs when the branch is connecting two 1126 ports of the same type. 1128 O Flag 1129 The Opaque flag indicate whether the adaptation flag is 1130 opaque, or whether it is defined by the protocol. 1132 Adaptation Method 1133 The adaptation method is used to define the adaptation 1134 framing that may be in use when moving traffic from one 1135 port type to another port type; e.g. from a frame relay 1136 port to an ATM port. 1137 The content of this field is defined by the Opaque flag. 1138 If the Opaque flag is set, then this field is defined by 1139 the switch manufacturer and is not defined in this 1140 protocol. If the opaque flag is not set, the field is 1141 divided into two 12-bit fields as follows: 1142 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1143 |IQS|OQS|P|x|N|O| Input Adaptation | Output Adaptation | 1144 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1145 Input Adaptation 1146 Adaptation framing method used on incoming connections. 1147 Output Adaptation 1148 Adaptation framing method used on outgoing connections. 1149 Adaptation Types: 1151 0x100 PPP 1152 0x200 FRF.5 1153 0x201 FRF.8 1155 Input and Output TC Flags 1156 TC (Traffic Control) Flags are used in Add Branch, Move 1157 Input Branch and Move Output Branch messages for 1158 connections using the Service Model (i.e. when 1159 IQS/OQS=0b10). The TC Flags field is defined in Section 1160 10.6. 1162 Input and Output Traffic Parameters Block 1163 This variable length field is used in Add Branch, Move 1164 Input Branch and Move Output Branch messages for 1165 connections using the Service Model (i.e. when 1166 IQS/OQS=0b10). Traffic Parameters Block is defined in 1167 Section 10.5. The Traffic Parameters Block may be 1168 omitted if a valid, non-zero Reservation ID is 1169 specified, in which case the Traffic Parameters of the 1170 corresponding Reservation Request message are used. If 1171 the P flag is set, then the appended message block will 1172 only include a single traffic parameter block which will 1173 be used for both input and output traffic. 1175 For all connection management messages, except the Delete Branches 1176 message, the success response message is a copy of the request 1177 message returned with the Result field indicating success and the 1178 Number of Branches field indicating the number of branches on the 1179 connection after completion of the operation. The Code field is 1180 not used in a connection management success response message. 1182 The failure response message is a copy of the request message 1183 returned with a Result field indicating failure and the Number of 1184 Branches field indicating the number of branches on the 1185 connection. 1187 Fundamentally, no distinction is made between point-to-point and 1188 point-to-multipoint connections. By default, the first Add Branch 1189 message for a particular Input Port and Input Label will establish 1190 a point-to-point connection. The second Add Branch message with 1191 the same Input Port and Input Label fields will convert the 1192 connection to a point-to-multipoint connection with two branches. 1193 However, to avoid possible inefficiency with some switch designs, 1194 the Multicast Flag is provided. If the controller knows that a new 1195 connection is point-to-multipoint when establishing the first 1196 branch, it may indicate this in the Multicast Flag. Subsequent Add 1197 Branch messages with the same Input Port and Input Label fields 1198 will add further branches to the point-to-multipoint connection. 1199 Use of the Delete Branch message on a point-to-multipoint 1200 connection with two branches will result in a point-to-point 1201 connection. However, the switch may structure this connection as a 1202 point-to-multipoint connection with a single output branch if it 1203 chooses. (For some switch designs this structure may be more 1204 convenient.) Use of the Delete Branch message on a point-to-point 1205 connection will delete the point-to-point connection. There is no 1206 concept of a connection with zero output branches. All connections 1207 are unidirectional, one input labelled channel to one or more 1208 output labelled channels. 1210 In GSMP a multipoint-to-point connection is specified by 1211 establishing multiple point-to-point connections each of them 1212 specifying the same output branch. (An output branch is specified 1213 by an output port and output label.) 1215 The connection management messages may be issued regardless of the 1216 Port Status of the switch port. Connections may be established or 1217 deleted when a switch port is in the Available, Unavailable, or 1218 any of the Loopback states. However, all connection state on an 1219 input port will be deleted when the port returns to the Available 1220 state from any other state, i.e. when a Port Management message is 1221 received for that port with the Function field indicating either 1222 Bring Up, or Reset Input Port. 1224 4.2 Add Branch Message 1226 The Add Branch message is a connection management message used to 1227 establish a connection or to add an additional branch to an 1228 existing connection. It may also be used to check the connection 1229 state stored in the switch. The connection is specified by the 1230 Input Port and Input Label fields. The output branch is specified 1231 by the Output Port and Output Label fields. The quality of service 1232 requirements of the connection are specified by the QoS Model 1233 Selector and Service Selector fields. To request a connection the 1234 Add Branch message is: 1236 Message Type = 16 1238 0 1 2 3 1239 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 1240 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1241 | Version | Message Type | Result | Code | 1242 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1243 | Partition ID | Transaction Identifier | 1244 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1245 |I| SubMessage Number | Length | 1246 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1247 | Port Session Number | 1248 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1249 | Reservation ID | 1250 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1251 | Input Port | 1252 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1253 |T|S|M|B| Input Label | 1254 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1255 | Input Service Selector | 1256 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1257 | Output Port | 1258 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1259 |T|S|M|R| Output Label | 1260 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1261 | Output Service Selector | 1262 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1263 |IQS|OQS|P|x|N|O| Adaptation Method | 1264 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1266 When the value of either IQS or OQS is set to 0b10 then the 1267 following Traffic Parameters Block is appended to the above 1268 message: 1270 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1271 |Input TC Flags | Reserved | 1272 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1273 | | 1274 ~ Input Traffic Parameters Block ~ 1275 | | 1276 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1277 |Output TC Flags| Reserved | 1278 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1279 | | 1280 ~ Output Traffic Parameters Block ~ 1281 | | 1282 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1284 Note: Field and Parameters that have been explained in the 1285 description of the general connection message will not be 1286 explained in this section. Please refer to section 4.1for 1287 details. 1289 M: Multicast 1290 Multicast flags are used as a hint for point-to- 1291 multipoint or multipoint-to-point connections in the 1292 Add Branch message. They are not used in any other 1293 connection management messages and in these messages 1294 they should be set to zero. There are two instances of 1295 the M-bit in the Add Branch message; one for input 1296 branch specified by the Input Port and Input Label 1297 fields and one for the output branch specified by the 1298 Output Port and Output Label fields. If set for the 1299 input branch (in front of Input Label field), it 1300 indicates that the connection is very likely to be a 1301 point-to-multipoint connection. If zero, it indicates 1302 that this connection is very likely to be a point-to- 1303 point connection or is unknown. If set for the output 1304 branch (in front of the Output Label field), it 1305 indicates that the connection is very likely to be a 1306 multipoint-to-point connection. If zero, it indicates 1307 that this connection is very likely to be a point-to- 1308 point connection or is unknown. 1310 The Multicast flags are only used in the Add Branch 1311 message when establishing the first branch of a new 1312 connection. It is not required to be set when 1313 establishing subsequent branches of a point-to- 1314 multipoint or a multipoint-to-point connection and on 1315 such connections it should be ignored by the receiver. 1316 (Except in cases where the connection replace bit is 1317 enabled and set, the receipt of the second and 1318 subsequent Add Branch messages the receiver indicates 1319 a point-to-multipoint or a multipoint-to-point 1320 connection.) If it is known that this is the first 1321 branch of a point-to-multipoint or a multipoint-to- 1322 point connection this flag should be set. If it is 1323 unknown, or if it is known that the connection is 1324 point-to-point this flag should be zero. The use of 1325 the multicast flag is not mandatory and may be ignored 1326 by the switch. If unused the flags should be set to 1327 zero. Some switches use a different data structure for 1328 multicast connections than for point-to-point 1329 connections. These flags prevent the switch from 1330 setting up a point-to-point structure for the first 1331 branch of a multicast connection that must immediately 1332 be deleted and reconfigured as point-to-multipoint or 1333 multipoint-to-point when the second branch is 1334 established. 1336 If M flags are set for input as well as output branch 1337 it indicates that the connection is very likely to be 1338 a multipoint-to-multipoint connection. 1340 B: Bi-directional 1341 The Bi-directional flag applies only to the Add Branch 1342 message. In all other Connection Management messages it 1343 is not used. It may only be used when establishing a 1344 point- to-point connection. The Bi-directional flag in 1345 an Add Branch message, if set, requests that two 1346 unidirectional connections be established, one in the 1347 forward direction, and one in the reverse direction. It 1348 is equivalent to two Add Branch messages, one specifying 1349 the forward direction, and one specifying the reverse 1350 direction. The forward direction uses the values of 1351 Input Port, Input Label, Output Port and Output Label as 1352 specified in the Add Branch message. The reverse 1353 direction is derived by exchanging the values specified 1354 in the Input Port and Input Label fields, with those of 1355 the Output Port and Output Label fields respectively. 1356 Thus, a connection in the reverse direction arrives at 1357 the input port specified by the Output Port field, on 1358 the label specified by the Output Label field. It 1359 departs from the output port specified by the Input Port 1360 field, on the label specified by the Input Label field. 1362 The Bi-directional flag is simply a convenience to 1363 establish two unidirectional connections in opposite 1364 directions between the same two ports, with identical 1365 Labels, using a single Add Branch message. In all future 1366 messages the two unidirectional connections must be 1367 handled separately. There is no bi-directional delete 1368 message. However, a single Delete Branches message with 1369 two Delete Branch Elements, one for the forward 1370 connection and one for the reverse, may be used. 1372 R: Connection Replace 1373 The Connection Replace flag applies only to the Add 1374 Branch message and is not used in any other Connection 1375 Management messages. The R flag is used in cases when 1376 creation of multipoint-to-point connections is 1377 undesirable (e.g. POTS applications where fan-in is 1378 meaningless). If the R flag is set, the new connection 1379 replaces any existing connection if there is a clashing 1380 output branch (defined as Output Port and Output Label). 1382 The Connection Replace mechanism allows a single Add 1383 Connection command to function as either a Move Branch 1384 message or a combination of Delete Branch/Add Branch 1385 messages. This mechanism is provided to support existing 1386 64k call handling applications. 1388 The use of R flag is optional and must be pre-configured 1389 in Port Management message [see section 6.1] to activate 1390 its use. It is an error to use the R flag if it is 1391 not pre-configured with the Port Management message. The 1392 switch must then return a Failure Response message "36: 1393 Replace of connection is not activated on switch". 1394 Information about whether the function is active or not, 1395 can be obtained by using the Port Configuration message 1396 [see section 8.2]. 1398 The R flag MUST not be used in conjunction with either 1399 the M flag or the B flag. If a switch receives a Add 1400 connection request that has the R flag set with either 1401 the B or the M flag set, it MUST return a failure 1402 response message of: " 37: Connection replacement mode 1403 cannot be combined with Bi-directional or Multicast 1404 mode" 1406 If the connection specified by the Input Port and Input Label 1407 fields does not already exist, it must be established with the 1408 single output branch specified in the request message. If the Bi- 1409 directional Flag in the Flags field is set, the reverse connection 1410 must also be established. The output branch should have the QoS 1411 attributes specified by the Class of Service field. 1413 If the connection specified by the Input Port and Input Label 1414 fields already exists and the R flag is not set, but the specified 1415 output branch does not, the new output branch must be added. The 1416 new output branch should have the QoS attributes specified by the 1417 Class of Service field. 1419 If the connection specified by the Input Port and Input Label 1420 fields already exists and the specified output branch also already 1421 exists, the QoS attributes of the connection, specified by the 1422 Class of Service field, if different from the request message, 1423 should be changed to that in the request message. A success 1424 response message must be sent if the Result field of the request 1425 message is "AckAll". This allows the controller to periodically 1426 reassert the state of a connection or to change its priority. If 1427 the result field of the request message is "NoSuccessAck" a 1428 success response message should not be returned. This may be used 1429 to reduce the traffic on the control link for messages that are 1430 reasserting previously established state. For messages that are 1431 reasserting previously established state, the switch must always 1432 check that this state is correctly established in the switch 1433 hardware (i.e. the actual connection tables used to forward cells 1434 or frames). 1436 If the connection specified by the Input Port and Input Label 1437 fields already exists, and the Bi-directional Flag in the Flags 1438 field is set, a failure response must be returned indicating: 1439 "Only point-to-point bi-directional connections may be 1440 established." 1442 It should be noted that different switches support multicast in 1443 different ways. There will be a limit to the total number of 1444 point- to-multipoint or multipoint-to-point connections any switch 1445 can support, and possibly a limit on the maximum number of 1446 branches that a point-to-multipoint or multipoint-to-point 1447 connection may specify. Some switches also impose a limit on the 1448 number of different Label values that may be assigned e.g. to the 1449 output branches of a point-to-multipoint connection. Many switches 1450 are incapable of supporting more than a single branch of any 1451 particular point-to-multipoint connection on the same output port. 1452 Specific failure codes are defined for some of these conditions. 1454 4.2.1 ATM specific procedures: 1456 To request an ATM virtual path connection the ATM Virtual 1457 Path Connection (VPC) Add Branch message is: 1459 Message Type = 26 1461 An ATM virtual path connection can only be established 1462 between ATM ports, i.e. ports with the "ATM" Label Type 1463 attribute. If an ATM VPC Add Branch message is received and 1464 either the switch input port specified by the Input Port 1465 field or the switch output port specified by the Output 1466 Port field is not an ATM port, a failure response message 1467 must be returned indicating, "Virtual path switching is not 1468 supported on non-ATM ports." 1470 If an ATM VPC Add Branch message is received and the switch 1471 input port specified by the Input Port field does not 1472 support virtual path switching, a failure response message 1473 must be returned indicating, "Virtual path switching is not 1474 supported on this input port." 1476 If an ATM virtual path connection already exists on the 1477 virtual path specified by the Input Port and Input VPI 1478 fields, a failure response message must be returned 1479 indicating, "Attempt to add a virtual channel connection 1480 branch to an existing virtual path connection." For the VPC 1481 Add Branch message, if a virtual channel connection already 1482 exists on any of the virtual channels within the virtual 1483 path specified by the Input Port and Input VPI fields, a 1484 failure response message must be returned indicating, 1485 "Attempt to add a virtual path connection branch to an 1486 existing virtual channel connection." 1488 4.3 Delete Tree Message 1490 The Delete Tree message is a Connection Management message used to 1491 delete an entire connection. All remaining branches of the 1492 connection are deleted. A connection is defined by the Input Port 1493 and the Input Label fields. The Output Port and Output Label 1494 fields are not used in this message. The Delete Tree message is: 1496 Message Type = 18 1498 If the Result field of the request message is "AckAll" a success 1499 response message must be sent upon successful deletion of the 1500 specified connection. The success message must not be sent until 1501 the delete operation has been completed and if possible, not until 1502 all data on the connection, queued for transmission, has been 1503 transmitted. The Number of Branches field is not used in either 1504 the request or response messages of the Delete Tree message. 1506 4.4 Verify Tree Message 1508 The Verify Tree message has been removed from this version of 1509 GSMP. Its function has been replaced by the Number of Branches 1510 field in the success response to the Add Branch message that 1511 contains the number of branches on a connection after successful 1512 completion of an Add Branch operation. 1514 Message Type = 19 1516 If a request message is received with Message Type = 19 a failure 1517 response must be returned with the Code field indicating: "The 1518 specified request is not implemented in this version of the 1519 protocol." 1521 4.5 Delete All Input Port Message 1523 The Delete All Input Port message is a connection management 1524 message used to delete all connections on a switch input port. All 1525 connections that arrive at the specified input port must be 1526 deleted. On completion of the operation all dynamically assigned 1527 Label values for the specified port must be unassigned, i.e. there 1528 must be no connections established in the Label space that GSMP 1529 controls on this port. The Service Selectors, Output Port, Input 1530 Label and Output Label fields are not used in this message. The 1531 Delete All Input Port message is: 1533 Message Type = 20 1535 If the Result field of the request message is "AckAll" a success 1536 response message must be sent upon completion of the operation. 1537 The Number of Branches field is not used in either the request or 1538 response messages of the Delete All Input Port message. The 1539 success response message must not be sent until the operation has 1540 been completed. 1542 The following failure response messages may be returned to a 1543 Delete All Input Port request. 1545 The specified request is not implemented on this switch. 1547 One or more of the specified ports does not exist. 1549 Invalid Port Session Number. 1551 If any field in a Delete All Input Port message not covered by the 1552 above failure codes is invalid, a failure response must be 1553 returned indicating: "Invalid request message." Else, the Delete 1554 All Input Port operation must be completed successfully and a 1555 success message returned. No other failure messages are permitted. 1557 4.6 Delete All Output Port Message 1559 The Delete All message is a connection management message used to 1560 delete all connections on a switch output port. All connections 1561 that have the specified output port must be deleted. On 1562 completion of the operation all dynamically assigned Label values 1563 for the specified port must be unassigned, i.e. there must be no 1564 connections established in the Label space that GSMP controls on 1565 this port. The Service Selectors, Input Port, Input Label and 1566 Output Label fields are not used in this message. The Delete All 1567 Output Port message is: 1569 Message Type = 21 1571 If the Result field of the request message is "AckAll" a success 1572 response message must be sent upon completion of the operation. 1573 The Number of Branches field is not used in either the request or 1574 response messages of the Delete All Output Port message. The 1575 success response message must not be sent until the operation has 1576 been completed. 1578 The following failure response messages may be returned to a 1579 Delete All Output Port request. 1581 The specified request is not implemented on this switch. 1583 One or more of the specified ports does not exist. 1585 Invalid Port Session Number. 1587 If any field in a Delete All Output Port message not covered by 1588 the above failure codes is invalid, a failure response must be 1589 returned indicating: "Invalid request message." Else, the delete 1590 all operation must be completed successfully and a success message 1591 returned. No other failure messages are permitted. 1593 4.7 Delete Branches Message 1595 The Delete Branches message is a connection management message 1596 used to request one or more delete branch operations. Each delete 1597 branch operation deletes a branch of a channel, or in the case of 1598 the last branch of a connection, it deletes the connection. The 1599 Delete Branches message is: 1601 Message Type = 17 1603 The request message has the following format: 1605 0 1 2 3 1606 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 1607 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1608 | Version | Message Type | Result | Code | 1609 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1610 | Partition ID | Transaction Identifier | 1611 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1612 |I| SubMessage Number | Length | 1613 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1614 | Reserved | Number of Elements | 1615 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1616 | | 1617 ~ Delete Branch Elements ~ 1618 | | 1619 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1621 Note: Field and Parameters that have been explained in the 1622 description of the general connection message will not be 1623 explained in this section. Please refer to section 4.1for 1624 details. 1626 Number of Elements 1627 Specifies the number of Delete Branch Elements to follow 1628 in the message. The number of Delete Branch Elements in 1629 a Delete Branches message must not cause the packet 1630 length to exceed the maximum transmission unit defined 1631 by the encapsulation. 1633 Each Delete Branch Element specifies a branch to be deleted and 1634 has the following structure: 1636 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1637 | Error | Reserved | Element Length| | 1638 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1639 | Port Session Number | 1640 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1641 | Input Port | 1642 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1643 |T|S|x|x| Input Label | 1644 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1645 | Output Port | 1646 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1647 |T|S|x|x| Output Label | 1648 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1650 Note: Field and Parameters that have been explained in the 1651 description of the general connection message will not be 1652 explained in this section. Please refer to section 4.1for 1653 details. 1655 Error 1656 Is used to return a failure code indicating the reason 1657 for the failure of a specific Delete Branch Element in a 1658 Delete Branches failure response message. The Error 1659 field is not used in the request message and must be set 1660 to zero. A value of zero is used to indicate that the 1661 delete operation specified by this Delete Branch Element 1662 was successful. Values for the other failure codes are 1663 specified in Section 3.2, "Failure Response Messages." 1665 All other fields of the Delete Branch Element have the 1666 same definition as specified for the other connection 1667 management messages. 1669 In each Delete Branch Element, a connection is specified by the 1670 Input Port and Input Label fields. The specific branch to be 1671 deleted is indicated by the Output Port and Output Label fields. 1673 If the Result field of the Delete Branches request message is 1674 "AckAll" a success response message must be sent upon successful 1675 deletion of the branches specified by all of the Delete Branch 1676 Elements. The success response message must not be sent until all 1677 of the delete branch operations have been completed. The success 1678 response message is only sent if all of the requested delete 1679 branch operations were successful. No Delete Branch Elements are 1680 returned in a Delete Branches success response message and the 1681 Number of Elements field must be set to zero. 1683 If there is a failure in any of the Delete Branch Elements a 1684 Delete Branches failure response message must be returned. The 1685 Delete Branches failure response message is a copy of the request 1686 message with the Code field of the entire message set to "General 1687 Message Failure" and the Error field of each Delete Branch Element 1688 indicating the result of each requested delete operation. A 1689 failure in any of the Delete Branch Elements must not interfere 1690 with the processing of any other Delete Branch Elements. 1692 4.8 Move Output Branch Message 1694 The Move Output Branch message is used to move a branch of an 1695 existing connection from its current output port label to a new 1696 output port label in a single atomic transaction. The Move Output 1697 Branch connection management message has the following format for 1698 both request and response messages: 1699 0 1 2 3 1700 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 1701 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1702 | Version | Message Type | Result | Code | 1703 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1704 | Partition ID | Transaction Identifier | 1705 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1706 |I| SubMessage Number | Length | 1707 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1708 | Port Session Number | 1709 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1710 | Input Port | 1711 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1712 |T|S|x|x| Input Label | 1713 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1714 | Service Selector | 1715 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1716 | Old Output Port | 1717 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1718 |T|S|x|x| Old Output Label | 1719 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1720 | New Output Port | 1721 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1722 |T|S|x|x| New Output Label | 1723 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1724 | Service Selector | 1725 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1726 |IQS|OQS|P|x|N|O| Adaptation Method | 1727 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1729 When the value of either IQS or OQS is set to 0b10 then the 1730 following Traffic Parameters Block is appended to the above 1731 message: 1733 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1734 |Input TC Flags | Reserved | 1735 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1736 | | 1737 ~ Input Traffic Parameters Block ~ 1738 | | 1739 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1740 |Output TC Flags| Reserved | 1741 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1742 | | 1743 ~ Output Traffic Parameters Block ~ 1744 | | 1745 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1747 Note: Field and Parameters that have been explained in the 1748 description of the general connection message will not be 1749 explained in this section. Please refer to section 4.1for 1750 details. 1752 The Move Output Branch message is a connection management message 1753 used to move a single output branch of connection from its current 1754 output port and Output Label, to a new output port and Output 1755 Label on the same connection. None of the connection's other 1756 output branches are modified. When the operation is complete the 1757 original Output Label on the original output port will be deleted 1758 from the connection. 1760 The Move Output Branch message is: 1762 Message Type = 22 1764 For the Move Output Branch message, if the connection specified by 1765 the Input Port and Input Label fields already exists, and the 1766 output branch specified by the Old Output Port and Old Output 1767 Label fields exists as a branch on that connection, the output 1768 branch specified by the New Output Port and New Output Label 1769 fields is added to the connection and the branch specified by the 1770 Old Output Port and Old Output Label fields is deleted. If the 1771 Result field of the request message is "AckAll" a success response 1772 message must be sent upon successful completion of the operation. 1773 The success response message must not be sent until the Move 1774 Branch operation has been completed. 1776 For the Move Output Branch message, if the connection specified by 1777 the Input Port and Input Label fields already exists, but the 1778 output branch specified by the Old Output Port and Old Output 1779 Label fields does not exist as a branch on that connection, a 1780 failure response must be returned with the Code field indicating, 1781 "The specified branch does not exist." 1783 4.8.1 ATM Specific Procedures: 1785 The ATM VPC Move Output Branch message is a connection management 1786 message used to move a single output branch of a virtual path 1787 connection from its current output port and output VPI, to a new 1788 output port and output VPI on the same virtual channel connection. 1789 None of the other output branches are modified. When the operation 1790 is complete the original output VPI on the original output port 1791 will be deleted from the connection. 1793 The VPC Move Branch message is: 1795 Message Type = 27 1797 For the VPC Move Output Branch message, if the virtual path 1798 connection specified by the Input Port and Input VPI fields 1799 already exists, and the output branch specified by the Old Output 1800 Port and Old Output VPI fields exists as a branch on that 1801 connection, the output branch specified by the New Output Port and 1802 New Output VPI fields is added to the connection and the branch 1803 specified by the Old Output Port and Old Output VPI fields is 1804 deleted. If the Result field of the request message is "AckAll" a 1805 success response message must be sent upon successful completion 1806 of the operation. The success response message must not be sent 1807 until the Move Branch operation has been completed. 1809 For the VPC Move Output Branch message, if the virtual path 1810 connection specified by the Input Port and Input VPI fields 1811 already exists, but the output branch specified by the Old Output 1812 Port and Old Output VPI fields does not exist as a branch on that 1813 connection, a failure response must be returned with the Code 1814 field indicating, "The specified branch does not exist." 1816 If the virtual channel connection specified by the Input Port and 1817 Input Label fields; or the virtual path connection specified by 1818 the Input Port and Input VPI fields; does not exist, a failure 1819 response must be returned with the Code field indicating, "The 1820 specified connection does not exist." 1822 If the output branch specified by the New Output Port, New Output 1823 VPI, and New Output VCI fields for a virtual channel connection; 1824 or the output branch specified by the New Output Port and New 1825 Output VPI fields for a virtual path connection; is already in use 1826 by any connection other than that specified by the Input Port and 1827 Input Label fields then the resulting output branch will have 1828 multiple input branches. If multiple point-to-point connections 1829 share the same output branch the result will be a multipoint-to- 1830 point connection. If multiple point-to-multipoint trees share the 1831 same output branches the result will be a multipoint-to-multipoint 1832 connection. 1834 4.9 Move Input Branch Message 1836 The Move Input Branch message is used to move a branch of an 1837 existing connection from its current input port label to a new 1838 input port label in a single atomic transaction. The Move Input 1839 Branch connection management message has the following format for 1840 both request and response messages: 1842 0 1 2 3 1843 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 1844 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1845 | Version | Message Type | Result | Code | 1846 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1847 | Partition ID | Transaction Identifier | 1848 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1849 |I| SubMessage Number | Length | 1850 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1851 | Port Session Number | 1852 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1853 | Output Port | 1854 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1855 |T|S|x|x| Output Label | 1856 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1857 | Service Selector | 1858 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1859 | Old Input Port | 1860 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1861 |T|S|x|x| Old Input Label | 1862 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1863 | New Input Port | 1864 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1865 |T|S|x|x| New Input Label | 1866 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1867 | Service Selector | 1868 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1869 |IQS|OQS|P|x|N|O| Adaptation Method | 1870 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1872 When the value of either IQS or OQS is set to 0b10 then the 1873 following Traffic Parameters Block is appended to the above 1874 message: 1876 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1877 |Input TC Flags | Reserved | 1878 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1879 | | 1880 ~ Input Traffic Parameters Block ~ 1881 | | 1882 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1883 |Output TC Flags| Reserved | 1884 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1885 | | 1886 ~ Output Traffic Parameters Block ~ 1887 | | 1888 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1890 Note: Field and Parameters that have been explained in the 1891 description of the general connection message will not be 1892 explained in this section. Please refer to section 4.1for 1893 details. 1895 The Move Input Branch message is a connection management message 1896 used to move a single input branch of connection from its current 1897 input port and Input Label, to a new input port and Input Label on 1898 the same connection. None of the connection's other input branches 1899 are modified. When the operation is complete the original Input 1900 Label on the original input port will be deleted from the 1901 connection. 1903 The Move Input Branch message is: 1905 Message Type = 23 1907 For the Move Input Branch message, if the connection specified by 1908 the Output Port and Output Label fields already exists, and the 1909 input branch specified by the Old Input Port and Old Input Label 1910 fields exists as a branch on that connection, the input branch 1911 specified by the New Input Port and New Input Label fields is 1912 added to the connection and the branch specified by the Old Input 1913 Port and Old Input Label fields is deleted. If the Result field of 1914 the request message is "AckAll" a success response message must be 1915 sent upon successful completion of the operation. The success 1916 response message must not be sent until the Move Input Branch 1917 operation has been completed. 1919 For the Move Input Branch message, if the connection specified by 1920 the Output Port and Output Label fields already exists, but the 1921 input branch specified by the Old Input Port and Old Input Label 1922 fields does not exist as a branch on that connection, a failure 1923 response must be returned with the Code field indicating, "The 1924 specified branch does not exist." 1926 4.9.1 ATM Specific Procedures: 1928 The ATM VPC Move Input Branch message is a connection management 1929 message used to move a single input branch of a virtual path 1930 connection from its current input port and input VPI, to a new 1931 input port and input VPI on the same virtual channel connection. 1932 None of the other input branches are modified. When the operation 1933 is complete the original input VPI on the original input port will 1934 be deleted from the connection. 1936 The VPC Move Input Branch message is: 1938 Message Type = 28 1940 For the VPC Move Input Branch message, if the virtual path 1941 connection specified by the Output Port and Output VPI fields 1942 already exists, and the input branch specified by the Old Input 1943 Port and Old Input VPI fields exists as a branch on that 1944 connection, the input branch specified by the New Input Port and 1945 New Input VPI fields is added to the connection and the branch 1946 specified by the Old Input Port and Old Input VPI fields is 1947 deleted. If the Result field of the request message is "AckAll" a 1948 success response message must be sent upon successful completion 1949 of the operation. The success response message must not be sent 1950 until the Move Input Branch operation has been completed. 1952 For the VPC Move Input Branch message, if the virtual path 1953 connection specified by the Output Port and Output VPI fields 1954 already exists, but the input branch specified by the Old Input 1955 Port and Old Input VPI fields does not exist as a branch on that 1956 connection, a failure response must be returned with the Code 1957 field indicating, "The specified branch does not exist." 1959 If the virtual channel connection specified by the Output Port and 1960 Output Label fields; or the virtual path connection specified by 1961 the Output Port and Output VPI fields; does not exist, a failure 1962 response must be returned with the Code field indicating, "The 1963 specified connection does not exist." 1965 If the input branch specified by the New Input Port, New Input 1966 VPI, and New Input VCI fields for a virtual channel connection; or 1967 the input branch specified by the New Input Port and New Input VPI 1968 fields for a virtual path connection; is already in use by any 1969 connection other than that specified by the Output Port and Output 1970 Label fields then the resulting input branch will have multiple 1971 output branches. If multiple point-to-point connections share the 1973 same input branch the result will be a point-to-multipoint 1974 connection. If multiple multipoint-to-point trees share the same 1975 input branches the result will be a multipoint-to-multipoint 1976 connection. 1978 5. Reservation Management Messages 1980 GSMP allows switch resources (e.g. bandwidth, buffers, queues, 1981 labels, etc.) to be reserved for connections before the 1982 connections themselves are established. This is achieved through 1983 the manipulation of Reservations in the switch. 1985 Reservations are hard state objects in the switch that can be 1986 created by the controller by sending a Reservation Request 1987 message. Each Reservation is uniquely identified by an identifying 1988 number called a Reservation ID. Reservation objects can be deleted 1989 with the Delete Reservation message or the Delete All Reservations 1990 message. A reservation object is also deleted when the Reservation 1991 is deployed by specifying a Reservation ID in an Add Branch 1992 message. 1994 The reserved resources must remain reserved until either the 1995 reservation is deployed, in which case the resources are applied 1996 to a branch, or the reservation is explicitly deleted (with a 1997 Delete Reservation message or a Delete All Reservations message), 1998 in which case the resources are freed. Reservations and reserved 1999 resources are deleted if the switch is reset. 2001 A Reservation object includes its Reservation ID plus all the 2002 switch state associated with a branch with the exception that the 2003 branch's input label and/or output label may be unspecified. The 2004 Request Reservation message is therefore almost identical to the 2005 Add Branch message. 2007 The switch establishes the maximum number of reservations it can 2008 store by setting the value of Max Reservations in the Switch 2009 Configuration response message. The switch indicates that it does 2010 not support reservations by setting Max Reservations to 0. The 2011 valid range of Reservation IDs is 1 to Max Reservations). 2013 5.1 Reservation Request Message 2015 The Reservation Request message creates a Reservation in the 2016 switch and reserves switch resources for a connection that may 2017 later be established using an Add Branch message. The Reservation 2018 Request Message is: 2020 Message Type = 70 2022 The Reservation Request message has the following format for the 2023 request message: 2025 0 1 2 3 2026 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 2027 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2028 | Version | Message Type | Result | Code | 2029 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2030 | Partition ID | Transaction Identifier | 2031 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2032 |I| SubMessage Number | Length | 2033 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2034 | Port Session Number | 2035 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2036 |x|x|x|x| Reservation ID | 2037 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2038 | Input Port | 2039 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2040 |T|S|M|B| Input Label | 2041 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2042 | Service Selector | 2043 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2044 | Output Port | 2045 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2046 |T|S|M|x| Output Label | 2047 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2048 | Service Selector | 2049 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2050 |IQS|OQS|P|x|N|O| Adaptation Method | 2051 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2053 When the value of either IQS or OQS is set to 0b10 then the 2054 following Traffic Parameters Block is appended to the above 2055 message: 2057 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2058 |Input TC Flags | Reserved | 2059 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2060 | | 2061 ~ Input Traffic Parameters Block ~ 2062 | | 2063 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2064 |Output TC Flags| Reserved | 2065 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2066 | | 2067 ~ Output Traffic Parameters Block ~ 2068 | | 2069 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2071 Note: Field and Parameters that have been explained in the 2072 description of the general connection message will not be 2073 explained in this section. Please refer to section 4.1for 2074 details. 2076 All the fields of the Reservation Request message have the same 2077 meanings as they do in the Add Branch message with the following 2078 exceptions: 2080 Reservation ID 2081 Specifies the Reservation ID of the Reservation. If the 2082 numerical value of Reservation ID is greater than the value 2083 of Max Reservations (from the Switch Configuration 2084 message), a failure response is returned indicating 2085 "Reservation ID out of Range." If the value of Reservation 2086 ID matches that of an extant Reservation, a failure 2087 response is returned indicating "Reservation ID in use." 2089 Input Label 2090 If a specific input label is specified then that label is 2091 reserved along with the required resources. If the Input 2092 Label is 0 then the switch reserves the resources, but will 2093 not bind them to a label until the add branch command is 2094 given which references the Reservation Id. If the input 2095 label is 0, then all stacked labels must also be zeroed. 2097 Output Label 2098 If a specific Output Label is specified then that label is 2099 reserved along with the required resources. If the Output 2100 Label is 0 then the switch reserves the resources, but will 2101 not bind them to a label until the add branch command is 2102 given which references the Reservation Id. If the Output 2103 Label is 0, then all stacked labels must also be zeroed 2105 When the switch receives a valid Reservation Request it reserves 2106 all the appropriate switch resources needed to establish a branch 2107 with corresponding attributes. If sufficient resources are not 2108 available, a failure response is returned indicating "Insufficient 2109 Resources." Other failure responses are as defined for the Add 2110 Branch message. 2112 5.2 Delete Reservation Message 2114 The Delete Reservation message deletes a Reservation object in the 2115 switch and frees the reserved switch resources of the reservation. 2116 The Reservation Request Message is: 2118 Message Type = 71 2120 The Delete Reservation message has the following format: 2122 0 1 2 3 2123 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 2124 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2125 | Version | Message Type | Result | Code | 2126 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2127 | Partition ID | Transaction Identifier | 2128 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2129 |I| SubMessage Number | Length | 2130 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2131 | Port Session Number | 2132 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2133 | Reservation ID | 2134 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2136 If the Reservation ID matches that of an extant Reservation then 2137 the reservation is deleted and corresponding switch resources are 2138 freed. If the numerical value of Reservation ID is greater than 2139 the value of Max Reservations (from the Switch Configuration 2140 message), a failure response is returned indicating "Reservation 2141 ID out of Range." If the value of Reservation ID does not match 2142 that of any extant Reservation, a failure response is returned 2143 indicating "Non-existent Reservation ID." 2145 5.3 Delete All Reservations Message 2147 The Delete Reservation message deletes all extant Reservation 2148 objects in the switch and frees the reserved switch resources of 2149 these reservations. The Reservation Request Message is: 2151 Message Type = 72 2153 The Delete Reservation message has the following format: 2155 0 1 2 3 2156 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 2157 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2158 | Version | Message Type | Result | Code | 2159 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2160 | Partition ID | Transaction Identifier | 2161 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2163 6. Management Messages 2165 6.1 Port Management Message 2167 The Port Management message allows a port to be brought into 2168 service, to be taken out of service, to be set to loop back, 2169 reset, or to change the transmit data rate. Only the Bring Up and 2170 the Reset Input Port functions change the connection state 2171 (established connections) on the input port. Only the Bring Up 2172 function changes the value of the Port Session Number. The port 2173 event message is also used as part of the Event Message flow 2174 control mechanism. 2176 If the Result field of the request message is "AckAll" a success 2177 response message must be sent upon successful completion of the 2178 operation. The success response message must not be sent until the 2179 operation has been completed. The Port Management Message is: 2181 Message Type = 32 2183 The Port Management message has the following format for the 2184 request and success response messages: 2186 0 1 2 3 2187 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 2188 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2189 | Version | Message Type | Result | Code | 2190 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2191 | Partition ID | Transaction Identifier | 2192 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2193 |I| SubMessage Number | Length | 2194 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2195 | Port | 2196 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2197 | Port Session Number | 2198 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2199 | Event Sequence Number | 2200 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2201 |R|x|x|x|x|x|x|x| Duration | Function | 2202 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2203 | Event Flags | Flow Control Flags | 2204 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2205 | Transmit Data Rate | 2206 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2208 Note: Field and Parameters that have been explained in the 2209 description of the general messages will not be explained 2210 in this section. Please refer to section 3.1 for details. 2212 Event Sequence Number 2213 In the success response message gives the current value 2214 of the Event Sequence Number of the switch port 2215 indicated by the Port field. The Event Sequence Number 2216 is set to zero when the port is initialised. It is 2217 incremented by one each time the port detects an 2218 asynchronous event that the switch would normally report 2219 via an Event message. If the Event Sequence Number in 2220 the success response differs from the Event Sequence 2221 Number of the most recent Event message received for 2222 that port, events have occurred that were not reported 2223 via an Event message. This is most likely to be due to 2224 the flow control that restricts the rate at which a 2225 switch can send Event messages for each port. In the 2226 request message this field is not used. 2228 R: Connection Replace 2229 The R flag shall only be checked when Function field = 1 2230 (Bring Up). If the R flag is set in the Port Management 2231 request message, it indicates that a switch controller 2232 requests the switch port to support the Connection 2233 Replace mechanism. Connection Replace behaviour is 2234 described in chapter 4.2. If a switch does not support 2235 the Connection Replace mechanism it MUST reply with the 2236 failure response "45: Connection Replace mechanism not 2237 supported on switch" and reset the R-flag. Upon 2238 successful response, the R flag should remain set in the 2239 response message. 2241 Duration 2242 Is the length of time, in seconds, that any of the 2243 loopback states remain in operation. When the duration 2244 has expired the port will automatically be returned to 2245 service. If another Port Management message is received 2246 for the same port before the duration has expired, the 2247 loopback will continue to remain in operation for the 2248 length of time specified by the Duration field in the 2249 new message. The Duration field is only used in request 2250 messages with the Function field set to Internal 2251 Loopback, External Loopback, or Bothway Loopback. 2253 Function 2254 Specifies the action to be taken. The specified action 2255 will be taken regardless of the current status of the 2256 port (Available, Unavailable, or any Loopback state). If 2257 the specified function requires a new Port Session 2258 Number to be generated, the new Port Session Number must 2259 be returned in the success response message. The defined 2260 values of the Function field are: 2262 Bring Up: 2263 Function = 1. Bring the port into service. All 2264 connections that arrive at the specified input port 2265 must be deleted and a new Port Session Number must 2266 be selected using some form of random number. On 2267 completion of the operation all dynamically 2268 assigned Label values for the specified input port 2269 must be unassigned, i.e. no connections will be 2270 established in the Label space that GSMP controls 2271 on this input port. The Port Status of the port 2272 afterwards will be Available. 2274 Take Down: 2275 Function = 2. Take the port out of service. Any 2276 data received at this port will be discarded. No 2277 data will be transmitted from this port. The Port 2278 Status of the port afterwards will be Unavailable. 2280 The behaviour is undefined if the port is taken 2281 down over which the GSMP session that controls the 2282 switch is running. (In this case the most probable 2283 behaviour would be for the switch either to ignore 2284 the message or to terminate the current GSMP 2285 session and to initiate another session, possibly 2286 with the backup controller, if any.) The correct 2287 method to reset the link over which GSMP is running 2288 is to issue an RSTACK message in the adjacency 2289 protocol. 2291 Internal Loopback: 2292 Function = 3. Data arriving at the output port from 2293 the switch fabric are looped through to the input 2294 port to return to the switch fabric. All of the 2295 functions of the input port above the physical 2296 layer, e.g. header translation, are performed upon 2297 the looped back data. The Port Status of the port 2298 afterwards will be Internal Loopback. 2300 External Loopback: 2301 Function = 4. Data arriving at the input port from 2302 the external communications link are immediately 2303 looped back to the communications link at the 2304 physical layer without entering the input port. 2305 None of the functions of the input port above the 2306 physical layer are performed upon the looped back 2307 data. The Port Status of the port afterwards will 2308 be External Loopback. 2310 Bothway Loopback: 2311 Function = 5. Both internal and external loopback 2312 are performed. The Port Status of the port 2313 afterwards will be Bothway Loopback. 2315 Reset Input Port: 2316 Function = 6. All connections that arrive at the 2317 specified input port must be deleted and the input 2318 and output port hardware re-initialised. On 2319 completion of the operation all dynamically 2320 assigned Label values for the specified input port 2321 must be unassigned, i.e. no connections will be 2322 established in the Label space that GSMP controls 2323 on this input port. The range of labels that may be 2324 controlled by GSMP on this port will be set to the 2325 default values specified in the Port Configuration 2326 message. The transmit data rate of the output port 2327 must be set to its default value. The Port Session 2328 Number is not changed by the Reset Input Port 2329 function. The Port Status of the port afterwards 2330 will be Unavailable. 2332 Reset Flags: 2333 Function = 7. This function is used to reset the 2334 Event Flags and Flow Control Flags. For each bit 2335 that is set in the Event Flags field, the 2336 corresponding Event Flag in the switch port must be 2337 reset to 0. For each bit that is set in the Flow 2338 Control Flags field, the corresponding Flow Control 2339 Flag in the switch port must toggled; i.e. flow 2340 control for the corresponding event is turned off 2341 if is currently on and it is turned on if it is 2342 currently off. The Port Status of the port is not 2343 changed by this function. 2345 Set Transmit Data Rate: 2346 Function = 8. Sets the transmit data rate of the 2347 output port as close as possible to the rate 2348 specified in the Transmit Data Rate field. In the 2349 success response message the Transmit Data Rate 2350 must indicate the actual transmit data rate of the 2351 output port. If the transmit data rate of the 2352 requested output port cannot be changed, a failure 2353 response must be returned with the Code field 2354 indicating: "The transmit data rate of this output 2355 port cannot be changed." If the transmit data rate 2356 of the requested output port can be changed, but 2357 the value of the Transmit Data Rate field is beyond 2358 the range of acceptable values, a failure response 2359 must be returned with the Code field indicating: 2360 "Requested transmit data rate out of range for this 2361 output port." In the failure response message the 2362 Transmit Data Rate must contain the same value as 2363 contained in the request message that caused the 2364 failure. The transmit data rate of the output port 2365 is not changed by the Bring Up, Take Down, or any 2366 of the Loopback functions. It is returned to the 2367 default value by the Reset Input Port function. 2369 Transmit Data Rate 2370 This field is only used in request and success response 2371 messages with the Function field set to "Set Transmit 2372 Data Rate." It is used to set the output data rate of 2373 the output port. It is specified in cells, bytes or 2374 bits/s. If the Transmit Data Rate field contains the 2375 value 0xFFFFFFFF the transmit data rate of the output 2376 port should be set to the highest valid value. 2378 Event Flags 2379 Field in the request message that is used to reset the 2380 Event Flags in the switch port indicated by the Port 2381 field. Each Event Flag in a switch port corresponds to a 2382 type of Event message. When a switch port sends an Event 2383 message it sets the corresponding Event Flag on that 2384 port. Depending on the setting in the Flow Control Flag, 2385 a port is either subject to flow control or not. If it 2386 is subject to flow control then it is not permitted to 2387 send another Event message of the same type before the 2388 Event Flag has been reset. To reset an event flag, the 2389 Function field in the request message is set to "Reset 2390 Flags." For each bit that is set in the Event Flags 2391 field, the corresponding Event Flag in the switch port 2392 is reset. 2394 The Event Flags field is only used in a request message 2395 with the Function field set to "Reset Event Flags." For 2396 all other values of the Function field, the Event Flags 2397 field is not used. In the success response message the 2398 Event Flags field must be set to the current value of 2399 the Event Flags for the port, after the completion of 2400 the operation specified by the request message, for all 2401 values of the Function field. Setting the Event Flags 2402 field to all zeros in a "Reset Event Flags" request 2403 message allows the controller to obtain the current 2404 state of the Event Flags and the current Event Sequence 2405 Number of the port without changing the state of the 2406 Event Flags. 2408 The correspondence between the types of Event message 2409 and the bits of the Event Flags field is as follows: 2411 1 2412 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 2413 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2414 |U|D|I|N|Z|A|x|x|x|x|x|x|x|x|x|x| 2415 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2417 U: Port Up Bit 0, (most significant bit) 2418 D: Port Down Bit 1, 2419 I: Invalid Label Bit 2, 2420 N: New Port Bit 3, 2421 Z: Dead Port Bit 4, 2422 A: Adjacency Event Bit 5, 2423 x: Unused Bits 6--15. 2425 Flow Control Flags Field 2426 The flags in this field are used to indicate whether 2427 the flow control mechanism described in the Events Flag 2428 field is turned on or not. If the Flow Control Flag is 2429 on, then the flow control mechanism for that event on 2430 that port is activated. To toggle flow control, the 2431 Function field in the request message is set to "Reset 2432 Flags." For each bit that is set in the Flow Control 2433 Flags field, the flow control corresponding Event in the 2434 switch port is toggled. 2436 The correspondence between the Flow Control applied to 2437 the Events messages and the bits of the flow Control 2438 Flags field is identical to the definitions given above 2439 for the Event Flags. 2441 6.2 Label Range Message 2443 The default label range, Min Label to Max Label, is specified for 2444 each port by the Port Configuration or the All Ports Configuration 2445 messages. When the protocol is initialised, before the 2446 transmission of any Label Range messages, the label range of each 2447 port will be set to the default label range. (The default label 2448 range is dependent upon the switch design and configuration and is 2449 not specified by the GSMP protocol.) The Label Range message 2450 allows the range of labels supported by a specified port, to be 2451 changed. Each switch port must declare whether it supports the 2452 Label Range message in the Port Configuration or the All Ports 2453 Configuration messages. The Label Range message is: 2455 Message Type = 33 2457 The Label Range message has the following format for the request 2458 and success response messages: 2460 0 1 2 3 2461 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 2462 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2463 | Version | Message Type | Result | Code | 2464 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2465 | Partition ID | Transaction Identifier | 2466 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2467 |I| SubMessage Number | Length | 2468 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2469 | Port | 2470 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2471 | Port Session Number | 2472 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2473 |Q|M|D|x| Range Count | Range Length | 2474 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2475 | | 2476 ~ Label Data Block ~ 2477 | | 2478 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2480 Note: Field and Parameters that have been explained in the 2481 description of the general messages will not be explained 2482 in this section. Please refer to section 3.1for details. 2484 Each element of the Label Data Block has the following format: 2486 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2487 |T|x|V|C| Min Label | 2488 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2489 |T|x|x|x| Max Label | 2490 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2491 | Remaining Labels | 2492 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2494 Flags 2496 Q: Query 2497 If the Query flag is set in a request message, the 2498 switch must respond with the current range of valid 2499 labels. The current label range is not changed by a 2500 request message with the Query flag set. If the Query 2501 flag is zero, the message is requesting a label change 2502 operation. 2504 M: Multipoint Query 2505 If the Multipoint Query flag is set the switch must 2506 respond with the current range of valid specialized 2507 multipoint labels. The current label range is not 2508 changed by a request message with the Multipoint Query 2509 flag set. 2511 D: Disjoint Label Range Indicator 2512 This flag will be set in a Query response if the labels 2513 available for assignment belong to a disjoint set. 2515 V: Label 2516 The Label flag use is port type specific. 2518 C: Multipoint Capable 2519 Indicates label range can be used for multipoint 2520 connections. 2522 Range Count 2523 Count of Label Data elements contained in the Label Data 2524 Block. 2526 Range Length 2527 Byte count in the Label Data Block. 2529 The success response to a Label Range message requesting a change 2530 of label range is a copy of the request message with the Remaining 2531 Label Range fields updated to the new values after the Label Range 2532 operation. 2534 If the switch is unable to satisfy a request to change the Label 2535 range, it must return a failure response message with the Code 2536 field set to "Cannot support requested label range." In this 2537 failure response message the switch must use the Min Label and Max 2538 Label fields to suggest a label range that it would be able to 2539 satisfy. 2541 A Label Range request message may be issued regardless of the Port 2542 Status or the Line Status of the target switch port. If the Port 2543 field of the request message contains an invalid port (a port that 2544 does not exist or a port that has been removed from the switch) a 2545 failure response message must be returned with the Code field set 2546 to, "One or more of the specified ports does not exist." 2548 If the Query flag is set in the request message, the switch must 2549 reply with a success response message containing the current range 2550 of valid labels that are supported by the port. The Min Label and 2551 Max Label fields are not used in the request message. 2553 If the Multipoint Query flag is set in the request message, and 2554 the switch does not support a range of valid multipoint labels 2555 then the switch must reply with a failure response message with 2556 the Code field set to, "Specialized multipoint labels not 2557 supported" The Min Label and Max Label fields are not used in the 2558 Multipoint request message. 2560 6.2.1 Short Labels 2562 Whenever a 28-bit label is sufficient, as is the case with ATM, 2563 Frame Relay and MPLS, a short label may be used. In all short 2564 labels, Label Type Indicator (T flag) is set to 0. 2566 6.2.1.1 ATM Short Labels: 2568 If PortType=ATM the label range fields have following format: 2570 0 1 2 3 2571 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 2572 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2573 |T|x|V|C| Min VPI | Min VCI | 2574 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2575 |T|x|x|x| Max VPI | Max VCI | 2576 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2577 | Remaining VPIs | Remaining VCIs | 2578 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2580 x: unused. 2582 V: Label 2583 If the Label flag is set, the message refers to a range 2584 of VPIs only. The Min VCI and Max VCI fields are unused. 2585 If the Label flag is zero the message refers to a range 2586 of VCIs on either one VPI or on a range of VPIs. 2588 Min VPI 2589 Max VPI 2590 Specify a range of VPI values, Min VPI to Max VPI 2591 inclusive. A single VPI may be specified with a Min VPI 2592 and a Max VPI having the same value. In a request 2593 message, if the value of the Max VPI field is less than 2594 or equal to the value of the Min VPI field, the 2595 requested range is a single VPI with a value equal to 2596 the Min VPI field. Zero is a valid value. In a request 2597 message, if the Query flag is set, and the Label flag is 2598 zero, the Max VPI field specifies a single VPI and the 2599 Min VPI field is not used. The maximum valid value of 2600 these fields for both request and response messages is 2601 0xFFF. 2603 Min VCI 2604 Max VCI 2605 Specify a range of VCI values, Min VCI to Max VCI 2606 inclusive. A single VCI may be specified with a Min VCI 2607 and a Max VCI having the same value. In a request 2608 message, if the value of the Max VCI field is less than 2609 or equal to the value of the Min VCI field, the 2610 requested range is a single VCI with a value equal to 2611 the Min VCI field. Zero is a valid value. (However, 2612 VPI=0, VCI=0 is not available as a virtual channel 2613 connection as it is used as a special value in ATM to 2614 indicate an unassigned cell.) 2616 Remaining VPIs 2617 Remaining VCIs 2618 These fields are unused in the request message. In the 2619 success response message and in the failure response 2620 message these fields give the maximum number of 2621 remaining VPIs and VCIs that could be requested for 2622 allocation on the specified port (after completion of 2623 the requested operation in the case of the success 2624 response). It gives the switch controller an idea of how 2625 many VPIs and VCIs it could request. The number given is 2626 the maximum possible given the constraints of the switch 2627 hardware. There is no implication that this number of 2628 VPIs and VCIs is available to every switch port. 2630 If the Query flag and the Label flag are set in the request 2631 message, the switch must reply with a success response message 2632 containing the current range of valid VPIs that are supported by 2633 the port. The Min VPI and Max VPI fields are not used in the 2634 request message. 2636 If the Query flag is set and the Label flag is zero in the request 2637 message, the switch must reply with a success response message 2638 containing the current range of valid VCIs that are supported by 2639 the VPI specified by the Max VPI field. If the requested VPI is 2640 invalid, a failure response must be returned indicating: "One or 2641 more of the specified input VPIs is invalid." The Min VPI field is 2642 not used in either the request or success response messages. 2644 If the Query flag is zero and the Label flag is set in the request 2645 message, the Min VPI and Max VPI fields specify the new range of 2646 VPIs to be allocated to the input port specified by the Port 2647 field. Whatever the range of VPIs previously allocated to this 2648 port it should be increased or decreased to the specified value. 2650 If the Query flag and the Label flag are zero in the request 2651 message, the Min VCI and Max VCI fields specify the range of VCIs 2652 to be allocated to each of the VPIs specified by the VPI range. 2653 Whatever the range of VCIs previously allocated to each of the 2654 VPIs within the specified VPI range on this port, it should be 2655 increased or decreased to the specified value. The allocated VCI 2656 range must be the same on each of the VPIs within the specified 2657 VPI range. 2659 If the switch is unable to satisfy a request to change the label 2660 range, it must return a failure response message with the Code 2661 field set to "Cannot support requested label range." If the switch 2662 is unable to satisfy a request to change the VPI the switch must 2663 use the Min VPI and Max VPI fields to suggest a VPI range that it 2664 would be able to satisfy and set the VCI fields to zero or if the 2665 switch is unable to satisfy a request to change the VCI range on 2666 all VPIs within the requested VPI range, the switch must use the 2667 Min VPI, Max VPI, Min VCI, and Max VCI fields to suggest a VPI and 2668 VCI range that it would be able to satisfy. 2670 In all other failure response messages for the label range 2671 operation the switch must return the values of Min VPI, Max VPI, 2672 Min VCI, and Max VCI from the request message. 2674 While switches can typically support all 256 or 4096 VPIs, the VCI 2675 range that can be supported is often more constrained. Often the 2676 Min VCI must be 0 or 32. Typically all VCIs within a particular 2677 VPI must be contiguous. The hint in the failure response message 2678 allows the switch to suggest a label range that it could satisfy 2679 in view of its particular architecture. 2681 While the Label Range message is defined to specify both a range 2682 of VPIs and a range of VCIs within each VPI, the most likely use 2683 is to change either the VPI range or the range of VCIs within a 2684 single VPI. It is possible for a VPI to be valid but to be 2685 allocated no valid VCIs. Such a VPI could be used for a virtual 2686 path connection but to support virtual channel connections it 2687 would need to be allocated a range of VCIs. 2689 6.2.1.2 Frame Relay Short Labels: 2691 If PortType=FR the label range fields have following format: 2693 0 1 2 3 2694 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 2695 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2696 |T|x|V|C|x|x|Len| Min DLCI | 2697 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2698 |T|x|x|x|x|x|x|x| Max DLCI | 2699 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2700 | Remaining DLCIs | 2701 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2703 x: unused flag. 2705 Res: Reserved 2707 V: Label 2708 The Label flag is not used. 2710 Len 2711 This field specifies the number of bits of the DLCI. The 2712 following values are supported: 2714 Len DLCI bits 2715 0 10 2716 1 17 2717 2 23 2719 Min DLCI 2720 Max DLCI 2721 Specify a range of DLCI values, Min DLCI to Max DLCI 2722 inclusive. The values should be right justified in the 2723 23-bit fields and the preceding bits should be set to 2724 zero. A single DLCI may be specified with a Min DLCI and 2725 a Max DLCI having the same value. In a request message, 2726 if the value of the Max DLCI field is less than or equal 2727 to the value of the Min DLCI field, the requested range 2728 is a single DLCI with a value equal to the Min DLCI 2729 field. Zero is a valid value. 2731 Remaining DLCIs 2732 This field is unused in the request message. In the 2733 success response message and in the failure response 2734 message this field gives the maximum number of remaining 2735 DLCIs that could be requested for allocation on the 2736 specified port (after completion of the requested 2737 operation in the case of the success response). It gives 2738 the switch controller an idea of how many DLCIs it could 2739 request. The number given is the maximum possible given 2740 the constraints of the switch hardware. There is no 2742 implication that this number of DLCIs is available to 2743 every switch port. 2745 6.2.1.3 MPLS Generic Short Labels: 2747 The Label Range field for PortTypes using MPLS labels (e.g. 2748 Ethernet, SONET etc.) has the following format: 2750 0 1 2 3 2751 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 2752 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2753 |T|x|x|C| Res | Min MPLS Label | 2754 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2755 |T|x|x|x| Res | Max MPLS Label | 2756 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2757 | Remaining MPLS Labels | 2758 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2760 x: unused flag. 2762 Res: Reserved 2764 Min MPLS Label: 2765 Max MPLS Label: 2766 Specify a range of MPLS label values, Min MPLS Label to 2767 Max MPLS Label inclusive. The Max and Min MPLS label 2768 fields are 20 bits each. 2770 Remaining MPLS Labels: 2771 This field is unused in the request message. In the 2772 success response message and in the failure response 2773 message this field gives the maximum number of remaining 2774 MPLS Labels that could be requested for allocation on 2775 the specified port (after completion of the requested 2776 operation in the case of the success response). It gives 2777 the switch controller an idea of how many MPLS Labels it 2778 could request. The number given is the maximum possible 2779 given the constraints of the switch hardware. There is 2780 no implication that this number of Labels is available 2781 to every switch port. 2783 6.2.2 TLV Labels 2785 When the Label Type Indicator (T flag) is set to 1, the label is 2786 TLV (Type, Length and Value) label. 2788 6.2.2.1 ATM TLV Labels: 2790 If the T bit is set and Label Type = ATM Label, the labels range 2791 message must be interpreted as shown: 2793 0 1 2 3 2794 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 2795 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2796 |T|x|x|C| ATM Label (0x100) | Label Length | 2797 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2798 | Res | min VPI | min VCI | 2799 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2800 |T|x|x|x| ATM Label (0x100) | Label Length | 2801 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2802 | Res | max VPI | max VCI | 2803 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2804 | Remaining VPI's | Remaining VCI's | 2805 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2807 The label value field should be interpreted as defined in 2808 section "ATM Short Labels" above. 2810 6.2.2.2 Frame Relay TLV Labels: 2812 If the T bit is set and Label Type = FR Label, the labels range 2813 message must be interpreted as shown: 2815 0 1 2 3 2816 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 2817 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2818 |T|x x|C| FR Label (0x101) | Label Length | 2819 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2820 |x|x|x|x|x|x|Len| Min DLCI | 2821 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2822 |T|x x x| FR Label (0x101) | Label Length | 2823 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2824 |x x x x x x|Len| Max DLCI | 2825 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2826 | Remaining DLCI | 2827 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2829 The label value field should be interpreted as defined in 2830 section "Frame Relay Short Labels" above. 2832 6.2.2.3 MPLS Generic TLV Labels: 2834 If the T bit is set and Label Type = MPLS Generic Label, the 2835 labels range message must be interpreted as shown: 2837 0 1 2 3 2838 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 2839 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2840 |T|x|x|C| MPLS Gen Label (0x102)| Label Length | 2841 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2842 | Res | Min MPLS Label | 2843 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2844 |T|x|x|x| MPLS Gen Label (0x102)| Label Length | 2845 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2846 | Res | Max MPLS Label | 2847 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2848 | Remaining Labels | 2849 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2851 The label value field should be interpreted as defined in 2852 section "MPLS Generic Short Labels" above. 2854 6.2.2.4 DS3 to DS1 Service TLV Labels: 2856 If the T bit is set and Label Type = DS3-DS1 Label, the labels 2857 range message must be interpreted as shown: 2859 0 1 2 3 2860 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 2861 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2862 |T|S|U|C| DS3-DS1 Label (0x200) | Label Length | 2863 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2864 | Min Ch ID | Min Time Slots | 2865 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2866 |T|S|U|x| DS3-DS1 Label (0x200) | Label Length | 2867 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2868 | Max Ch ID | Max Time Slots | 2869 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2870 |Remaining Ch ID| Remaining Time Slots | 2871 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2873 x: unused. 2875 U: Indicates when set that the DS1 channel is unstructured, 2876 otherwise it is structured. 2878 Min Ch ID: 2879 Max Ch ID: 2881 Specify a range of Channel ID values, Min Channel ID to 2882 Max Channel ID inclusive. The length of the Max and Min 2883 Channel ID fields is eight bits. 2885 Min Time Slots: 2886 Max Time Slots: 2887 Specify a range of Time Slot values, Min Time Slot to 2888 Max Time Slot inclusive. The length of the Max and Min 2889 Time Slots fields is 24 bits. 2891 Remaining Ch ID and Time Slots: 2892 These fields are unused in the request message. In the 2893 success response message and in the failure response 2894 message these fields give the maximum number of 2895 remaining Channel ID's and Time Slots that could be 2896 requested for allocation on the specified port (after 2897 completion of the requested operation in the case of the 2898 success response). It gives the switch controller an 2899 idea of how many Channel ID's and Time Slots it could 2900 request. The number given is the maximum possible given 2901 the constraints of the switch hardware. 2903 6.2.2.5 E3 to E1 Service TLV Labels: 2905 If the T bit is set and Label Type = E3-E1 Label, the labels range 2906 message must be interpreted as shown: 2908 0 1 2 3 2909 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 2910 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2911 |T|x|U|C| E3-E1 Label (0x201) | Label Length | 2912 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2913 | Min Ch ID | Min Time Slots | 2914 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2915 | Min Time Slots | 2916 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2917 |T|x|U|x| E3-E1 Label (0x201) | Label Length | 2918 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2919 | Max Ch ID | Max Time Slots | 2920 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2921 | Max Time Slots | 2922 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2923 |Remaining Ch ID| Remaining Time Slots | 2924 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2926 x: unused. 2928 U: Indicates when set that the E1 channel is unstructured, 2929 otherwise it is structured. 2931 Min Ch ID: 2932 Max Ch ID: 2933 Specify a range of Channel ID values, Min Channel ID to 2934 Max Channel ID inclusive. The length of the Max and Min 2935 Channel ID fields is eight bits. 2937 Min Time Slots: 2938 Max Time Slots: 2939 Specify a range of Time Slot values, Min Time Slot to 2940 Max Time Slot inclusive. The length in bytes is specified 2941 in the Label Length field, padded to a 32-bit boundary. 2943 Remaining Ch ID and Time Slots: 2944 These fields are unused in the request message. In the 2945 success response message and in the failure response 2946 message these fields give the maximum number of 2947 remaining Channel ID's and Time Slots that could be 2948 requested for allocation on the specified port (after 2949 completion of the requested operation in the case of the 2950 success response). It gives the switch controller an 2951 idea of how many Channel ID's and Time Slots it could 2952 request. The number given is the maximum possible given 2953 the constraints of the switch hardware. 2955 6.2.2.6 Structured DS1 TLV Labels 2957 If the T bit is set and Label Type = S-DS1 Label, the labels range 2958 message must be interpreted as shown: 2960 0 1 2 3 2961 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 2962 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2963 |T|x|x|C| S-DS1 Label (0x202) | Label Length | 2964 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2965 | Min Time Slots | 2966 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 2967 |T|x|x|x| S-DS1 Label (0x202) | Label Length | 2968 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2969 | Max Time Slots | 2970 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 2971 | Remaining Time Slots | 2972 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 2974 x: unused. 2976 Min Time Slots: 2977 Max Time Slots: 2978 Specify a range of Time Slot values, Min Time Slot to 2979 Max Time Slot inclusive. The Label Length field 2980 indicates the length of the Max and Min Time Slots 2981 fields in bytes. 2983 Remaining Time Slots: 2984 This field is unused in the request message. In the 2985 success response message and in the failure response 2986 message this field gives the maximum number of remaining 2987 Time Slots that could be requested for allocation on the 2988 specified port (after completion of the requested 2989 operation in the case of the success response). It gives 2990 the switch controller an idea of how many Time Slots it 2991 could request. The number given is the maximum possible 2992 given the constraints of the switch hardware. 2994 6.2.2.7 Unstructured DS1 TLV Labels 2996 If the T bit is set and Label Type = U-DS1 Label, the labels range 2997 message must be interpreted as shown: 2999 0 1 2 3 3000 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 3001 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3002 |T|x|x|C| U-DS1 Label (0x203) | Label Length | 3003 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3004 | Min Time Slots | 3005 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 3006 |T|x|x|x| U-DS1 Label (0x203) | Label Length | 3007 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3008 | Max Time Slots | 3009 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 3010 | Remaining Time Slots | 3011 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 3013 x: unused. 3015 Min Time Slots: 3016 Max Time Slots: 3017 Specify a range of Time Slot values, Min Time Slot to 3018 Max Time Slot inclusive. The Label Length field 3019 indicates the length of the Max and Min Time Slots 3020 fields in bytes. 3022 Remaining Time Slots: 3024 This field is unused in the request message. In the 3025 success response message and in the failure response 3026 message this field gives the maximum number of remaining 3027 Time Slots that could be requested for allocation on the 3028 specified port (after completion of the requested 3029 operation in the case of the success response). It gives 3030 the switch controller an idea of how many Time Slots it 3031 could request. The number given is the maximum possible 3032 given the constraints of the switch hardware. 3034 6.2.2.8 Structured E1 TLV Labels 3036 If the T bit is set and Label Type = S-E1 Label, the labels range 3037 message must be interpreted as shown: 3039 0 1 2 3 3040 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 3041 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3042 |T|x|x|C| S-E1 Label (0x204) | Label Length | 3043 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3044 | Min Time Slots | 3045 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 3046 |T|x|x|x| S-E1 Label (0x204) | Label Length | 3047 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3048 | Max Time Slots | 3049 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 3050 | Remaining Time Slots | 3051 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 3053 x: unused. 3055 Min Time Slots: 3056 Max Time Slots: 3057 Specify a range of Time Slot values, Min Time Slot to 3058 Max Time Slot inclusive. The Label Length field 3059 indicates the length of the Max and Min Time Slots 3060 fields in bytes. 3062 Remaining Time Slots: 3063 This field is unused in the request message. In the 3064 success response message and in the failure response 3065 message this field gives the maximum number of remaining 3066 Time Slots that could be requested for allocation on the 3067 specified port (after completion of the requested 3068 operation in the case of the success response). It gives 3069 the switch controller an idea of how many Time Slots it 3070 could request. The number given is the maximum possible 3071 given the constraints of the switch hardware. 3073 6.2.2.9 Unstructured E1 TLV Labels 3075 If the T bit is set and Label Type = U-E1 Label, the labels range 3076 message must be interpreted as shown: 3078 0 1 2 3 3079 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 3080 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3081 |T|x|x|C| U-E1 Label (0x205) | Label Length | 3082 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3083 | Min Time Slots | 3084 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 3085 |T|x|x|x| U-E1 Label (0x205) | Label Length | 3086 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3087 | Max Time Slots | 3088 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 3089 | Remaining Time Slots | 3090 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 3092 x: unused. 3094 Min Time Slots: 3095 Max Time Slots: 3096 Specify a range of Time Slot values, Min Time Slot to 3097 Max Time Slot inclusive. The Label Length field 3098 indicates the length of the Max and Min Time Slots 3099 fields in bytes. 3101 Remaining Time Slots: 3102 This field is unused in the request message. In the 3103 success response message and in the failure response 3104 message this field gives the maximum number of remaining 3105 Time Slots that could be requested for allocation on the 3106 specified port (after completion of the requested 3107 operation in the case of the success response). It gives 3108 the switch controller an idea of how many Time Slots it 3109 could request. The number given is the maximum possible 3110 given the constraints of the switch hardware. 3112 7. State and Statistics Messages 3114 The state and statistics messages permit the controller to request 3115 the values of various hardware counters associated with the switch 3116 input and output ports and connections. They also permit the 3117 controller to request the connection state of a switch input port. 3118 The Connection Activity message is used to determine whether one 3119 or more specific connections have recently been carrying traffic. 3120 The Statistics message is used to query the various port and 3121 connection traffic and error counters. 3123 The Report Connection State message is used to request an input 3124 port to report the connection state for a single connection, a 3125 single ATM virtual path connection, or for the entire input port. 3127 7.1 Connection Activity Message 3129 The Connection Activity message is used to determine whether one 3130 or more specific connections have recently been carrying traffic. 3131 The Connection Activity message contains one or more Activity 3132 Records. Each Activity Record is used to request and return 3133 activity information concerning a single connection. Each 3134 connection is specified by its input port and Input Label that are 3135 specified in the Input Port and Input Label fields of each 3136 Activity Record. 3138 Two forms of activity detection are supported. If the switch 3139 supports per connection traffic accounting, the current value of 3140 the traffic counter for each specified connection must be 3141 returned. The units of traffic counted are not specified but will 3142 typically be either cells or frames. The controller must compare 3143 the traffic counts returned in the message with previous values 3144 for each of the specified connections to determine whether each 3145 connection has been active in the intervening period. If the 3146 switch does not support per connection traffic accounting, but is 3147 capable of detecting per connection activity by some other 3148 unspecified means, the result may be indicated for each connection 3149 using the Flags field. The Connection Activity message is: 3151 Message Type = 48 3153 The Connection Activity request and success response messages have 3154 the following format: 3156 0 1 2 3 3157 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 3158 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3159 | Version | Message Type | Result | Code | 3160 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3161 | Partition ID | Transaction Identifier | 3162 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3163 |I| SubMessage Number | Length | 3164 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3165 | Number of Records | Reserved | 3166 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3167 | | 3168 ~ Activity Records ~ 3169 | | 3170 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3172 Note: Field and Parameters that have been explained in the 3173 description of the general messages will not be explained 3174 in this section. Please refer to section 3.1for details. 3176 Number of Records 3177 Field specifies the number of Activity Records to 3178 follow. The number of Activity records in a single 3179 Connection Activity message must not cause the packet 3180 length to exceed the maximum transmission unit defined 3181 by the encapsulation. 3183 Each Activity Record has the following format: 3185 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3186 |V|C|A|x| TC Count | TC Block Length | 3187 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3188 | Input Port | 3189 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3190 |T|S|x|x| Input Label | 3191 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3192 | | 3193 + Traffic Count + 3194 | | 3195 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3197 Flags 3199 V: Valid Record 3200 In the success response message the Valid Record flag is 3201 used to indicate an invalid Activity Record. The flag 3202 must be zero if any of the fields in this Activity 3203 Record are invalid, if the input port specified by the 3204 Input Port field does not exist, or if the specified 3205 connection does not exist. If the Valid Record flag is 3206 zero in a success response message, the Counter flag, 3207 the Activity flag, and the Traffic Count field are 3208 undefined. If the Valid Record flag is set, the Activity 3209 Record is valid, and the Counter and Activity flags are 3210 valid. The Valid Record flag is not used in the request 3211 message. 3213 C: Counter 3214 In a success response message, if the Valid Record flag 3215 is set, the Counter flag, if zero, indicates that the 3216 value in the Traffic Count field is valid. If set, it 3217 indicates that the value in the Activity flag is valid. 3218 The Counter flag is not used in the request message. 3220 A: Activity 3221 In a success response message, if the Valid Record and 3222 Counter flags are set, the Activity flag, if set, 3223 indicates that there has been some activity on this 3224 connection since the last Connection Activity message 3225 for this connection. If zero, it indicates that there 3226 has been no activity on this connection since the last 3227 Connection Activity message for this connection. The 3228 Activity flag is not used in the request message. 3230 TC Count 3231 In cases where per connection traffic counting is 3232 supported, this field contains the count of Traffic 3233 Count entries 3235 TC Block Length 3236 In cases where per connection traffic counting is 3237 supported, this filed contains the Traffic Count block 3238 size in bytes. 3240 Input Port 3241 Identifies the port number of the input port on which 3242 the connection of interest arrives in order to identify 3243 the connection (regardless of whether the traffic count 3244 for the connection is maintained on the input port or 3245 the output port). 3247 Input Label 3248 Fields identify the specific connection for which 3249 statistics are being requested. 3250 Traffic Count 3251 Field is not used in the request message. In the success 3252 response message, if the switch supports per connection 3253 traffic counting, the Traffic Count field must be set to 3254 the value of a free running, connection specific, 64-bit 3255 traffic counter counting traffic flowing across the 3256 specified connection. The value of the traffic counter 3257 is not modified by reading it. If per connection traffic 3258 counting is supported, the switch must report the 3259 Connection Activity result using the traffic count 3260 rather than using the Activity flag. 3262 The format of the failure response is the same as the request 3263 message with the Number of Records field set to zero and no 3264 Connection Activity records returned in the message. If the switch 3265 is incapable of detecting per connection activity, a failure 3266 response must be returned indicating, "The specified request is 3267 not implemented on this switch." 3269 7.2 Statistics Messages 3271 The Statistics messages are used to query the various port and 3272 connection and error counters. 3274 The Statistics request messages have the following format: 3276 0 1 2 3 3277 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 3278 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3279 | Version | Message Type | Result | Code | 3280 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3281 | Partition ID | Transaction Identifier | 3282 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3283 |I| SubMessage Number | Length | 3284 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3285 | Port | 3286 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3287 |T|S|x|x| Label | 3288 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3290 Note: Field and Parameters that have been explained in the 3291 description of the general messages will not be explained 3292 in this section. Please refer to section 3.1for details. 3294 Label 3295 The Label Field identifies the specific connection for 3296 which statistics are being requested. 3298 The success response for the Statistics message has the following 3299 format: 3301 0 1 2 3 3302 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 3303 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3304 | Version | Message Type | Result | Code | 3305 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3306 | Partition ID | Transaction Identifier | 3307 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3308 |I| SubMessage Number | Length | 3309 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3310 | Port | 3311 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3312 |T|S|x|x| Label | 3313 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3314 | | 3315 + Input Cell Count + 3316 | | 3317 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3318 | | 3319 + Input Frame Count + 3320 | | 3321 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3322 | | 3323 + Input Cell Discard Count + 3324 | | 3325 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3326 | | 3327 + Input Frame Discard Count + 3328 | | 3329 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3330 | | 3331 + Header Checksum Error Count + 3332 | | 3333 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3334 | | 3335 + Input Invalid Label Count + 3336 | | 3337 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3338 | | 3339 + Output Cell Count + 3340 | | 3341 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3342 | | 3343 + Output Frame Count + 3344 | | 3345 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3346 | | 3347 + Output Cell Discard Count + 3348 | | 3349 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3350 | | 3351 + Output Frame Discard Count + 3352 | | 3353 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3355 Note: Field and Parameters that have been explained in the 3356 description of the general messages will not be explained 3357 in this section. Please refer to section 3.1for details. 3359 Input Cell Count 3360 Output Cell Count 3361 Give the value of a free running 64-bit counter counting 3362 cells arriving at the input or departing from the output 3363 respectively. 3365 Input Frame Count 3366 Output Frame Count 3367 Give the value of a free running 64-bit counter counting 3368 frames (packets) arriving at the input or departing from 3369 the output respectively. 3371 Input Cell Discard Count 3372 Output Cell Discard Count 3373 Give the value of a free running 64-bit counter counting 3374 cells discarded due to queue overflow on an input port 3375 or on an output port respectively. 3377 Input Frame Discard Count 3378 Output Frame Discard Count 3379 Give the value of a free running 64-bit counter counting 3380 frames discarded due to congestion on an input port or 3381 on an output port respectively. 3383 Header Checksum Error Count 3384 Gives the value of a free running 64-bit counter 3385 counting cells or frames discarded due to header 3386 checksum errors on arrival at an input port. For an ATM 3387 switch this would be the HEC count. 3389 Invalid Label Count 3390 Gives the value of a free running 64-bit counter 3391 counting cells or frames discarded because their Label 3392 is invalid on arrival at an input port. 3394 7.2.1 Port Statistics Message 3396 The Port Statistics message requests the statistics for the switch 3397 port specified in the Port field. The contents of the Label field 3398 in the Port Statistics request message is ignored. All of the 3399 count fields in the success response message refer to per-port 3400 counts regardless of the connection to which the cells or frames 3401 belong. Any of the count fields in the success response message 3402 not supported by the port must be set to zero. The Port Statistics 3403 message is: 3405 Message Type = 49 3407 7.2.2 Connection Statistics Message 3409 The Connection Statistics message requests the statistics for the 3410 connection specified in the Label field that arrives on the switch 3411 input port specified in the Port field. All of the count fields in 3412 the success response message refer only to the specified 3413 connection. The Header Checksum Error Count and Invalid Label 3414 Count fields are not connection specific and must be set to zero. 3415 Any of the other count fields not supported on a per connection 3416 basis must be set to zero in the success response message. The 3417 Connection Statistics message is: 3419 Message Type = 50 3421 7.2.3 QoS Class Statistics Message 3423 The QoS Class Statistics message is not supported in this version 3424 of GSMP. 3426 Message Type = 51 is reserved. 3428 7.3 Report Connection State Message 3430 The Report Connection State message is used to request an input 3431 port to report the connection state for a single connection or for 3432 the entire input port. The Report Connection State message is: 3434 Message Type = 52 3436 The Report Connection State request message has the following 3437 format: 3439 0 1 2 3 3440 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 3441 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3442 | Version | Message Type | Result | Code | 3443 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3444 | Partition ID | Transaction Identifier | 3445 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3446 |I| SubMessage Number | Length | 3447 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3448 | Input Port | 3449 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3450 |T|S|A|V| Input Label | 3451 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3453 Note: Field and Parameters that have been explained in the 3454 description of the general messages will not be explained 3455 in this section. Please refer to section 3.1for details. 3457 Input Port 3458 Identifies the port number of the input port for which 3459 the connection state is being requested. 3461 Flags 3463 A: All Connections 3464 If the All Connections flag is set, the message requests 3465 the connection state for all connections that arrive at 3466 the input port specified by the Input Port field. In 3467 this case the Input Label field and the Label flag are 3468 unused. 3470 V: ATM VPI 3471 The ATM VPI flag may only be set for ports with 3472 PortType=ATM. If the switch receives a Report Connection 3473 State message in which the ATM VPI flag set and in which 3474 the input port specified by the Input Port field does 3475 not have PortType=ATM, the switch must return an Failure 3476 response "28: ATM Virtual Path switching is not 3477 supported on non-ATM ports." 3479 If the All Connections flag is zero and the ATM VPI flag 3480 is also zero, the message requests the connection state 3481 for the connection that arrives at the input port 3482 specified by the Port and Input Label fields. 3484 ATM specific procedures: 3486 If the All Connections flag is zero and the ATM VPI 3487 flag is set and the input port specified by the Input 3488 Port field has LabelType=ATM, the message requests 3489 the connection state for the virtual path connection 3490 that arrives at the input port specified by the Input 3491 Port and Input VPI fields. If the specified Input VPI 3492 identifies an ATM virtual path connection (i.e. a 3493 single switched virtual path) the state for that 3494 connection is requested. If the specified Input VPI 3495 identifies a virtual path containing virtual channel 3496 connections, the message requests the connection 3497 state for all virtual channel connections that belong 3498 to the specified virtual path. 3500 x: Unused. 3502 Input Label 3503 Field identifies the specific connection for which 3504 connection state is being requested. For requests that 3505 do not require a connection to be specified, the Input 3506 Label field is not used. 3508 The Report Connection State success response message has the 3509 following format: 3511 0 1 2 3 3512 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 3513 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3514 | Version | Message Type | Result | Code | 3515 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3516 | Partition ID | Transaction Identifier | 3517 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3518 |I| SubMessage Number | Length | 3519 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3520 | Input Port | 3521 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3522 | Sequence Number | 3523 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3524 | | 3525 ~ Connection Records ~ 3526 | | 3527 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3529 Note: Field and Parameters that have been explained in the 3530 description of the general messages will not be explained 3531 in this section. Please refer to section 3.1for details. 3533 Input PortIs the same as the Input Port field in the request 3534 message. It identifies the port number of the input port 3535 for which the connection state is being reported. 3537 Sequence Number 3538 In the case that the requested connection state cannot 3539 be reported in a single success response message, each 3540 successive success response message in reply to the same 3541 request message must increment the Sequence Number. The 3542 Sequence Number of the first success response message, 3543 in response to a new request message, must be zero. 3545 Connection Records 3546 Each success response message must contain one or more 3547 Connection Records. Each Connection Record specifies a 3548 single point-to-point or point-to-multipoint connection. 3549 The number of Connection Records in a single Report 3550 Connection State success response must not cause the 3551 packet length to exceed the maximum transmission unit 3552 defined by the encapsulation. If the requested 3553 connection state cannot be reported in a single success 3554 response message, multiple success response messages 3555 must be sent. All success response messages that are 3556 sent in response to the same request message must have 3557 the same Input Port and Transaction Identifier fields as 3558 the request message. A single Connection Record must not 3559 be split across multiple success response messages. The 3560 More flag of the last Connection Record in a success 3561 response message indicates whether the response to the 3562 request has been completed or whether one or more 3563 further success response messages should be expected in 3564 response to the same request message. 3566 Each Connection Record has the following format: 3568 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3569 |A|V|P| Record Count | Record Length | 3570 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3571 |T|S|x|x| Input Label | 3572 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3573 | | 3574 ~ Output Branch Records ~ 3575 | | 3576 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3578 Flags 3580 A: All Connections 3581 V: ATM VPI 3582 For the first Connection Record in each success response 3583 message the All Connections and the ATM VPI flags must 3584 be the same as those of the request message. For 3585 successive Connection Records in the same success 3586 response message these flags are not used. 3588 P: ATM VPC 3589 The ATM VPC flag may only be set for ports with 3590 PortType=ATM. The ATM VPC flag, if set and only if set, 3591 indicates that the Connection Record refers to an ATM 3592 virtual path connection. 3594 Input Label 3595 The input label of the connection specified in this 3596 Connection Record. 3598 Record Count 3599 Count of number of connection records included in 3600 response. 3602 Record Block Length 3603 Length in bytes of Output Branch Record Block 3605 Output Branch Records 3606 Each Connection Record must contain one or more Output 3607 Branch Records. Each Output Branch Record specifies a 3608 single output branch belonging to the connection 3609 identified by the Input Label field of the Connection 3610 Record and the Input Port field of the Report Connection 3611 State message. A point-to-point connection will require 3612 only a single Output Branch Record. A point-to- 3613 multipoint connection will require multiple Output 3614 Branch Records. The last Output Branch Record of each 3615 Connection Record is indicated by the Last Branch flag 3616 of the Output Branch Record. If a point-to-multipoint 3617 connection has more output branches than can fit in a 3618 single Connection Record contained within a single 3619 success response message, that connection may be 3620 reported using multiple Connection Records in multiple 3621 success response messages. 3623 Each Output Branch Record has the following format: 3625 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3626 | Output Port | 3627 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3628 |T|S|x|x| Output Label | 3629 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3631 Output Port 3632 The output port of the switch to which this output 3633 branch is routed. 3635 Output Label 3636 The output label of the output branch specified in this 3637 Output Branch Record. 3639 ATM specific procedures: 3641 If this Output Branch Record is part of a 3642 Connection Record that specifies a virtual path 3643 connection (the ATM VPC flag is set) the Output VCI 3644 field is unused. 3646 A Report Connection State request message may be issued regardless 3647 of the Port Status or the Line Status of the target switch port. 3649 If the Input Port of the request message is valid, and the All 3650 Connections flag is set, but there are no connections established 3651 on that port, a failure response message must be returned with the 3652 code field set to, " General Message Failure" For the Report 3653 Connection State message, this failure code indicates that no 3654 connections matching the request message were found. This failure 3655 message should also be returned if the Input Port of the request 3656 message is valid, the All Connections flag is zero, and no 3657 connections are found on that port matching the specified 3658 connection. 3660 8. Configuration Messages 3662 The configuration messages permit the controller to discover the 3663 capabilities of the switch. Three configuration request messages 3664 have been defined: Switch, Port, and All Ports. 3666 8.1 Switch Configuration Message 3668 The Switch Configuration message requests the global (non port- 3669 specific) configuration for the switch. The Switch Configuration 3670 message is: 3672 Message Type = 64 3674 The Port field is not used in the switch configuration message. 3676 The Switch Configuration message has the following format: 3678 0 1 2 3 3679 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 3680 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3681 | Version | Message Type | Result | Code | 3682 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3683 | Partition ID | Transaction Identifier | 3684 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3685 |I| SubMessage Number | Length | 3686 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3687 | MType | MType | MType | MType | 3688 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3689 | Firmware Version Number | Window Size | 3690 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3691 | Switch Type | | 3692 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + 3693 | Switch Name | 3694 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3695 | Max Reservations | 3696 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3698 Note: Field and Parameters that have been explained in the 3699 description of the general messages will not be explained 3700 in this section. Please refer to section 3.1for details. 3702 MType 3703 Represents an alternative QoS Configuration type. 3704 In the request message the requested MType is in the 3705 most significant (leftmost) MType byte; the other three 3706 MType bytes are unused. The reply message will either 3707 accept the MType request by including the requested 3708 MType in the leftmost MType field of the response 3710 message or it will reject the MType request by 3711 responding with MType=0, the default MType, in the first 3712 MType field. Optionally, in the case of a rejection, 3713 the switch reply can include up to 3 additional MType 3714 values each of which indicates an available alternative 3715 QoS Configurations. A switch that supports only the 3716 default QoS Configuration always returns MType=0 in all 3717 four MType fields. MType negotiation is discussed in 3718 section 8.1.1. 3720 0 � Indicates use of the default GSMP model 3721 1 � Indicates use of IEEE qGSMP model 3722 2 - 200 - Reserved 3723 201 - 255 - Experimental 3725 Firmware Version Number 3726 The version number of the switch control firmware 3727 installed. 3729 Window Size 3730 The maximum number of unacknowledged request messages 3731 that may be transmitted by the controller without the 3732 possibility of loss. This field is used to prevent 3733 request messages being lost in the switch because of 3734 overflow in the receive buffer. The field is a hint to 3735 the controller. If desired, the controller may 3736 experiment with higher and lower window sizes to 3737 determine heuristically the best window size. 3739 Switch Type 3740 A 16-bit field allocated by the manufacturer of the 3741 switch. (For these purposes the manufacturer of the 3742 switch is assumed to be the organisation identified by 3743 the OUI in the Switch Name field.) The Switch Type 3744 identifies the product. When the Switch Type is combined 3745 with the OUI from the Switch Name the product is 3746 uniquely identified. Network Management may use this 3747 identification to obtain product related information 3748 from a database. 3750 Switch Name 3751 A 48-bit quantity that is unique within the operational 3752 context of the device. A 48-bit IEEE 802 MAC address, if 3753 available, may be used as the Switch Name. The most 3754 significant 24 bits of the Switch Name must be an 3755 Organisationally Unique Identifier (OUI) that identifies 3756 the manufacturer of the switch. 3758 Max Reservations 3759 The maximum number of Reservations that the switch can 3760 support (see Chapter 5). A value of 0 indicates that the 3761 switch does not support Reservations. 3763 8.1.1 Configuration Message Processing 3765 After adjacency between a controller and a switch is first 3766 established the controller that opts to use a QoS Configuration 3767 model other then the default would send the Switch Configuration 3768 request including the requested QoS Configuration's MType value in 3769 the request message. This request must be sent before any 3770 connection messages are exchanged. If the switch can support the 3771 requested QoS configuration then the switch includes the requested 3772 MType value in the response message as an indication that it 3773 accepts the request. If the switch cannot support the requested 3774 QoS Configuration, it replaces the MType value in the request 3775 message with that of the default QoS Configuration, i.e. MType=0. 3777 The switch configuration response messages may additionally 3778 include the MType values of up to three alternative QoS 3779 Configurations that the switch supports and that the controller 3780 may choose between. 3782 The exchange continues until the controller sends a requested 3783 MType that the switch accepts or until it sends a connection 3784 request message. If the exchange ends without confirmation of an 3785 alternate switch model, then the default Mtype=0 is be used. 3787 Once a MType has been established for the switch, it cannot be 3788 changed without full restart; that is the re-establishment of 3789 adjacency with the resetting of all connections. 3791 8.2 Port Configuration Message 3793 The Port Configuration message requests the switch for the 3794 configuration information of a single switch port. The Port field 3795 in the request message specifies the port for which the 3796 configuration is requested. The Port Configuration message is: 3798 Message Type = 65. 3800 The Port Configuration success response message has the following 3801 format: 3803 0 1 2 3 3804 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 3805 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3806 | Version | Message Type | Result | Code | 3807 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3808 | Partition ID | Transaction Identifier | 3809 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3810 |I| SubMessage Number | Length | 3811 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3812 | Port | 3813 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3814 | Port Session Number | 3815 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3816 | Event Sequence Number | 3817 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3818 | Event Flags | Port Attribute Flags | 3819 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3820 | PortType |S|x|x|x|x|x|x|x| Data Fields Length | 3821 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3822 | | 3823 ~ PortType Specific Data ~ 3824 | | 3825 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3826 | Number of Service Specs | | 3827 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 3828 | | 3829 ~ Service Specs List ~ 3830 | | 3831 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3833 Note: Field and Parameters that have been explained in the 3834 description of the general messages will not be explained 3835 in this section. Please refer to section 3.1for details. 3837 Port 3838 The switch port to which the configuration information 3839 refers. Configuration information relating to both the 3840 input and the output sides of the switch port is given. 3841 Port numbers are 32 bits wide and allocated by the 3842 switch. The switch may choose to structure the 32 bits 3843 into subfields that have meaning to the physical 3844 structure of the switch hardware (e.g. physical slot and 3845 port). This structure may be indicated in the Physical 3846 Slot Number and Physical Port Number fields. 3848 Event Sequence Number 3849 The Event Sequence Number is set to zero when the port 3850 is initialised. It is incremented by one each time the 3852 port detects an asynchronous event that the switch would 3853 normally report via an Event message. The Event Sequence 3854 Number is explained in section 9. 3856 Event Flags 3857 Event Flags in a switch port corresponds to a type of 3858 Event message. 3860 Port Attribute Flags 3861 Port Attribute Flags indicate specific behaviour of a 3862 switch port. The format of the Port Attribute Flags 3863 field is given below: 3865 0 1 3866 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 3867 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3868 |R|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x| 3869 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3871 R: Connection Replace flag 3872 If set, indicates that connections being established by 3873 Add Branch message with corresponding R-bit set will 3874 replace any previously established connection if a clash 3875 between the established output branch and the requested 3876 output branch occurs [see chapter 4.2]. 3878 x: Unused. 3880 PortType 3881 PortType = 0d01 = ATM 3882 PortType = 0d02 = FR 3883 PortType = 0d03 = MPLS 3884 PortType = 0d04 = DS3/E3 3885 PortType = 0d05 = DS1/E1 3887 S: Service Model 3888 If set, indicates that Service Model data follows the 3889 PortSpecific port configuration data. 3891 Data Fields Length 3892 The total length in bytes of the combined PortType 3893 Specific Data and Service Model Data fields. The length 3894 of each of these fields may be derived from the other 3895 data so the value of Data Fields Length serves primarily 3896 as a check and to assist parsing of the All Ports 3897 Configuration message success response. 3899 PortType Specific Data 3900 This field contains the configuration data specific to 3901 the particular port type as specified by the PortType 3902 field. The field format and length depends also on the 3903 value of PortType. PortType Specific Data is defined 3904 below. 3906 Number of Service Specs 3907 Field contains the total number of Service Specs 3908 following in the remainder of the Port Configuration 3909 message response or Port Configuration Record. 3911 Service Specs List 3912 Field contains a sequence of 1 or more Service Specs 3913 (defined below). If the Number of Service Specs is an 3914 even number then 16 bits of padding is inserted after 3915 the last Service Spec in order to justify the end of the 3916 Service Specs List at a 32-bit word boundary. 3918 Service Spec 3919 The format of the Service Spec field is given below: 3921 0 1 3922 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 3923 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3924 | Service ID |Capability Set ID| 3925 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3927 Each Service Spec identifies a Service supported by the 3928 switch together with the Capability Set ID that 3929 identifies the parameters of that instance of the 3930 Service. The Service Spec List may contain more than one 3931 Service Spec sharing the same Service ID. However, each 3932 Service Spec in the Service Specs List must be unique. 3934 Service ID 3935 Field contains the Service ID of a Service 3936 supported on the port. Service ID values are 3937 defined as part of the Service definition in 3938 Chapter 9.6. 3940 Capability Set ID 3941 Field identifies a Capability Set ID of the Service 3942 specified by the Service ID that is supported on 3943 the port. Capability Set ID values are defined by 3944 the Switch in the Service Configuration response 3945 message (see Section 8.4). The switch must not 3946 return a {Service ID, Capability Set ID} pair that 3947 is not reported in a Service Configuration response 3948 message. 3950 8.2.1 PortType Specific Data 3952 The length, format and semantics of the PortType Specific Data field 3953 in the Port Configuration message success response and in the Port 3954 Records of the All Port Configuration message success response all 3955 depend on the PortType value of the same message or record 3956 respectively. The specification of the PortType Specific Data field 3957 is given below. For each defined PortType value the Min and Max 3958 Label fields are given in the subsequent subsections. 3960 0 1 2 3 3961 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 3962 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3963 |P|M|L|R|Q| label range count | label range length | 3964 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3965 | | 3966 ~ Label Range Block ~ 3967 | | 3968 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3969 | Receive Data Rate | 3970 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3971 | Transmit Data Rate | 3972 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3973 | Port Status | Line Type | Line Status | Priorities | 3974 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3975 | Physical Slot Number | Physical Port Number | 3976 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3978 Note: Field and Parameters that have been explained in the 3979 description of the general messages will not be explained 3980 in this section. Please refer to section 3.1for details. 3982 Where each of the ranges in the Label Range Blocks will have the 3983 following format: 3985 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3986 |T|x|V|C| Min Label | 3987 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3988 |T|x|x|x| Max Label | 3989 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3991 Flags 3992 P: VP Switching 3993 The ATM VPC flag may only be set for ports with 3994 PortType=ATM. The VP Switching flag, if set, indicates 3995 that this input port is capable of supporting virtual 3996 path switching. Else, if zero, it indicates that this 3997 input port is only capable of virtual channel switching. 3999 M: Multicast Labels 4000 The Multicast Labels flag, if set, indicates that this 4001 output port is capable of labelling each output branch 4002 of a point-to-multipoint tree with a different label. If 4003 zero, it indicates that this output port is not able to 4004 label each output branch of a point-to-multipoint tree 4005 with a different label. 4007 L: Logical Multicast 4008 The Logical Multicast flag, if set, indicates that this 4009 output port is capable of supporting more than a single 4010 branch from any point-to-multipoint connection. This 4011 capability is often referred to as logical multicast. If 4012 zero, it indicates that this output port can only 4013 support a single output branch from each point-to- 4014 multipoint connection. 4016 R: Label Range 4017 The Label Range flag, if set, indicates that this switch 4018 port is capable of reallocating its label range and 4019 therefore accepts the Label Range message. Else, if 4020 zero, it indicates that this port does not accept Label 4021 Range messages. 4023 Q: QoS 4024 The QoS flag, if set, indicates that this switch port is 4025 capable of handling the Quality of Service messages 4026 defined in section 9 of this specification. Else, if 4027 zero, it indicates that this port does not accept the 4028 Quality of Service messages. 4030 V: Label 4031 The Label flag use is port type specific. 4033 C: Multipoint Capable 4034 This flag indicates that the label range may be used for 4035 multipoint connections. 4037 Label Range Count 4038 Count of Label Data elements contained in the Label Data 4039 Block. 4041 Label Range Length 4042 Byte count in the Label Data Block. 4044 Min Label 4045 The specification of the Min Label field for each 4046 defined PortType value is given in the subsequent 4047 subsections. The default minimum value of dynamically 4048 assigned incoming label that the connection table on the 4049 input port supports and that may be controlled by GSMP. 4050 This value is not changed as a result of the Label Range 4051 message. 4053 Max Label 4054 The specification of the Max Label field for each 4055 defined PortType value is given in the subsequent 4056 subsections. The default maximum value of dynamically 4057 assigned incoming label that the connection table on the 4058 input port supports and that may be controlled by GSMP. 4059 This value is not changed as a result of the Label Range 4060 message. 4062 Receive Data Rate 4063 The maximum rate of data that may arrive at the input 4064 port in; 4065 cells/s for PortType=ATM 4066 bytes/s for PortType=FR 4067 bytes/s for PortType=MPLS 4068 bit/s for PortType=DS3/E3 4069 bit/s for PortType=DS1/E1 4071 Transmit Data Rate 4072 The maximum rate of data that may depart from the output 4073 port in; 4074 cells/s for PortType=ATM 4075 bytes/s for PortType=FR 4076 bytes/s for PortType=MPLS 4077 bit/s for PortType=DS3/E3 4078 bit/s for PortType=DS1/E1 4080 (The transmit data rate of the output port may be 4081 changed by the Set Transmit Data Rate function of the 4082 Port Management message.) 4084 Port Status 4085 Gives the administrative state of the port. The defined 4086 values of the Port Status field are: 4088 Available: 4089 Port Status = 1. The port is available to both send 4090 and receive cells or frames. When a port changes to 4091 the Available state from any other administrative 4092 state, all dynamically assigned connections must be 4093 cleared and a new Port Session Number must be 4094 generated. 4096 Unavailable: 4097 Port Status = 2. The port has intentionally been 4098 taken out of service. No cells or frames will be 4099 transmitted from this port. No cells or frames will 4100 be received by this port. 4102 Internal Loopback: 4103 Port Status = 3. The port has intentionally been 4104 taken out of service and is in internal loopback: 4105 cells or frames arriving at the output port from 4106 the switch fabric are looped through to the input 4107 port to return to the switch fabric. All of the 4108 functions of the input port above the physical 4109 layer, e.g. header translation, are performed upon 4110 the looped back cells or frames. 4112 External Loopback: 4113 Port Status = 4. The port has intentionally been 4114 taken out of service and is in external loopback: 4115 cells or frames arriving at the input port from the 4116 external communications link are immediately looped 4117 back to the communications link at the physical 4118 layer without entering the input port. None of the 4119 functions of the input port above the physical 4120 layer are performed upon the looped back cells or 4121 frames. 4123 Bothway Loopback: 4124 Port Status = 5. The port has intentionally been 4125 taken out of service and is in both internal and 4126 external loopback. 4128 The Port Status of the port over which the GSMP session 4129 controlling the switch is running, must be declared 4130 Available. The controller will ignore any other Port 4131 status for this port. The Port Status of switch ports 4132 after power-on initialisation is not defined by GSMP. 4134 Line Type 4135 The type of physical transmission interface for this 4136 port. The values for this field are defined by the 4137 IANAifType's specified in [17]. 4139 The following values are identified for use in this 4140 version of the protocol. 4142 PortType=Unknown: other(1) 4143 PortType=MPLS: ethernetCsmacd(6), 4144 ppp(23) 4145 PortType=DS1/E1: ds1(18) 4146 PortType=DS3/E3: ds3(30) 4147 PortType=ATM: atm(37) 4148 PortType=FR: frameRelayService(44) 4150 Line Status 4151 The status of the physical transmission medium connected 4152 to the port. The defined values of the Line Status field 4153 are: 4155 Up: 4156 Line Status = 1. The line is able to both send and 4157 receive. When the Line Status changes to Up from 4158 either the Down or Test states, a new Port Session 4159 Number must be generated. 4161 Down: 4162 Line Status = 2. The line is unable either to send 4163 or receive or both. 4165 Test: 4166 Line Status = 3. The port or line is in a test 4167 mode, for example, power-on test. 4169 Priorities 4170 The number of different priority levels that this output 4171 port can assign to connections. Zero is invalid in this 4172 field. If an output port is able to support "Q" 4173 priorities, the highest priority is numbered zero and 4174 the lowest priority is numbered "Q-1". The ability to 4175 offer different qualities of service to different 4176 connections based upon their priority is assumed to be a 4177 property of the output port of the switch. It may be 4178 assumed that for connections that share the same output 4179 port, a cell or frame on a connection with a higher 4180 priority is much more likely to exit the switch before a 4181 cell or frame on a connection with a lower priority if 4182 they are both in the switch at the same time. 4184 Physical Slot Number 4185 The physical location of the slot in which the port is 4186 located. It is an unsigned 16-bit integer that can take 4187 any value except 0xFFFF. The value 0xFFFF is used to 4188 indicate "unknown." The Physical Slot Number is not used 4189 by the GSMP protocol. It is provided to assist network 4190 management in functions such as logging, port naming, 4191 and graphical representation. 4193 Physical Port Number 4194 The physical location of the port within the slot in 4195 which the port is located. It is an unsigned 16-bit 4196 integer that can take any value except 0xFFFF. The value 4197 0xFFFF is used to indicate "unknown." The Physical Port 4198 Number is not used by the GSMP protocol. It is provided 4199 to assist network management in functions such as 4200 logging, port naming, and graphical representation. 4202 There must be a one to one mapping between Port Number 4203 and the Physical Slot Number and Physical Port Number 4204 combination. Two different Port Numbers must not yield 4205 the same Physical Slot Number and Physical Port Number 4206 combination. The same Port Number must yield the same 4207 Physical Slot Number and Physical Port Number within a 4208 single GSMP session. If both Physical Slot Number and 4209 Physical Port Number indicate "unknown" the physical 4210 location of switch ports may be discovered by looking up 4211 the product identity in a database to reveal the 4212 physical interpretation of the 32-bit Port Number. 4214 8.2.1.1 PortType Specific data for PortType=ATM 4216 If PortType=ATM and the T flag is not set, the label range fields 4217 have following format: 4219 0 1 2 3 4220 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 4221 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4222 |T|x|V|x| Min VPI | Min VCI | 4223 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4224 |T|x|V|x| Max VPI | Max VCI | 4225 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4227 V: Label 4228 If the Label flag is set, the message refers to a range 4229 of VPIs only. The Min VCI and Max VCI fields are unused. 4231 If the Label flag is zero the message refers to a range 4232 of VCIs on either one VPI or on a range of VPIs. 4234 Min VPI 4235 The default minimum value of dynamically assigned 4236 incoming VPI that the connection table on the input port 4237 supports and that may be controlled by GSMP. 4239 Max VPI 4240 The default maximum value of dynamically assigned 4241 incoming VPI that the connection table on the input port 4242 supports and that may be controlled by GSMP. 4244 At power-on, after a hardware reset, and after the Reset 4245 Input Port function of the Port Management message, the 4246 input port must handle all values of VPI within the 4247 range Min VPI to Max VPI inclusive and GSMP must be able 4248 to control all values within this range. It should be 4249 noted that the range Min VPI to Max VPI refers only to 4250 the incoming VPI range that can be supported by the 4251 associated port. No restriction is placed on the values 4252 of outgoing VPIs that may be written into the cell 4253 header. If the switch does not support virtual paths it 4254 is acceptable for both Min VPI and Max VPI to specify 4255 the same value, most likely zero. 4257 Use of the Label Range message allows the range of VPIs 4258 supported by the port to be changed. However, the Min 4259 VPI and Max VPI fields in the Port Configuration and All 4260 Ports Configuration messages always report the same 4261 default values regardless of the operation of the Label 4262 Range message. 4264 Min VCI 4265 The default minimum value of dynamically assigned 4266 incoming VCI that the connection table on the input port 4267 can support and may be controlled by GSMP. This value is 4268 not changed as a result of the Label Range message. 4270 Max VCI 4271 The default maximum value of dynamically assigned 4272 incoming VCI that the connection table on the input port 4273 can support and may be controlled by GSMP. 4275 At power-on, after a hardware reset, and after the Reset 4276 Input Port function of the Port Management message, the 4277 input port must handle all values of VCI within the 4278 range Min VCI to Max VCI inclusive, for each of the 4279 virtual paths in the range Min VPI to Max VPI inclusive, 4280 and GSMP must be able to control all values within this 4281 range. It should be noted that the range Min VCI to Max 4282 VCI refers only to the incoming VCI range that can be 4283 supported by the associated port on each of the virtual 4284 paths in the range Min VPI to Max VPI. No restriction is 4285 placed on the values of outgoing VCIs that may be 4286 written into the cell header. 4288 Use of the Label Range message allows the range of VCIs 4289 to be changed on each VPI supported by the port. 4290 However, the Min VCI and Max VCI fields in the Port 4291 Configuration and All Ports Configuration messages 4292 always report the same default values regardless of the 4293 operation of the Label Range message. 4295 For a port over which the GSMP protocol is operating, 4296 the VCI of the GSMP control channel may or may not be 4297 reported as lying within the range Min VCI to Max VCI. A 4298 switch should honour a connection request message that 4299 specifies the VCI value of the GSMP control channel even 4300 if it lies outside the range Min VCI to Max VCI. 4302 If PortType=ATM and the T flag is set, the label range fields have 4303 following format: 4305 0 1 2 3 4306 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 4307 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4308 |T|x|V|x| ATM Label (0x100) | Label Length | 4309 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4310 | | VPI | VCI | 4311 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4313 The message contains the same definitions as above. 4315 8.2.1.2 PortType Specific data for PortType=FR 4317 If PortType=FR and the T flag is unset, the label range fields 4318 have following format: 4320 0 1 2 3 4321 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 4322 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4323 |T|x|x|x|Res|Len| Min DLCI | 4324 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4325 |T|x|x|x| Res | Max DLCI | 4326 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4328 x: unused flag 4330 Res: Reserved field 4332 Len 4333 This field specifies the number of bits of the DLCI. The 4334 following values are supported: 4336 Len DLCI bits 4337 0 10 4338 1 17 4339 2 23 4341 Min DLCI 4342 Max DLCI 4343 Specify a range of DLCI values, Min DLCI to Max DLCI 4344 inclusive. The values should be right justified in the 4345 23-bit fields and the preceding bits should be set to 4346 zero. A single DLCI may be specified with a Min DLCI and 4347 a Max DLCI having the same value. In a request message, 4348 if the value of the Max DLCI field is less than or equal 4349 to the value of the Min DLCI field, the requested range 4350 is a single DLCI with a value equal to the Min DLCI 4351 field. Zero is a valid value. 4353 If PortType=FR and the T flag is set, the label range fields have 4354 following format: 4356 0 1 2 3 4357 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 4358 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4359 |T|S|x|x| FR Label (0x101) | Label Length | 4360 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4361 | |Res|Len| DLCI | 4362 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4364 The message contains the same definitions as above. 4366 8.2.1.3 PortType Specific data for PortType=MPLS 4368 The Label Range field for PortTypes using MPLS labels (e.g. 4369 Ethernet, SONET etc.) with the T flag unset, has the following 4370 format: 4372 0 1 2 3 4373 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 4374 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4375 |T|x x x x x x x x x x x| Min MPLS Label | 4376 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4377 |x x x x|x x x x x x x x| Max MPLS Label | 4378 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4380 Min MPLS Label: 4381 Max MPLS Label: 4382 Specify a range of MPLS label values, Min MPLS Label to 4383 Max MPLS Label inclusive. The Max and Min MPLS label 4384 fields are 20 bits each. 4386 If PortType=MPLS and the T flag is set, the label range fields 4387 have following format: 4389 0 1 2 3 4390 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 4391 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4392 |T|x|x|x| MPLS Gen Label (0x102)| Label Length | 4393 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4394 | Res | MPLS Label | 4395 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4397 The message contains the same definitions as above. 4399 8.2.1.4 PortType Specific data for PortType=DS3/E3 4401 If the PortType=DS3/E3 and the T flag set, the label range field 4402 has the following format: 4404 0 1 2 3 4405 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 4406 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4407 |T|x|x|U| Label Type | Label Length | 4408 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4409 | Min Ch ID | Min Time Slots | 4410 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4411 | Min Time Slots | 4412 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4413 | Max Ch ID | Max Time Slots | 4414 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4415 | Max Time Slots | 4416 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4418 Min Ch ID: 4419 Max Ch ID: 4420 Specify a range of DS1/E1 channel ID values, Min Ch ID 4421 to Max Ch ID inclusive. The Max and Min Ch ID fields are 4422 8 bits each. 4424 For DS1 Channels values are 1-28 4425 For E1 Channels values are 1-16 4427 Min Time Slots: 4428 Max Time Slots: 4429 Specify a range of DS0 Time Slots, Max Time Slot to Max 4430 Time Slot inclusive. The length of Max and Min Time 4431 Slots are determined by the Label Length field (minus 4432 the Ch ID byte). 4434 8.2.1.5 PortType Specific data for PortType=DS1/E1 4436 If the PortType=DS3/E3 and the T flag set, the label range field 4437 has the following format: 4439 0 1 2 3 4440 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 4441 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4442 |T|x|x|x| Label Type | Label Length | 4443 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4444 | Min Time Slots | 4445 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 4446 | Max Time Slots | 4447 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 4449 Min Time Slots: 4450 Max Time Slots: 4451 Specify a range of DS0 Time Slots, Max Time Slot to Max 4452 Time Slot inclusive. The length of Max and Min Time 4453 Slots are determined by the Label Length field (minus 4454 the Ch ID byte). 4456 8.3 All Ports Configuration Message 4458 The All Ports Configuration message requests the switch for the 4459 configuration information of all of its ports. The All Ports 4460 Configuration message is: 4462 Message Type = 66 4464 The Port field is not used in the request message. 4466 The All Ports Configuration success response message has the 4467 following format: 4469 0 1 2 3 4470 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 4471 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4472 | Version | Message Type | Result | Code | 4473 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4474 | Partition ID | Transaction Identifier | 4475 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4476 |I| SubMessage Number | Length | 4477 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4478 | Number of Records | Reserved | 4479 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4480 | | 4481 ~ Port Records ~ 4482 | | 4483 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4485 Note: Field and Parameters that have been explained in the 4486 description of the general messages will not be explained 4487 in this section. Please refer to section 3.1for details. 4489 Number of Records 4490 Field gives the total number of Port Records to be 4491 returned in response to the All Ports Configuration 4492 request message. The number of port records in a single 4493 All Ports Configuration success response must not cause 4494 the packet length to exceed the maximum transmission 4495 unit defined by the encapsulation. If a switch has more 4496 ports than can be sent in a single success response 4497 message it must send multiple success response messages. 4498 All success response messages that are sent in response 4499 to the same request message must have the same 4500 Transaction Identifier as the request message and the 4501 same value in the Number of Records field. All success 4502 response messages that are sent in response to the same 4503 request message, except for the last message, must have 4504 the result field set to "More." The last message, or a 4505 single success response message, must have the result 4506 field set to "Success." All Port records within a 4507 success response message must be complete, i.e. a single 4508 Port record must not be split across multiple success 4509 response messages. 4511 Port Records 4512 Follow in the remainder of the message. Each port record 4513 has the following format: 4515 0 1 2 3 4516 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 4517 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4518 | Port | 4519 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4520 | Port Session Number | 4521 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4522 | Event Flags | reserved | 4523 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4524 | PortType |S|x|x|x| Res | Data Fields Length | 4525 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4526 | | 4527 ~ PortType Specific Data ~ 4528 | | 4529 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4530 | Number of Service Specs | | 4531 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 4532 | | 4533 ~ Service Specs List ~ 4534 | | 4535 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4537 The definition of the fields in the Port Record is exactly the 4538 same as that of the Port Configuration message [section 8.2]. 4540 8.4 Service Configuration Message 4542 The Service Configuration message requests the switch for the 4543 configuration information of the Services that are supported. The 4544 Service Configuration message is: 4546 Message Type = 67 4548 The Service Configuration success response message has the 4549 following format: 4551 0 1 2 3 4552 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 4553 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4554 | Version | Message Type | Result | Code | 4555 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4556 | Partition ID | Transaction Identifier | 4557 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4558 |I| SubMessage Number | Length | 4559 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4560 | Number of Service Records | Reserved | 4561 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4562 | | 4563 ~ Service Records ~ 4564 | | 4565 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4567 Note: Field and Parameters that have been explained in the 4568 description of the general messages will not be explained 4569 in this section. Please refer to section 3.1for details. 4571 Number of Service Records 4572 Field gives the total number of Service Records to be 4573 returned in the Service model Data field. 4575 Service Records 4576 A sequence of zero or more Service Records. The switch 4577 returns one Service Record for each Service that it 4578 supports on any of its ports. A Service record contains 4579 the configuration data of the specified Service. Each 4580 Service Record has the following format: 4582 0 1 2 3 4583 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 4584 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4585 | Service ID | Reserved | Number of Cap. Set. Records | 4586 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4587 | | 4588 ~ Capability Set Records ~ 4589 | | 4590 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4592 Service ID 4593 The Service ID Field identifies the Service supported by 4594 the port. The Services are defined with their Service ID 4595 values as described in Chapter 10.2. 4597 Number of Cap. Set. Records 4598 Field gives the total number of Capability Set Records 4599 to be returned in the Service Record field. 4601 Capability Set Records 4602 The switch returns one or more Capability Set Records in 4603 each Service Record. A Capability Set contains a set of 4604 parameters that describe the QoS parameter values and 4605 traffic controls that apply to an instance of the 4606 Service. Each Capability Set record has the following 4607 format: 4609 0 1 2 3 4610 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 4611 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4612 | Cap. Set ID | Reserved | Traffic Controls | 4613 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4614 | CLR | CTD | 4615 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4616 | Frequency | CDV | 4617 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4619 Capability Set ID 4620 The value in this Field defines a Capability Set ID 4621 supported by the switch. The values of a Capability Set 4622 ID is assigned by the switch and used in Port 4623 Configuration messages to identify Capability Sets 4624 supported by individual ports. Each Capability Set 4625 Record within a Service Record must have a unique 4626 Capability Set ID. 4628 Traffic Controls 4629 Field identifies the availability of Traffic Controls within 4630 the Capability Set. Traffic Controls are defined as part of the 4631 respective Service definition, see Chapter 10. Some or all of 4632 the Traffic Controls may be undefined for a given Service, in 4633 which case the corresponding Flag is ignored by the controller. 4634 The Traffic Controls field is formatted into Traffic Control 4635 Sub-fields as follows: 4637 0 1 4638 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 4639 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4640 | U | D | I | E | S | V | Res | 4641 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4643 Traffic Control Sub-fields have the following encoding: 4645 0b00 Indicates that the Traffic Control is not available in 4646 the Capability Set. 4648 0b01 Indicates that the Traffic Control is applied to all 4649 connections that use the Capability Set. 4651 0b10 Indicates that the Traffic Control is available for 4652 application to connections that use the Capability Set 4653 on a per connection basis. 4655 0b11 Reserved 4657 Traffic Control Sub-fields: 4659 U: Usage Parameter Control 4660 The Usage Parameter Control sub-field indicates the 4661 availability of Usage Parameter Control for the 4662 specified Service and Capability Set. 4664 D: Packet Discard 4665 The Packet Discard sub-field indicates the availability 4666 of Packet Discard for the specified Service and 4667 Capability Set. 4669 I: Ingress Shaping 4670 The Ingress Shaping sub-field indicates the availability 4671 of Ingress Traffic Shaping to the Peak Cell Rate and 4672 Cell Delay Variation Tolerance for the specified Service 4673 and Capability Set. 4675 E: Egress Shaping, Peak Rate 4676 The Egress Shaping, Peak Rate sub-field indicates the 4677 availability of Egress Shaping to the Peak Cell Rate and 4678 Cell Delay Variation Tolerance for the specified Service 4679 and Capability Set. 4681 S: Egress Traffic Shaping, Sustainable Rate 4682 The Egress Shaping, Sustainable Rate sub-field, if set, 4683 indicates that Egress Traffic Shaping to the Sustainable 4684 Cell Rate and Maximum Burst Size is available for the 4685 specified Service and Capability Set. 4687 V: VC Merge 4688 The VC Merge sub-field indicates the availability of ATM 4689 Virtual Channel Merge (i.e. multipoint to point ATM 4690 switching with a traffic control to avoid AAL5 PDU 4691 interleaving) capability for the specified Service and 4692 Capability Set. 4694 Res: Reserved 4696 QoS Parameters 4697 The remaining four fields in the Capability Set Record contain 4698 the values of QoS Parameters. QoS Parameters are defined as 4699 part of the respective Service definition, see Chapter 9.6. 4700 Some or all of the QoS Parameters may be undefined for a given 4701 Service, in which case the corresponding field is ignored by 4702 the controller. 4704 CLR: Cell Loss Ratio 4705 The Cell Loss Ratio parameter indicates the CLR 4706 guaranteed by the switch for the specified Service. A 4707 cell loss ratio is expressed as an order of magnitude n, 4708 where the CLR takes the value 10exp(-n). The value n is 4709 coded as a binary integer, having a range of 1 <= n <= 4710 15. In addition, the value 0b1111 1111 indicates that no 4711 CLR guarantees is given. 4713 Frequency 4714 The frequency field is coded as an 8 bit unsigned 4715 integer. Frequency applies to the MPLS CR-LDP Service 4716 (see Section 10.4.3). Valid values of Frequency are: 4718 0 - Very frequent 4719 1 - Frequent 4720 2 - Unspecified 4722 CTD: Cell Transfer Delay 4723 The CTD value is expressed in units of microseconds. It 4724 is coded as a 24-bit binary integer. 4726 CDV: Peak-to-peak Cell Delay Variation 4727 The CDV value is expressed in units of microseconds. It 4728 is coded as a 24-bit binary integer. 4730 9. Event Messages 4732 Event messages allow the switch to inform the controller of 4733 certain asynchronous events. By default the controller does not 4734 acknowledge event messages unless ReturnReceipt is set in the 4735 Result field. The Code field is only used in case of Adjacency 4736 Update message, otherwise it is not used and should be set to 4737 zero. Event messages are not sent during initialisation. Event 4738 messages have the following format: 4740 0 1 2 3 4741 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 4742 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4743 | Version | Message Type | Result | Code | 4744 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4745 | Partition ID | Transaction Identifier | 4746 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4747 |I| SubMessage Number | Length | 4748 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4749 | Port | 4750 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4751 | Port Session Number | 4752 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4753 | Event Sequence Number | 4754 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4755 |T|S|x|x| Label | 4756 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4758 Note: Field and Parameters that have been explained in the 4759 description of the general messages will not be explained 4760 in this section. Please refer to section 3.1for details. 4762 Event Sequence Number 4763 The current value of the Event Sequence Number for the 4764 specified port. The Event Sequence Number is set to zero 4765 when the port is initialised. It is incremented by one 4766 each time the port detects an asynchronous event that 4767 the switch would normally report via an Event message. 4768 The Event Sequence Number must be incremented each time 4769 an event occurs even if the switch is prevented from 4770 sending an Event message due to the action of the flow 4771 control. 4773 Label 4774 Field gives the Label to which the event message refers. 4775 If this field is not required by the event message it is 4776 set to zero. 4778 Each switch port must maintain an Event Sequence Number and a set 4779 of Event Flags, one Event Flag for each type of Event message. 4780 When a switch port sends an Event message it must set the Event 4781 Flag on that port corresponding to the type of the event. The port 4782 is not permitted to send another Event message of the same type 4783 until the Event Flag has been reset. Event Flags are reset by the 4784 "Reset Event Flags" function of the Port Management message. This 4785 is a simple flow control preventing the switch from flooding the 4786 controller with event messages. The Event Sequence Number of the 4787 port must be incremented every time an event is detected on that 4788 port even if the port is prevented from reporting the event due to 4789 the action of the flow control. This allows the controller to 4790 detect that it has not been informed of some events that have 4791 occurred on the port due to the action of the flow control. 4793 9.1 Port Up Message 4795 The Port Up message informs the controller that the Line Status of 4796 a port has changed from either the Down or Test state to the Up 4797 state. When the Line Status of a switch port changes to the Up 4798 state from either the Down or Test state a new Port Session Number 4799 must be generated, preferably using some form of random number. 4800 The new Port Session Number is given in the Port Session Number 4801 field. The Label field is not used and is set to zero. The Port Up 4802 message is: 4804 Message Type = 80 4806 9.2 Port Down Message 4808 The Port Down message informs the controller that the Line Status 4809 of a port has changed from the Up state to the Down state. This 4810 message will be sent to report link failure if the switch is 4811 capable of detecting link failure. The port session number that 4812 was valid before the port went down is reported in the Port 4813 Session Number field. The Label field is not used and is set to 4814 zero. The Port Down message is: 4816 Message Type = 81 4818 9.3 Invalid Label Message 4820 The Invalid Label message is sent to inform the controller that 4821 one or more cells or frames have arrived at an input port with a 4822 Label that is currently not allocated to an assigned connection. 4823 The input port is indicated in the Port field, and the Label in 4824 the Label field. The Invalid Label message is: 4826 Message Type = 82 4828 9.4 New Port Message 4830 The New Port message informs the controller that a new port has 4831 been added to the switch. The port number of the new port is given 4832 in the Port field. A new Port Session Number must be assigned, 4833 preferably using some form of random number. The new Port Session 4834 Number is given in the Port Session Number field. The state of the 4835 new port is undefined so the Label field is not used and is set to 4836 zero. The New Port message is: 4838 Message Type = 83 4840 9.5 Dead Port Message 4842 The Dead Port message informs the controller that a port has been 4843 removed from the switch. The port number of the port is given in 4844 the Port field. The Port Session Number that was valid before the 4845 port was removed is reported in the Port Session Number field. The 4846 Label fields are not used and are set to zero. The Dead Port 4847 message is: 4849 Message Type = 84 4851 9.6 Adjacency Update Message 4853 The Adjacency Update message informs the controller when 4854 adjacencies, i.e. other controllers controlling a specific 4855 partition, are joining or leaving. When a new adjacency has been 4856 established, the switch sends an Adjacency Update message to every 4857 controller with an established adjacency to that partition. The 4858 Adjacency Update message is also sent when adjacency is lost 4859 between the partition and a controller, provided that there are 4860 any remaining adjacencies with that partition. The Code field is 4861 used to indicate the number of adjacencies known by the switch 4862 partition. The label field is not used and should be set to zero. 4863 The Adjacency Update message is: 4865 Message Type = 85 4867 10. Service Model Definition 4869 10.1 Overview 4871 In the GSMP Service Model a controller may request the switch to 4872 establish a connection with a given Service. The requested Service 4873 is identified by including a Service ID in the Add Branch message 4874 or the Reservation Message. The Service ID refers to a Service 4875 Definition provided in this chapter of the GSMP specification. 4877 A switch that implements one or more of the Services, as defined 4878 below, advertises the availability of these Services in the 4879 Service Configuration message response (see Section 8.4). Details 4880 of the switch's implementation of a given Service that are 4881 important to the controller (e.g. the value of delay or loss 4882 bounds or the availability of traffic controls such as policers or 4883 shapers) are reported in the form of a Capability Set in the 4884 Service Configuration message response. 4886 Thus a switch's implementation of a Service is defined in two 4887 parts: the Service Definition, which is part of the GSMP 4888 specification, and the Capability Set, which describes attributes 4889 of the Service specific to the switch. A switch may support more 4890 than one Capability Set for a given Service. For example if a 4891 switch supports one Service with two different values of a delay 4892 bound it could do this by reporting two Capability Sets for that 4893 Service. 4895 The Service Definition is identified in GSMP messages by the 4896 Service ID, an eight-bit identifier. Assigned numbers for the 4897 Service ID are given with the Service Definitions in Section 10.4. 4898 The Capability Set is identified in GSMP messages by the 4899 Capability Set ID, an eight-bit identifier. Numbers for the 4900 Capability Set ID are assigned by the switch and are advertised in 4901 the Service Configuration message response. 4903 The switch reports all its supported Services and Capability Sets 4904 in the Service Configuration message response. The subset of 4905 Services and Capability Sets supported on an individual port is 4906 reported in the Port Configuration message response or in the All 4907 Ports Configuration message response. In these messages the 4908 Services and Capability Sets supported on the specified port are 4909 indicated by a list of {Service ID, Capability Set ID} number 4910 pairs. 4912 10.2 Service Model Definitions 4914 Terms and objects defined for the GSMP Service Model are given in 4915 this section. 4917 10.2.1 Original Specifications 4919 Services in GSMP are defined largely with reference to Original 4920 Specifications, i.e. the standards or implementation agreements 4921 published by organisations such as ITU-T, IETF, and ATM Forum that 4922 originally defined the Service. This version of GSMP refers to 4 4923 Original specifications: [8], [9], [10], [11] and [18]. 4925 10.2.2 Service Definitions 4927 Each Service Definition in GSMP includes definition of: 4929 Traffic Parameters 4930 Traffic Parameter definitions are associated with Services 4931 while Traffic Parameter values are associated with 4932 connections. 4934 Traffic Parameters quantitatively describe a connection's 4935 requirements on the Service. For example, Peak Cell Rate is 4936 a Traffic Parameter of the Service defined by the ATM Forum 4937 Constant Bit Rate Service Category. 4939 Some Traffic Parameters are mandatory and some are 4940 optional, depending on the Service. 4942 Semantics of Traffic Parameters are defined by reference to 4943 Original Specifications. 4945 QoS Parameters 4946 QoS Parameters and their values are associated with 4947 Services. 4949 QoS Parameters express quantitative characteristics of a 4950 switch's support of a Service. They include, for example, 4951 quantitative bounds on switch induced loss and delay. 4953 Some QoS Parameters will be mandatory and some will be 4954 optional. 4956 Semantics of QoS Parameters are defined by reference to 4957 Original Specifications. 4959 Traffic Controls 4960 The implementation of some Services may include the use of 4961 Traffic Controls. Traffic Controls include for example 4962 functions such as policing, input shaping, output shaping, 4963 tagging and marking, frame vs. cell merge, frame vs. cell 4964 discard. 4966 Switches are not required to support Traffic Controls. Any 4967 function that is always required in the implementation of a 4968 Service is considered part of the Service and is not 4969 considered a Traffic Control. 4971 If a switch supports a Traffic Control then the control may 4972 be applied either to all connections that use a given 4973 Capability Set (see below) or to individual connections. 4975 The definition of a Traffic Control is associated with a 4976 Service. Traffic Controls are defined, as far as possible, 4977 by reference to Original Specifications. 4979 10.2.3 Capability Sets 4981 For each Service that a switch supports the switch must also 4982 support at least one Capability Set. A Capability Set establishes 4983 characteristics of a switch's implementation of a Service. It may 4984 be appropriate for a switch to support more than one Capability 4985 Set for a given Service. 4987 A Capability Set may contain, depending on the Service definition, 4988 QoS Parameter values and indication of availability of Traffic 4989 Controls. 4991 If a switch reports QoS Parameter values in a Capability Set then 4992 these apply to all the connections that use that Capability Set. 4994 For each Traffic Control defined for a given Service the switch 4995 reports availability of that control as one of the following: 4997 Not available in the Capability Set, 4999 Applied to all connections that use the Capability Set, or 5001 Available for application to connections that use the 5002 Capability Set on a per connection basis. In this case a 5003 controller may request application of the Traffic Control 5004 in connection management messages. 5006 10.3 Service Model Procedures 5008 A switch's Services and Capability Sets are reported to a 5009 controller in a Service Configuration messages. A Service 5010 Configuration message response includes the list of Services 5011 defined for GSMP that the switch supports and, for each Service, a 5012 specification of the Capability Sets supported for the Service. 5013 Services are referred to by numbers standardised in the GSMP 5014 specification. Capability Sets are referred to by a numbering 5015 system reported by the switch. Each Capability Set within a given 5016 Service includes a unique identifying number together with the 5017 switch's specification of QoS Parameters and Traffic Controls. 5019 A switch need not support all the defined Services and Capability 5020 Sets on every port. The supported Services and Capability Sets are 5021 reported to the controller on a per port basis in port 5022 configuration messages. Port configuration response messages list 5023 the supported Services using the standardised identifying numbers 5024 and the Capability Sets by using the identifying numbers 5025 established in the switch Service configuration messages. 5027 GSMP does not provide a negotiation mechanism by which a 5028 controller may establish or modify Capability Sets. 5030 When a controller establishes a connection, the connection 5031 management message includes indication of the Service and the 5032 Capability Set. Depending on these the connection management 5033 message may additionally include Traffic Parameter values and 5034 Traffic Control flags. 5036 A connection with a given Service can only be established if both 5037 the requested Service and the requested Capability Set are 5038 available on all of the connection's input and output ports. 5040 Refresh of an extant connection is permitted but the add branch 5041 message requesting the message must not include indication of 5042 Service, Capability Sets or Traffic Parameters. 5044 An extant connection's Traffic Parameters may be changed without 5045 first deleting the connection. The Service and Capability Sets of 5046 an extant connection cannot be changed. 5048 Move branch messages may be refused on the grounds of resource 5049 depletion. 5051 10.4 Service Definitions 5053 This section sets forth the definition of Services. The following 5054 Service Identifiers are defined: 5056 ID Service Type 5058 1 CBR= 1 5059 2 rt-VBR.1 5060 3 rt-VBR.2 5061 4 rt-VBR.3 5062 5 nrt-VBR.1 5063 6 nrt-VBR.2 5064 7 nrt-VBR.3 5065 8 UBR.1 5066 9 UBR.2 5067 10-11 reserved 5068 12 GFR.1 5069 13 GFR.2 5070 14-19 Reserved 5071 20 Int-Serv Controlled Load 5072 21-24 Reserved 5073 25 MPLS CR-LDP QoS 5074 26-29 Reserved 5075 30 Frame Relay Service 5076 31-49 Reserved 5077 50 Structured DS1 5078 51 Unstructured DS1 5079 52 Structured E1 5080 53 Unstructured E1 5081 54 Unstructured DS3 5082 55 Unstructured E3 5083 56-255 Reserved 5085 Each Service will be defined in its own subsection. Each Service 5086 definition includes the following definitions: 5088 Service Identifier 5089 The reference number used to identify the Service in GSMP 5090 messages. 5092 Service Characteristics 5093 A definition of the Service. 5095 Traffic Parameters 5096 A definition of the Traffic Parameters used in connection 5097 management messages. 5099 QoS Parameters 5100 A definition of the QoS Parameters that are included in the 5101 Capability Set for instances of the Service. 5103 Traffic Controls 5104 A definition of the Traffic Controls that may be supported 5105 by an instance of the Service. 5107 Descriptive text is avoided wherever possible in order to minimise 5108 any possibility of semantic conflict with the Original 5109 Specifications. 5111 10.4.1 ATM Forum Service Categories 5113 10.4.1.1 CBR 5115 Service Identifier: 5117 CBR.1 - Service ID = 1 5119 Service Characteristics: 5121 Equivalent to ATM Forum CBR.1 Service, see [8]. 5123 Traffic Parameters: 5125 - Peak Cell Rate 5127 - Cell Delay Variation Tolerance 5129 QoS Parameters: 5131 - Cell Loss Ratio 5133 - Maximum Cell Transfer Delay 5135 - Peak-to-peak Cell Delay Variation 5137 Traffic Controls: 5139 - (U) Usage Parameter Control 5141 - (I) Ingress Traffic Shaping to the Peak Cell Rate 5143 - (E) Egress Traffic Shaping to the Peak Cell Rate and Cell 5144 Delay Variation Tolerance 5146 - (D) Packet Discard 5148 10.4.1.2 rt-VBR 5150 Service Identifier: 5152 rt-VBR.1 - Service ID = 2 5154 rt-VBR.2 - Service ID = 3 5156 rt-VBR.3 - Service ID = 4 5158 Service Characteristics: 5160 Equivalent to ATM Forum rt-VBR Service, see [8]. 5162 Traffic Parameters: 5164 - Peak Cell Rate 5166 - Cell Delay Variation Tolerance 5168 - Sustainable Cell Rate 5170 - Maximum Burst Size 5172 QoS Parameters: 5174 - Cell Loss Ratio 5176 - Maximum Cell Transfer Delay 5178 - Peak-to-peak Cell Delay Variation 5180 Traffic Controls: 5182 - (U) Usage Parameter Control 5184 - (I) Ingress Traffic Shaping to the Peak Cell Rate 5186 - (E) Egress Traffic Shaping to the Peak Cell Rate and Cell 5187 Delay Variation Tolerance 5189 - (S) Egress Traffic Shaping to the Sustainable Cell Rate and 5190 Maximum Burst Size 5192 - (P) Packet Discard 5194 - (V) VC Merge 5196 10.4.1.3 nrt-VBR 5198 Service Identifier: 5200 nrt-VBR.1 - Service ID = 5 5202 nrt-VBR.2 - Service ID = 6 5204 nrt-VBR.3 - Service ID = 7 5206 Service Characteristics: 5208 Equivalent to ATM Forum nrt-VBR Service, see [8]. 5210 Traffic Parameters: 5212 - Peak Cell Rate 5214 - Cell Delay Variation Tolerance 5216 - Sustainable Cell Rate 5218 - Maximum Burst Size 5220 QoS Parameter: 5222 - Cell Loss Ratio 5224 Traffic Controls: 5226 - (U) Usage Parameter Control 5228 - (I) Ingress Traffic Shaping to the Peak Cell Rate 5230 - (E) Egress Traffic Shaping to the Peak Cell Rate and Cell 5231 Delay Variation Tolerance 5233 - (S) Egress Traffic Shaping to the Sustainable Cell Rate and 5234 Maximum Burst Size 5236 - (P) Packet Discard 5238 - (V) VC Merge 5240 10.4.1.4 UBR 5242 Service Identifier: 5244 UBR.1 - Service ID = 8 5246 UBR.2 - Service ID = 9 5248 Service Characteristics: 5250 Equivalent to ATM Forum UBR Service, see [8]. 5252 Traffic Parameters: 5254 - Peak Cell Rate 5256 - Cell Delay Variation Tolerance 5258 QoS Parameter: 5260 None 5262 Traffic Controls: 5264 - (U) Usage Parameter Control 5266 - (I) Ingress Traffic Shaping to the Peak Cell Rate 5268 - (E) Egress Traffic Shaping to the Peak Cell Rate and Cell 5269 Delay Variation Tolerance 5271 - (P) Packet Discard 5273 - (V) VC Merge 5275 10.4.1.5 ABR 5277 ABR is not supported in this version of GSMP. 5279 10.4.1.6 GFR 5281 Service Identifier: 5283 GFR.1 - Service ID = 12 5285 GFR.2 - Service ID = 13 5287 Service Characteristics: 5289 Equivalent to ATM Forum GFR Service, see [8]. 5291 Traffic Parameters: 5293 - Peak Cell Rate 5295 - Cell Delay Variation Tolerance 5297 - Minimum Cell Rate 5299 - Maximum Burst Size 5301 - Maximum Frame Size 5303 QoS Parameter: 5305 - Cell Loss Ratio 5307 Traffic Controls: 5309 - (U) Usage Parameter Control 5311 - (I) Ingress Traffic Shaping to the Peak Cell Rate 5313 - (E) Egress Traffic Shaping to the Peak Cell Rate and Cell 5314 Delay Variation Tolerance 5316 - (V) VC Merge 5318 10.4.2 Integrated Services 5320 10.4.2.1 Controlled Load 5322 Service Identifier: 5324 Int-Serv Controlled Load - Service ID = 20 5326 Service Characteristics: 5328 See [9]. 5330 Traffic Parameters: 5332 - Token bucket rate (r) 5334 - Token bucket depth (b) 5336 - Peak rate (p) 5338 - Minimum policed unit (m) 5340 - Maximum packet size (M) 5342 QoS Parameter: 5344 None. 5346 Traffic Controls: 5348 None. 5350 10.4.3 MPLS CR-LDP 5352 Service Identifier: 5354 MPLS CR-LDP QoS - Service ID = 25 5356 Service Characteristics: 5358 See [10]. 5360 Traffic Parameters: 5362 - Peak Data Rate 5364 - Peak Burst Size 5366 - Committed Data Rate 5368 - Committed Burst Size 5370 - Excess Burst Size 5372 - Weight 5374 QoS Parameter: 5376 - Frequency 5378 Traffic Controls: 5380 None currently defined. 5382 10.4.4 Frame Relay 5384 Service Identifier: 5386 Frame Relay Service - Service ID = 30 5388 Service Characteristics: 5390 Equivalent to Frame Relay Bearer Service, see [11]. 5392 Traffic Parameters: 5394 - Committed Information Rate 5396 - Committed Burst Rate 5398 - Excess Burst Rate 5400 QoS Parameters: 5402 None 5404 Traffic Controls: 5406 - Usage Parameter Control 5407 - Egress Traffic Shaping to the Committed Information Rate 5408 and Committed Burst Size 5410 10.4.5 Diff-Serv 5412 Diff-Serv is not supported in this version of GSMP. 5414 10.4.6 Circuit Emulation 5416 Service Identifier: 5418 Structured DS1 - Service ID = 50 5420 Unstructured DS1 - Service ID = 51 5422 Structured E1 - Service ID = 52 5424 Unstructured E1 - Service ID = 53 5426 Unstructured DS3 - Service ID = 54 5428 Unstructured E3 - Service ID = 55 5430 Service Characteristics: 5432 Equivalent to Circuit Emulation Service, see [18]. 5434 Traffic Parameters: 5436 See chapter [10.4.1.1] 5438 QoS Parameters: 5440 See chapter [10.4.1.1] 5442 Traffic Controls: 5444 - Usage Parameter Control 5446 10.5 Format and encoding of the Traffic Parameters 5448 Connection management messages that use the GSMP Service Model 5449 (i.e. those that have IQS/OQS set to 0b10) include the Traffic 5450 Parameters Block that specifies the Traffic Parameter values of a 5451 connection. The required Traffic Parameters of a given Service are 5452 given in Section 10.4. The format and encoding of these parameters 5453 are given below. 5455 10.5.1 Traffic Parameters for ATM Forum Services 5457 The Traffic Parameters: 5459 - Peak Cell Rate 5461 - Cell Delay Variation Tolerance 5463 - Sustainable Cell Rate 5465 - Maximum Burst Size 5467 - Minimum Cell Rate 5469 - Maximum Frame Size 5471 are defined in [8]. These Parameters are encoded as 24-bit 5472 unsigned integers. Peak Cell Rate, Sustainable Cell Rate, and 5473 Minimum Cell Rate are in units of cells per second. Cell Delay 5474 Variation Tolerance is in units of microseconds. Maximum Burst 5475 Size and Maximum Frame Size are in units of cells. In GSMP 5476 messages the individual Traffic Parameters are encoded as follows: 5478 0 1 2 3 5479 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 5480 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5481 | Reserved | 24 bit unsigned integer | 5482 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5484 The format of the Traffic Parameters Block in connection 5485 management messages depends on the Service. It is a sequence of 5486 the 32 bit words (as shown above) corresponding to the Traffic 5487 Parameters as specified in the Service Definitions given in 5488 Section 10.4.1 in the order given there. 5490 10.5.2 Traffic Parameters for the Int-Serv Controlled Load Service 5492 The Traffic Parameters: 5494 - Token bucket rate (r) 5496 - Token bucket size (b) 5498 - Peak rate (p) 5500 are defined in [9]. They are encoded as 32-bit IEEE single- 5501 precision floating point numbers. The Traffic Parameters Token 5502 bucket rate (r) and Peak rate (p) are in units of bytes per 5503 seconds. The Traffic Parameter Token bucket size (b) is in units 5504 of bytes. 5506 The Traffic Parameters: 5508 - Minimum policed unit (m) 5510 - Maximum packet size (M) 5512 are defined in [9]. They are encoded as 32 integer in units of 5513 bytes. 5515 The Traffic Parameters Block for the Int-Serv Controlled Load 5516 Service is as follows: 5518 0 1 2 3 5519 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 5520 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5521 | Token bucket rate (r) | 5522 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5523 | Token bucket size (b) | 5524 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5525 | Peak rate (p) | 5526 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5527 | Minimum policed unit (m) | 5528 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5529 | Maximum packet size (M) | 5530 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5532 10.5.3 Traffic Parameters for the CRLDP Service 5534 The Traffic Parameters: 5536 - Peak Data Rate, 5538 - Peak Burst Size, 5540 - Committed Data Rate, 5542 - Committed Burst Size, and 5544 - Excess Burst Size 5546 are defined in [10] to be encoded as a 32-bit IEEE single- 5547 precision floating point number. A value of positive infinity is 5548 represented as an IEEE single-precision floating-point number 5549 with an exponent of all ones (255) and a sign and mantissa of all 5550 zeros. The values Peak Data Rate and Committed Data Rate are in 5551 units of bytes per second. The values Peak Burst Size, Committed 5552 Burst Size and Excess Burst Size are in units of bytes. 5554 The Traffic Parameter 5556 - Weight 5558 is defined in [10] to be an 8-bit unsigned integer indicating the 5559 weight of the CRLSP. Valid weight values are from 1 to 255. The 5560 value 0 means that weight is not applicable for the CRLSP. 5562 The Traffic Parameters Block for the CRLDP Service is as follows: 5564 0 1 2 3 5565 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 5566 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5567 | Peak Data Rate | 5568 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5569 | Peak Burst Size | 5570 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5571 | Committed Data Rate | 5572 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5573 | Committed Burst Size | 5574 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5575 | Excess Burst Size | 5576 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5577 | Reserved | Weight | 5578 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5580 10.5.4 Traffic Parameters for the Frame Relay Service 5582 The Traffic Parameters: 5584 Committed Information Rate 5586 Committed Burst Size 5588 Excess Burst Size 5590 are defined in [11]. Format and encoding of these parameters for 5591 frame relay signalling messages are defined in [12]. (Note than in 5592 [12] the Committed Information Rate is called "Throughput".) GSMP 5593 uses the encoding defined in [12] but uses a different format. 5595 The format of the Traffic Parameters Block for Frame Relay Service 5596 is a follows: 5598 0 1 2 3 5599 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 5600 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5601 | Reserved | Mag | Reserved| CIR Multiplier | 5602 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5603 | Reserved | Mag |x x| CBS Multiplier | 5604 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5605 | Reserved | Mag |x x| EBS Multiplier | 5606 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5608 Mag 5609 This field is an unsigned integer in the range from 0 to 5610 6. The value 7 is not allowed. Mag is the decimal 5611 exponent for the adjacent multiplier field (which itself 5612 functions as a mantissa). 5614 CIR Multiplier 5615 This field is an unsigned integer. It functions as the 5616 mantissa of the Committed Information Rate Traffic 5617 Parameter. 5619 CBS Multiplier 5620 EBS Multiplier 5621 These fields are unsigned integers. They function as the 5622 mantissas of the Committed Burst Size and Excess Burst 5623 Size Traffic Parameters respectively. 5625 The Traffic Parameter Values are related to their encoding in GSMP 5626 messages as follows: 5628 Committed Information Rate = 10^(Mag) * (CIR Multiplier) 5630 Committed Burst Size = 10^(Mag) * (CBS Multiplier) 5632 Excess Burst Size = 10^(Mag) * (EBS Multiplier) 5634 10.6 Traffic Controls (TC) Flags 5636 The TC Flags field in Add Branch messages for connections using 5637 the Service Model are set by the controller to indicate that 5638 specific traffic controls are requested for the requested 5639 connection. The TC Flags field is shown below: 5641 0 1 2 3 4 5 6 7 5642 +-+-+-+-+-+-+-+-+ 5643 |U|D|I|E|S|V|P|x| 5644 +-+-+-+-+-+-+-+-+ 5646 U: Usage Parameter Control 5647 When set, this flag indicates that Usage Parameter 5648 Control is requested. 5650 D: Packet Discard 5651 When set, this flag indicates that Packet Discard is 5652 requested. 5654 I: Ingress Shaping 5655 When set, this flag indicates the availability of 5656 Ingress Traffic Shaping to the Peak Rate and Delay 5657 Variation Tolerance is requested. 5659 E: Egress Shaping, Peak Rate 5660 When set, this flag indicates that Egress Shaping to the 5661 Peak Rate and Delay Variation Tolerance is requested. 5663 S: Egress Traffic Shaping, Sustainable Rate 5664 When set, this flag indicates that Egress Traffic 5665 Shaping to the Sustainable Rate and Maximum Burst Size 5666 is requested. 5668 V: VC Merge 5669 When set, this flag indicates that ATM Virtual Channel 5670 Merge (i.e. multipoint to point ATM switching with a 5671 traffic control to avoid AAL5 PDU interleaving) is 5672 requested. 5674 P: Port 5675 When set indicates that traffic block pertains to 5676 Ingress Port. 5678 x: Reserved 5680 The controller may set (to one) the flag corresponding to the 5681 requested Traffic Control if the corresponding Traffic Control has 5682 been indicated in the Service Configuration response message 5683 (Section 8.4) as available for application to connections that use 5684 the requested Capability Set on a per connection basis. (The 5685 requested Capability Set is indicated by the Capability Set ID the 5686 least significant byte of the Service Selector field of the Add 5687 Branch message.) If the Traffic Control has been indicated in the 5688 Service Configuration response message as either not available in 5689 the Capability Set or applied to all connections that use the 5690 Capability Set then the controller sets the flag to zero and the 5691 switch ignores the flag. 5693 11. Adjacency Protocol 5695 The adjacency protocol is used to synchronise state across the 5696 link, to agree on which version of the protocol to use, to 5697 discover the identity of the entity at the other end of a link, 5698 and to detect when it changes. GSMP is a hard state protocol. It 5699 is therefore important to detect loss of contact between switch 5700 and controller, and to detect any change of identity of switch or 5701 controller. No GSMP messages other than those of the adjacency 5702 protocol may be sent across the link until the adjacency protocol 5703 has achieved synchronisation. 5705 11.1 Packet Format 5707 All GSMP messages belonging to the adjacency protocol have the 5708 following structure: 5710 0 1 2 3 5711 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 5712 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5713 | Version | Message Type | Timer |M| Code | 5714 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5715 | Sender Name | 5716 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5717 | | | 5718 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + 5719 | Receiver Name | 5720 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5721 | Sender Port | 5722 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5723 | Receiver Port | 5724 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5725 |PType | PFlag | Sender Instance | 5726 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5727 | Partition Id | Receiver Instance | 5728 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5730 Version 5732 In the adjacency protocol the Version field is used for 5733 version negotiation. In a SYN message the Version field 5734 always contains the highest version understood by the 5735 sender. A receiver receiving a SYN message with a 5736 version higher than understood will ignore that message. 5737 A receiver receiving a SYN message with a version lower 5738 than its own highest version, but a version that it 5739 understands, will reply with a SYNACK with the version 5740 from the received SYN in its GSMP Version field. This 5741 defines the version of the GSMP protocol to be used 5743 while the adjacency protocol remains synchronised. All 5744 other messages will use the agreed version in the 5745 Version field. 5747 The version number for the version of the GSMP protocol 5748 defined by this specification is Version = 2. 5750 Message Type 5751 The adjacency protocol is: 5753 Message Type = 10 5755 Timer 5756 The Timer field is used to inform the receiver of the 5757 timer value used in the adjacency protocol of the 5758 sender. The timer specifies the nominal time between 5759 periodic adjacency protocol messages. It is a constant 5760 for the duration of a GSMP session. The timer field is 5761 specified in units of 100ms. 5763 M-Flag 5764 The M-Flag is used in the SYN message to indicate 5765 whether the sender is a master or a slave. If the M-Flag 5766 is set in the SYN message, the sender is a master. If 5767 zero, the sender is a slave. The GSMP protocol is 5768 asymmetric, the controller being the master and the 5769 switch being the slave. The M-Flag prevents a master 5770 from synchronising with another master, or a slave with 5771 another slave. If a slave receives a SYN message with a 5772 zero M-Flag, it must ignore that SYN message. If a 5773 master receives a SYN message with the M-Flag set, it 5774 must ignore that SYN message. In all other messages the 5775 M-Flag is not used. 5777 Code 5778 Field specifies the function of the message. Four Codes 5779 are defined for the adjacency protocol: 5781 SYN: Code = 1 5782 SYNACK: Code = 2 5783 ACK: Code = 3 5784 RSTACK: Code = 4. 5786 Sender Name 5787 For the SYN, SYNACK, and ACK messages, is the name of 5788 the entity sending the message. The Sender Name is a 48- 5789 bit quantity that is unique within the operational 5790 context of the device. A 48-bit IEEE 802 MAC address, if 5791 available, may be used for the Sender Name. If the 5792 Ethernet encapsulation is used the Sender Name must be 5793 the Source Address from the MAC header. For the RSTACK 5794 message, the Sender Name field is set to the value of 5795 the Receiver Name field from the incoming message that 5796 caused the RSTACK message to be generated. 5798 Receiver Name 5799 For the SYN, SYNACK, and ACK messages, is the name of 5800 the entity that the sender of the message believes is at 5801 the far end of the link. If the sender of the message 5802 does not know the name of the entity at the far end of 5803 the link, this field should be set to zero. For the 5804 RSTACK message, he Receiver Name field is set to the 5805 value of the Sender Name field from the incoming message 5806 that caused the RSTACK message to be generated. 5808 Sender Port 5809 For the SYN, SYNACK, and ACK messages, is the local port 5810 number of the link across which the message is being 5811 sent. For the RSTACK message, the Sender Port field is 5812 set to the value of the Receiver Port field from the 5813 incoming message that caused the RSTACK message to be 5814 generated. 5816 Receiver Port 5817 For the SYN, SYNACK, and ACK messages, is what the 5818 sender believes is the local port number for the link, 5819 allocated by the entity at the far end of the link. If 5820 the sender of the message does not know the port number 5821 at the far end of the link, this field should be set to 5822 zero. For the RSTACK message, the Receiver Port field is 5823 set to the value of the Sender Port field from the 5824 incoming message that caused the RSTACK message to be 5825 generated. 5827 PTYPE 5828 Type of partition being requested. 5829 0 No Partition Request 5830 1 Fixed Partition 5832 PFLAG 5833 Used to indicate type of partition request. 5834 1 - New Adjacency. In the case of a new adjacency, the 5835 state of the switch will be reset. 5836 2 - Recovered Adjacency. In the case of a recovered 5837 adjacency, the state of the switch will remain, and the 5838 Switch Controller will be responsible for confirming 5839 that the state of the switch matches the desired state. 5841 Sender Instance 5842 For the SYN, SYNACK, and ACK messages, is the sender's 5843 instance number for the link. It is used to detect when 5844 the link comes back up after going down or when the 5845 identity of the entity at the other end of the link 5846 changes. The instance number is a 32-bit number that is 5847 guaranteed to be unique within the recent past and to 5848 change when the link or node comes back up after going 5849 down. Zero is not a valid instance number. For the 5850 RSTACK message, the Sender Instance field is set to the 5851 value of the Receiver Instance field from the incoming 5852 message that caused the RSTACK message to be generated. 5854 Partition ID 5855 Field used to associate the message with a specific 5856 switch partition. 5858 Receiver Instance 5859 For the SYN, SYNACK, and ACK messages, is what the 5860 sender believes is the current instance number for the 5861 link, allocated by the entity at the far end of the 5862 link. If the sender of the message does not know the 5863 current instance number at the far end of the link, this 5864 field should be set to zero. For the RSTACK message, the 5865 Receiver Instance field is set to the value of the 5866 Sender Instance field from the incoming message that 5867 caused the RSTACK message to be generated. 5869 11.2 Procedure 5871 The adjacency protocol is described by the following rules and 5872 state tables. 5874 The rules and state tables use the following operations: 5876 o The "Update Peer Verifier" operation is defined as storing the 5877 values of the Sender Instance, Sender Port, and Sender Name 5878 fields from a SYN or SYNACK message received from the entity at 5879 the far end of the link. 5881 o The procedure "Reset the link" is defined as: 5883 1. Generate a new instance number for the link 5884 2. Delete the peer verifier (set to zero the values of 5885 Sender Instance, Sender Port, and Sender Name previously 5886 stored by the Update Peer Verifier operation) 5887 3. Send a SYN message 5888 4. Enter the SYNSENT state. 5890 o The state tables use the following Boolean terms and operators: 5892 A The Sender Instance in the incoming message matches the 5893 value stored from a previous message by the "Update Peer 5894 Verifier" operation. 5896 B The Sender Instance, Sender Port, Sender Name and Sender 5897 Partition ID fields in the incoming message match the 5898 values stored from a previous message by the "Update 5899 Peer Verifier" operation. 5901 C The Receiver Instance, Receiver Port, Receiver Name and 5902 Receiver Partition ID fields in the incoming message 5903 match the values of the Sender Instance, Sender Port, 5904 Sender Name and Sender Partition ID currently sent in 5905 outgoing SYN, SYNACK, and ACK messages. 5907 "&&" Represents the logical AND operation 5909 "||" Represents the logical OR operation 5911 "!" Represents the logical negation (NOT) operation. 5913 o A timer is required for the periodic generation of SYN, SYNACK, 5914 and ACK messages. The value of the timer is announced in the 5915 Timer field. The period of the timer is unspecified but a value 5916 of one second is suggested. 5918 There are two independent events: the timer expires, and a 5919 packet arrives. The processing rules for these events are: 5921 Timer Expires: Reset Timer 5922 If state = SYNSENT Send SYN 5923 If state = SYNRCVD Send SYNACK 5924 If state = ESTAB Send ACK 5926 Packet Arrives: 5927 If incoming message is an RSTACK: 5928 If (A && C && !SYNSENT) Reset the link 5929 Else discard the message. 5930 If incoming message is a SYN, SYNACK, or ACK: 5931 Response defined by the following State Tables. 5932 If incoming message is any other GSMP message and 5933 state != ESTAB: 5934 Discard incoming message. 5935 If state = SYNSENT Send SYN (Note 1) 5936 If state = SYNRCVD Send SYNACK (Note 1) 5938 Note 1: No more than two SYN or SYNACK messages should 5939 be sent within any time period of length defined by 5940 the timer. 5942 o State synchronisation across a link is considered to be 5943 achieved when the protocol reaches the ESTAB state. All GSMP 5944 messages, other than adjacency protocol messages, that are 5945 received before synchronisation is achieved will be discarded. 5947 11.2.1 State Tables 5949 State: SYNSENT 5951 +======================================================================+ 5952 | Condition | Action | New State | 5953 +====================+=====================================+===========+ 5954 | SYNACK && C | Update Peer Verifier; Send ACK | ESTAB | 5955 +--------------------+-------------------------------------+-----------+ 5956 | SYNACK && !C | Send RSTACK | SYNSENT | 5957 +--------------------+-------------------------------------+-----------+ 5958 | SYN | Update Peer Verifier; Send SYNACK | SYNRCVD | 5959 +--------------------+-------------------------------------+-----------+ 5960 | ACK | Send RSTACK | SYNSENT | 5961 +======================================================================+ 5963 State: SYNRCVD 5965 +======================================================================+ 5966 | Condition | Action | New State | 5967 +====================+=====================================+===========+ 5968 | SYNACK && C | Update Peer Verifier; Send ACK | ESTAB | 5969 +--------------------+-------------------------------------+-----------+ 5970 | SYNACK && !C | Send RSTACK | SYNRCVD | 5971 +--------------------+-------------------------------------+-----------+ 5972 | SYN | Update Peer Verifier; Send SYNACK | SYNRCVD | 5973 +--------------------+-------------------------------------+-----------+ 5974 | ACK && B && C | Send ACK | ESTAB | 5975 +--------------------+-------------------------------------+-----------+ 5976 | ACK && !(B && C) | Send RSTACK | SYNRCVD | 5977 +======================================================================+ 5979 State: ESTAB 5981 +======================================================================+ 5982 | Condition | Action | New State | 5983 +====================+=====================================+===========+ 5984 | SYN || SYNACK | Send ACK (note 2) | ESTAB | 5985 +--------------------+-------------------------------------+-----------+ 5986 | ACK && B && C | Send ACK (note 3) | ESTAB | 5987 +--------------------+-------------------------------------+-----------+ 5988 | ACK && !(B && C) | Send RSTACK | ESTAB | 5989 +======================================================================+ 5990 Note 2: No more than two ACKs should be sent within any time 5991 period of length defined by the timer. Thus, one ACK must be sent 5992 every time the timer expires. In addition, one further ACK may be 5993 sent between timer expirations if the incoming message is a SYN or 5994 SYNACK. This additional ACK allows the adjacency protocol to reach 5995 synchronisation more quickly. 5997 Note 3: No more than one ACK should be sent within any time period 5998 of length defined by the timer. 6000 11.3 Partition Information State 6002 Each instance of a [switch controller � switch partition] pair 6003 will need to establish adjacency synchronisation independently. 6005 Part of the process of establishing synchronisation when using 6006 partition will be to establish the assignment of partition 6007 identifiers. Two scenarios are provided for: 6009 - A controller can request a specific partition identifier 6010 with the switch having the option to either accept or to 6011 reject the request. In this case the adjacency message 6012 will include Partition ID != 0. 6014 - The switch can assign partition identifiers to controllers 6015 based on its on pre-established mechanisms. In this case 6016 the adjacency message will include Partition ID = 0. 6018 The assignment is determined by the following behaviour: 6020 - An adjacency message from the controller with SYN || SYNACK 6021 && PTYPE is treated as a partition request 6023 - An adjacency message from the switch with SYNACK || ACK && 6024 PTYPE is treated as a partition assignment 6026 - An adjacency message from the switch with RSTACK && PTYPE 6027 is treated as partition unavailability. 6029 11.4 Loss of Synchronisation 6031 If after synchronisation is achieved, no valid GSMP messages are 6032 received in any period of time in excess of three times the value 6033 of the Timer field announced in the incoming adjacency protocol 6034 messages, loss of synchronisation may be declared. 6036 While re-establishing synchronisation with a controller, a switch 6037 should maintain its state, deferring the decision about resetting 6038 the state until after synchronisation is re-established. 6040 Once synchronisation is re-established the decision about 6041 resetting the state should be made on the following basis: 6043 - If PFLAG = 1, then a new adjacency has been established and 6044 the state should be reset 6046 - If PFLAG = 2, then adjacency has been re-established and 6047 the switch state should be retained. Verification that 6048 controller and switch state are the same is the 6049 responsibility of the controller. 6051 11.5 Multiple Controllers per switch partition 6053 Multiple switch controllers may jointly control a single switch 6054 partition. The controllers may control a switch partition either 6055 in a primary/standby fashion or as part of multiple controllers 6056 providing load-sharing for the same partition. It is the 6057 responsibility of the controllers to co-ordinate their 6058 interactions with the switch partition. In order to assist the 6059 controllers in tracking multiple controller adjacencies to a 6060 single switch partition, the Adjacency Update message is used to 6061 inform a controller that there are other controllers interacting 6062 the same partition. It should be noted that the GSMP does not 6063 include features that allow the switch to co-ordinate cache 6064 synchronization information among controllers. The switch 6065 partition will service each command it receives in turn as if it 6066 were interacting with a single controller. Controller 6067 implementations without controller entity synchronisation SHOULD 6068 NOT use multiple controllers with a single switch partition. 6070 11.5.1 Multiple Controller Adjacency Process 6072 The first adjacency for a specific partition is determined by the 6073 procedures described in section 11.2 and an Adjacency Update 6074 message will be sent. The next adjacencies to the partition are 6075 identified by a new partition request with same Partition id as 6076 the first one but with different Sender Name. Upon establishing 6077 adjacency the Adjacency count will be increased and an Adjacency 6078 Update message will be sent. 6080 When adjacency between on partition and a controller is lost, the 6081 adjacency count will be decremented and an Adjacency Update 6082 message will be sent. 6084 Example: 6086 A switch partition has never been used. When the first controller 6087 (A) achieves adjacency, an adjacency count will be initiated and 6088 (A) will get an Adjacency Update message about itself with Code 6089 field = 1. Since (A) receives an adjacency count of 1 this 6090 indicates that it only controller for that partition. 6092 When a second adjacency (B), using the same Partition ID, achieves 6093 adjacency, the adjacency counter will be increased by 1.Both (A) 6094 and (B) will receive an Adjacency Update message indicating 6095 adjacency count of 2 in the Code field. Since the count is greater 6096 than 1, this will indicate to both (A) and (B) that there is 6097 another controller interacting with the switch; identification of 6098 the other controller will not be provided by GSMP, but will be the 6099 responsibility of the controllers. . 6101 If (A) looses adjacency, the adjacency count will be decreased and 6102 an Adjacency Update message will be sent to (B) indicating 6103 adjacency count of 1 in the Code field. If (B) leaves as well, the 6104 partition is regarded as idle and the adjacency count may be 6105 reset. 6107 12. Failure Response Codes 6109 12.1 Description of Failure Response Messages 6111 A failure response message is formed by returning the request 6112 message that caused the failure with the Result field in the 6113 header indicating failure (Result = 4) and the Code field giving 6114 the failure code. The failure code specifies the reason for the 6115 switch being unable to satisfy the request message. 6117 If the switch issues a failure response in reply to a request 6118 message, no change should be made to the state of the switch as a 6119 result of the message causing the failure. (For request messages 6120 that contain multiple requests, such as the Delete Branches 6121 message, the failure response message will specify which requests 6122 were successful and which failed. The successful requests may 6123 result in changed state.) 6125 If the switch issues a failure response it must choose the most 6126 specific failure code according to the following precedence: 6128 - Invalid Message 6130 - General Message Failure 6132 - Specific Message Failure A failure response specified in the 6133 text defining the message type. 6135 - Connection Failures 6137 - Virtual Path Connection Failures 6139 - Multicast Failures 6141 - QoS Failures 6143 - General Failures 6145 If multiple failures match in any of the following categories, the 6146 one that is listed first should be returned. The following failure 6147 response messages and failure codes are defined: 6149 Invalid Message 6151 3: The specified request is not implemented on this switch. 6152 The Message Type field specifies a message that is not 6153 implemented on the switch or contains a value that is 6154 not defined in the version of the protocol running in 6155 this session of GSMP. 6157 4: One or more of the specified ports does not exist. 6158 At least one of the ports specified in the message is 6159 invalid. A port is invalid if it does not exist or if 6160 it has been removed from the switch. 6162 5: Invalid Port Session Number. 6163 The value given in the Port Session Number field does 6164 not match the current Port Session Number for the 6165 specified port. 6167 7: Invalid Partition ID 6168 The value given in the Partition ID field is not legal 6169 for this partition. 6171 General Message Failure 6173 10: The meaning of this failure is dependent upon the 6174 particular message type and is specified in the text 6175 defining the message. 6177 Specific Message Failure - A failure response that is only used by 6178 a specific message type 6180 - Failure responses messages used by the Label Range message 6182 40: Cannot support one or more requested label ranges. 6184 41: Cannot support disjoint label ranges. 6186 42: Specialised multipoint labels not supported. 6188 - Failure response messages used by the Set Transmit Data Rate 6189 function of the Port Management message 6191 43: The transmit data rate of this output port cannot be 6192 changed. 6194 44: Requested transmit data rate out of range for this output 6195 port. 6196 The transmit data rate of the requested output port 6197 can be changed, but the value of the Transmit Data 6198 Rate field is beyond the range of acceptable values. 6200 - Failure response message of the Port Management message 6201 45: Connection Replace mechanism not supported on switch 6202 The R-flag should be reset in the Response Port 6203 Management message. 6205 - Failure response message range reserved for the ARM extension 6207 128-159: These failure response codes will be interpreted 6208 according to definitions provided by the model 6209 description. 6211 Connection Failures 6213 11: The specified connection does not exist. 6214 An operation that expects a connection to be specified 6215 cannot locate the specified connection. A connection 6216 is specified by the input port and input label on 6217 which it arrives. An ATM virtual path connection is 6218 specified by the input port and input VPI on which it 6219 arrives. 6221 12: The specified branch does not exist. 6222 An operation that expects a branch of an existing 6223 connection to be specified cannot locate the specified 6224 branch. A branch of a connection is specified by the 6225 connection it belongs to and the output port and 6226 output label on which it departs. A branch of an ATM 6227 virtual path connection is specified by the virtual 6228 path connection it belongs to and the output port and 6229 output VPI on which it departs. 6231 13: One or more of the specified Input Labels is invalid. 6233 14: One or more of the specified Output Labels is invalid. 6235 15: Only point-to-point bi-directional connections may be 6236 established. 6237 The connection specified by the Input Port and Input 6238 Label fields already exists, and the bi-directional 6239 Flag in the Flags field is set. 6241 16: Invalid Service Selector field in a Connection Management 6242 message. 6243 The value of the Service Selector field is invalid. 6245 17: Insufficient resources for QoS Profile. 6246 The resources requested by the QoS Profile in the 6247 Service Selector field are not available. 6249 18: Insufficient Resources. 6250 Switch resources needed to establish a branch are not 6251 available. 6253 20: Reservation ID out of Range 6254 The numerical value of Reservation ID is greater than 6255 the value of Max Reservations (from the Switch 6256 Configuration message). 6258 21: Mismatched reservation ports 6259 The value of Input Port differs from the input port 6260 specified in the reservation or the value of Output 6261 Port differs from the output port specified in the 6262 reservation. 6264 22: Reservation ID in use 6265 The value of Reservation ID matches that of an extant 6266 Reservation. 6268 23: Non-existent reservation ID 6269 No reservation corresponding to Reservation ID exists. 6271 36: Replace of connection is not activated on switch. 6272 Only applicable for Add Branch message. The Replace 6273 Connection mechanism has not been activated on port by 6274 the Port Management message. 6276 37: Connection replacement mode cannot be combined with Bi- 6277 directional or Multicast mode. 6278 The R flag MUST NOT be used in conjunction with either 6279 the M flag or the B flag. 6281 ATM Virtual Path Connections 6283 24: ATM virtual path switching is not supported on this input 6284 port. 6286 25: Point-to-multipoint ATM virtual path connections are not 6287 supported on either the requested input port or the 6288 requested output port. 6289 One or both of the requested input and output ports is 6290 unable to support point-to-multipoint ATM virtual path 6291 connections. 6293 26: Attempt to add an ATM virtual path connection branch to an 6294 existing virtual channel connection. 6295 It is invalid to mix branches switched as virtual 6296 channel connections with branches switched as ATM 6297 virtual path connections on the same point-to- 6298 multipoint connection. 6300 27: Attempt to add a virtual channel connection branch to an 6301 existing ATM virtual path connection. 6302 It is invalid to mix branches switched as virtual 6303 channel connections with branches switched as ATM 6304 virtual path connections on the same point-to- 6305 multipoint connection. 6307 28: ATM Virtual path switching is not supported on non-ATM 6308 ports. 6309 One or both of the requested input and output ports is 6310 not an ATM port. ATM virtual path switching is only 6311 supported on ATM ports. 6313 Multicast Failures 6315 29: A branch belonging to the specified point-to-multipoint 6316 connection is already established on the specified 6317 output port and the switch cannot support more than a 6318 single branch of any point-to-multipoint connection on 6319 the same output port. 6321 30: The limit on the maximum number of multicast connections 6322 that the switch can support has been reached. 6324 31: The limit on the maximum number of branches that the 6325 specified multicast connection can support has been 6326 reached. 6328 32: Cannot label each output branch of a point-to-multipoint 6329 tree with a different label. 6330 Some switch designs, require all output branches of a 6331 point-to-multipoint connection to use the same value 6332 of Label. 6334 33: Only point-to-point bi-directional connections may be 6335 established. 6336 It is an error to attempt to add an additional branch 6337 to an existing connection with the bi-directional flag 6338 set. 6340 34: Unable to assign the requested Label value to the 6341 requested branch on the specified multicast 6342 connection. 6343 Although the requested Labels are valid, the switch is 6344 unable to support the request using the specified 6345 Label values for some reason not covered by the above 6346 failure responses. This message implies that a valid 6347 value of Label exists that the switch could support. 6348 For example, some switch designs restrict the number 6349 of distinct Label values available to a multicast 6350 connection. (Most switch designs will not require this 6351 message.) 6353 35: General problem related to the manner in which multicast 6354 is supported by the switch. 6355 Use this message if none of the more specific 6356 multicast failure messages apply. (Most switch designs 6357 will not require this message.) 6359 QoS Failures 6361 60-79: These failure response codes will be interpreted according 6362 to definitions provided by the model description. 6364 80: Switch does not support different QoS parameters for different 6365 branches within a multipoint connection. 6367 General Failures 6369 2: Invalid request message. 6370 There is an error in one of the fields of the message 6371 not covered by a more specific failure message. 6373 6: One or more of the specified ports is down. 6374 A port is down if its Port Status is Unavailable. 6375 Connection Management, Connection State, Port 6376 Management, and Configuration operations are permitted 6377 on a port that is Unavailable. Connection Activity and 6378 Statistics operations are not permitted on a port that 6379 is Unavailable and will generate this failure 6380 response. A Port Management message specifying a Take 6381 Down function on a port already in the Unavailable 6382 state will also generate this failure response. 6384 19: Out of resources. 6385 The switch has exhausted a resource not covered by a 6386 more specific failure message, for example, running 6387 out of memory. 6389 1: Unspecified reason not covered by other failure codes. 6390 The failure message of last resort. 6392 12.2 Summary of Failure Response Codes 6394 The following list gives a summary of the failure codes defined 6395 for failure response messages: 6397 1: Unspecified reason not covered by other failure codes. 6398 2: Invalid request message. 6399 3: The specified request is not implemented on this switch. 6400 4: One or more of the specified ports does not exist. 6401 5: Invalid Port Session Number. 6402 6: One or more of the specified ports is down. 6403 7: Invalid Partition ID. 6404 10: General message failure. (The meaning of this failure code 6405 depends upon the Message Type. It is defined within the 6406 description of any message that uses it.) 6407 11: The specified connection does not exist. 6408 12: The specified branch does not exist. 6409 13: One or more of the specified Input Labels is invalid. 6410 14: One or more of the specified Output Labels is invalid. 6411 15: Only point-to-point bi-directional connections may be 6412 established. 6413 16: Invalid service selector field in a connection management 6414 message. 6415 17: Insufficient resources for QoS profile. 6416 18: Insufficient resources. 6417 19: Out of resources (e.g. memory exhausted, etc.). 6418 20: Reservation ID out of Range 6419 21: Mismatched reservation ports 6420 22: Reservation ID in use 6421 23: Non-existent reservation ID 6422 24: Virtual path switching is not supported on this input 6423 port. 6424 25: Point-to-multipoint virtual path connections are not 6425 supported on either the requested input port or the 6426 requested output port. 6427 26: Attempt to add a virtual path connection branch to an 6428 existing virtual channel connection. 6429 27: Attempt to add a virtual channel connection branch to an 6430 existing virtual path connection. 6431 28: ATM Virtual Path switching is not supported on non-ATM 6432 ports. 6433 29: A branch belonging to the specified point-to-multipoint 6434 connection is already established on the specified 6435 output port and the switch cannot support more than a 6436 single branch of any point-to-multipoint connection on 6437 the same output port. 6438 30: The limit on the maximum number of point-to-multipoint 6439 connections that the switch can support has been 6440 reached. 6442 31: The limit on the maximum number of branches that the 6443 specified point-to-multipoint connection can support has 6444 been reached. 6445 32: Cannot label each output branch of a point-to-multipoint 6446 tree with a different label. 6447 33: Only point-to-point bi-directional connections may be 6448 established. 6449 34: Unable to assign the requested Label value to the 6450 requested branch on the specified point-to-multipoint 6451 connection. 6452 35: General problem related to the manner in which point-to- 6453 multipoint is supported by the switch. 6454 36: Replace of connection is not activated on switch. 6455 37: Connection replacement mode cannot be combined with 6456 Bidirectional or Multicast mode. 6457 40: Cannot support one or more requested label ranges. 6458 41: Cannot support disjoint label ranges. 6459 42: Specialized multipoint labels not supported. 6460 43: The transmit cell rate of this output port cannot be 6461 changed. 6462 44: Requested transmit cell rate out of range for this output 6463 port. 6464 45: Connection Replace mechanism not supported on switch. 6465 60-79: Reserved for QoS failures. 6466 80: Switch does not support different QoS parameters for 6467 different branches within a multipoint connection. 6468 128-159: Reserved for the ARM extensions. 6470 13. Security Considerations 6472 The security of GSMP's TCP/IP control channel has been addressed 6473 in [15]. Any potential remaining security considerations are not 6474 addressed in the current revision of this draft. 6476 Appendix A Summary of Messages 6478 Message Name Message Number Status 6480 Connection Management Messages 6481 Add Branch .......................16 6482 ATM Specific - VPC.............26 6483 Delete Tree.......................18 6484 Verify Tree.......................19 Obsoleted 6485 Delete All Input..................20 6486 Delete All Output.................21 6487 Delete Branches...................17 6488 Move Output Branch............... 22 6489 ATM Specific - VPC............27 6490 Move Input Branch.................23 6491 ATM Specifc - VPC............28 6493 Port Management Messages 6494 Port Management...................32 6495 Label Range.......................33 6497 State and Statistics Messages 6498 Connection Activity...............48 6499 Port Statistics...................49 6500 Connection Statistics.............50 6501 QoS Class Statistics..............51 Reserved 6502 Report Connection State...........52 6504 Configuration Messages 6505 Switch Configuration..............64 6506 Port Configuration................65 6507 All Ports Configuration...........66 6508 Service Configuration.............67 6510 Reservation Messages 6511 Reservation Request.............. 70 6512 Delete Reservation................71 6513 Delete All Reservations...........72 6515 Event Messages 6516 Port Up...........................80 6517 Port Down.........................81 6518 Invalid Label.....................82 6519 New Port..........................83 6520 Dead Port.........................84 6522 Abstract and Resource Model Extension Messages 6523 Reserved..........................200-249 6525 Adjacency Protocol.................10 Required 6527 Appendix B IANA Considerations 6529 Following the policies outlined in "Guidelines for Writing an IANA 6530 Considerations Section in RFCs" (RFC 2434 [20]), numbers in the 6531 following fields have the designated assignment: 6533 Results Field [section 3.1.1] Expert Review 6535 TLV Labels [section 3.1.3.2] 6537 0-255 Specification Required 6538 260-511 Specification Required 6539 518-3829 Specification Required 6540 3840-4095 Private Use 6542 Message Type [Appendix A] 6544 1-9 Expert Review 6545 11-15 Specification Required 6546 24-25 Specification Required 6547 29-31 Specification Required 6548 34-47 Specification Required 6549 53-63 Specification Required 6550 68-69 Specification Required 6551 73-79 Specification Required 6552 85-199 Specification Required 6553 250-255 Private Use 6555 Failure Response Messages [section 3.1.4, 12] 6557 36-39 Specification Required 6558 45-59 Specification Required 6559 60-79 Private Use 6560 81-127 Specification Required 6561 128-159 Private Use 6562 160-255 Specification Required 6564 Adaptation types [section 4.1] First Come First Served 6566 Event Flags [section 6.1] Specification Required 6568 Model Type (Mtype) [section 8.1] 6569 2 � 200 Specification Required 6570 201 � 255 Private use 6572 PortType [section 8.2] Specification Required 6574 Traffic Controls [section 8.4] Expert Review 6576 Service ID [section 10.4] Specification Required 6578 The TCP port for establishing GSMP connections has been defined as 6579 6068. 6581 References 6583 [1] "B-ISDN ATM Layer Specification," International 6584 Telecommunication Union, ITU-T Recommendation I.361, Mar. 6585 1993. 6587 [2] "B-ISDN ATM Adaptation Layer (AAL) Specification," 6588 International Telecommunication Union, ITU-T 6589 Recommendation I.363, Mar. 1993. 6591 [3] IEEE/WG 1520, Adam, C; Lazar, A; Nanadikesan, M; "Proposal 6592 for Standardizing the qGSMP protocol", P1520/TS/ATM-002, 6593 http://comet.columbia.edu/pin-atm/docs/P1520-TS-ATM- 6594 002R1.pdf, 19 Jan, 1999 6596 [4] Sjostrand, H., "Definitions of Managed Objects for the 6597 General Switch Management Protocol (GSMP)," Internet-Draft 6598 draft-ietf-gsmp-mib-00, work in progress, September 1999. 6600 [5] Reynolds, J., and J. Postel, "Assigned Numbers," STD 2, 6601 RFC 1700, October 1994. 6603 [6] Newman, P, Edwards, W., Hinden, R., Hoffman, E. Ching 6604 Liaw, F., Lyon, T. and Minshall, G., "Ipsilon's General 6605 Switch Management Protocol Specification," Version 1.1, 6606 RFC 1987, August 1996. 6608 [7] Newman, P., Edwards, W., Hinden, R., Hoffman, E., Ching 6609 Liaw, F., Lyon, T. and Minshall, G., "Ipsilon's General 6610 Switch Management Protocol Specification," Version 2.0, 6611 RFC 2297, March 1998. 6613 [8] ATM Forum Technical Committee, "Traffic Management 6614 Specification Version 4.1," af-tm-0121.000, 1999. 6616 [9] J. Wroclawski, "Specification of the Controlled-Load 6617 Network Element Service," RFC2211, Sep 1997. 6619 [10] B. Jamoussi, et. al. "Constraint-Based LSP Setup using 6620 LDP," Internet Draft draft-ietf-mpls-cr-ldp-03.txt, 6621 work in progress, Feb 1999. 6623 [11] ITU-T Recommendation I.233 Frame Mode Bearer Services 6624 1992. 6626 [12] ITU-T Recommendation Q.933, Integrated Services Digital 6627 Network (ISDN) Digital Subscriber Signaling System No. 1 6628 (DSS 1) � Signaling Specifications For Frame Mode Switched 6629 And Permanent Virtual Connection Control And Status 6630 Monitoring, 1995. 6632 [13] ITU-T Recommendation Q.922, Integrated Services Digital 6633 Network (ISDN) Data Link Layer Specification For Frame 6634 Mode Bearer Services, 1992 6636 [14] E. Rosen, et al, "MPLS Label Stack Encoding" Internet- 6637 Draft draft-ietf-mpls-label-encaps-07.txt, work in progress, 6638 Sep 1999. 6640 [15] T. Worster, et al, "GSMP Packet Encapsulations for ATM, 6641 Ethernet and TCP," Internet-Draft draft-ietf-gsmp-encaps- 6642 01, work in progress, Jan 2000. 6644 [16] A. Doria, et al, "GSMP Applicability" Internet Draft 6645 draft-ietf-gsmp-applicabiity-00, work in progress, 6646 March 2000. 6648 [17] IANAifType - MIB DEFINITIONS, 6649 ftp://ftp.isi.edu/mib/ianaiftype.mib, February 2000. 6651 [18] ATM Forum Circuit Emulation Service Interoperability 6652 Specification, Version 2.0, af-vtoa-0078.000, January 6653 1997. 6655 [19] L. Anderson et al, "LDP Specification", work in progress, 6656 October 1999. 6658 [20] T. Narten, T, H. Alvestrand, H, "Guidelines for Writing an 6659 IANA Considerations Section in RFCs", RFC 2434. BCP 26, 6660 October 1998 6662 Authors' Addresses 6664 Avri Doria 6665 Nortel Networks 6666 600 Technology Drive 6667 Billerica MA 01821 6668 Phone: +1 978 288 4565 6669 avri@nortelnetworks.com 6671 Fiffi Hellstrand 6672 Nortel Networks AB 6673 S:t Eriksgatan 115 A 6674 P.O. Box 6701 6675 SE-113 85 Stockholm Sweden 6676 fiffi@nortelnetworks.com 6678 Kenneth Sundell 6679 Nortel Networks AB 6680 S:t Eriksgatan 115 A 6681 P.O. Box 6701 6682 SE-113 85 Stockholm Sweden 6683 ksundell@nortelnetworks.com 6685 Tom Worster 6686 Ennovate Networks 6687 60 Codman Hill Rd 6688 Boxboro MA 01719 USA 6689 Tel +1 978-263-2002 6690 fsb@thefsb.org