idnits 2.17.1 draft-ietf-gsmp-04.txt: -(3440): 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 4 instances of lines with non-ascii characters in the document. == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 9 longer pages, the longest (page 28) being 60 lines == It seems as if not all pages are separated by form feeds - found 0 form feeds but 149 pages 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 8 instances of too long lines in the document, the longest one being 1 character in excess of 72. ** The abstract seems to contain references ([7]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 5998 has weird spacing: '...or this parti...' -- 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.) -- Couldn't find a document date in the document -- date freshness check skipped. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: '3' is defined on line 6347, but no explicit reference was found in the text == Unused Reference: '4' is defined on line 6352, but no explicit reference was found in the text == Unused Reference: '16' is defined on line 6399, 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') -- 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-00 -- 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' Summary: 7 errors (**), 0 flaws (~~), 12 warnings (==), 14 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 INTERNET DRAFT Avri Doria, Nokia 2 GSMP Working Group Fiffi Hellstrand, Nortel Networks 3 Standards Track Kenneth Sundell, Nortel Networks 4 Tom Worster, Ennovate Networks 5 Expires September 10th 2000 7 General Switch Management Protocol V3 9 11 This document is an Internet-Draft and is in full conformance with 12 all provisions of Section 10 of RFC2026. 14 Internet-Drafts are working documents of the Internet Engineering 15 Task Force (IETF), its areas, and its working groups. Note that 16 other groups may also distribute working documents as Internet- 17 Drafts. 19 Internet-Drafts are draft documents valid for a maximum of six 20 months and may be updated, replaced, or obsoleted by other 21 documents at any time. It is inappropriate to use Internet- 22 Drafts as reference material or to cite them other than as "work 23 in progress." 25 The list of current Internet-Drafts can be accessed at 26 http://www.ietf.org/ietf/1id-abstracts.txt 28 The list of Internet-Draft Shadow Directories can be accessed at 29 http://www.ietf.org/shadow.html. 31 Acknowledgement 33 GSMP was created by P. Newman, W. Edwards, R. Hinden, E. Hoffman, 34 F. Ching Liaw, T. Lyon, and G. Minshall (see [6] and [7]). This 35 version of GSMP is based on their work. 37 Contributors 39 In addition to the authors/editors listed in the heading, many 40 members of the GSMP group have made significant contributions to 41 this specification. Among the contributors who have contributed 42 materially are: Constantin Adam, Clint Bishard, Joachim Buerkle, 43 Aurel A. Lazar, Mahesan Nandikesan, Matt Peters, Balaji 44 Srinivasan, Jaroslaw Sydir, Chao-Chun Wang. 46 Abstract 48 This memo provides the fourth draft of the standards track 49 specification of GSMP. It is a revision of draft-worster-gsmp-00 50 which itself was based on GSMP V2 [7]. 52 Changes since 54 (Note: this section will be removed before submission to IESG) 56 Replace Move Branch Message with Move Input Branch and Move Output 57 Branch Messages 59 Remove summary of message set chapter. Moved to appendix without 60 requirements indication. 62 Addition of Multipoint Query flag to the label range message. 64 Failure Messages Updated. 66 Summary of Failure Messages Updated 68 Failure message moved to end of document. 70 Added list of contributors to front of document. If anyone was 71 left off, please forgive me and please let me know. [ad] 73 Added support for labels longer than 28 bits (TLV) 75 Added support for FEC and CES labels. 77 Restructured chapter 3 and 4 to remove redundancy. 79 Added support for query of disjoint label ranges 81 Added Event Sequence Number and Event Flags to Port Configuration 82 Message response 84 Table of Contents 86 1. Introduction...................................................... 6 88 2. GSMP Packet Encapsulation......................................... 9 90 3. Common Definitions and Procedures................................. 9 91 3.1 GSMP Packet Format........................................... 10 92 3.1.1 Basic GSMP Message format.............................. 10 93 3.1.2 Fields commonly found in GSMP messages................. 13 94 3.1.3 Labels................................................. 13 95 3.1.4 Failure Response Messages.............................. 24 97 4. Connection Management Messages................................... 25 98 4.1 General Message Definitions.................................. 25 99 4.2 Add Branch Message........................................... 30 100 4.2.1 ATM specific procedures:............................... 33 101 4.3 Delete Tree Message.......................................... 34 102 4.4 Verify Tree Message.......................................... 34 103 4.5 Delete All Input Port Message................................ 35 104 4.6 Delete All Output Port Message............................... 36 105 4.7 Delete Branches Message...................................... 36 106 4.8 Move Output Branch Message................................... 38 107 4.8.1 ATM Specific Procedures:............................... 41 108 4.9 Move Input Branch Message.................................... 42 109 4.9.1 ATM Specific Procedures:............................... 45 111 5. Management Messages.............................................. 47 112 5.1 Port Management Message...................................... 47 113 5.2 Label Range Message.......................................... 52 114 5.2.1 Short Labels........................................... 55 115 5.2.2 TLV Labels............................................. 59 117 6. State and Statistics Messages.................................... 67 118 6.1 Connection Activity Message.................................. 67 119 6.2 Statistics Messages.......................................... 70 120 6.2.1 Port Statistics Message................................ 72 121 6.2.2 Connection Statistics Message.......................... 73 122 6.2.3 QoS Class Statistics Message........................... 73 123 6.3 Report Connection State Message.............................. 73 125 7. Configuration Messages........................................... 79 126 7.1 Switch Configuration Message................................. 79 127 7.1.1 Configuration Message Processing....................... 81 128 7.2 Port Configuration Message................................... 81 129 7.2.1 PortType Specific Data................................. 85 130 7.3 All Ports Configuration Message.............................. 95 131 7.4 Service Configuration Message................................ 97 133 8. Event Messages.................................................. 102 134 8.1 Port Up Message............................................. 103 135 8.2 Port Down Message........................................... 103 136 8.3 Invalid Label Message....................................... 103 137 8.4 New Port Message............................................ 104 138 8.5 Dead Port Message........................................... 104 139 8.6 Adjacency Update Message.................................... 104 141 9. Service Model Definition........................................ 105 142 9.1 Overview.................................................... 105 143 9.2 Service Model Definitions................................... 105 144 9.2.1 Original Specifications............................... 106 145 9.2.2 Service Definition, Traffic Parameters, QoS 146 Parameters and Traffic Controls ...................... 106 147 9.2.3 Capability Sets....................................... 107 148 9.3 Service Model Procedures.................................... 107 149 9.4 Service Definitions......................................... 109 150 9.4.1 ATM Forum Service Categories.......................... 109 151 9.4.2 Integrated Services................................... 114 152 9.4.3 MPLS CR-LDP........................................... 114 153 9.4.4 Frame Relay........................................... 115 154 9.4.5 Diff-Serv............................................. 115 155 9.4.6 Circuit Emulation..................................... 116 156 9.5 Format and encoding of the Traffic Parameters Block 157 in connection management messages ......................... 116 158 9.5.1 Traffic Parameters for ATM Forum Services............. 117 159 9.5.2 Traffic Parameters for the Int-Serv Controlled Load 160 Service .............................................. 117 161 9.5.3 Traffic Parameters for the CRLDP Service.............. 118 162 9.5.4 Traffic Parameters for the Frame Relay Service........ 119 163 9.6 Traffic Controls (TC) Flags................................. 120 165 10. Reservation Management Messages................................ 123 166 10.1 Reservation Request Message................................ 123 167 10.2 Delete Reservation Message................................. 125 168 10.3 Delete All Reservations Message............................ 126 170 11. Adjacency Protocol............................................. 127 171 11.1 Packet Format.............................................. 127 172 11.2 Procedure.................................................. 130 173 11.2.1 State Tables......................................... 133 174 11.3 Partition Information State................................ 134 175 11.4 Loss of Synchronisation.................................... 134 176 11.5 Multiple Controllers per switch partition.................. 135 177 11.5.1 Multiple Controller Adjacency Process................ 135 179 12. Failure Response Codes......................................... 137 180 12.1 Description of Failure Response Messages................... 137 181 12.2 Summary of Failure Response Codes.......................... 142 183 13. Security Considerations........................................ 145 185 Appendix A Summary of Messages .................................. 146 187 Appendix B Assigned Numbers ..................................... 147 188 1. Introduction 190 The General Switch Management Protocol (GSMP), is a general 191 purpose protocol to control a label switch. GSMP allows a 192 controller to establish and release connections across the switch; 193 add and delete leaves on a multicast connection; manage switch 194 ports; request configuration information; and request statistics. 195 It also allows the switch to inform the controller of asynchronous 196 events such as a link going down. The GSMP protocol is asymmetric, 197 the controller being the master and the switch being the slave. 198 Multiple switches may be controlled by a single controller using 199 multiple instantiations of the protocol over separate control 200 connections. Also a switch may be controlled by more than one 201 controller by using the technique of partitioning. 203 A "physical" switch can be partitioned into several virtual 204 switches which are referred to as partitions. In this version of 205 GSMP switch partitioning is static and occurs prior to running 206 GSMP. The partitions of a physical switch are isolated from each 207 other by the implementation and the controller assumes that the 208 resources allocated to a partition are at all times available to 209 that partition. A partition appears to its controller as a label 210 switch. Throughout the rest of this document, the term switch (or 211 equivalently, label switch) is used to refer to either a physical, 212 non partitioned switch or to a partition. The resources allocated 213 to a partition appear to the controller as if they were the actual 214 physical resources of the partition. For example if the bandwidth 215 of a port is divided among several partitions, each partition 216 would appear to the controller to have its own independent port. 218 GSMP controls a partitioned switch through the use of a partition 219 identifier which is carried in every GSMP message. Each partition 220 has a one-to-one control relationship with its own logical 221 controller entity (which in the remainder of the document is 222 referred to simply as a controller) and GSMP independently 223 maintains adjacency between each controller-partition pair. 225 GSMP may be transported in three ways: 227 - GSMP may run across an ATM link connecting the controller 228 to the switch, on a control connection (virtual channel) 229 established at initialisation. 231 - GSMP operation across an Ethernet link is specified. 233 - GSMP operation across an IP network is specified. 235 A label switch is a frame or cell switch that supports connection 236 oriented switching using the exact match forwarding algorithm 237 based on labels attached to incoming cells or frames. A switch is 238 assumed to contain multiple "ports". Each port is a combination of 239 one "input port" and one "output port". Some GSMP requests refer 240 to the port as a whole whereas other requests are specific to the 241 input port or the output port. Cells or labelled frames arrive at 242 the switch from an external communication link on incoming 243 labelled channels at an input port. Cells or labelled frames 244 depart from the switch to an external communication link on 245 labelled channels from an output port. 247 A switch may support multiple label types, however, each switch 248 port can support only one label type. The label type supported by 249 a given port is indicated by the switch to the controller in a 250 port configuration message. Connections may be established between 251 ports supporting different label types. Label types include ATM, 252 Frame Relay and MPLS Generic Labels. 254 A connection across a switch is formed by connecting an incoming 255 labelled channel to one or more outgoing labelled channels. 256 Connections are referenced by the input port on which they arrive 257 and the Labels values of their incoming labelled channel. 259 GSMP supports point-to-point and point-to-multipoint connections. 260 A multipoint-to-point connection is specified by establishing 261 multiple point-to-point connections each of them specifying the 262 same output branch. A multipoint-to-multipoint connection is 263 specified by establishing multiple point-to-multipoint trees each 264 of them specifying the same output branches. 266 In general a connection is established with a certain quality of 267 service (QoS). This version of GSMP includes a default QoS 268 Configuration and additionally allows the negotiation of 269 alternative, optional QoS configurations. The default QoS 270 Configuration includes three QoS Models: a Service Model, a Simple 271 Abstract Model (strict priorities) and a QoS Profile Model. 273 The Service Model is based on service definitions found external 274 to GSMP such as in Integrated Services or ATM Service Categories. 275 Each connection is assigned a specific service that defines the 276 handling of the connection by the switch. Additionally, traffic 277 parameters and traffic controls may be assigned to the connection 278 depending on the assigned service. 280 In the Simple Abstract Model a connection is assigned a priority 281 when it is established. It may be assumed that for connections 282 that share the same output port, an cell or frame on a connection 283 with a higher priority is much more likely to exit the switch 284 before a cell or frame on a connection with a lower priority if 285 they are both in the switch at the same time. The number of 286 priorities that each port of the switch supports may be obtained 287 from the port configuration message. 289 The QoS Profile Model provides a simple mechanism that allows 290 connection to be assigned QoS semantics defined external to GSMP. 292 All GSMP switches must support the default QoS Configuration. A 293 GSMP switch may additionally support one or more alternative QoS 294 Configurations. The QoS models of alternative QoS configurations 295 are defined outside the GSMP specification. GSMP includes a 296 negotiation mechanism that allows a controller to select form the 297 QoS configurations that a switch supports. 299 GSMP contains an adjacency protocol. The adjacency protocol is 300 used to synchronise state across the link, to negotiate which 301 version of the GSMP protocol to use, to discover the identity of 302 the entity at the other end of a link, and to detect when it 303 changes. 305 2. GSMP Packet Encapsulation 307 GSMP packets may be transported via any suitable medium. GSMP 308 packet encapsulations for ATM, Ethernet and TCP are specified in 309 [15]. Additional encapsulations for GSMP packets may be defined in 310 separate documents. 312 3. Common Definitions and Procedures 314 GSMP is a master-slave protocol. The controller issues request 315 messages to the switch. Each request message indicates whether a 316 response is required from the switch and contains a transaction 317 identifier to enable the response to be associated with the 318 request. The switch replies with a response message indicating 319 either a successful result or a failure. There are five classes of 320 GSMP request-response message: Connection Management, Port 321 Management, State and Statistics, Configuration, and Quality of 322 Service. The switch may also generate asynchronous Event messages 323 to inform the controller of asynchronous events. The controller 324 does not acknowledge event messages. There is also an adjacency 325 protocol message used to establish synchronisation across the link 326 and maintain a handshake. 328 For the request-response messages, each message type has a format 329 for the request message and a format for the success response. 330 Unless otherwise specified a failure response message is identical 331 to the request message that caused the failure, with the Code 332 field indicating the nature of the failure. Event messages have 333 only a single format defined as they are not acknowledged by the 334 controller. 336 Switch ports are described by a 32-bit port number. The switch 337 assigns port numbers and it may typically choose to structure the 338 32 bits into subfields that have meaning to the physical structure 339 of the switch (e.g. slot, port). In general, a port in the same 340 physical location on the switch will always have the same port 341 number, even across power cycles. The internal structure of the 342 port number is opaque to the GSMP protocol. However, for the 343 purposes of network management such as logging, port naming, and 344 graphical representation, a switch may declare the physical 345 location (physical slot and port) of each port. Alternatively, 346 this information may be obtained by looking up the product 347 identity in a database. 349 Each switch port also maintains a port session number assigned by 350 the switch. A message, with an incorrect port session number must 351 be rejected. This allows the controller to detect a link failure 352 and to keep state synchronised. 354 Except for the adjacency protocol message, no GSMP messages may be 355 sent across the link until the adjacency protocol has achieved 356 synchronisation, and all GSMP messages received on a link that 357 does not currently have state synchronisation must be discarded. 359 3.1 GSMP Packet Format 361 3.1.1 Basic GSMP Message format 363 All GSMP messages, except the adjacency protocol message, have the 364 following format: 366 0 1 2 3 367 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 368 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 369 | Version | Message Type | Result | Code | 370 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 371 | Partition ID | Transaction Identifier | 372 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 373 |I| SubMessage Number | Length | 374 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 375 | | 376 ~ Message Body ~ 377 | | 378 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 380 (The convention in the documentation of Internet Protocols [5] is 381 to express numbers in decimal. Numbers in hexadecimal format are 382 specified by prefacing them with the characters "0x". Numbers in 383 binary format are specified by prefacing them with the characters 384 "0b". Data is pictured in "big-endian" order. That is, fields are 385 described left to right, with the most significant octet on the 386 left and the least significant octet on the right. Whenever a 387 diagram shows a group of octets, the order of transmission of 388 those octets is the normal order in which they are read in 389 English. Whenever an octet represents a numeric quantity the left 390 most bit in the diagram is the high order or most significant bit. 391 That is, the bit labelled 0 is the most significant bit. 392 Similarly, whenever a multi-octet field represents a numeric 393 quantity the left most bit of the whole field is the most 394 significant bit. When a multi-octet quantity is transmitted, the 395 most significant octet is transmitted first. This is the same 396 coding convention as is used in the ATM layer [1] and AAL-5 [2].) 398 Version 399 The version number of the GSMP protocol being used in 400 this session. It should be set by the sender of the 401 message to the GSMP protocol version negotiated by the 402 adjacency protocol. 404 Message Type 405 The GSMP message type. GSMP messages fall into seven 406 classes: Connection Management, Port Management, State 407 and Statistics, Configuration, Quality of Service, 408 Events and messages belonging to an Abstract or Resource 409 Model (ARM) extension. Each class has a number of 410 different message types. In addition, one Message Type 411 is allocated to the adjacency protocol. 413 Result 414 Field in a Connection Management request message, a Port 415 Management request message, or a Quality of Service 416 request message is used to indicate whether a response 417 is required to the request message if the outcome is 418 successful. A value of "NoSuccessAck" indicates that the 419 request message does not expect a response if the 420 outcome is successful, and a value of "AckAll" indicates 421 that a response is expected if the outcome is 422 successful. In both cases a failure response must be 423 generated if the request fails. For Sate and Statistics, 424 and Configuration request messages, a value of 425 "NoSuccessAck" in the request message is ignored and the 426 request message is handled as if the field were set to 427 "AckAll". (This facility was added to reduce the control 428 traffic in the case where the controller periodically 429 checks that the state in the switch is correct. If the 430 controller does not use this capability, all request 431 messages should be sent with a value of "AckAll.") 433 In a response message the result field can have three 434 values: "Success," "More," and "Failure". The "Success" 435 and "More" results both indicate a success response. All 436 messages that belong to the same success response will 437 have the same Transaction Identifier. The "Success" 438 result indicates a success response that may be 439 contained in a single message or the final message of a 440 success response spanning multiple messages. 442 "More" in the result indicates that the message, either 443 request or repsonse, exceeds the maximum transmission 444 unit of the data link and that one or more further 445 messages will be sent to complete the success response. 447 ReturnReceipt is a results field used in Events to 448 indicate that an acknowledgement is required for the 449 message. The default for Events Messages is that the 450 controller will not acknowledge Events. In the case 451 where a switch requries acknowledgement, it will set the 452 EventAck flag in the header of the Event Message. 454 The encoding of the result field is: 456 NoSuccessAck: Result = 1 457 AckAll: Result = 2 458 Success: Result = 3 459 Failure: Result = 4 460 More: Result = 5 461 ReturnReceipt Result = 6 463 The Result field is not used in an adjacency protocol 464 message. 466 Code 467 Field gives further information concerning the result in 468 a response message. It is mostly used to pass an error 469 code in a failure response but can also be used to give 470 further information in a success response message or an 471 event message. In a request message the code field is 472 not used and is set to zero. In an adjacency protocol 473 message the Code field is used to determine the function 474 of the message. 476 Partition ID 477 Field used to associate the command with a specific 478 switch partition. The format of the Partition ID is not 479 defined in GSMP. If desired, the Partition ID can be 480 divided into multiple sub-identifiers within a single 481 partition. For example: the Partition ID could be 482 subdivided into a 6 bit partition number and a 2 bit 483 sub-identifier which would allow a switch to support 64 484 partitions with 4 available IDs per partition. 486 Transaction Identifier 487 Used to associate a request message with its response 488 message. For request messages the controller may select 489 any transaction identifier. For response messages the 490 transaction identifier is set to the value of the 491 transaction identifier from the message to which it is a 492 response. For event messages the transaction identifier 493 should be set to zero. The Transaction Identifier is not 494 used, and the field is not present, in the adjacency 495 protocol. 497 I flag 498 If I is set then the SubMessage Number field indicates 499 the total number of SubMessage segments that compose the 500 entire message. If it is not set then the SubMessage 501 Number field indicates the sequence number of this 502 SubMessage segment within the whole message. 504 SubMessage Number 505 When a message is segmented because it exceeds the MTU 506 of the link layer, each segment will include a 507 submessage number to indicate its position. 508 Alternatively, if it is the first submessage in a 509 sequence of submessages, the I flag will be set and this 510 filed will contain the total count of submessage 511 segments. 513 Length 514 Message length in octets including header. 516 3.1.2 Fields commonly found in GSMP messages 518 The following fields are frequently found in GSMP messages. They 519 are defined here to avoid repetition. 521 Port 522 Gives the port number of the switch port to which the 523 message applies. 525 Port Session Number 526 Each switch port maintains a Port Session Number 527 assigned by the switch. The port session number of a 528 port remains unchanged while the port is continuously in 529 the Available state and the link status is continuously 530 Up. When a port returns to the Available state after it 531 has been Unavailable or in any of the Loopback states, 532 or when the line status returns to the Up state after it 533 has been Down or in Test, or after a power cycle, a new 534 Port Session Number must be generated. Port session 535 numbers should be assigned using some form of random 536 number. 538 If the Port Session Number in a request message does not 539 match the current Port Session Number for the specified 540 port, a failure response message must be returned with 541 the Code field indicating, "Invalid port session 542 number." The current port session number for a port may 543 be obtained using a Port Configuration or an All Ports 544 Configuration message. 546 3.1.3 Labels 548 There are two types of labels which are used in GSMP: short labels 549 which are 28 bits long and TLV labels. Additionally, a label field 550 can be composed of many stacked labels that together constitute 551 the Label. 553 All Labels will be designated as follow: 555 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 556 |T|S|x|x| Input or Output Label | 557 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 559 T: Label Type Indicator 560 T = 0: Short 28 bit Label 561 T = 1: TLV label 563 Both label types are discussed below in section 3.1.3.1 and 564 section 3.1.3.2. 566 S: Stacked Label Indicator 567 Label Stacking is discussed below in section 3.1.3.3 569 X: Reserved Flags. These are generally used by specific 570 messages and will be defined in those messages. 572 3.1.3.1 Short Labels 574 Whenever a 28 bit label is sufficient, as is the case with ATM, 575 Frame Relay and MPLS, a short label may be used. 577 3.1.3.1.1 ATM Short Labels 579 If a port's attribute PortType=ATM then that port's labels must be 580 interpreted as ATM Labels as shown: 582 0 1 2 3 583 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 584 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 585 |T|S|x|x| VPI | VCI | 586 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 588 ATM ports do not support Extension Labels so the VPI and VCI 589 values always occupy the 28 bits following the flags in a 590 connection management message. For a virtual path connection 591 (switched as a single virtual path connection) or a virtual path 592 (switched as one or more virtual channel connections within the 593 virtual path) the VCI field is not used. 595 ATM distinguishes between virtual path connections and virtual 596 channel connections. The connection management messages apply both 597 to virtual channel connections and virtual path connections. The 598 Add Branch and Move Branch connection management messages have two 599 Message Types. One Message Type indicates that a virtual channel 600 connection is required, and the other Message Type indicates that 601 a virtual path connection is required. The Delete Branches, Delete 602 Tree, and Delete All connection management messages have only a 603 single Message Type because they do not need to distinguish 604 between virtual channel connections and virtual path connections. 605 For virtual path connections, neither Input VCI fields nor Output 606 VCI fields are required. They should be set to zero by the sender 607 and ignored by the receiver. Virtual channel branches may not be 608 added to an existing virtual path connection. Conversely, virtual 609 path branches may not be added to an existing virtual channel 610 connection. In the Port Configuration message each switch input 611 port may declare whether it is capable of supporting virtual path 612 switching (i.e. accepting connection management messages 613 requesting virtual path connections). 615 3.1.3.1.2 Frame Relay Short Labels 617 If a port's attribute PortType=FR then that port's labels must be 618 interpreted as Frame Relay Labels as shown: 620 0 1 2 3 621 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 622 +- - - -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 623 |T|S|x|x|Resv.|Len| DLCI | 624 +- - - -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 626 The Len field specifies the number of bits of the DLCI. The 627 following values are supported: 629 Len DLCI bits 630 0 10 631 1 17 632 2 23 634 DLCI is the binary value of the Frame Relay Label. The significant 635 number of bits (10, 17, or 23) of the label value are to be 636 encoded into the Data Link Connection Identifier (DLCI) field when 637 part of the Frame Relay data link header [13]. 639 Frame relay ports do not support Extension Labels so the Len and 640 DLCI values should be right justified with the Resv. bits set to 641 zero in the 28 bits Label field following the flags in a 642 connection management message. 644 3.1.3.1.3 MPLS Generic Short Labels 646 If a port's attribute PortType=MPLS then that port's labels are 647 for use on links for which label values are independent of the 648 underlying link technology. Example of such links are PPP and 649 Ethernet. On such links the labels are carried in MPLS label 650 stacks [14]. The labels for this PortType must be interpreted as 651 MPLS labels as shown: 653 0 1 2 3 654 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 655 +- - - - - - - - - - - -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 656 |T|S|x|x| | MPLS Label | 657 +- - - - - - - - - - - -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 659 MPLS Label 660 This is a 20-bit label value as specified in [14] 661 represented as a 20-bit number in a 4 byte field. 663 3.1.3.2 TLV Labels 665 When the Label Type Indicator (T flag) is set to 1, the label is 666 TLV (Type, Length and Value) label. A summary of TLV labels 667 supported in this version of the protocol is listed below: 669 TLV Label Type Section Title 671 ATM Label 0x100 ATM TLV Labels 672 FR Label 0x101 Frame Relay TLV Labels 673 MPLS Gen Label 0x102 MPLS Generic TLV Labels 674 FEC Label 0x103 FEC TLV Labels 675 DS3-DS1 Label 0x200 DS3 to DS1 Service TLV Labels 676 E3-E1 Label 0x201 E3 to E1 Service TLV Labels 677 S-DS1 Label 0x202 Structured DS1 Service TLV Labels 678 U-DS1 Label 0x203 Unstructured DS1 Service TLV Labels 679 S-E1 Label 0x204 Structured E1 Service TLV Labels 680 U-E1 Label 0x205 Unstructured E1 Service TLV Labels 682 The form of all TLV labels is as follows: 684 0 1 2 3 685 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 686 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 687 |T|S|x|x| Label Type | Label Length | 688 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 689 | | 690 ~ Label Value ~ 691 | | 692 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 694 Label Type 696 A 12-bit field indicating the type of label. 698 Label Length 700 A 16-bit field indicating the length of label in octets, 701 padded into a 32 bit word boundary. 703 3.1.3.2.1 ATM TLV Labels 705 If the T bit is set and Label Type = ATM Label, the labels must be 706 interpreted as shown: 708 0 1 2 3 709 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 710 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 711 |T|S|x|x| ATM Label (0x100) | Label Length | 712 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 713 | | VPI | VCI | 714 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 716 The label value field should be interpreted as defined in section 717 "ATM Short Labels". 719 3.1.3.2.2 Frame Relay TLV Labels 721 If the T bit is set and TLV Type = FR Label, the labels must be 722 interpreted as shown: 724 0 1 2 3 725 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 726 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 727 |T|S|x|x| FR Label (0x101) | Label Length | 728 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 729 | |Resv.|Len| DLCI | 730 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 732 The label value field should be interpreted as defined in 733 section "Frame Relay Short Labels". 735 3.1.3.2.3 MPLS Generic TLV Labels 737 If the T bit is set and Label Type = MPLS Generic Label, the 738 labels must be interpreted as shown: 740 0 1 2 3 741 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 742 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 743 |T|S|x|x| MPLS Gen Label (0x102)| Label Length | 744 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 745 | | MPLS Label | 746 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 748 The label value field should be interpreted as defined in 749 section "MPLS Generic Short Labels". 751 3.1.3.2.4 FEC TLV 753 Labels may be bound to Forwarding Equivalence Classes (FECs) 754 as defined in [19]. In this version of the protocol only 755 Prefix FECs are supported. If the T bit is set and Label Type 756 = FEC Label, the labels must be interpreted as shown: 758 0 1 2 3 759 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 760 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 761 |T|S|x|x| FEC Label (0x103) | Label Length | 762 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 763 |x x x x x x x x| Address Family | Prefix Length | 764 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 765 ~ Prefix ~ 766 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 768 Address Family 770 Two octet quantity containing a value from ADDRESS FAMILY 771 NUMBERS in [5] that encodes the address family for the 772 address prefix in the Prefix field. 774 Prefix Length 776 One octet containing the length in bits of the address prefix 777 that follows. A length of zero indicates a prefix that matches 778 all addresses (the default destination); in this case the 779 Prefix itself is zero octets. 781 Prefix 783 An address prefix encoded according to the Address Family 784 field, whose length, in bits, was specified in the Prefix 785 Length field, padded to a 32-bit word boundary. 787 3.1.3.2.5 DS3 to DS1 Service TLV Labels 789 If the T bit is set and Label Type = DS3-DS1 Service Label, 790 the labels must be interpreted as shown: 792 0 1 2 3 793 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 794 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 795 |T|S|x|U| DS3-DS1 Label (0x200) | Label Length | 796 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 797 | Channel ID | Time Slots | 798 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 800 This label type represents a DS3 circuit channalized into a DS1 801 channel. 803 U: 805 Indicates when set that the DS1 channel is unstructured, 806 otherwise it is structured. 808 Channel ID: 810 Specifies the DS1 channel identity: 811 DS1 Channel ID's 1-28 813 Time Slots: 815 A variable length bit field indicating the 64k time slots 816 included in the label. The length in octets, was specified in 817 the Label Length field, padded to a 32-bit word boundary. 819 3.1.3.2.6 E3 into E1 Service TLV Labels 821 If the T bit is set and Label Type = E3-E1 Service Label, the 822 labels must be interpreted as shown: 824 0 1 2 3 825 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 826 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 827 |T|S|x|U| E3-E1 Label (0x201) | Label Length | 828 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 829 | Channel ID | Time Slots ~ 830 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 831 ~ Time Slots ~ 832 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 834 This label type represents an E3 circuit channalized into an E1 835 channel. 837 U : 839 Indicates when set that the E1 channel is unstructured, 840 otherwise it is structured. 842 Channel ID: 844 Specifies the E1 channel identity: 845 E1 Channel ID's 1-16 847 Time Slots: 849 A variable length bit field indicating the 64k time slots 850 included in the label. The length in octets, was specified in 851 the Label Length field, padded to a 32-bit word boundary. 853 3.1.3.2.7 Structured DS1 Service TLV Labels 855 If the T bit is set and Label Type = S-DS1 Label, the labels 856 must be interpreted as shown: 858 0 1 2 3 859 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 860 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 861 |T|S|x|x| S-DS1 Label (0x202) | Label Length | 862 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 863 | Time Slots | 864 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 866 Time Slots: 868 A variable length bit field indicating the 64k time slots 869 included in the label. The length in octets, was specified in 870 the Label Length field, padded to a 32-bit word boundary. 872 3.1.3.2.8 Unstructured DS1 Service TLV Labels 874 If the T bit is set and Label Type = E3-E1 Service Label, the 875 labels must be interpreted as shown: 877 0 1 2 3 878 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 879 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 880 |T|S|x|x| U-DS1 Label (0x203) | Label Length | 881 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 882 | Time Slots | 883 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 885 Time Slots: 887 A variable length bit field indicating the 64k time slots 888 included in the label. The length in octets, was specified in 889 the Label Length field, padded to a 32-bit word boundary. 891 3.1.3.2.9 Structured E1 Service TLV Labels 892 If the T bit is set and Label Type = S-E1 Label, the labels 893 must be interpreted as shown: 895 0 1 2 3 896 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 897 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 898 |T|S|x|x| S-E1 Label (0x204) | Label Length | 899 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 900 | Time Slots | 901 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 903 Time Slots: 905 A variable length bit field indicating the 64k time slots 906 included in the label. The length in octets, was specified in 907 the Label Length field, padded to a 32-bit word boundary. 909 3.1.3.2.10 Unstructured E1 Service TLV Labels 911 If the T bit is set and Label Type = U-E1 Label, the labels 912 must be interpreted as shown: 914 0 1 2 3 915 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 916 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 917 |T|S|x|x| U-E1 Label (0x204) | Label Length | 918 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 919 | Time Slots | 920 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 922 Time Slots: 924 A variable length bit field indicating the 64k time slots 925 included in the label. The length in octets, was specified in 926 the Label Length field, padded to a 32-bit word boundary. 928 3.1.3.3 Label Stacking 930 Label stacking is a technique used in MPLS that allows 931 hierarchical labelling. MPLS label stacking is similar to but 932 subtly different from the VPI/VCI hierarchy of labels in ATM. 933 There is no set limit to the depth of label stacks which can be 934 used in GSMP. 936 When the Stacked Label Indicator is set to 1 it indicates that an 937 additional label field will be appended to the adjacent label 938 field. For example, a stacked Input Short Label could be 939 designated as follows: 941 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 942 |T|S|x|x| Input Label | 943 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 944 ** ~T|S|x|x| Stacked Input Label ~ 945 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 947 ** Note: There can be zero or more Stacked Labels fields (like 948 those marked **) following an Input or Output Label field. 949 A Stacked Label follows the previous label field if and 950 only if the S Flag in the previous label is set. 952 When a label is extended by stacking, it is treated by the 953 protocol as a single extended label, and all operations on that 954 label are atomic. For example, in an add branch message, the 955 entire input label is switched for the entire output label. 956 Likewise in a Move Input Branch and Move Output Branch messages, 957 the entire label is swapped. For that reason, in all messages 958 that designate a label field it will depicted as a single 32 bit 959 value, though it might be instantiated by many 32 bit values in 960 practice. 962 3.1.3.4 Additional General Message Information 964 1. Any field in a GSMP message that is unused or defined as 965 "reserved" must be set to zero by the sender and ignored by the 966 receiver. 968 2. Flags that are undefined will be designated as: 969 x: reserved 971 3. It is not an error for a GSMP message to contain additional 972 data after the end of the Message Body. This is to support 973 development and experimental purposes. However, the maximum 974 transmission unit of the GSMP message, as defined by the data 975 link layer encapsulation, must not be exceeded. 977 4. A success response message must not be sent until the requested 978 operation has been successfully completed. 980 3.1.4 Failure Response Messages 982 A failure response message is formed by returning the request 983 message that caused the failure with the Result field in the 984 header indicating failure (Result = 4) and the Code field giving 985 the failure code. The failure code specifies the reason for the 986 switch being unable to satisfy the request message. 988 If the switch issues a failure response in reply to a request 989 message, no change should be made to the state of the switch as a 990 result of the message causing the failure. (For request messages 991 that contain multiple requests, such as the Delete Branches 992 message, the failure response message will specify which requests 993 were successful and which failed. The successful requests may 994 result in changed state.) 996 If the switch issues a failure response it must choose the most 997 specific failure code according to the following precedence: 999 - Invalid Message 1001 - General Message Failure 1003 - Specific Message Failure A failure response specified in the 1004 text defining the message type. 1006 - Connection Failures 1008 - Virtual Path Connection Failures 1010 - Multicast Failures 1012 - QoS Failures 1014 - General Failures 1016 If multiple failures match in any of the categories, the one that 1017 is listed first should be returned. Descriptions of the Failure 1018 response messages can be found in section 12. 1020 4. Connection Management Messages 1022 4.1 General Message Definitions 1024 Connection management messages are used by the controller to 1025 establish, delete, modify and verify connections across the 1026 switch. The Add Branch, Delete Tree, and Delete All connection 1027 management messages have the following format for both request and 1028 response messages: 1030 0 1 2 3 1031 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 1032 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1033 | Version | Message Type | Result | Code | 1034 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1035 | Partition ID | Transaction Identifier | 1036 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1037 | Port Session Number | 1038 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1039 | Reservation ID | 1040 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1041 | Input Port | 1042 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1043 |T|S|x|x| Input Label | 1044 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1045 | Input Service Selector | 1046 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1047 | Output Port | 1048 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1049 |T|S|x|x| Output Label | 1050 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1051 | Output Service Selector | 1052 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1053 | IQ | OQ |P|N|x| Encapsulation Method | 1054 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1056 When required, the Add Branch, Move Input Branch and Move Output 1057 Branch messages have an additional, variable length data block 1058 appended to the above message. This will be required when 1059 indicated by the IQS and OQS flags (if they are set to 0b10) and 1060 the service selector. The additional data block has the 1061 following form: 1063 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1064 | TC Flags | Reserved | 1065 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1066 | | 1067 ~ Traffic Parameters Block ~ 1068 | | 1069 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1070 |Output TC Flags| Reserved | 1071 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1072 | | 1073 ~ Traffic Parameters Block ~ 1074 | | 1075 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1076 Note: Field and Parameters that have been explained in the 1077 description of the general messages will not be explained 1078 in this section. Please refer to section 3.1 for details. 1080 Input Port 1081 Identifies a switch input port. 1083 Reservation ID 1084 Identifies the reservation that must be deployed for the 1085 branch being added. Reservations are established using 1086 reservation management messages (see Chapter 10). A 1087 value of zero indicates that no Reservation is being 1088 deployed for the branch. If a reservation with a 1089 corresponding Reservation ID exists then the reserved 1090 resources must be applied to the branch. If the 1091 numerical value of Reservation ID is greater than the 1092 value of Max Reservations (from the Switch Configuration 1093 message), a failure response is returned indicating 1094 "Reservation ID out of Range." If the value of Input 1095 Port differs from the input port specified in the 1096 reservation or if the value of Output Port differs from 1097 the output port specified in the reservation, a failure 1098 response must be returned indicating "Mismatched 1099 reservation ports." If no reservation corresponding to 1100 Reservation ID exists, a failure response must be 1101 returned indicating "Non-existent reservation." 1103 If a valid Reservation ID is specified and the Service 1104 Model is used (i.e. QMS=0b10) then the Traffic 1105 Parameters Block may be omitted from the Add Branch 1106 message indicating that the Traffic Parameters specified 1107 in the corresponding Reservation Request message are 1108 implied. 1110 Input Label 1111 Identifies an incoming labelled channel arriving at the 1112 switch input port indicated by the Input Port field. The 1113 value in the Input Label field must be interpreted 1114 according to the Label Type attribute of the switch 1115 input port indicated by the Input Port field. 1117 Output Port 1118 Identifies a switch output port. 1120 Output Label 1121 Identifies an outgoing labelled channel departing at the 1122 switch output port indicated by the Output Port field. 1123 The value in the Output Label field must be interpreted 1124 according to the Label Type attribute of the switch 1125 input port indicated by the Output Port field 1127 IQS, OQS Input and Output QoS Model Selector: 1128 The QoS Model Selector is used to specify a QoS Model 1129 for the connection. The value of IQS/OQS indicates the 1130 interpretation for both the Input Service Selector or 1131 the Output Service Selector and should be interpreted as 1132 a priority, a QoS profile or a service specification as 1133 shown: 1135 IQS/OQS QoS Model Service Selector 1136 --- --------- ---------------- 1137 00 Simple Abstract Model Priority 1138 01 QoS Profile Model QoS Profile 1139 10 Service Model Service Specification 1140 11 Optional ARM ARM Specification 1142 P Flag 1143 If the Parameter flag is set it indicates that a single 1144 instance of the Traffic Parameter block is provided. 1145 This occurs in cases where the Input Traffic Parameters 1146 are identical to Output Traffic Parameters. 1148 N Flag 1149 The Null flag is used to indicate a null encapsulation 1150 method. This occurs when the branch is connecting two 1151 ports of the same type. 1153 Input and Output TC Flags 1154 TC (Traffic Control) Flags are used in Add Branch, Move 1155 Input Branch and Move Output Branch messages for 1156 connections using the Service Model (i.e. when 1157 QMS=0b10). The TC Flags field is defined in Section 9.6. 1159 Input and Output Traffic Parameters Block 1160 This variable length field is used in Add Branch, Move 1161 Input Branch and Move Output Branch messages for 1162 connections using the Service Model (i.e. when 1163 QMS=0b10). Traffic Parameters Block is defined in 1164 Section 9.5. The Traffic Parameters Block may be omitted 1165 if a valid, non-zero Reservation ID is specified, in 1166 which case the Traffic Parameters of the corresponding 1167 Reservation Request message are used. If the N flag is 1168 set, then the appended message block will only include a 1169 single traffic parameter block which will be used for 1170 both input and output traffic. 1172 For all connection management messages, except the Delete Branches 1173 message, the success response message is a copy of the request 1174 message returned with the Result field indicating success and the 1175 Number of Branches field indicating the number of branches on the 1176 connection after completion of the operation. The Code field is 1177 not used in a connection management success response message. 1179 The failure response message is a copy of the request message 1180 returned with a Result field indicating failure and the Number of 1181 Branches field indicating the number of branches on the 1182 connection. 1184 Fundamentally, no distinction is made between point-to-point and 1185 point-to-multipoint connections. By default, the first Add Branch 1186 message for a particular Input Port and Input Label will establish 1187 a point-to-point connection. The second Add Branch message with 1188 the same Input Port and Input Label fields will convert the 1189 connection to a point-to-multipoint connection with two branches. 1190 However, to avoid possible inefficiency with some switch designs, 1191 the Multicast Flag is provided. If the controller knows that a new 1192 connection is point-to-multipoint when establishing the first 1193 branch, it may indicate this in the Multicast Flag. Subsequent Add 1194 Branch messages with the same Input Port and Input Label fields 1195 will add further branches to the point-to-multipoint connection. 1196 Use of the Delete Branch message on a point-to-multipoint 1197 connection with two branches will result in a point-to-point 1198 connection. However, the switch may structure this connection as a 1199 point-to-multipoint connection with a single output branch if it 1200 chooses. (For some switch designs this structure may be more 1201 convenient.) Use of the Delete Branch message on a point-to-point 1202 connection will delete the point-to-point connection. There is no 1203 concept of a connection with zero output branches. All connections 1204 are unidirectional, one input labelled channel to one or more 1205 output labelled channels. 1207 GSMP supports point-to-point and point-to-multipoint connections. 1208 A multipoint-to-point connection is specified by establishing 1209 multiple point-to-point connections each of them specifying the 1210 same output branch. (An output branch is specified by an output 1211 port and output label.) 1213 The connection management messages may be issued regardless of the 1214 Port Status of the switch port. Connections may be established or 1215 deleted when a switch port is in the Available, Unavailable, or 1216 any of the Loopback states. However, all connection state on an 1217 input port will be deleted when the port returns to the Available 1218 state from any other state, i.e. when a Port Management message is 1219 received for that port with the Function field indicating either 1220 Bring Up, or Reset Input Port. 1222 4.2 Add Branch Message 1224 The Add Branch message is a connection management message used to 1225 establish a connection or to add an additional branch to an 1226 existing connection. It may also be used to check the connection 1227 state stored in the switch. The connection is specified by the 1228 Input Port and Input Label fields. The output branch is specified 1229 by the Output Port and Output Label fields. The quality of service 1230 requirements of the connection are specified by the QoS Model 1231 Selector and Service Selector fields. To request a connection the 1232 Add Branch message is: 1234 Message Type = 16 1236 0 1 2 3 1237 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 1238 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1239 | Version | Message Type | Result | Code | 1240 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1241 | Partition ID | Transaction Identifier | 1242 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1243 | Port Session Number | 1244 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1245 | Reservation ID | 1246 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1247 | Input Port | 1248 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1249 |T|S|M|B| Input Label | 1250 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1251 | Input Service Selector | 1252 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1253 | Output Port | 1254 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1255 |T|S|x|x| Output Label | 1256 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1257 | Output Service Selector | 1258 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1259 |IQS |OQS |P|N|x| Encapsulation Method | 1260 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1262 When the value of either IQS or OQS is set to 0b10 then the 1263 following Traffic Parameters Block is appended to the above 1264 message: 1266 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1267 |Input TC Flags | Reserved | 1268 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1269 | | 1270 ~ Input Traffic Parameters Block ~ 1271 | | 1272 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1273 |Output TC Flags| Reserved | 1274 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1275 | | 1276 ~ Output Traffic Parameters Block ~ 1277 | | 1278 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1280 Note: Field and Parameters that have been explained in the 1281 description of the general connection message will not be 1282 explained in this section. Please refer to section 4.1for 1283 details. 1285 M: Multicast 1286 Multicast flag is used as a hint for point-to- 1287 multipoint connections in the Add Branch message. It 1288 is not used in any other connection management 1289 messages and in these messages it should be set to 1290 zero. If set, it indicates that the connection is very 1291 likely to be a point-to-multipoint connection. If 1292 zero, it indicates that this connection is very likely 1293 to be a point-to-point connection or is unknown. 1295 The Multicast flag is only used in the Add Branch 1296 message when establishing the first branch of a new 1297 connection. It is not required to be set when 1298 establishing subsequent branches of a point-to- 1299 multipoint connection and on such connections it 1300 should be ignored by the receiver. (On receipt of the 1301 second and subsequent Add Branch messages the receiver 1302 knows that this is a point-to-multipoint connection.) 1303 If it is known that this is the first branch of a 1304 point-to-multipoint connection this flag should be 1305 set. If it is unknown, or if it is known that the 1306 connection is point-to-point this flag should be zero. 1307 The use of this flag is not mandatory. It may be 1308 ignored by the switch. If unused the flag should be 1309 set to zero. Some switches use a different data 1310 structure for point-to-multipoint connections than for 1311 point-to-point connections. This flag avoids the 1312 switch setting up a point-to-point structure for the 1313 first branch of a point-to-multipoint connection which 1314 must immediately be deleted and reconfigured as point- 1315 to-multipoint when the second branch is established. 1317 B: Bi-directional 1318 The Bi-directional flag applies only to the Add Branch 1319 message. In all other Connection Management messages it 1320 is not used. It may only be used when establishing a 1321 point- to-point connection. The Bi-directional flag in 1322 an Add Branch message, if set, requests that two 1323 unidirectional connections be established, one in the 1324 forward direction, and one in the reverse direction. It 1325 is equivalent to two Add Branch messages, one specifying 1326 the forward direction, and one specifying the reverse 1327 direction. The forward direction uses the values of 1328 Input Port, Input Label, Output Port and Output Label as 1329 specified in the Add Branch message. The reverse 1330 direction is derived by exchanging the values specified 1331 in the Input Port and Input Label fields, with those of 1332 the Output Port and Output Label fields respectively. 1333 Thus, a connection in the reverse direction arrives at 1334 the input port specified by the Output Port field, on 1335 the label specified by the Output Label field. It 1336 departs from the output port specified by the Input Port 1337 field, on the label specified by the Input Label field. 1339 The Bi-directional flag is simply a convenience to 1340 establish two unidirectional connections in opposite 1341 directions between the same two ports, with identical 1342 Labels, using a single Add Branch message. In all future 1343 messages the two unidirectional connections must be 1344 handled separately. There is no bi-directional delete 1345 message. However, a single Delete Branches message with 1346 two Delete Branch Elements, one for the forward 1347 connection and one for the reverse, may be used. 1349 If the connection specified by the Input Port and Input Label 1350 fields does not already exist, it must be established with the 1351 single output branch specified in the request message. If the Bi- 1352 directional Flag in the Flags field is set, the reverse connection 1353 must also be established. The output branch should have the QoS 1354 attributes specified by the Class of Service field. 1356 If the connection specified by the Input Port and Input Label 1357 fields already exists, but the specified output branch does not, 1358 the new output branch must be added. The new output branch should 1359 have the QoS attributes specified by the Class of Service field. 1361 If the connection specified by the Input Port and Input Label 1362 fields already exists and the specified output branch also already 1363 exists, the QoS attributes of the connection, specified by the 1364 Class of Service field, if different from the request message, 1365 should be changed to that in the request message. A success 1366 response message must be sent if the Result field of the request 1367 message is "AckAll". This allows the controller to periodically 1368 reassert the state of a connection or to change its priority. If 1369 the result field of the request message is "NoSuccessAck" a 1370 success response message should not be returned. This may be used 1371 to reduce the traffic on the control link for messages that are 1372 reasserting previously established state. For messages that are 1373 reasserting previously established state, the switch must always 1374 check that this state is correctly established in the switch 1375 hardware (i.e. the actual connection tables used to forward cells 1376 or frames). 1378 If the output branch specified by the Output Port and Output Label 1379 fields is already in use by any connection other than that 1380 specified by the Input Port and Input Label fields, then the 1381 resulting output branch will have multiple input branches. If 1382 multiple point-to-point connections share the same output branch 1383 the result will be a multipoint-to-point connection. 1385 If the connection specified by the Input Port and Input Label 1386 fields already exists, and the Bi-directional Flag in the Flags 1387 field is set, a failure response must be returned indicating: 1388 "Only point-to-point bi-directional connections may be 1389 established." 1391 It should be noted that different switches support multicast in 1392 different ways. There will be a limit to the total number of 1393 point- to-multipoint connections any switch can support, and 1394 possibly a limit on the maximum number of branches that a point- 1395 to-multipoint connection may specify. Some switches also impose a 1396 limit on the number of different Label values that may be assigned 1397 to the output branches of a point-to-multipoint connection. Many 1398 switches are incapable of supporting more than a single branch of 1399 any particular point-to-multipoint connection on the same output 1400 port. Specific failure codes are defined for some of these 1401 conditions. 1403 4.2.1 ATM specific procedures: 1405 To request an ATM virtual path connection the ATM Virtual 1406 Path Connection (VPC) Add Branch message is: 1408 Message Type = 26 1410 An ATM virtual path connection can only be established 1411 between ATM ports, i.e. ports with the "ATM" Label Type 1412 attribute. If an ATM VPC Add Branch message is received and 1413 either the switch input port specified by the Input Port 1414 field or the switch output port specified by the Output 1415 Port field is not an ATM port, a failure response message 1416 must be returned indicating, "Virtual path switching is not 1417 supported on non-ATM ports." 1419 If an ATM VPC Add Branch message is received and the switch 1420 input port specified by the Input Port field does not 1421 support virtual path switching, a failure response message 1422 must be returned indicating, "Virtual path switching is not 1423 supported on this input port." 1425 If an ATM virtual path connection already exists on the 1426 virtual path specified by the Input Port and Input VPI 1427 fields, a failure response message must be returned 1428 indicating, "Attempt to add a virtual channel connection 1429 branch to an existing virtual path connection." For the VPC 1430 Add Branch message, if a virtual channel connection already 1431 exists on any of the virtual channels within the virtual 1432 path specified by the Input Port and Input VPI fields, a 1433 failure response message must be returned indicating, 1434 "Attempt to add a virtual path connection branch to an 1435 existing virtual channel connection." 1437 4.3 Delete Tree Message 1439 The Delete Tree message is a connection management message used to 1440 delete an entire connection. All remaining branches of the 1441 connection are deleted. A connection is specified by the Input 1442 Port and Input Label fields. The Output Port and Output Label 1443 fields are not used in this message. The Delete Tree message is: 1445 Message Type = 18 1447 If the Result field of the request message is "AckAll" a success 1448 response message must be sent upon successful deletion of the 1449 specified connection. The success message must not be sent until 1450 the delete operation has been completed and if possible, not until 1451 all data on the connection, queued for transmission, has been 1452 transmitted. The Number of Branches field is not used in either 1453 the request or response messages of the Delete Tree message. 1455 4.4 Verify Tree Message 1457 The Verify Tree message has been removed from this version of 1458 GSMP. Its function has been replaced by the Number of Branches 1459 field in the success response to the Add Branch message which 1460 contains the number of branches on a connection after successful 1461 completion of an add branch operation. 1463 Message Type = 19 1465 If a request message is received with Message Type = 19 a failure 1466 response must be returned with the Code field indicating: "The 1467 specified request is not implemented in this version of the 1468 protocol." 1470 4.5 Delete All Input Port Message 1472 The Delete All Input Port message is a connection management 1473 message used to delete all connections on a switch input port All 1474 connections that arrive at the specified input port must be 1475 deleted. On completion of the operation all dynamically assigned 1476 Label values for the specified port must be unassigned, i.e. there 1477 must be no connections established in the Label space that GSMP 1478 controls on this port. The Service Selectors, Output Port, Input 1479 Label and Output Label fields are not used in this message. The 1480 Delete All Input Port message is: 1482 Message Type = 20 1484 If the Result field of the request message is "AckAll" a success 1485 response message must be sent upon completion of the operation. 1486 The Number of Branches field is not used in either the request or 1487 response messages of the Delete All Input Port message. The 1488 success response message must not be sent until the operation has 1489 been completed. 1491 The following failure response messages may be returned to a 1492 Delete All Input Port request. 1494 The specified request is not implemented on this switch. 1496 One or more of the specified ports does not exist. 1498 Invalid Port Session Number. 1500 If any field in a Delete All Input Port message not covered by the 1501 above failure codes is invalid, a failure response must be 1502 returned indicating: "Invalid request message." Else, the Delete 1503 All Input Port operation must be completed successfully and a 1504 success message returned. No other failure messages are permitted. 1506 4.6 Delete All Output Port Message 1508 The Delete All message is a connection management message used to 1509 delete all connections on a switch input port. All connections 1510 that have the specified output port must be deleted. On 1511 completion of the operation all dynamically assigned Label values 1512 for the specified port must be unassigned, i.e. there must be no 1513 connections established in the Label space that GSMP controls on 1514 this port. The Service Selectors, Input Port, Input Label and 1515 Output Label fields are not used in this message. The Delete All 1516 Output Port message is: 1518 Message Type = 21 1520 If the Result field of the request message is "AckAll" a success 1521 response message must be sent upon completion of the operation. 1522 The Number of Branches field is not used in either the request or 1523 response messages of the Delete All Output Port message. The 1524 success response message must not be sent until the operation has 1525 been completed. 1527 The following failure response messages may be returned to a 1528 Delete All Output Port request. 1530 The specified request is not implemented on this switch. 1532 One or more of the specified ports does not exist. 1534 Invalid Port Session Number. 1536 If any field in a Delete All Output Port message not covered by 1537 the above failure codes is invalid, a failure response must be 1538 returned indicating: "Invalid request message." Else, the delete 1539 all operation must be completed successfully and a success message 1540 returned. No other failure messages are permitted. 1542 4.7 Delete Branches Message 1544 The Delete Branches message is a connection management message 1545 used to request one or more delete branch operations. Each delete 1546 branch operation deletes a branch of a channel, or in the case of 1547 the last branch of a connection, it deletes the connection. The 1548 Delete Branches message is: 1550 Message Type = 17 1552 The request message has the following format: 1554 0 1 2 3 1555 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 1556 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1557 | Version | Message Type | Result | Code | 1558 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1559 | Partition ID | Transaction Identifier | 1560 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1561 | Reserved | Number of Elements | 1562 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1563 | | 1564 ~ Delete Branch Elements ~ 1565 | | 1566 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1568 Note: Field and Parameters that have been explained in the 1569 description of the general connection message will not be 1570 explained in this section. Please refer to section 4.1for 1571 details. 1573 Number of Elements 1574 Specifies the number of Delete Branch Elements to follow 1575 in the message. The number of Delete Branch Elements in 1576 a Delete Branches message must not cause the packet 1577 length to exceed the maximum transmission unit defined 1578 by the encapsulation. 1580 Each Delete Branch Element specifies a branch to be deleted and 1581 has the following structure: 1583 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1584 | Error | Reserved | Element Length| | 1585 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1586 | Port Session Number | 1587 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1588 | Input Port | 1589 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1590 |T|S|x|x| Input Label | 1591 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1592 | Output Port | 1593 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1594 |T|S|x|x| Output Label | 1595 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1597 Note: Field and Parameters that have been explained in the 1598 description of the general connection message will not be 1599 explained in this section. Please refer to section 4.1 for 1600 details. 1602 Error 1603 Is used to return a failure code indicating the reason 1604 for the failure of a specific Delete Branch Element in a 1605 Delete Branches failure response message. The Error 1606 field is not used in the request message and must be set 1607 to zero. A value of zero is used to indicate that the 1608 delete operation specified by this Delete Branch Element 1609 was successful. Values for the other failure codes are 1610 specified in Section 3.2, "Failure Response Messages." 1612 All other fields of the Delete Branch Element have the 1613 same definition as specified for the other connection 1614 management messages. 1616 In each Delete Branch Element, a connection is specified by the 1617 Input Port and Input Label fields. The specific branch to be 1618 deleted is indicated by the Output Port and Output Label fields. 1620 If the Result field of the Delete Branches request message is 1621 "AckAll" a success response message must be sent upon successful 1622 deletion of the branches specified by all of the Delete Branch 1623 Elements. The success response message must not be sent until all 1624 of the delete branch operations have been completed. The success 1625 response message is only sent if all of the requested delete 1626 branch operations were successful. No Delete Branch Elements are 1627 returned in a Delete Branches success response message and the 1628 Number of Elements field must be set to zero. 1630 If there is a failure in any of the Delete Branch Elements a 1631 Delete Branches failure response message must be returned. The 1632 Delete Branches failure response message is a copy of the request 1633 message with the Code field of the entire message set to "General 1634 Message Failure" and the Error field of each Delete Branch Element 1635 indicating the result of each requested delete operation. A 1636 failure in any of the Delete Branch Elements must not interfere 1637 with the processing of any other Delete Branch Elements. 1639 4.8 Move Output Branch Message 1641 The Move Output Branch message is used to move a branch of an 1642 existing connection from its current output port label to a new 1643 output port label in a single atomic transaction. The Move Output 1644 Branch connection management message has the following format for 1645 both request and response messages: 1647 0 1 2 3 1648 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 1649 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1650 | Version | Message Type | Result | Code | 1651 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1652 | Partition ID | Transaction Identifier | 1653 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1654 | Port Session Number | 1655 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1656 | Input Port | 1657 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1658 |T|S|x|x| Input Label | 1659 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1660 | Service Selector | 1661 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1662 | Old Output Port | 1663 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1664 |T|S|x|x| Old Output Label | 1665 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1666 | New Output Port | 1667 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1668 |T|S|QMS| New Output Label | 1669 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1670 | Service Selector | 1671 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1672 |IQS |OQS |P|N|x| Encapsulation Method | 1673 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1675 When the value of either IQS or OQS is set to 0b10 then the 1676 following Traffic Parameters Block is appended to the above 1677 message: 1679 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1680 |Input TC Flags | Reserved | 1681 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1682 | | 1683 ~ Input Traffic Parameters Block ~ 1684 | | 1685 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1686 |Output TC Flags| Reserved | 1687 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1688 | | 1689 ~ Output Traffic Parameters Block ~ 1690 | | 1691 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1693 Note: Field and Parameters that have been explained in the 1694 description of the general connection message will not be 1695 explained in this section. Please refer to section 4.1for 1696 details. 1698 The Move Output Branch message is a connection management message 1699 used to move a single output branch of connection from its current 1700 output port and Output Label, to a new output port and Output 1701 Label on the same connection. None of the connection's other 1702 output branches are modified. When the operation is complete the 1703 original Output Label on the original output port will be deleted 1704 from the connection. 1706 The Move Branch message is: 1708 Message Type = 22 1710 For the Move Output Branch message, if the connection specified by 1711 the Input Port and Input Label fields already exists, and the 1712 output branch specified by the Old Output Port and Old Output 1713 Label fields exists as a branch on that connection, the output 1714 branch specified by the New Output Port and New Output Label 1715 fields is added to the connection and the branch specified by the 1716 Old Output Port and Old Output Label fields is deleted. If the 1717 Result field of the request message is "AckAll" a success response 1718 message must be sent upon successful completion of the operation. 1719 The success response message must not be sent until the Move 1720 Branch operation has been completed. 1722 For the Move Output Branch message, if the connection specified by 1723 the Input Port and Input Label fields already exists, but the 1724 output branch specified by the Old Output Port and Old Output 1725 Label fields does not exist as a branch on that connection, a 1726 failure response must be returned with the Code field indicating, 1727 "The specified branch does not exist." 1729 For the Move Output Branch message, if the connection specified by 1730 the Input Port and Input Label fields already exists, and the 1731 output branch specified by the Old Output Port and Old Output 1732 Label fields exists as a branch on that connection, the output 1733 branch specified by the New Output Port and New Output Label 1734 fields is added to the connection and the branch specified by the 1735 Old Output Port and Old Output Label fields is deleted. If the 1736 Result field of the request message is "AckAll" a success response 1737 message must be sent upon successful completion of the operation. 1738 The success response message must not be sent until the Move 1739 Branch operation has been completed. 1741 4.8.1 ATM Specific Procedures: 1743 The ATM VPC Move Output Branch message is a connection management 1744 message used to move a single output branch of a virtual path 1745 connection from its current output port and output VPI, to a new 1746 output port and output VPI on the same virtual channel connection. 1747 None of the other output branches are modified. When the operation 1748 is complete the original output VPI on the original output port 1749 will be deleted from the connection. 1751 The VPC Move Branch message is: 1753 Message Type = 27 1755 For the VPC Move Output Branch message, if the virtual path 1756 connection specified by the Input Port and Input VPI fields 1757 already exists, and the output branch specified by the Old Output 1758 Port and Old Output VPI fields exists as a branch on that 1759 connection, the output branch specified by the New Output Port and 1760 New Output VPI fields is added to the connection and the branch 1761 specified by the Old Output Port and Old Output VPI fields is 1762 deleted. If the Result field of the request message is "AckAll" a 1763 success response message must be sent upon successful completion 1764 of the operation. The success response message must not be sent 1765 until the Move Branch operation has been completed. 1767 For the VPC Move Output Branch message, if the virtual path 1768 connection specified by the Input Port and Input VPI fields 1769 already exists, but the output branch specified by the Old Output 1770 Port and Old Output VPI fields does not exist as a branch on that 1771 connection, a failure response must be returned with the Code 1772 field indicating, "The specified branch does not exist." 1773 If the virtual channel connection specified by the Input Port and 1774 Input Label fields; or the virtual path connection specified by 1775 the Input Port and Input VPI fields; does not exist, a failure 1776 response must be returned with the Code field indicating, "The 1777 specified connection does not exist." 1779 If the output branch specified by the New Output Port, New Output 1780 VPI, and New Output VCI fields for a virtual channel connection; 1781 or the output branch specified by the New Output Port and New 1782 Output VPI fields for a virtual path connection; is already in use 1783 by any connection other than that specified by the Input Port and 1784 Input Label fields then the resulting output branch will have 1785 multiple input branches. If multiple point-to-point connections 1786 share the same output branch the result will be a multipoint-to- 1787 point connection. If multiple point-to-multipoint trees share the 1788 same output branches the result will be a multipoint-to-multipoint 1789 connection. 1791 4.9 Move Input Branch Message 1793 The Move Input Branch message is used to move a branch of an 1794 existing connection from its current input port label to a new 1795 input port label in a single atomic transaction. The Move Input 1796 Branch connection management message has the following format for 1797 both request and response messages: 1799 0 1 2 3 1800 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 1801 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1802 | Version | Message Type | Result | Code | 1803 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1804 | Partition ID | Transaction Identifier | 1805 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1806 | Port Session Number | 1807 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1808 | Output Port | 1809 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1810 |T|S|x|x| Output Label | 1811 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1812 | Service Selector | 1813 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1814 | Old Input Port | 1815 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1816 |T|S|x|x| Old Input Label | 1817 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1818 | New Input Port | 1819 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1820 |T|S|QMS| New Input Label | 1821 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1822 | Service Selector | 1823 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1824 |IQS |OQS |P|N|x| Encapsulation Method | 1825 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1827 When the value of either IQS or OQS is set to 0b10 then the 1828 following Traffic Parameters Block is appended to the above 1829 message: 1831 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1832 |Input TC Flags | Reserved | 1833 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1834 | | 1835 ~ Input Traffic Parameters Block ~ 1836 | | 1837 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1838 |Output TC Flags| Reserved | 1839 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1840 | | 1841 ~ Output Traffic Parameters Block ~ 1842 | | 1843 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1845 Note: Field and Parameters that have been explained in the 1846 description of the general connection message will not be 1847 explained in this section. Please refer to section 4.1for 1848 details. 1850 The Move Input Branch message is a connection management message 1851 used to move a single input branch of connection from its current 1852 input port and Input Label, to a new input port and Input Label on 1853 the same connection. None of the connection's other input branches 1854 are modified. When the operation is complete the original Input 1855 Label on the original input port will be deleted from the 1856 connection. 1858 The Move Input Branch message is: 1860 Message Type = 23 1862 For the Move Input Branch message, if the connection specified by 1863 the Output Port and Output Label fields already exists, and the 1864 input branch specified by the Old Input Port and Old Input Label 1865 fields exists as a branch on that connection, the input branch 1866 specified by the New Input Port and New Input Label fields is 1867 added to the connection and the branch specified by the Old Input 1868 Port and Old Input Label fields is deleted. If the Result field of 1869 the request message is "AckAll" a success response message must be 1870 sent upon successful completion of the operation. The success 1871 response message must not be sent until the Move Input Branch 1872 operation has been completed. 1874 For the Move Input Branch message, if the connection specified by 1875 the Output Port and Output Label fields already exists, but the 1876 input branch specified by the Old Input Port and Old Input Label 1877 fields does not exist as a branch on that connection, a failure 1878 response must be returned with the Code field indicating, "The 1879 specified branch does not exist." 1881 For the Move Input Branch message, if the connection specified by 1882 the Output Port and Output Label fields already exists, and the 1883 input branch specified by the Old Input Port and Old Input Label 1884 fields exists as a branch on that connection, the input branch 1885 specified by the New Input Port and New Input Label fields is 1886 added to the connection and the branch specified by the Old Input 1887 Port and Old Input Label fields is deleted. If the Result field of 1888 the request message is "AckAll" a success response message must be 1889 sent upon successful completion of the operation. The success 1890 response message must not be sent until the Move Input Branch 1891 operation has been completed. 1893 4.9.1 ATM Specific Procedures: 1895 The ATM VPC Move Input Branch message is a connection management 1896 message used to move a single input branch of a virtual path 1897 connection from its current input port and input VPI, to a new 1898 input port and input VPI on the same virtual channel connection. 1899 None of the other input branches are modified. When the operation 1900 is complete the original input VPI on the original input port will 1901 be deleted from the connection. 1903 The VPC Move Input Branch message is: 1905 Message Type = 28 1907 For the VPC Move Input Branch message, if the virtual path 1908 connection specified by the Output Port and Output VPI fields 1909 already exists, and the input branch specified by the Old Input 1910 Port and Old Input VPI fields exists as a branch on that 1911 connection, the input branch specified by the New Input Port and 1912 New Input VPI fields is added to the connection and the branch 1913 specified by the Old Input Port and Old Input VPI fields is 1914 deleted. If the Result field of the request message is "AckAll" a 1915 success response message must be sent upon successful completion 1916 of the operation. The success response message must not be sent 1917 until the Move Input Branch operation has been completed. 1919 For the VPC Move Input Branch message, if the virtual path 1920 connection specified by the Output Port and Output VPI fields 1921 already exists, but the input branch specified by the Old Input 1922 Port and Old Input VPI fields does not exist as a branch on that 1923 connection, a failure response must be returned with the Code 1924 field indicating, "The specified branch does not exist." 1925 If the virtual channel connection specified by the Output Port and 1926 Output Label fields; or the virtual path connection specified by 1927 the Output Port and Output VPI fields; does not exist, a failure 1928 response must be returned with the Code field indicating, "The 1929 specified connection does not exist." 1931 If the input branch specified by the New Input Port, New Input 1932 VPI, and New Input VCI fields for a virtual channel connection; or 1933 the input branch specified by the New Input Port and New Input VPI 1934 fields for a virtual path connection; is already in use by any 1935 connection other than that specified by the Output Port and Output 1936 Label fields then the resulting input branch will have multiple 1937 output branches. If multiple point-to-point connections share the 1938 same input branch the result will be a multipoint-to-point 1939 connection. If multiple point-to-multipoint trees share the same 1940 input branches the result will be a multipoint-to-multipoint 1941 connection. 1943 5. Management Messages 1945 5.1 Port Management Message 1947 The Port Management message allows a port to be brought into 1948 service, taken out of service, looped back, reset, or the transmit 1949 data rate changed. Only the Bring Up and the Reset Input Port 1950 functions change the connection state (established connections) on 1951 the input port. Only the Bring Up function changes the value of 1952 the Port Session Number. The port event message is also used as 1953 part of the Event Message flow control mechanism. 1955 If the Result field of the request message is "AckAll" a success 1956 response message must be sent upon successful completion of the 1957 operation. The success response message must not be sent until the 1958 operation has been completed. The Port Management Message is: 1960 Message Type = 32 1962 The Port Management message has the following format for the 1963 request and success response messages: 1965 0 1 2 3 1966 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 1967 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1968 | Version | Message Type | Result | Code | 1969 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1970 | Partition ID | Transaction Identifier | 1971 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1972 | Port | 1973 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1974 | Port Session Number | 1975 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1976 | Event Sequence Number | 1977 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1978 | Reserved | Duration | Function | 1979 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1980 | Event Flags | Flow Control Flags | 1981 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1982 | Transmit Data Rate | 1983 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1985 Event Sequence Number 1986 In the success response message gives the current value 1987 of the Event Sequence Number of the switch port 1988 indicated by the Port field. The Event Sequence Number 1989 is set to zero when the port is initialised. It is 1990 incremented by one each time the port detects an 1991 asynchronous event that the switch would normally report 1992 via an Event message. If the Event Sequence Number in 1993 the success response differs from the Event Sequence 1994 Number of the most recent Event message received for 1995 that port, events have occurred that were not reported 1996 via an Event message. This is most likely to be due to 1997 the flow control that restricts the rate at which a 1998 switch can send Event messages for each port. In the 1999 request message this field is not used. 2001 Duration 2002 Is the length of time, in seconds, that any of the 2003 loopback states remain in operation. When the duration 2004 has expired the port will automatically be returned to 2005 service. If another Port Management message is received 2006 for the same port before the duration has expired, the 2007 loopback will continue to remain in operation for the 2008 length of time specified by the Duration field in the 2009 new message. The Duration field is only used in request 2010 messages with the Function field set to Internal 2011 Loopback, External Loopback, or Bothway Loopback. 2013 Function 2014 Specifies the action to be taken. The specified action 2015 will be taken regardless of the current status of the 2016 port (Available, Unavailable, or any Loopback state). If 2017 the specified function requires a new Port Session 2018 Number to be generated, the new Port Session Number must 2019 be returned in the success response message. The defined 2020 values of the Function field are: 2022 Bring Up: 2023 Function = 1. Bring the port into service. All 2024 connections that arrive at the specified input port 2025 must be deleted and a new Port Session Number must 2026 be selected using some form of random number. On 2027 completion of the operation all dynamically 2028 assigned Label values for the specified input port 2029 must be unassigned, i.e. no connections will be 2030 established in the Label space that GSMP controls 2031 on this input port. The Port Status of the port 2032 afterwards will be Available. 2034 Take Down: 2035 Function = 2. Take the port out of service. Any 2036 data received at this port will be discarded. No 2037 data will be transmitted from this port. The Port 2038 Status of the port afterwards will be Unavailable. 2040 The behaviour is undefined if the port is taken 2041 down over which the GSMP session that controls the 2042 switch is running. (In this case the most probable 2043 behaviour would be for the switch either to ignore 2044 the message or to terminate the current GSMP 2045 session and to initiate another session, possibly 2046 with the backup controller, if any.) The correct 2047 method to reset the link over which GSMP is running 2048 is to issue an RSTACK message in the adjacency 2049 protocol. 2051 Internal Loopback: 2052 Function = 3. Data arriving at the output port from 2053 the switch fabric are looped through to the input 2054 port to return to the switch fabric. All of the 2055 functions of the input port above the physical 2056 layer, e.g. header translation, are performed upon 2057 the looped back data. The Port Status of the port 2058 afterwards will be Internal Loopback. 2060 External Loopback: 2061 Function = 4. Data arriving at the input port from 2062 the external communications link are immediately 2063 looped back to the communications link at the 2064 physical layer without entering the input port. 2065 None of the functions of the input port above the 2066 physical layer are performed upon the looped back 2067 data. The Port Status of the port afterwards will 2068 be External Loopback. 2070 Bothway Loopback: 2071 Function = 5. Both internal and external loopback 2072 are performed. The Port Status of the port 2073 afterwards will be Bothway Loopback. 2075 Reset Input Port: 2076 Function = 6. All connections that arrive at the 2077 specified input port must be deleted and the input 2078 and output port hardware re-initialised. On 2079 completion of the operation all dynamically 2080 assigned Label values for the specified input port 2081 must be unassigned, i.e. no connections will be 2082 established in the Label space that GSMP controls 2083 on this input port. The range of labels that may be 2084 controlled by GSMP on this port will be set to the 2085 default values specified in the Port Configuration 2086 message. The transmit data rate of the output port 2087 must be set to its default value. The Port Session 2088 Number is not changed by the Reset Input Port 2089 function. The Port Status of the port afterwards 2090 will be Unavailable. 2092 Reset Flags: 2093 Function = 7. This function is used to reset the 2094 Event Flags and Flow Control Flags. For each bit 2095 that is set in the Event Flags field, the 2096 corresponding Event Flag in the switch port must be 2097 reset to 0. For each bit that is set in the Flow 2098 Control Flags field, the corresponding Flow Control 2099 Flag in the switch port must toggled; i.e. flow 2100 control for the corresponding event is turned off 2101 if is currently on and it is turned on if it is 2102 currently off. The Port Status of the port is not 2103 changed by this function. 2105 Set Transmit Data Rate: 2106 Function = 8. Sets the transmit data rate of the 2107 output port as close as possible to the rate 2108 specified in the Transmit Data Rate field. In the 2109 success response message the Transmit Data Rate 2110 must indicate the actual transmit data rate of the 2111 output port. If the transmit data rate of the 2112 requested output port cannot be changed, a failure 2113 response must be returned with the Code field 2114 indicating: "The transmit data rate of this output 2115 port cannot be changed." If the transmit data rate 2116 of the requested output port can be changed, but 2117 the value of the Transmit Data Rate field is beyond 2118 the range of acceptable values, a failure response 2119 must be returned with the Code field indicating: 2120 "Requested transmit data rate out of range for this 2121 output port." In the failure response message the 2122 Transmit Data Rate must contain the same value as 2123 contained in the request message that caused the 2124 failure. The transmit data rate of the output port 2125 is not changed by the Bring Up, Take Down, or any 2126 of the Loopback functions. It is returned to the 2127 default value by the Reset Input Port function. 2129 Transmit Data Rate 2130 This field is only used in request and success response 2131 messages with the Function field set to "Set Transmit 2132 Data Rate." It is used to set the output data rate of 2133 the output port. It is specified in cells or frames/s. 2134 If the Transmit Data Rate field contains the value 2135 0xFFFFFFFF the transmit data rate of the output port 2136 should be set to the highest valid value. 2138 Event Flags 2139 Field in the request message is used to reset the Event 2140 Flags in the switch port indicated by the Port field. 2141 Each Event Flag in a switch port corresponds to a type 2142 of Event message. When a switch port sends an Event 2143 message it sets the corresponding Event Flag on that 2144 port. Depending on the setting in the Flow Control Flag, 2145 a port is either subject to flow control or not. If it 2146 is subject to flow control then it is not permitted to 2147 send another Event message of the same type before the 2148 Event Flag has been reset. To reset an event flag, the 2149 Function field in the request message is set to "Reset 2150 Flags." For each bit that is set in the Event Flags 2151 field, the corresponding Event Flag in the switch port 2152 is reset. 2154 The Event Flags field is only used in a request message 2155 with the Function field set to "Reset Event Flags." For 2156 all other values of the Function field, the Event Flags 2157 field is not used. In the success response message the 2158 Event Flags field must be set to the current value of 2159 the Event Flags for the port, after the completion of 2160 the operation specified by the request message, for all 2161 values of the Function field. Setting the Event Flags 2162 field to all zeros in a "Reset Event Flags" request 2163 message allows the controller to obtain the current 2164 state of the Event Flags and the current Event Sequence 2165 Number of the port without changing the state of the 2166 Event Flags. 2168 The correspondence between the types of Event message 2169 and the bits of the Event Flags field is as follows: 2171 1 2172 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 2173 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2174 |U|D|I|N|Z|A|x x x x x x x x x x| 2175 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2177 U: Port Up Bit 0, (most significant bit) 2178 D: Port Down Bit 1, 2179 I: Invalid Label Bit 2, 2180 N: New Port Bit 3, 2181 Z: Dead Port Bit 4, 2182 A: Adjacency Event Bit 5, 2183 x: Unused Bits 6--15. 2185 Flow Control Flags Field 2186 This flags in this field are used to indicate whether 2187 the flow control mechanism described in the Events Flag 2188 field is turned on or not. If the Flow Control Flag is 2189 on, then the flow control mechanism for that event on 2190 that port is activated. To toggle flow control, the 2191 Function field in the request message is set to "Reset 2192 Flags." For each bit that is set in the Flow Control 2193 Flags field, the flow control corresponding Event in the 2194 switch port is toggled. 2196 The correspondence between the Flow Control applied to 2197 the Events messages and the bits of the flow Control 2198 Flags field is as follows: 2200 1 2201 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 2202 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2203 |U|D|I|N|Z|A|x x x x x x x x x x| 2204 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2206 U: Port Up Bit 0, (most significant bit) 2207 D: Port Down Bit 1, 2208 I: Invalid Label Bit 2, 2209 N: New Port Bit 3, 2210 Z: Dead Port Bit 4, 2211 A: Adjacency Event Bit 5, 2212 x: Unused Bits 6--15. 2214 5.2 Label Range Message 2216 The default label range, Min Label to Max Label, is specified for 2217 each port by the Port Configuration or the All Ports Configuration 2218 messages. When the protocol is initialised, before the 2219 transmission of any Label Range messages, the label range of each 2220 port will be set to the default label range. (The default label 2221 range is dependent upon the switch design and configuration and is 2222 not specified by the GSMP protocol.) The Label Range message 2223 allows the range of labels supported by a specified port, to be 2224 changed. Each switch port must declare whether it supports the 2225 Label Range message in the Port Configuration or the All Ports 2226 Configuration messages. The Label Range message is: 2228 Message Type = 33 2230 The Label Range message has the following format for the request 2231 and success response messages: 2233 0 1 2 3 2234 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 2235 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2236 | Version | Message Type | Result | Code | 2237 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2238 | Partition ID | Transaction Identifier | 2239 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2240 | Port | 2241 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2242 | Port Session Number | 2243 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2244 |Q|M|D|x| Range Count | Range Length | 2245 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2246 | | 2247 ~ Label Data Block ~ 2248 | | 2249 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2251 Each element of the Label Data Block has the following format: 2253 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2254 |T|S|V|x| Min Label | 2255 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2256 |T|S|x x| Max Label | 2257 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2258 | Remaining Labels | 2259 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2261 Flags 2263 Q: Query 2264 If the Query flag is set in a request message, the 2265 switch must respond with the current range of valid 2266 labels. The current label range is not changed by a 2267 request message with the Query flag set. If the Query 2268 flag is zero, the message is requesting a label change 2269 operation. 2271 M: Multipoint Query 2272 If the Multipoint Query flag is set the switch must 2273 respond with the current range of valid specialized 2274 multipoint labels. The current label range is not 2275 changed by a request message with the Multipoint Query 2276 flag set. 2278 D: Disjoint Label Range Indicator 2279 This flag will be set in a Query response if the labels 2280 available for assignment belong to a disjoint set. 2282 V: Label 2283 The Label flag use is port type specific. 2285 Range Count 2286 Count of Label Data elements contained in the Label 2287 Data Block. 2289 Range Length 2290 Byte count in the Label Data Block. 2292 The success response to a Label Range message requesting a change 2293 of label range is a copy of the request message with the Remaining 2294 Label Range fields updated to the new values after the Label Range 2295 operation. 2297 If the switch is unable to satisfy a request to change the Label 2298 range, it must return a failure response message with the Code 2299 field set to "Cannot support requested label range." In this 2300 failure response message the switch must use the Min Label and Max 2301 Label fields to suggest a label range that it would be able to 2302 satisfy. 2304 A Label Range request message may be issued regardless of the Port 2305 Status or the Line Status of the target switch port. If the Port 2306 field of the request message contains an invalid port (a port that 2307 does not exist or a port that has been removed from the switch) a 2308 failure response message must be returned with the Code field set 2309 to, "One or more of the specified ports does not exist." 2311 If the Query flag is set in the request message, the switch must 2312 reply with a success response message containing the current range 2313 of valid labels that are supported by the port. The Min Label and 2314 Max Label fields are not used in the request message. 2316 If the Multipoint Query flag is set in the request message, and 2317 the switch does not support a range of valid multipoint labels 2318 then the switch must reply with a failure response message with 2319 the Code field set to, "Specialized multipoint labels not 2320 supported" The Min Label and Max Label fields are not used in the 2321 Multipoint request message. 2323 5.2.1 Short Labels 2325 Whenever a 28 bit label is sufficient, as is the case with ATM, 2326 Frame Relay and MPLS, a short label may be used. 2328 5.2.1.1 ATM Short Labels: 2330 If PortType=ATM the label range fields have following format: 2332 0 1 2 3 2333 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 2334 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2335 |T|S|V|x| Min VPI | Min VCI | 2336 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2337 |T|S|x|x| Max VPI | Max VCI | 2338 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2339 | Remaining VPIs | Remaining VCIs | 2340 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2342 S, x: unused. 2344 V: Label If the Label flag is set, the message refers to a range 2345 of VPIs only. The Min VCI and Max VCI fields are unused. 2346 If the Label flag is zero the message refers to a range 2347 of VCIs on either one VPI or on a range of VPIs. 2349 Min VPI 2350 Max VPI 2351 Specify a range of VPI values, Min VPI to Max VPI 2352 inclusive. A single VPI may be specified with a Min VPI 2353 and a Max VPI having the same value. In a request 2354 message, if the value of the Max VPI field is less than 2355 or equal to the value of the Min VPI field, the 2356 requested range is a single VPI with a value equal to 2357 the Min VPI field. Zero is a valid value. In a request 2358 message, if the Query flag is set, and the Label flag is 2359 zero, the Max VPI field specifies a single VPI and the 2360 Min VPI field is not used. The maximum valid value of 2361 these fields for both request and response messages is 2362 0xFFF. 2364 Min VCI 2365 Max VCI 2366 Specify a range of VCI values, Min VCI to Max VCI 2367 inclusive. A single VCI may be specified with a Min VCI 2368 and a Max VCI having the same value. In a request 2369 message, if the value of the Max VCI field is less than 2370 or equal to the value of the Min VCI field, the 2371 requested range is a single VCI with a value equal to 2372 the Min VCI field. Zero is a valid value. (However, 2373 VPI=0, VCI=0 is not available as a virtual channel 2374 connection as it is used as a special value in ATM to 2375 indicate an unassigned cell.) 2377 Remaining VPIs 2378 Remaining VCIs 2379 These fields are unused in the request message. In the 2380 success response message and in the failure response 2381 message these fields give the maximum number of 2382 remaining VPIs and VCIs that could be requested for 2383 allocation on the specified port (after completion of 2384 the requested operation in the case of the success 2385 response). It gives the switch controller an idea of how 2386 many VPIs and VCIs it could request. The number given is 2387 the maximum possible given the constraints of the switch 2388 hardware. There is no implication that this number of 2389 VPIs and VCIs is available to every switch port. 2391 If the Query flag and the Label flag are set in the request 2392 message, the switch must reply with a success response message 2393 containing the current range of valid VPIs that are supported by 2394 the port. The Min VPI and Max VPI fields are not used in the 2395 request message. 2397 If the Query flag is set and the Label flag is zero in the request 2398 message, the switch must reply with a success response message 2399 containing the current range of valid VCIs that are supported by 2400 the VPI specified by the Max VPI field. If the requested VPI is 2401 invalid, a failure response must be returned indicating: "One or 2402 more of the specified input VPIs is invalid." The Min VPI field is 2403 not used in either the request or success response messages. 2405 If the Query flag is zero and the Label flag is set in the request 2406 message, the Min VPI and Max VPI fields specify the new range of 2407 VPIs to be allocated to the input port specified by the Port 2408 field. Whatever the range of VPIs previously allocated to this 2409 port it should be increased or decreased to the specified value. 2411 If the Query flag and the Label flag are zero in the request 2412 message, the Min VCI and Max VCI fields specify the range of VCIs 2413 to be allocated to each of the VPIs specified by the VPI range. 2414 Whatever the range of VCIs previously allocated to each of the 2415 VPIs within the specified VPI range on this port, it should be 2416 increased or decreased to the specified value. The allocated VCI 2417 range must be the same on each of the VPIs within the specified 2418 VPI range. 2420 If the switch is unable to satisfy a request to change the label 2421 range, it must return a failure response message with the Code 2422 field set to "Cannot support requested label range." If the switch 2423 is unable to satisfy a request to change the VPI the switch must 2424 use the Min VPI and Max VPI fields to suggest a VPI range that it 2425 would be able to satisfy and set the VCI fields to zero or if the 2426 switch is unable to satisfy a request to change the VCI range on 2427 all VPIs within the requested VPI range, the switch must use the 2428 Min VPI, Max VPI, Min VCI, and Max VCI fields to suggest a VPI and 2429 VCI range that it would be able to satisfy. 2431 In all other failure response messages for the label range 2432 operation the switch must return the values of Min VPI, Max VPI, 2433 Min VCI, and Max VCI from the request message. 2435 While switches can typically support all 256 or 4096 VPIs the VCI 2436 range that can be supported is often more constrained. Often the 2437 Min VCI must be 0 or 32. Typically all VCIs within a particular 2438 VPI must be contiguous. The hint in the failure response message 2439 allows the switch to suggest a label range that it could satisfy 2440 in view of its particular architecture. 2442 While the Label Range message is defined to specify both a range 2443 of VPIs and a range of VCIs within each VPI, the most likely use 2444 is to change either the VPI range or the range of VCIs within a 2445 single VPI. It is possible for a VPI to be valid but to be 2446 allocated no valid VCIs. Such a VPI could be used for a virtual 2447 path connection but to support virtual channel connections it 2448 would need to be allocated a range of VCIs. 2450 5.2.1.2 Frame Relay Short Labels: 2452 If PortType=FR the label range fields have following format: 2454 0 1 2 3 2455 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 2456 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2457 |T|S|V|x|x|x|Len| Min DLCI | 2458 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2459 |T|S|x x x x x x| Max DLCI | 2460 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2461 | Remaining DLCIs | 2462 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2464 S, x: unused. 2466 V: Label The Label flag is not used. 2468 Len 2469 This field specifies the number of bits of the DLCI. The 2470 following values are supported: 2472 Len DLCI bits 2473 0 10 2474 1 17 2475 2 23 2477 Min DLCI 2478 Max DLCI 2479 Specify a range of DLCI values, Min DLCI to Max DLCI 2480 inclusive. The values should be right justified in the 2481 23 bit fields and the preceding bits should be set to 2482 zero. A single DLCI may be specified with a Min DLCI and 2483 a Max DLCI having the same value. In a request message, 2484 if the value of the Max DLCI field is less than or equal 2485 to the value of the Min DLCI field, the requested range 2486 is a single DLCI with a value equal to the Min DLCI 2487 field. Zero is a valid value. 2489 Remaining DLCIs 2490 This field is unused in the request message. In the 2491 success response message and in the failure response 2492 message this field gives the maximum number of remaining 2493 DLCIs that could be requested for allocation on the 2494 specified port (after completion of the requested 2495 operation in the case of the success response). It gives 2496 the switch controller an idea of how many DLCIs it could 2497 request. The number given is the maximum possible given 2498 the constraints of the switch hardware. There is no 2499 implication that this number of DLCIs is available to 2500 every switch port. 2502 5.2.1.3 MPLS Generic Short Labels: 2504 The Label Range field for PortTypes using MPLS labels (e.g. 2505 Ethernet, SONET etc.) has the following format: 2507 0 1 2 3 2508 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 2509 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2510 |T|S|x x x x x x x x x x| Min MPLS Label | 2511 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2512 |T|S|x x x x x x x x x x| Max MPLS Label | 2513 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2514 | Remaining MPLS Labels | 2515 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2517 S, x: unused. 2519 Min MPLS Label 2520 Max MPLS Label 2521 Specify a range of MPLS label values, Min MPLS Label to 2522 Max MPLS Label inclusive. The Max and Min MPLS label 2523 fields are 20 bits each. 2525 Remaining MPLS Labels: 2526 This field is unused in the request message. In the 2527 success response message and in the failure response 2528 message this field gives the maximum number of remaining 2529 MPLS Labels that could be requested for allocation on 2530 the specified port (after completion of the requested 2531 operation in the case of the success response). It gives 2532 the switch controller an idea of how many MPLS Labels it 2533 could request. The number given is the maximum possible 2534 given the constraints of the switch hardware. There is 2535 no implication that this number of Labels is available 2536 to every switch port. 2538 5.2.2 TLV Labels 2540 When the Label Type Indicator (T flag) is set to 1, the label is 2541 TLV (Type, Length and Value) label. 2543 5.2.2.1 ATM TLV Labels: 2545 If the T bit is set and Label Type = ATM Label, the labels range 2546 message must be interpreted as shown: 2548 0 1 2 3 2549 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 2550 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2551 |T|S|x|x| ATM Label (0x100) | Label Length | 2552 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2553 |x x x x| min VPI | min VCI | 2554 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2555 |T|S|x|x| ATM Label (0x100) | Label Length | 2556 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2557 |x x x x| max VPI | max VCI | 2558 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2559 | Remaining VPI's | Remaining VCI's | 2560 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2562 The label value field should be interpreted as defined in 2563 section "ATM Short Labels" above. 2565 5.2.2.2 Frame Relay TLV Labels: 2567 If the T bit is set and Label Type = FR Label, the labels range 2568 message must be interpreted as shown: 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|S|x|x| FR Label (0x101) | Label Length | 2574 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2575 |x|x|x|x|x|x|Len| Min DLCI | 2576 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2577 |T|S|x|x| FR Label (0x101) | Label Length | 2578 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2579 |x|x|x|x|x|x|Len| Max DLCI | 2580 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2581 | Remaining DLCI | 2582 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2584 The label value field should be interpreted as defined in 2585 section "Frame Relay Short Labels" above. 2587 5.2.2.3 MPLS Generic TLV Labels: 2589 If the T bit is set and Label Type = MPLS Generic Label, the 2590 labels range message must be interpreted as shown: 2592 0 1 2 3 2593 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 2594 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2595 |T|S|x|x| MPLS Gen Label (0x102)| Label Length | 2596 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2597 |x|x x x x x x x x x x x| Min MPLS Label | 2598 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2599 |T|S|x|x| MPLS Gen Label (0x102)| Label Length | 2600 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2601 |x|x x x x x x x x x x x| Max MPLS Label | 2602 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2603 | Remaining Labels | 2604 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2606 The label value field should be interpreted as defined in 2607 section "MPLS Generic Short Labels" above. 2609 5.2.2.4 DS3 to DS1 Service TLV Labels: 2611 If the T bit is set and Label Type = DS3-DS1 Label, the labels 2612 range message must be interpreted as shown: 2614 0 1 2 3 2615 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 2616 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2617 |T|S|x|U| DS3-DS1 Label (0x200) | Label Length | 2618 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2619 | Min Ch ID | Min Time Slots | 2620 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2621 |T|S|x|U| DS3-DS1 Label (0x200) | Label Length | 2622 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2623 | Max Ch ID | Max Time Slots | 2624 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2625 |Remaining Ch ID| Remaining Time Slots | 2626 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2628 S, x: unused. 2630 U: Indicates when set that the DS1 channel is unstructured, 2631 otherwise it is structured. 2633 Min Ch ID 2634 Max Ch ID 2635 Specify a range of Channel ID values, Min Channel ID to 2636 Max Channel ID inclusive. The length of the Max and Min 2637 Channel ID fields is eight bits. 2639 Min Time Slots 2640 Max Time Slots 2641 Specify a range of Time Slot values, Min Time Slot to 2642 Max Time Slot inclusive. The length of the Max and Min 2643 Time Slots fields is 24 bits. 2645 Remaining Ch ID and Time Slots: 2646 These fields are unused in the request message. In the 2647 success response message and in the failure response 2648 message these fields give the maximum number of 2649 remaining Channel ID's and Time Slots that could be 2650 requested for allocation on the specified port (after 2651 completion of the requested operation in the case of the 2652 success response). It gives the switch controller an 2653 idea of how many Channel ID's and Time Slots it could 2654 request. The number given is the maximum possible given 2655 the constraints of the switch hardware. 2657 5.2.2.5 E3 to E1 Service TLV Labels: 2659 If the T bit is set and Label Type = E3-E1 Label, the labels range 2660 message must be interpreted as shown: 2662 0 1 2 3 2663 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 2664 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2665 |T|S|x|U| E3-E1 Label (0x201) | Label Length | 2666 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2667 | Min Ch ID | Min Time Slots | 2668 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2669 | Min Time Slots | 2670 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2671 |T|S|x|U| E3-E1 Label (0x201) | Label Length | 2672 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2673 | Max Ch ID | Max Time Slots | 2674 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2675 | Max Time Slots | 2676 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2677 |Remaining Ch ID| Remaining Time Slots | 2678 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2680 S, x: unused. 2682 U: Indicates when set that the E1 channel is unstructured, 2683 otherwise it is structured. 2685 Min Ch ID 2686 Max Ch ID 2687 Specify a range of Channel ID values, Min Channel ID to 2688 Max Channel ID inclusive. The length of the Max and Min 2689 Channel ID fields is eight bits. 2691 Min Time Slots 2692 Max Time Slots 2693 Specify a range of Time Slot values, Min Time Slot to 2694 Max Time Slot inclusive. The length of the Max and Min 2695 Time Slots fields is 30 bits. 2697 Remaining Ch ID and Time Slots: 2698 These fields are unused in the request message. In the 2699 success response message and in the failure response 2700 message these fields give the maximum number of 2701 remaining Channel ID's and Time Slots that could be 2702 requested for allocation on the specified port (after 2703 completion of the requested operation in the case of the 2704 success response). It gives the switch controller an 2705 idea of how many Channel ID's and Time Slots it could 2706 request. The number given is the maximum possible given 2707 the constraints of the switch hardware. 2709 5.2.2.6 Structured DS1 TLV Labels 2711 If the T bit is set and Label Type = S-DS1 Label, the labels range 2712 message must be interpreted as shown: 2714 0 1 2 3 2715 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 2716 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2717 |T|S|x|x| S-DS1 Label (0x202) | Label Length | 2718 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2719 | Min Time Slots | 2720 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 2721 |T|S|x|x| S-DS1 Label (0x202) | Label Length | 2722 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2723 | Max Time Slots | 2724 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 2725 | Remaining Time Slots | 2726 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 2728 S, x: unused. 2730 Min Time Slots 2731 Max Time Slots 2732 Specify a range of Time Slot values, Min Time Slot to 2733 Max Time Slot inclusive. The Label Length field 2734 indicates the length of the Max and Min Time Slots 2735 fields. 2737 Remaining Time Slots: 2738 This field is unused in the request message. In the 2739 success response message and in the failure response 2740 message this field gives the maximum number of remaining 2741 Time Slots that could be requested for allocation on the 2742 specified port (after completion of the requested 2743 operation in the case of the success response). It gives 2744 the switch controller an idea of how many Time Slots it 2745 could request. The number given is the maximum possible 2746 given the constraints of the switch hardware. 2748 5.2.2.7 Unstructured DS1 TLV Labels 2750 If the T bit is set and Label Type = U-DS1 Label, the labels range 2751 message must be interpreted as shown: 2753 0 1 2 3 2754 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 2755 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2756 |T|S|x|x| U-DS1 Label (0x203) | Label Length | 2757 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2758 | Min Time Slots | 2759 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 2760 |T|S|x|x| U-DS1 Label (0x203) | Label Length | 2761 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2762 | Max Time Slots | 2763 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 2764 | Remaining Time Slots | 2765 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 2767 S, x: unused. 2769 Min Time Slots 2770 Max Time Slots 2771 Specify a range of Time Slot values, Min Time Slot to 2772 Max Time Slot inclusive. The Label Length field 2773 indicates the length of the Max and Min Time Slots 2774 fields. 2776 Remaining Time Slots: 2777 This field is unused in the request message. In the 2778 success response message and in the failure response 2779 message this field gives the maximum number of remaining 2780 Time Slots that could be requested for allocation on the 2781 specified port (after completion of the requested 2782 operation in the case of the success response). It gives 2783 the switch controller an idea of how many Time Slots it 2784 could request. The number given is the maximum possible 2785 given the constraints of the switch hardware. 2787 5.2.2.8 Structured E1 TLV Labels 2789 If the T bit is set and Label Type = S-E1 Label, the labels range 2790 message must be interpreted as shown: 2792 0 1 2 3 2793 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 2794 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2795 |T|S|x|x| S-E1 Label (0x204) | Label Length | 2796 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2797 | Min Time Slots | 2798 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 2799 |T|S|x|x| S-E1 Label (0x204) | Label Length | 2800 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2801 | Max Time Slots | 2802 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 2803 | Remaining Time Slots | 2804 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 2806 S, x: unused. 2808 Min Time Slots 2809 Max Time Slots 2810 Specify a range of Time Slot values, Min Time Slot to 2811 Max Time Slot inclusive. The Label Length field 2812 indicates the length of the Max and Min Time Slots 2813 fields. 2815 Remaining Time Slots: 2816 This field is unused in the request message. In the 2817 success response message and in the failure response 2818 message this field gives the maximum number of remaining 2819 Time Slots that could be requested for allocation on the 2820 specified port (after completion of the requested 2821 operation in the case of the success response). It gives 2822 the switch controller an idea of how many Time Slots it 2823 could request. The number given is the maximum possible 2824 given the constraints of the switch hardware. 2826 5.2.2.9 Unstructured E1 TLV Labels 2828 If the T bit is set and Label Type = U-E1 Label, the labels range 2829 message must be interpreted as shown: 2831 0 1 2 3 2832 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 2833 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2834 |T|S|x|x| U-E1 Label (0x205) | Label Length | 2835 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2836 | Min Time Slots | 2837 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 2838 |T|S|x|x| U-E1 Label (0x205) | Label Length | 2839 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2840 | Max Time Slots | 2841 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 2842 | Remaining Time Slots | 2843 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 2845 S, x: unused. 2847 Min Time Slots 2848 Max Time Slots 2849 Specify a range of Time Slot values, Min Time Slot to 2850 Max Time Slot inclusive. The Label Length field 2851 indicates the length of the Max and Min Time Slots 2852 fields. 2854 Remaining Time Slots: 2855 This field is unused in the request message. In the 2856 success response message and in the failure response 2857 message this field gives the maximum number of remaining 2858 Time Slots that could be requested for allocation on the 2859 specified port (after completion of the requested 2860 operation in the case of the success response). It gives 2861 the switch controller an idea of how many Time Slots it 2862 could request. The number given is the maximum possible 2863 given the constraints of the switch hardware. 2865 6. State and Statistics Messages 2867 The state and statistics messages permit the controller to request 2868 the values of various hardware counters associated with the switch 2869 input and output ports and connections. They also permit the 2870 controller to request the connection state of a switch input port. 2871 The Connection Activity message is used to determine whether one 2872 or more specific connections have recently been carrying traffic. 2873 The Statistics message is used to query the various port and 2874 connection traffic and error counters. 2876 The Report Connection State message is used to request an input 2877 port to report the connection state for a single connection, a 2878 single ATM virtual path connection, or for the entire input port. 2880 6.1 Connection Activity Message 2882 The Connection Activity message is used to determine whether one 2883 or more specific connections have recently been carrying traffic. 2884 The Connection Activity message contains one or more Activity 2885 Records. Each Activity Record is used to request and return 2886 activity information concerning a single connection. Each 2887 connection is specified by its input port and Input Label which 2888 are specified in the Input Port and Input Label fields of each 2889 Activity Record. 2891 Two forms of activity detection are supported. If the switch 2892 supports per connection traffic accounting, the current value of 2893 the traffic counter for each specified connection must be 2894 returned. The units of traffic counted are not specified but will 2895 typically be either cells or frames. The controller must compare 2896 the traffic counts returned in the message with previous values 2897 for each of the specified connections to determine whether each 2898 connection has been active in the intervening period. If the 2899 switch does not support per connection traffic accounting, but is 2900 capable of detecting per connection activity by some other 2901 unspecified means, the result may be indicated for each connection 2902 using the Flags field. The Connection Activity message is: 2904 Message Type = 48 2906 The Connection Activity request and success response messages have 2907 the following format: 2909 0 1 2 3 2910 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 2911 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2912 | Version | Message Type | Result | Code | 2913 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2914 | Partition ID | Transaction Identifier | 2915 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2916 | Number of Records | Reserved | 2917 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2918 | | 2919 ~ Activity Records ~ 2920 | | 2921 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2923 Number of Records 2924 Field specifies the number of Activity Records to 2925 follow. The number of Activity records in a single 2926 Connection Activity message must not cause the packet 2927 length to exceed the maximum transmission unit defined 2928 by the encapsulation. 2930 Each Activity Record has the following format: 2932 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2933 |V|C|A|x| TC Count | TC Block Length | 2934 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2935 | Input Port | 2936 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2937 |T|S|x|x| Input Label | 2938 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2939 | | 2940 + Traffic Count + 2941 | | 2942 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2944 Flags 2946 V: Valid Record 2947 In the success response message the Valid Record flag is 2948 used to indicate an invalid Activity Record. The flag 2949 must be zero if any of the fields in this Activity 2950 Record are invalid, if the input port specified by the 2951 Input Port field does not exist, or if the specified 2952 connection does not exist. If the Valid Record flag is 2953 zero in a success response message, the Counter flag, 2954 the Activity flag, and the Traffic Count field are 2955 undefined. If the Valid Record flag is set, the Activity 2956 Record is valid, and the Counter and Activity flags are 2957 valid. The Valid Record flag is not used in the request 2958 message. 2960 C: Counter 2961 In a success response message, if the Valid Record flag 2962 is set, the Counter flag, if zero, indicates that the 2963 value in the Traffic Count field is valid. If set, it 2964 indicates that the value in the Activity flag is valid. 2965 The Counter flag is not used in the request message. 2967 A: Activity 2968 In a success response message, if the Valid Record and 2969 Counter flags are set, the Activity flag, if set, 2970 indicates that there has been some activity on this 2971 connection since the last Connection Activity message 2972 for this connection. If zero, it indicates that there 2973 has been no activity on this connection since the last 2974 Connection Activity message for this connection. The 2975 Activity flag is not used in the request message. 2977 TC Count 2978 In cases where per connection traffic counting is 2979 supported, this filed contains the count of Traffic 2980 Count entries 2982 TC Block Length 2983 In cases where per connection traffic counting is 2984 supported, this filed contains the Traffic Count block 2985 size in bytes. 2987 Input Port 2988 Identifies the port number of the input port on which 2989 the connection of interest arrives in order to identify 2990 the connection (regardless of whether the traffic count 2991 for the connection is maintained on the input port or 2992 the output port). 2993 Input Label 2994 Fields identify the specific connection for which 2995 statistics are being requested. 2996 S: 2997 Stacked Label Indicator. Label Stacking is discussed in 2998 section 3.1.3.3 3000 Traffic Count 3001 Field is not used in the request message. In the success 3002 response message, if the switch supports per connection 3003 traffic counting, the Traffic Count field must be set to 3004 the value of a free running, connection specific, 64-bit 3005 traffic counter counting traffic flowing across the 3006 specified connection. The value of the traffic counter 3007 is not modified by reading it. If per connection traffic 3008 counting is supported, the switch must report the 3009 Connection Activity result using the traffic count 3010 rather than using the Activity flag. 3012 The format of the failure response is the same as the request 3013 message with the Number of Records field set to zero and no 3014 Connection Activity records returned in the message. If the switch 3015 is incapable of detecting per connection activity, a failure 3016 response must be returned indicating, "The specified request is 3017 not implemented on this switch." 3019 6.2 Statistics Messages 3021 The Statistics messages are used to query the various port and 3022 connection and error counters. 3024 The Statistics request messages have the following format: 3026 0 1 2 3 3027 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 3028 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3029 | Version | Message Type | Result | Code | 3030 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3031 | Partition ID | Transaction Identifier | 3032 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3033 | Port | 3034 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3035 |T|S|x|x| Label | 3036 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3038 Label 3039 The Label Field identifies the specific connection for 3040 which statistics are being requested. 3042 The success response for the Statistics message has the following 3043 format: 3045 0 1 2 3 3046 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 3047 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3048 | Version | Message Type | Result | Code | 3049 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3050 | Partition ID | Transaction Identifier | 3051 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3052 | Port | 3053 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3054 |T|S|x|x| Label | 3055 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3056 | | 3057 + Input Cell Count + 3058 | | 3059 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3060 | | 3061 + Input Frame Count + 3062 | | 3063 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3064 | | 3065 + Input Cell Discard Count + 3066 | | 3067 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3068 | | 3069 + Input Frame Discard Count + 3070 | | 3071 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3072 | | 3073 + ATM HEC Error Count + 3074 | | 3075 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3076 | | 3077 + Input Invalid Label Count + 3078 | | 3079 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3080 | | 3081 + Output Cell Count + 3082 | | 3083 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3084 | | 3085 + Output Frame Count + 3086 | | 3087 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3088 | | 3089 + Output Cell Discard Count + 3090 | | 3091 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3092 | | 3093 + Output Frame Discard Count + 3094 | | 3095 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3097 SPort 3098 Label 3099 Fields are the same as those of the request message. 3101 Input Cell Count 3102 Output Cell Count 3103 Give the value of a free running 64-bit counter counting 3104 cells arriving at the input or departing from the output 3105 respectively. 3107 Input Frame Count 3108 Output Frame Count 3109 Give the value of a free running 64-bit counter counting 3110 frames (packets) arriving at the input or departing from 3111 the output respectively. 3113 Input Cell Discard Count 3114 Output Cell Discard Count 3115 Give the value of a free running 64-bit counter counting 3116 cells discarded due to queue overflow on an input port 3117 or on an output port respectively. 3119 Input Frame Discard Count 3120 Output Frame Discard Count 3121 Give the value of a free running 64-bit counter counting 3122 frames discarded due to congestion on an input port or 3123 on an output port respectively. 3125 ATM HEC Error Count 3126 Gives the value of a free running 64-bit counter 3127 counting ATM cells discarded due to header checksum 3128 errors on arrival at an input port. 3130 Invalid Label Count 3131 Gives the value of a free running 64-bit counter 3132 counting cells or frames discarded because their Label 3133 is invalid on arrival at an input port. 3135 6.2.1 Port Statistics Message 3137 The Port Statistics message requests the statistics for the switch 3138 port specified in the Port field. The contents of the Label field 3139 in the Port Statistics request message is ignored. All of the 3140 count fields in the success response message refer to per-port 3141 counts regardless of the connection to which the cells or frames 3142 belong. Any of the count fields in the success response message 3143 not supported by the port must be set to zero. The Port Statistics 3144 message is: 3146 Message Type = 49 3148 6.2.2 Connection Statistics Message 3150 The Connection Statistics message requests the statistics for the 3151 connection specified in the Label field that arrives on the switch 3152 input port specified in the Port field. All of the count fields in 3153 the success response message refer only to the specified 3154 connection. The ATM HEC Error Count and Invalid Label Count fields 3155 are not connection specific and must be set to zero. Any of the 3156 other count fields not supported on a per connection basis must be 3157 set to zero in the success response message. The Connection 3158 Statistics message is: 3160 Message Type = 50 3162 6.2.3 QoS Class Statistics Message 3164 The QoS Class Statistics message is not supported in this version 3165 of GSMP. 3167 Message Type = 51 is reserved. 3169 6.3 Report Connection State Message 3171 The Report Connection State message is used to request an input 3172 port to report the connection state for a single connection or for 3173 the entire input port. The Report Connection State message is: 3175 Message Type = 52 3177 The Report Connection State request message has the following 3178 format: 3180 0 1 2 3 3181 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 3182 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3183 | Version | Message Type | Result | Code | 3184 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3185 | Partition ID | Transaction Identifier | 3186 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3187 | Input Port | 3188 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3189 |T|S|A|V| Input Label | 3190 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3192 Input PortIdentifies the port number of the input port for which 3193 the connection state is being requested. 3195 Flags 3197 A: All Connections 3198 If the All Connections flag is set, the message requests 3199 the connection state for all connections that arrive at 3200 the input port specified by the Input Port field. In 3201 this case the Input Label field and the Label flag are 3202 unused. 3204 V: ATM VPI 3205 The ATM VPI flag may only be set for ports with 3206 PortType=ATM. If the switch receives a Report Connection 3207 State message in which the ATM VPI flag set and in which 3208 the input port specified by the Input Port field does 3209 not have PortType=ATM, the switch must return an Error 3210 Message "xxxxxx". 3212 If the All Connections flag is zero and the ATM VPI flag 3213 is also zero, the message requests the connection state 3214 for the connection that arrives at the input port 3215 specified by the Port and Input Label fields. 3217 ATM specific procedures: 3219 If the All Connections flag is zero and the ATM VPI 3220 flag is set and the input port specified by the Input 3221 Port field has LabelType=ATM, the message requests 3222 the connection state for the virtual path connection 3223 that arrives at the input port specified by the Input 3224 Port and Input VPI fields. If the specified Input VPI 3225 identifies an ATM virtual path connection (i.e. a 3226 single switched virtual path) the state for that 3227 connection is requested. If the specified Input VPI 3228 identifies a virtual path containing virtual channel 3229 connections, the message requests the connection 3230 state for all virtual channel connections that belong 3231 to the specified virtual path. 3233 x: Unused. 3235 Input LabelField identifies the specific connection for which 3236 connection state is being requested. For requests that 3237 do not require a connection to be specified, the Input 3238 Label field is not used. 3240 The Report Connection State success response message has the 3241 following format: 3243 0 1 2 3 3244 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 3245 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3246 | Version | Message Type | Result | Code | 3247 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3248 | Partition ID | Transaction Identifier | 3249 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3250 | Input Port | 3251 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3252 | Sequence Number | 3253 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3254 | | 3255 ~ Connection Records ~ 3256 | | 3257 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3259 Input PortIs the same as the Input Port field in the request 3260 message. It identifies the port number of the input port 3261 for which the connection state is being reported. 3263 Sequence Number 3264 In the case that the requested connection state cannot 3265 be reported in a single success response message, each 3266 successive success response message in reply to the same 3267 request message must increment the Sequence Number. The 3268 Sequence Number of the first success response message, 3269 in response to a new request message, must be zero. 3271 Connection Records 3272 Each success response message must contain one or more 3273 Connection Records. Each Connection Record specifies a 3274 single point-to-point or point-to-multipoint connection. 3275 The number of Connection Records in a single Report 3276 Connection State success response must not cause the 3277 packet length to exceed the maximum transmission unit 3278 defined by the encapsulation. If the requested 3279 connection state cannot be reported in a single success 3280 response message, multiple success response messages 3281 must be sent. All success response messages that are 3282 sent in response to the same request message must have 3283 the same Input Port and Transaction Identifier fields as 3284 the request message. A single Connection Record must not 3285 be split across multiple success response messages. The 3286 More flag of the last Connection Record in a success 3287 response message indicates whether the response to the 3288 request has been completed or whether one or more 3289 further success response messages should be expected in 3290 response to the same request message. 3292 Each Connection Record has the following format: 3294 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3295 |A|V|P| Record Count | Record Length | 3296 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3297 |T|S|x|x| Input Label | 3298 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3299 | | 3300 ~ Output Branch Records ~ 3301 | | 3302 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3304 Flags 3306 A: All Connections 3307 V: ATM VPI 3308 For the first Connection Record in each success response 3309 message the All Connections and the ATM VPI flags must 3310 be the same as those of the request message. For 3311 successive Connection Records in the same success 3312 response message these flags are not used. 3314 P: ATM VPC 3315 The ATM VPC flag may only be set for ports with 3316 PortType=ATM. The ATM VPC flag, if set and only if set, 3317 indicates that the Connection Record refers to an ATM 3318 virtual path connection. 3320 Input Label 3321 The input label of the connection specified in this 3322 Connection Record. 3324 Record Count 3325 Count of number of connection records included in 3326 response. 3328 Record Block Length 3329 Length in bytes of Output Branch Record Block 3331 Output Branch Records 3332 Each Connection Record must contain one or more Output 3333 Branch Records. Each Output Branch Record specifies a 3334 single output branch belonging to the connection 3335 identified by the Input Label field of the Connection 3336 Record and the Input Port field of the Report Connection 3337 State message. A point-to-point connection will require 3338 only a single Output Branch Record. A point-to- 3339 multipoint connection will require multiple Output 3340 Branch Records. The last Output Branch Record of each 3341 Connection Record is indicated by the Last Branch flag 3342 of the Output Branch Record. If a point-to-multipoint 3343 connection has more output branches than can fit in a 3344 single Connection Record contained within a single 3345 success response message, that connection may be 3346 reported using multiple Connection Records in multiple 3347 success response messages. 3349 Each Output Branch Record has the following format: 3351 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3352 | Output Port | 3353 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3354 |T|S|x|x| Output Label | 3355 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3357 Output Port 3358 The output port of the switch to which this output 3359 branch is routed. 3361 Output Label 3362 The output label of the output branch specified in this 3363 Output Branch Record. 3365 ATM specific procedures: 3367 If this Output Branch Record is part of a 3368 Connection Record that specifies a virtual path 3369 connection (the ATM VPC flag is set) the Output VCI 3370 field is unused. 3372 A Report Connection State request message may be issued regardless 3373 of the Port Status or the Line Status of the target switch port. 3375 If the Input Port of the request message is valid, and the All 3376 Connections flag is set, but there are no connections established 3377 on that port, a failure response message must be returned with the 3378 code field set to, " General Message Failure" For the Report 3379 Connection State message, this failure code indicates that no 3380 connections matching the request message were found. This failure 3381 message should also be returned if the Input Port of the request 3382 message is valid, the All Connections flag is zero, and no 3383 connections are found on that port matching the specified 3384 connection. 3386 7. Configuration Messages 3388 The configuration messages permit the controller to discover the 3389 capabilities of the switch. Three configuration request messages 3390 have been defined: Switch, Port, and All Ports. 3392 7.1 Switch Configuration Message 3394 The Switch Configuration message requests the global (non port- 3395 specific) configuration for the switch. The Switch Configuration 3396 message is: 3398 Message Type = 64 3400 The Port field is not used in the switch configuration message. 3402 The Switch Configuration message has the following format: 3404 0 1 2 3 3405 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 3406 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3407 | Version | Message Type | Result | Code | 3408 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3409 | Partition ID | Transaction Identifier | 3410 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3411 | MType | MType | MType | MType | 3412 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3413 | Firmware Version Number | Window Size | 3414 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3415 | Switch Type | | 3416 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + 3417 | Switch Name | 3418 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3419 | Max Reservations | 3420 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3422 MType 3423 Represents an alternative QoS Configuration type. 3424 In the request message the requested MType is in the 3425 most significant (leftmost) MType octet; the other three 3426 MType octets are unused. The reply message will either 3427 accept the MType request by including the requested 3428 MType in the leftmost MType field of the response 3429 message or it will reject the MType request by 3430 responding with MType=0, the default MType, in the first 3431 MType field. Optionally, in the case of a rejection, 3432 the switch reply can include up to 3 additional MType 3433 values in the rightmost 3 octets of the reply message 3434 respectively, each of which indicates an available 3435 alternative QoS Configurations. A switch that supports 3436 on the default QoS Configuration always returns MType=0 3437 in all four MType fields. MType negotiation is discussed 3438 in section 7.1.1. 3440 0 � Indicates use of the default GSMP model 3441 1 � Indicates use of IEEE qGSMP model 3442 2 - 200 - Reserved 3443 201 - 255 - Experimental 3445 Firmware Version Number 3446 The version number of the switch control firmware 3447 installed. 3449 Window Size 3450 The maximum number of unacknowledged request messages 3451 that may be transmitted by the controller without the 3452 possibility of loss. This field is used to prevent 3453 request messages being lost in the switch because of 3454 overflow in the receive buffer. The field is a hint to 3455 the controller. If desired, the controller may 3456 experiment with higher and lower window sizes to 3457 determine heuristically the best window size. 3459 Switch Type 3460 A 16-bit field allocated by the manufacturer of the 3461 switch. (For these purposes the manufacturer of the 3462 switch is assumed to be the organisation identified by 3463 the OUI in the Switch Name field.) The Switch Type 3464 identifies the product. When the Switch Type is combined 3465 with the OUI from the Switch Name the product is 3466 uniquely identified. Network Management may use this 3467 identification to obtain product related information 3468 from a database. 3470 Switch Name 3471 A 48-bit quantity that is unique within the operational 3472 context of the device. A 48-bit IEEE 802 MAC address, if 3473 available, may be used as the Switch Name. The most 3474 significant 24 bits of the Switch Name must be an 3475 Organisationally Unique Identifier (OUI) that identifies 3476 the manufacturer of the switch. 3478 Max Reservations 3479 The maximum number of Reservations that the switch can 3480 support (see Chapter 10). A value of 0 indicates that 3481 the switch does not support Reservations. 3483 7.1.1 Configuration Message Processing 3485 After adjacency between a controller and a switch is first 3486 established the controller that opts to use a QoS Configuration 3487 other then the default would send the Switch Configuration request 3488 including the requested QoS Configuration's MType value in the 3489 request message. This request must be sent before any connection 3490 messages are exchanged. If the switch can support the requested 3491 QoS configuration then the switch includes the requested MType 3492 value in the response message as an indication that it accepts the 3493 request. If the switch cannot support the requested QoS 3494 Configuration, it replaces the MType value in the request message 3495 with that of the default QoS Configuration, i.e. MType=0. 3497 The switch configuration response messages may additionally 3498 include the MType values of up to three alternative QoS 3499 Configurations that the switch supports and that the controller 3500 may choose between. 3502 The exchange continues until the controller sends a requested 3503 MType that the switch accepts or until it sends a connection 3504 request message. If the exchange ends without confirmation of an 3505 alternate switch model, then the default Mtype=0 is be used. 3507 Once a MType has been established for the switch, it cannot be 3508 changed without full restart; that is the re-establishment of 3509 adjacency with the resetting of all connections. 3511 7.2 Port Configuration Message 3513 The Port Configuration message requests the switch for the 3514 configuration information of a single switch port. The Port field 3515 in the request message specifies the port for which the 3516 configuration is requested. The Port Configuration message is: 3518 Message Type = 65. 3520 The Port Configuration success response message has the following 3521 format: 3523 0 1 2 3 3524 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 3525 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3526 | Version | Message Type | Result | Code | 3527 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3528 | Partition ID | Transaction Identifier | 3529 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3530 | Port | 3531 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3532 | Port Session Number | 3533 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3534 | Event Sequence Number | 3535 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3536 | Event Flags | reserved | 3537 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3538 | PortType |S|x x x x x x x| Data Fields Length | 3539 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3540 | | 3541 ~ PortType Specific Data ~ 3542 | | 3543 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3544 | Number of Service Specs | | 3545 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 3546 | | 3547 ~ Service Specs List ~ 3548 | | 3549 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3551 Port 3552 The switch port to which the configuration information 3553 refers. Configuration information relating to both the 3554 input and the output sides of the switch port is given. 3555 Port numbers are 32 bits wide and allocated by the 3556 switch. The switch may choose to structure the 32 bits 3557 into subfields that have meaning to the physical 3558 structure of the switch hardware (e.g. physical slot and 3559 port). This structure may be indicated in the Physical 3560 Slot Number and Physical Port Number fields. 3562 Event Sequence Number 3563 The Event Sequence Number is set to zero when the port 3564 is initialised. It is incremented by one each time the 3565 port detects an asynchronous event that the switch would 3566 normally report via an Event message. the Event Sequence 3567 Number is explained in section 8. 3568 Event Flags 3569 Event Flags in a switch port corresponds to a type of 3570 Event message. 3572 PortType 3574 PortType = 0d01 = ATM 3575 PortType = 0d02 = FR 3576 PortType = 0d03 = MPLS 3577 PortType = 0d04 = DS3/E3 3578 PortType = 0d05 = DS1/E1 3580 S: Service Model 3581 If set, indicates that Service Model data follows the 3582 PortSpecific port configuration data. 3584 Data Fields Length 3585 The total length in bytes of the combined PortType 3586 Specific Data and Service Model Data fields. The length 3587 of each of these fields may be derived from the other 3588 data so the value of Data Fields Length serves primarily 3589 as a check and to assist parsing of the All Ports 3590 Configuration message success response. 3592 PortType Specific Data 3593 This field contains the configuration data specific to 3594 the particular port type as specified by the PortType 3595 field. The field format and length depends also on the 3596 value of PortType. PortType Specific Data is defined 3597 below. 3599 Number of Service Specs 3600 Field contains the total number of Service Specs 3601 following in the remainder of the Port Configuration 3602 message response or Port Configuration Record. 3604 Service Specs List 3605 Field contains a sequence of 1 or more Service Specs 3606 (defined below). If the Number of Service Specs is an 3607 even number then 16 bits of padding is inserted after 3608 the last Service Spec in order to justify the end of the 3609 Service Specs List at a 32bit word boundary. 3611 Service Spec 3612 The format of the Service Spec field is given below: 3614 0 1 3615 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 3616 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3617 | Service ID |Capability Set ID| 3618 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3620 Each Service Spec identifies a Service supported by the 3621 switch together with the Capability Set ID that 3622 identifies the parameters of that instance of the 3623 Service. The Service Spec List may contain more than one 3624 Service Spec that share the same Service ID. However, 3625 each Service Spec in the Service Specs List must be 3626 unique. 3628 Service ID 3629 Field contains the Service ID of a Service 3630 supported on the port. Service ID values are 3631 defined as part of the Service definition in 3632 Chapter 8.6. 3634 Capability Set ID 3635 Field identifies a Capability Set ID of the Service 3636 specified by the Service ID that is supported on 3637 the port. Capability Set ID values are defined by 3638 the Switch in the Service Configuration response 3639 message (see Section 7.4). The switch must not 3640 return a {Service ID, Capability Set ID} pair that 3641 is not reported in a Service Configuration response 3642 message. 3644 7.2.1 PortType Specific Data 3646 The length, format and semantics of the PortType Specific Data field 3647 in the Port Configuration message success response and in the Port 3648 Records of the All Port Configuration message success response all 3649 depend on the PortType value of the same message or record 3650 respectively. The specification of the PortType Specific Data field 3651 is given below. For each defined PortType value the Min and Max 3652 Label fields are given in the subsequent subsections. 3654 0 1 2 3 3655 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 3656 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3657 |P|M|L|R|Q| label range count | label range length | 3658 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3659 | | 3660 ~ Label Range Block ~ 3661 | | 3662 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3663 | Receive Data Rate | 3664 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3665 | Transmit Data Rate | 3666 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3667 | Port Status | Line Type | Line Status | Priorities | 3668 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3669 | Physical Slot Number | Physical Port Number | 3670 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3672 Where each of the ranges in the Label Range Blocks will have the 3673 following format: 3675 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3676 |T|S|V|x| Min Label | 3677 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3678 |T|S|x x| Max Label | 3679 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3681 Flags 3683 P: VP Switching 3684 The ATM VPC flag may only be set for ports with 3685 PortType=ATM. The VP Switching flag, if set, indicates 3686 that this input port is capable of supporting virtual 3687 path switching. Else, if zero, it indicates that this 3688 input port is only capable of virtual channel switching. 3690 M: Multicast Labels 3691 The Multicast Labels flag, if set, indicates that this 3692 output port is capable of labelling each output branch 3693 of a point-to-multipoint tree with a different label. If 3694 zero, it indicates that this output port is not able to 3695 label each output branch of a point-to-multipoint tree 3696 with a different label. 3698 L: Logical Multicast 3699 The Logical Multicast flag, if set, indicates that this 3700 output port is capable of supporting more than a single 3701 branch from any point-to-multipoint connection. This 3702 capability is often referred to as logical multicast. If 3703 zero, it indicates that this output port can only 3704 support a single output branch from each point-to- 3705 multipoint connection. 3707 R: Label Range 3708 The Label Range flag, if set, indicates that this switch 3709 port is capable of reallocating its label range and 3710 therefore accepts the Label Range message. Else, if 3711 zero, it indicates that this port does not accept Label 3712 Range messages. 3714 Q: QoS 3715 The QoS flag, if set, indicates that this switch port is 3716 capable of handling the Quality of Service messages 3717 defined in section 9 of this specification. Else, if 3718 zero, it indicates that this port does not accept the 3719 Quality of Service messages. 3721 V: Label 3722 The Label flag use is port type specific. 3724 Label Range Count 3725 Count of Label Data elements contained in the Label Data 3726 Block. 3728 Label Range Length 3729 Byte count in the Label Data Block. 3731 Min Label 3732 The specification of the Min Label field for each 3733 defined PortType value is given in the subsequent 3734 subsections. The default minimum value of dynamically 3735 assigned incoming label that the connection table on the 3736 input port supports and that may be controlled by GSMP. 3737 This value is not changed as a result of the Label Range 3738 message. 3740 Max Label 3741 The specification of the Max Label field for each 3742 defined PortType value is given in the subsequent 3743 subsections. The default maximum value of dynamically 3744 assigned incoming label that the connection table on the 3745 input port supports and that may be controlled by GSMP. 3746 This value is not changed as a result of the Label Range 3747 message. 3749 Receive Data Rate 3750 The maximum rate of data that may arrive at the input 3751 port in; 3752 cells/s for PortType=ATM 3753 bytes/s for PortType=FR 3754 bytes/s for PortType=MPLS 3755 bit/s for PortType=DS3/E3 3756 bit/s for PortType=DS1/E1 3758 Transmit Data Rate 3759 The maximum rate of data that may depart from the output 3760 port in; 3761 cells/s for PortType=ATM 3762 bytes/s for PortType=FR 3763 bytes/s for PortType=MPLS 3764 bit/s for PortType=DS3/E3 3765 bit/s for PortType=DS1/E1 3767 (The transmit data rate of the output port may be 3768 changed by the Set Transmit Data Rate function of the 3769 Port Management message.) 3771 Port Status 3772 Gives the administrative state of the port. The defined 3773 values of the Port Status field are: 3775 Available: 3776 Port Status = 1. The port is available to both send 3777 and receive cells or frames. When a port changes to 3778 the Available state from any other administrative 3779 state, all dynamically assigned connections must be 3780 cleared and a new Port Session Number must be 3781 generated. 3783 Unavailable: 3784 Port Status = 2. The port has intentionally been 3785 taken out of service. No cells or frames will be 3786 transmitted from this port. No cells or frames will 3787 be received by this port. 3789 Internal Loopback: 3790 Port Status = 3. The port has intentionally been 3791 taken out of service and is in internal loopback: 3792 cells or frames arriving at the output port from 3793 the switch fabric are looped through to the input 3794 port to return to the switch fabric. All of the 3795 functions of the input port above the physical 3796 layer, e.g. header translation, are performed upon 3797 the looped back cells or frames. 3799 External Loopback: 3800 Port Status = 4. The port has intentionally been 3801 taken out of service and is in external loopback: 3802 cells or frames arriving at the input port from the 3803 external communications link are immediately looped 3804 back to the communications link at the physical 3805 layer without entering the input port. None of the 3806 functions of the input port above the physical 3807 layer are performed upon the looped back cells or 3808 frames. 3810 Bothway Loopback: 3811 Port Status = 5. The port has intentionally been 3812 taken out of service and is in both internal and 3813 external loopback. 3815 The Port Status of the port over which the GSMP session 3816 controlling the switch is running, must be declared 3817 Available. The controller will ignore any other Port 3818 status for this port. The Port Status of switch ports 3819 after power-on initialisation is not defined by GSMP. 3821 Line Type 3822 The type of physical transmission interface for this 3823 port. The values for this field are defined by the 3824 IANAifType's specified in [17]. 3826 The following values are identified for use in this 3827 version of the protocol. 3829 PortType=Unknown: other(1) 3830 PortType=MPLS: ethernetCsmacd(6), 3831 ppp(23) 3832 PortType=DS1/E1: ds1(18) 3833 PortType=DS3/E3: ds3(30) 3834 PortType=ATM: atm(37) 3835 PortType=FR: frameRelayService(44) 3837 Line Status 3838 The status of the physical transmission medium connected 3839 to the port. The defined values of the Line Status field 3840 are: 3842 Up: Line Status = 1. The line is able to both send and 3843 receive. When the Line Status changes to Up from 3844 either the Down or Test states, a new Port Session 3845 Number must be generated. 3847 Down:Line Status = 2. The line is unable either to send 3848 or receive or both. 3850 Test:Line Status = 3. The port or line is in a test 3851 mode, for example, power-on test. 3853 Priorities 3854 The number of different priority levels that this output 3855 port can assign to connections. Zero is invalid in this 3856 field. If an output port is able to support "Q" 3857 priorities, the highest priority is numbered zero and 3858 the lowest priority is numbered "Q-1". The ability to 3859 offer different qualities of service to different 3860 connections based upon their priority is assumed to be a 3861 property of the output port of the switch. It may be 3862 assumed that for connections that share the same output 3863 port, a cell or frame on a connection with a higher 3864 priority is much more likely to exit the switch before a 3865 cell or frame on a connection with a lower priority if 3866 they are both in the switch at the same time. 3868 Physical Slot Number 3869 The physical location of the slot in which the port is 3870 located. It is an unsigned 16-bit integer that can take 3871 any value except 0xFFFF. The value 0xFFFF is used to 3872 indicate "unknown." The Physical Slot Number is not used 3873 by the GSMP protocol. It is provided to assist network 3874 management in functions such as logging, port naming, 3875 and graphical representation. 3877 Physical Port Number 3878 The physical location of the port within the slot in 3879 which the port is located. It is an unsigned 16-bit 3880 integer that can take any value except 0xFFFF. The value 3881 0xFFFF is used to indicate "unknown." The Physical Port 3882 Number is not used by the GSMP protocol. It is provided 3883 to assist network management in functions such as 3884 logging, port naming, and graphical representation. 3886 There must be a one to one mapping between Port Number 3887 and the Physical Slot Number and Physical Port Number 3888 combination. Two different Port Numbers must not yield 3889 the same Physical Slot Number and Physical Port Number 3890 combination. The same Port Number must yield the same 3891 Physical Slot Number and Physical Port Number within a 3892 single GSMP session. If both Physical Slot Number and 3893 Physical Port Number indicate "unknown" the physical 3894 location of switch ports may be discovered by looking up 3895 the product identity in a database to reveal the 3896 physical interpretation of the 32-bit Port Number. 3898 7.2.1.1 PortType Specific data for PortType=ATM 3900 If PortType=ATM and the T flag is unset, the label range fields 3901 have following format: 3903 0 1 2 3 3904 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 3905 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3906 |T|S|V|x| Min VPI | Min VCI | 3907 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3908 |T|S|V|x| Max VPI | Max VCI | 3909 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3911 V: Label 3912 If the Label flag is set, the message refers to a range 3913 of VPIs only. The Min VCI and Max VCI fields are unused. 3914 If the Label flag is zero the message refers to a range 3915 of VCIs on either one VPI or on a range of VPIs. 3917 Min VPI 3918 The default minimum value of dynamically assigned 3919 incoming VPI that the connection table on the input port 3920 supports and that may be controlled by GSMP. 3922 Max VPI 3923 The default maximum value of dynamically assigned 3924 incoming VPI that the connection table on the input port 3925 supports and that may be controlled by GSMP. 3927 At power-on, after a hardware reset, and after the Reset 3928 Input Port function of the Port Management message, the 3929 input port must handle all values of VPI within the 3930 range Min VPI to Max VPI inclusive and GSMP must be able 3931 to control all values within this range. It should be 3932 noted that the range Min VPI to Max VPI refers only to 3933 the incoming VPI range that can be supported by the 3934 associated port. No restriction is placed on the values 3935 of outgoing VPIs that may be written into the cell 3936 header. If the switch does not support virtual paths it 3937 is acceptable for both Min VPI and Max VPI to specify 3938 the same value, most likely zero. 3940 Use of the Label Range message allows the range of VPIs 3941 supported by the port to be changed. However, the Min 3942 VPI and Max VPI fields in the Port Configuration and All 3943 Ports Configuration messages always report the same 3944 default values regardless of the operation of the Label 3945 Range message. 3947 Min VCI 3948 The default minimum value of dynamically assigned 3949 incoming VCI that the connection table on the input port 3950 can support and may be controlled by GSMP. This value is 3951 not changed as a result of the Label Range message. 3953 Max VCI 3954 The default maximum value of dynamically assigned 3955 incoming VCI that the connection table on the input port 3956 can support and may be controlled by GSMP. 3958 At power-on, after a hardware reset, and after the Reset 3959 Input Port function of the Port Management message, the 3960 input port must handle all values of VCI within the 3961 range Min VCI to Max VCI inclusive, for each of the 3962 virtual paths in the range Min VPI to Max VPI inclusive, 3963 and GSMP must be able to control all values within this 3964 range. It should be noted that the range Min VCI to Max 3965 VCI refers only to the incoming VCI range that can be 3966 supported by the associated port on each of the virtual 3967 paths in the range Min VPI to Max VPI. No restriction is 3968 placed on the values of outgoing VCIs that may be 3969 written into the cell header. 3971 Use of the Label Range message allows the range of VCIs 3972 to be changed on each VPI supported by the port. 3973 However, the Min VCI and Max VCI fields in the Port 3974 Configuration and All Ports Configuration messages 3975 always report the same default values regardless of the 3976 operation of the Label Range message. 3977 For a port over which the GSMP protocol is operating, 3978 the VCI of the GSMP control channel may or may not be 3979 reported as lying within the range Min VCI to Max VCI. A 3980 switch should honour a connection request message that 3981 specifies the VCI value of the GSMP control channel even 3982 if it lies outside the range Min VCI to Max VCI. 3984 If PortType=ATM and the T flag is set, the label range fields have 3985 following format: 3986 0 1 2 3 3987 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 3988 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3989 |T|S|V|x| ATM Label (0x100) | Label Length | 3990 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3991 | | VPI | VCI | 3992 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3994 The message contains the same definitions as above. 3996 7.2.1.2 PortType Specific data for PortType=FR 3998 If PortType=FR and the T flag is unset, the label range fields 3999 have following format: 4001 0 1 2 3 4002 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 4003 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4004 |T|S|x x x x|Len| Min DLCI | 4005 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4006 |T|S|x x x x x x| Max DLCI | 4007 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4009 Len 4010 This field specifies the number of bits of the DLCI. The 4011 following values are supported: 4013 Len DLCI bits 4014 0 10 4015 1 17 4016 2 23 4018 Min DLCI 4019 Max DLCI 4020 Specify a range of DLCI values, Min DLCI to Max DLCI 4022 inclusive. The values should be right justified in the 4023 23 bit fields and the preceding bits should be set to 4024 zero. A single DLCI may be specified with a Min DLCI and 4025 a Max DLCI having the same value. In a request message, 4026 if the value of the Max DLCI field is less than or equal 4027 to the value of the Min DLCI field, the requested range 4028 is a single DLCI with a value equal to the Min DLCI 4029 field. Zero is a valid value. 4031 If PortType=FR and the T flag is set, the label range fields have 4032 following format: 4034 0 1 2 3 4035 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 4036 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4037 |T|S|x|x| FR Label (0x101) | Label Length | 4038 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4039 | |Resv.|Len| DLCI | 4040 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4042 The message contains the same definitions as above. 4044 7.2.1.3 PortType Specific data for PortType=MPLS 4046 The Label Range field for PortTypes using MPLS labels (e.g. 4047 Ethernet, SONET etc.) with the T flag unset, has the following 4048 format: 4050 0 1 2 3 4051 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 4052 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4053 |T|S|x x x x x x x x x x| Min MPLS Label | 4054 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4055 |x x x x|x x x x x x x x| Max MPLS Label | 4056 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4058 Min MPLS Label 4059 Max MPLS Label 4060 Specify a range of MPLS label values, Min MPLS Label to 4061 Max MPLS Label inclusive. The Max and Min MPLS label 4062 fields are 20 bits each. 4064 If PortType=MPLS and the T flag is set, the label range fields 4065 have following format: 4067 0 1 2 3 4068 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 4069 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4070 |T|S|x|x| MPLS Gen Label (0x102)| Label Length | 4071 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4072 | | MPLS Label | 4073 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4075 The message contains the same definitions as above. 4077 7.2.1.4 PortType Specific data for PortType=DS3/E3 4079 If the PortType=DS3/E3 and the T flag set, the label range field 4080 has the following format: 4082 0 1 2 3 4083 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 4084 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4085 |T|x|x|U| Label Type | Label Length | 4086 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4087 | Min Ch ID | Min Time Slots | 4088 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4089 | Min Time Slots | 4090 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4091 | Max Ch ID | Max Time Slots | 4092 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4093 | Max Time Slots | 4094 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4096 Min Ch ID 4097 Max Ch ID 4098 Specify a range of DS1/E1 channel ID values, Min Ch ID 4099 to Max Ch ID inclusive. The Max and Min Ch ID fields are 4100 8 bits each. 4102 For DS1 Channels values are 1-28 4103 For E1 Channels values are 1-16 4105 Min Time Slots 4106 Max Time Slots 4107 Specify a range of DS0 Time Slots, Max Time Slot to Max 4108 Time Slot inclusive. The length of Max and Min Time 4109 Slots are determined by the Label Length field (minus 4110 the Ch ID octet). 4112 7.2.1.5 PortType Specific data for PortType=DS1/E1 4114 If the PortType=DS3/E3 and the T flag set, the label range field 4115 has the following format: 4117 0 1 2 3 4118 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 4119 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4120 |T|x|x|x| Label Type | Label Length | 4121 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4122 | Min Time Slots | 4123 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 4124 | Max Time Slots | 4125 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 4127 Min Time Slots 4128 Max Time Slots 4129 Specify a range of DS0 Time Slots, Max Time Slot to Max 4130 Time Slot inclusive. The length of Max and Min Time 4131 Slots are determined by the Label Length field (minus 4132 the Ch ID octet). 4134 7.3 All Ports Configuration Message 4136 The All Ports Configuration message requests the switch for the 4137 configuration information of all of its ports. The All Ports 4138 Configuration message is: 4140 Message Type = 66 4142 The Port field is not used in the request message. 4144 The All Ports Configuration success response message has the 4145 following format: 4147 0 1 2 3 4148 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 4149 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4150 | Version | Message Type | Result | Code | 4151 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4152 | Partition ID | Transaction Identifier | 4153 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4154 | Number of Records | Reserved | 4155 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4156 | | 4157 ~ Port Records ~ 4158 | | 4159 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4161 Number of Records 4162 Field gives the total number of Port Records to be 4163 returned in response to the All Ports Configuration 4164 request message. The number of port records in a single 4165 All Ports Configuration success response must not cause 4166 the packet length to exceed the maximum transmission 4167 unit defined by the encapsulation. If a switch has more 4168 ports than can be sent in a single success response 4169 message it must send multiple success response messages. 4170 All success response messages that are sent in response 4171 to the same request message must have the same 4172 Transaction Identifier as the request message and the 4173 same value in the Number of Records field. All success 4174 response messages that are sent in response to the same 4175 request message, except for the last message, must have 4176 the result field set to "More." The last message, or a 4177 single success response message, must have the result 4178 field set to "Success." All Port records within a 4179 success response message must be complete, i.e. a single 4180 Port record must not be split across multiple success 4181 response messages. 4183 Port Records 4184 Follow in the remainder of the message. Each port record 4185 has the following format: 4187 0 1 2 3 4188 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 4189 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4190 | Port | 4191 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4192 | Port Session Number | 4193 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4194 | PortType |S|x x x x x x x| Data Fields Length | 4195 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4196 | | 4197 ~ PortType Specific Data ~ 4198 | | 4199 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4200 | Number of Service Specs | | 4201 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 4202 | | 4203 ~ Service Specs List ~ 4204 | | 4205 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4207 The definition of the fields in the Port Record is exactly the 4208 same as that of the Port Configuration message. 4210 7.4 Service Configuration Message 4212 The Service Configuration message requests the switch for the 4213 configuration information of the Services that are supported. The 4214 Service Configuration message is: 4216 Message Type = 67 4218 The Service Configuration success response message has the 4219 following format: 4221 0 1 2 3 4222 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 4223 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4224 | Version | Message Type | Result | Code | 4225 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4226 | Partition ID | Transaction Identifier | 4227 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4228 | Number of Service Records | Reserved | 4229 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4230 | | 4231 ~ Service Records ~ 4232 | | 4233 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4235 Number of Service Records 4236 Field gives the total number of Service Records to be 4237 returned in the Service model Data field. 4239 Service Records 4240 A sequence of zero or more Service Records. The switch 4241 returns one Service Record for each Service that it 4242 supports any of its ports. A Service record contains the 4243 configuration data of the specified Service. Each 4244 Service Record has the following format: 4246 0 1 2 3 4247 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 4248 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4249 | Service ID | Reserved | Number of Cap. Set. Records | 4250 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4251 | | 4252 ~ Capability Set Records ~ 4253 | | 4254 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4256 Service IDThe Service ID Field identifies the Service supported by 4257 the port. The Services are defined with their Service ID 4258 values in Chapter 8.6. 4260 Number of Cap. Set. Records 4261 Field gives the total number of Capability Set Records 4262 to be returned in the Service Record field. 4264 Capability Set Records 4265 The switch returns one or more Capability Set Records in 4266 each Service Record. A Capability Set contains a set of 4267 parameters that describe the QoS parameter values and 4268 traffic controls that apply to an instance of the 4269 Service. Each Capability Set record has the following 4270 format: 4272 0 1 2 3 4273 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 4274 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4275 | Cap. Set ID | Reserved | Traffic Controls | 4276 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4277 | CLR | CTD | 4278 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4279 | Frequency | CDV | 4280 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4282 Capability Set ID 4283 The value in this Field defines a Capability Set ID 4284 supported by the switch. The values of a Capability Set 4285 ID is assigned by the switch and used in Port 4286 Configuration messages to identify Capability Sets 4287 supported by individual ports. Each Capability Set 4288 Record within a Service Record must have a unique 4289 Capability Set ID. 4291 Traffic Controls 4292 Field identifies the availability of Traffic Controls within 4293 the Capability Set. Traffic Controls are defined as part of the 4294 respective Service definition, see Chapter 8.6. Some or all of 4295 the Traffic Controls may be undefined for a given Service, in 4296 which case the corresponding Flag is ignored by the controller. 4297 The Traffic Controls field is formatted into Traffic Control 4298 Sub-fields as follows: 4300 0 1 4301 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 4302 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4303 | U | D | I | E | S | V | Res | 4304 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4306 Traffic Control Sub-fields have the following encoding: 4308 0b00 Indicates that the Traffic Control is not available in 4309 the Capability Set. 4311 0b01 Indicates that the Traffic Control is applied to all 4312 connections that use the Capability Set. 4314 0b10 Indicates that the Traffic Control is available for 4315 application to connections that use the Capability Set 4316 on a per connection basis. 4318 0b11 Reserved 4320 Traffic Control Sub-fields: 4322 U: Usage Parameter Control 4323 The Usage Parameter Control sub-field indicates the 4324 availability of Usage Parameter Control for the 4325 specified Service and Capability Set. 4327 D: Packet Discard 4328 The Packet Discard sub-field indicates the availability 4329 of Packet Discard for the specified Service and 4330 Capability Set. 4332 I: Ingress Shaping 4333 The Ingress Shaping sub-field indicates the availability 4334 of Ingress Traffic Shaping to the Peak Cell Rate and 4335 Cell Delay Variation Tolerance for the specified Service 4336 and Capability Set. 4338 E: Egress Shaping, Peak Rate 4339 The Egress Shaping, Peak Rate sub-field indicates the 4340 availability of Egress Shaping to the Peak Cell Rate and 4341 Cell Delay Variation Tolerance for the specified Service 4342 and Capability Set. 4344 S: Egress Traffic Shaping, Sustainable Rate 4345 The Egress Shaping, Sustainable Rate sub-field, if set, 4346 indicates that Egress Traffic Shaping to the Sustainable 4347 Cell Rate and Maximum Burst Size is available for the 4348 specified Service and Capability Set. 4350 V: VC Merge 4351 The VC Merge sub-field indicates the availability of ATM 4352 Virtual Channel Merge (i.e. multipoint to point ATM 4353 switching with a traffic control to avoid AAL5 PDU 4354 interleaving) capability for the specified Service and 4355 Capability Set. 4357 Res: Reserved 4359 QoS Parameters 4360 The remaining four fields in the Capability Set Record contain 4361 the values of QoS Parameters. QoS Parameters are defined as 4362 part of the respective Service definition, see Chapter 8.6. 4363 Some or all of the QoS Parameters may be undefined for a given 4364 Service, in which case the corresponding field is ignored by 4365 the controller. 4367 CLR: Cell Loss Ratio 4368 The Cell Loss Ratio parameter indicates the CLR 4369 guaranteed by the switch for the specified Service. A 4370 cell loss ratio is expressed as an order of magnitude n, 4371 where the CLR takes the value 10exp(n). The value n is 4372 coded as a binary integer, having a range of 1 <= n <= 4373 15. In addition, the value 0b1111 1111 indicates that no 4374 CLR guarantees is given. 4376 Frequency 4377 The frequency field is coded as an 8 bit unsigned 4378 integer. Frequency applies to the MPLS CR-LDP Service 4379 (see Section 9.4.3). Valid values of Frequency are: 4381 0 - Very frequent 4382 1 - Frequent 4383 2 - Unspecified 4385 CTD: Cell Transfer delay 4386 The CTD value is expressed in units of microseconds. It 4387 is coded as a 24-bit binary integer. 4389 CDV: Peak-to-peak Cell Delay Variation 4390 The CDV value is expressed in units of microseconds. It 4391 is coded as a 24-bit binary integer. 4393 8. Event Messages 4395 Event messages allow the switch to inform the controller of 4396 certain asynchronous events. By default the controller does not 4397 acknowledge event messages unless ReturnReceipt is set in the 4398 Result field. The Code field is only used in case of Adjacency 4399 Update message, otherwise it is not used and should be set to 4400 zero. Event messages are not sent during initialisation. Event 4401 messages have the following format: 4403 0 1 2 3 4404 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 4405 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4406 | Version | Message Type | Result | Code | 4407 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4408 | Transaction Identifier | 4409 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4410 | Port | 4411 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4412 | Port Session Number | 4413 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4414 | Event Sequence Number | 4415 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4416 |T|S|x|x| Label | 4417 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4419 Event Sequence Number 4420 The current value of the Event Sequence Number for the 4421 specified port. The Event Sequence Number is set to zero 4422 when the port is initialised. It is incremented by one 4423 each time the port detects an asynchronous event that 4424 the switch would normally report via an Event message. 4425 The Event Sequence Number must be incremented each time 4426 an event occurs even if the switch is prevented from 4427 sending an Event message due to the action of the flow 4428 control. 4430 S: Extension Label 4431 The Extension Label Flag is used to extend the adjacent 4432 label field by inserting, after the adjacent label, an 4433 additional 32 bit word into the message. A 32 bit word 4434 formatted according to the line marked ** in the message 4435 diagram follows the adjacent label field if and only if 4436 the E Flag is set. 4438 Label 4439 Field gives the Label to which the event message refers. 4440 If this field is not required by the event message it is 4441 set to zero. 4443 Each switch port must maintain an Event Sequence Number and a set 4444 of Event Flags, one Event Flag for each type of Event message. 4445 When a switch port sends an Event message it must set the Event 4446 Flag on that port corresponding to the type of the event. The port 4447 is not permitted to send another Event message of the same type 4448 until the Event Flag has been reset. Event Flags are reset by the 4449 "Reset Event Flags" function of the Port Management message. This 4450 is a simple flow control preventing the switch from flooding the 4451 controller with event messages. The Event Sequence Number of the 4452 port must be incremented every time an event is detected on that 4453 port even if the port is prevented from reporting the event due to 4454 the action of the flow control. This allows the controller to 4455 detect that it has not been informed of some events that have 4456 occurred on the port due to the action of the flow control. 4458 8.1 Port Up Message 4460 The Port Up message informs the controller that the Line Status of 4461 a port has changed from either the Down or Test state to the Up 4462 state. When the Line Status of a switch port changes to the Up 4463 state from either the Down or Test state a new Port Session Number 4464 must be generated, preferably using some form of random number. 4465 The new Port Session Number is given in the Port Session Number 4466 field. The Label field is not used and is set to zero. The Port Up 4467 message is: 4469 Message Type = 80 4471 8.2 Port Down Message 4473 The Port Down message informs the controller that the Line Status 4474 of a port has changed from the Up state to the Down state. This 4475 message will be sent to report link failure if the switch is 4476 capable of detecting link failure. The port session number that 4477 was valid before the port went down is reported in the Port 4478 Session Number field. The Label field is not used and is set to 4479 zero. The Port Down message is: 4481 Message Type = 81 4483 8.3 Invalid Label Message 4485 The Invalid Label message is sent to inform the controller that 4486 one or more cells or frames have arrived at an input port with a 4487 Label that is currently not allocated to an assigned connection. 4488 The input port is indicated in the Port field, and the Label in 4489 the Label field. The Invalid Label message is: 4491 Message Type = 82 4493 8.4 New Port Message 4495 The New Port message informs the controller that a new port has 4496 been added to the switch. The port number of the new port is given 4497 in the Port field. A new Port Session Number must be assigned, 4498 preferably using some form of random number. The new Port Session 4499 Number is given in the Port Session Number field. The state of the 4500 new port is undefined so the Label field is not used and is set to 4501 zero. The New Port message is: 4503 Message Type = 83 4505 8.5 Dead Port Message 4507 The Dead Port message informs the controller that a port has been 4508 removed from the switch. The port number of the port is given in 4509 the Port field. The Port Session Number that was valid before the 4510 port was removed is reported in the Port Session Number field. The 4511 Label fields are not used and are set to zero. The Dead Port 4512 message is: 4514 Message Type = 84 4516 8.6 Adjacency Update Message 4518 The Adjacency Update message informs the controller when 4519 adjacencies, i.e. other controllers controlling a specific 4520 partition, are joining or leaving. When a new adjacency has been 4521 established, the switch sends an Adjacency Update message to every 4522 controller with an established adjacency to that partition. The 4523 Adjacency Update message is also sent when adjacency is lost 4524 between the partition and a controller, provided that there are 4525 any remaining adjacencies with that partition. The Code field is 4526 used to indicate the number of adjacencies known by the switch 4527 partition. The label field is not used and should be set to zero. 4528 The Adjacency Update message is: 4530 Message Type = 85 4532 9. Service Model Definition 4534 9.1 Overview 4536 In the GSMP Service Model a controller may request the switch to 4537 establish a connection with a given Service. The requested Service 4538 is identified by including a Service ID in the Add Branch message. 4539 The Service ID refers to a Service Definition provided in this 4540 chapter of the GSMP specification. 4542 A switch that implements one or more of the Services, as defined 4543 below, advertises the availability of these Services in the 4544 Service Configuration message response (see Section 7.4). Details 4545 of the switch's implementation of a given Service that are 4546 important to the controller (e.g. the value of delay or loss 4547 bounds or the availability of traffic controls such as policers or 4548 shapers) are reported in the form of a Capability Set in the 4549 Service Configuration message response. 4551 Thus a switch's implementation of a Service is defined in two 4552 parts: the Service Definition, which is part of the GSMP 4553 specification, and the Capability Set, which describes attributes 4554 of the Service specific to the switch. A switch may support more 4555 than one Capability Set for a given Service. For example if a 4556 switch supports one Service with two different values of a delay 4557 bound it could do this by reporting two Capability Sets for that 4558 Service. 4560 The Service Definition is identified in GSMP messages by the 4561 Service ID, an eight bit identifier. Assigned numbers for the 4562 Service ID are given with the Service Definitions in Section 9.4. 4563 The Capability Set is identified in GSMP messages by the 4564 Capability Set ID, an eight bit identifier. Numbers for the 4565 Capability Set ID are assigned by the switch and are advertised in 4566 the Service Configuration message response. 4568 The switch reports all its supported Services and Capability Sets 4569 in the Service Configuration message response. The subset of 4570 Services and Capability Sets supported on an individual port is 4571 reported in the Port Configuration message response or in the All 4572 Ports Configuration message response. In these messages the 4573 Services and Capability Sets supported on the specified port are 4574 indicated by a list of {Service ID, Capability Set ID} number 4575 pairs. 4577 9.2 Service Model Definitions 4579 Terms and objects defined for the GSMP Service Model are given in 4580 this section. 4582 9.2.1 Original Specifications 4584 Services in GSMP are defined largely with reference to Original 4585 Specifications, i.e. the standards or implementation agreements 4586 published by organisations such as ITU-T, IETF, and ATM Forum that 4587 originally defined the Service. This version of GSMP refers to 4 4588 Original specifications: [8], [9], [10], and [11]. 4590 9.2.2 Service Definition, Traffic Parameters, QoS Parameters and 4591 Traffic Controls 4593 Each Service Definition in GSMP includes definition of: 4595 Traffic Parameters 4596 Traffic Parameter definitions are associated with Services 4597 while Traffic Parameter values are associated with 4598 connections. 4600 Traffic Parameters quantitatively describe a connection's 4601 requirements on the Service. For example, Peak Cell Rate is 4602 a Traffic Parameter of the Service defined by the ATM Forum 4603 Constant Bit Rate Service Category. 4605 Some Traffic Parameters are mandatory and some are 4606 optional, depending on the Service. 4608 Semantics of Traffic Parameters are defined by reference to 4609 Original Specifications. 4611 QoS Parameters 4612 QoS Parameters and their values are associated with 4613 Services. 4615 QoS Parameters express quantitative characteristics of a 4616 switch's support of a Service. They include, for example, 4617 quantitative bounds on switch induced loss and delay. 4619 Some QoS Parameters will be mandatory and some will be 4620 optional. 4622 Semantics of QoS Parameters are defined by reference to 4623 Original Specifications. 4625 Traffic Controls 4626 The implementation of some Services may include the use of 4627 Traffic Controls. Traffic Controls include for example 4628 functions such as policing, input shaping, output shaping, 4629 tagging and marking, frame vs. cell merge, frame vs. cell 4630 discard. 4632 Switches are not required to support Traffic Controls. Any 4633 function that is always required in the implementation of a 4634 Service is considered part of the Service and is not 4635 considered a Traffic Control. 4637 If a switch supports a Traffic Control then the control may 4638 be applied either to all connections that use a given 4639 Capability Set (see below) or to individual connections. 4641 The definition of a Traffic Control is associated with a 4642 Service. Traffic Controls are defined, as far as possible, 4643 by reference to Original Specifications. 4645 9.2.3 Capability Sets 4647 For each Service that a switch supports the switch must also 4648 support at least one Capability Set. A Capability Set establishes 4649 characteristics of a switch's implementation of a Service. It may 4650 be appropriate for a switch to support more than one Capability 4651 Set for a given Service. 4653 A Capability Set may contain, depending on the Service definition, 4654 QoS Parameter values and indication of availability of Traffic 4655 Controls. 4657 If a switch reports QoS Parameter values in a Capability Set then 4658 these apply to all the connections that use that Capability Set. 4660 For each Traffic Control defined for a given Service the switch 4661 reports availability of that control as one of the following: 4663 Not available in the Capability Set, 4665 Applied to all connections that use the Capability Set, or 4667 Available for application to connections that use the 4668 Capability Set on a per connection basis. In this case a 4669 controller may request application of the Traffic Control 4670 in connection management messages. 4672 9.3 Service Model Procedures 4674 A switch's Services and Capability Sets are reported to a 4675 controller in a Service Configuration messages. A Service 4676 Configuration message response includes the list of Services 4677 defined for GSMP that the switch supports and, for each Service, a 4678 specification of the Capability Sets supported for the Service. 4679 Services are referred to by numbers standardised in the GSMP 4680 specification. Capability Sets are referred to by a numbering 4681 system reported by the switch. Each Capability Set within a given 4682 Service includes a unique identifying number together with the 4683 switch's specification of QoS Parameters and Traffic Controls. 4685 A switch need not support all the defined Services and Capability 4686 Sets on every port. The supported Services and Capability Sets are 4687 reported to the controller on a per port basis in port 4688 configuration messages. Port configuration response messages list 4689 the supported Services using the standardised identifying numbers 4690 and the Capability Sets by using the identifying numbers 4691 established in the switch Service configuration messages. 4693 GSMP does not provide a negotiation mechanism by which a 4694 controller may establish or modify Capability Sets. 4696 When a controller establishes a connection, the connection 4697 management message includes indication of the Service and the 4698 Capability Set. Depending on these the connection management 4699 message may additionally include Traffic Parameter values and 4700 Traffic Control flags. 4702 A connection with a given Service can only be established if both 4703 the requested Service and the requested Capability Set are 4704 available on all of the connection's input and output ports. 4706 Refresh of an extant connection is permitted but the add branch 4707 message requesting the message must not include indication of 4708 Service, Capability Sets or Traffic Parameters. 4710 An extant connection's Traffic Parameters may be changed without 4711 first deleting the connection. The Service and Capability Sets of 4712 an extant connection cannot be changed. Either the one stage or 4713 two stage connection set-up procedure may be used to change an 4714 extant connection's Traffic Parameters. 4716 Move branch messages may be refused on the grounds of resource 4717 depletion. In the case of a one stage set-up the connection state 4718 does not change if a move branch request is thus refused. 4720 A switch may support a bandwidth allocation function. If it does, 4721 a controller may choose to use it or not to use it. A controller 4722 indicates whether or not switch bandwidth allocation is requested 4723 using a bandwidth allocation (BA) flag in connection management 4724 messages. A switch indicates that it is honouring the bandwidth 4725 allocation request, and thus the QoS commitments indicated in the 4726 QoS of its Capability Sets, by responding with the BA flag set. If 4727 the switch does not have a bandwidth allocation function then it 4728 will always respond with the BA flag zeroed. If the controller 4729 ever sends a request with a zeroed BA flag, the switch is not 4730 obliged to honour the QoS commitments for the requested 4731 connection, other extant connections or future connections. If the 4732 switch receives a request with the BA flag set it must not reject 4733 the connection based on a lack of bandwidth. If, after the 4734 controller has issued a request with the BA flag zeroed, the 4735 switch is still able to track whether or not it is honouring the 4736 QoS commitments then it may indicate that QoS commitments are 4737 honoured using the BA flag in its responses. The controller may 4738 poll the switch with connection refresh messages to determine if 4739 the switch is still honouring QoS. 4741 9.4 Service Definitions 4743 This section sets forth the definition of Services. Each Service 4744 will be defined in its own subsection. Each Service definition 4745 includes the following definitions: 4747 Service Identifier 4748 The reference number used to identify the Service in GSMP 4749 messages. 4751 Service Characteristics 4752 A definition of the Service. 4754 Traffic Parameters 4755 A definition of the Traffic Parameters used in connection 4756 management messages. 4758 QoS Parameters 4759 A definition of the QoS Parameters that are included in the 4760 Capability Set for instances of the Service. 4762 Traffic Controls 4763 A definition of the Traffic Controls that may be supported 4764 by an instance of the Service. 4766 Descriptive text is avoided wherever possible in order to minimise 4767 any possibility of semantic conflict with the Original 4768 Specifications. 4770 9.4.1 ATM Forum Service Categories 4772 9.4.1.1 CBR 4774 Service Identifier: 4776 CBR.1 - Service ID = 1 4778 Service Characteristics: 4780 Equivalent to ATM Forum CBR.1 Service, see [8]. 4782 Traffic Parameters: 4784 - Peak Cell Rate 4786 - Cell Delay Variation Tolerance 4788 QoS Parameters: 4790 - Cell Loss Ratio 4792 - Maximum Cell Transfer Delay 4794 - Peak-to-peak Cell Delay Variation 4796 Traffic Controls: 4798 - (U) Usage Parameter Control 4800 - (I) Ingress Traffic Shaping to the Peak Cell Rate 4802 - (E) Egress Traffic Shaping to the Peak Cell Rate and Cell 4803 Delay Variation Tolerance 4805 - (D) Packet Discard 4807 9.4.1.2 rt-VBR 4809 Service Identifier: 4811 rt-VBR.1 - Service ID = 2 4813 rt-VBR.2 - Service ID = 3 4815 rt-VBR.3 - Service ID = 4 4817 Service Characteristics: 4819 Equivalent to ATM Forum rt-VBR Service, see [8]. 4821 Traffic Parameters: 4823 - Peak Cell Rate 4825 - Cell Delay Variation Tolerance 4826 - Sustainable Cell Rate 4828 - Maximum Burst Size 4830 QoS Parameters: 4832 - Cell Loss Ratio 4834 - Maximum Cell Transfer Delay 4836 - Peak-to-peak Cell Delay Variation 4838 Traffic Controls: 4840 - (U) Usage Parameter Control 4842 - (I) Ingress Traffic Shaping to the Peak Cell Rate 4844 - (E) Egress Traffic Shaping to the Peak Cell Rate and Cell 4845 Delay Variation Tolerance 4847 - (S) Egress Traffic Shaping to the Sustainable Cell Rate and 4848 Maximum Burst Size 4850 - (P) Packet Discard 4852 - (V) VC Merge 4854 9.4.1.3 nrt-VBR 4856 Service Identifier: 4858 nrt-VBR.1 - Service ID = 5 4860 nrt-VBR.2 - Service ID = 6 4862 nrt-VBR.3 - Service ID = 7 4864 Service Characteristics: 4866 Equivalent to ATM Forum nrt-VBR Service, see [8]. 4868 Traffic Parameters: 4870 - Peak Cell Rate 4872 - Cell Delay Variation Tolerance 4874 - Sustainable Cell Rate 4875 - Maximum Burst Size 4877 QoS Parameter: 4879 - Cell Loss Ratio 4881 Traffic Controls: 4883 - (U) Usage Parameter Control 4885 - (I) Ingress Traffic Shaping to the Peak Cell Rate 4887 - (E) Egress Traffic Shaping to the Peak Cell Rate and Cell 4888 Delay Variation Tolerance 4890 - (S) Egress Traffic Shaping to the Sustainable Cell Rate and 4891 Maximum Burst Size 4893 - (P) Packet Discard 4895 - (V) VC Merge 4897 9.4.1.4 UBR 4899 Service Identifier: 4901 UBR.1 - Service ID = 8 4903 UBR.2 - Service ID = 9 4905 Service Characteristics: 4907 Equivalent to ATM Forum UBR Service, see [8]. 4909 Traffic Parameters: 4911 - Peak Cell Rate 4913 - Cell Delay Variation Tolerance 4915 QoS Parameter: 4917 None 4919 Traffic Controls: 4921 - (U) Usage Parameter Control 4923 - (I) Ingress Traffic Shaping to the Peak Cell Rate 4924 - (E) Egress Traffic Shaping to the Peak Cell Rate and Cell 4925 Delay Variation Tolerance 4927 - (P) Packet Discard 4929 - (V) VC Merge 4931 9.4.1.5 ABR 4933 ABR is not supported in this version of GSMP. 4935 9.4.1.6 GFR 4937 Service Identifier: 4939 GFR.1 - Service ID = 12 4941 GFR.2 - Service ID = 13 4943 Service Characteristics: 4945 Equivalent to ATM Forum GFR Service, see [8]. 4947 Traffic Parameters: 4949 - Peak Cell Rate 4951 - Cell Delay Variation Tolerance 4953 - Minimum Cell Rate 4955 - Maximum Burst Size 4957 - Maximum Frame Size 4959 QoS Parameter: 4961 - Cell Loss Ratio 4963 Traffic Controls: 4965 - (U) Usage Parameter Control 4967 - (I) Ingress Traffic Shaping to the Peak Cell Rate 4969 - (E) Egress Traffic Shaping to the Peak Cell Rate and Cell 4970 Delay Variation Tolerance 4972 - (V) VC Merge 4974 9.4.2 Integrated Services 4976 9.4.2.1 Controlled Load 4978 Service Identifier: 4980 Int-Serv Controlled Load - Service ID = 20 4982 Service Characteristics: 4984 See [9]. 4986 Traffic Parameters: 4988 - Token bucket rate (r) 4990 - Token bucket depth (b) 4992 - Peak rate (p) 4994 - Minimum policed unit (m) 4996 - Maximum packet size (M) 4998 QoS Parameter: 5000 None. 5002 Traffic Controls: 5004 None. 5006 9.4.3 MPLS CR-LDP 5008 Service Identifier: 5010 MPLS CR-LDP QoS - Service ID = 25 5012 Service Characteristics: 5014 See [10]. 5016 Traffic Parameters: 5018 - Peak Data Rate 5020 - Peak Burst Size 5021 - Committed Data Rate 5023 - Committed Burst Size 5025 - Excess Burst Size 5027 - Weight 5029 QoS Parameter: 5031 - Frequency 5033 Traffic Controls: 5035 None currently defined. 5037 9.4.4 Frame Relay 5039 Service Identifier: 5041 Frame Relay Service - Service ID = 30 5043 Service Characteristics: 5045 Equivalent to Frame Relay Bearer Service, see [11]. 5047 Traffic Parameters: 5049 - Committed Information Rate 5051 - Committed Burst Rate 5053 - Excess Burst Rate 5055 QoS Parameters: 5057 None 5059 Traffic Controls: 5061 - Usage Parameter Control 5063 - Egress Traffic Shaping to the Committed Information Rate 5064 and Committed Burst Size 5066 9.4.5 Diff-Serv 5068 For future study. 5070 9.4.6 Circuit Emulation 5072 Service Identifier: 5074 Structured DS1 - Service ID = 50 5076 Unstructured DS1 - Service ID = 51 5078 Structured E1 - Service ID = 52 5080 Unstructured E1 - Service ID = 53 5082 Unstructured DS3 - Service ID = 54 5084 Unstructured E3 - Service ID = 55 5086 Service Characteristics: 5088 Equivalent to Circuit Emulation Service, see [18]. 5090 Traffic Parameters: 5092 - Peak Cell Rate 5094 - Cell Delay Variation Tolerance 5096 QoS Parameters: 5098 None 5100 Traffic Controls: 5102 - Usage Parameter Control 5104 9.5 Format and encoding of the Traffic Parameters Block in 5105 connection management messages 5107 Connection management messages that use the GSMP Service Model 5108 (i.e. those that have QMS=0b10) include the Traffic Parameters 5109 Block that specifies the Traffic Parameter values of a connection. 5110 The required Traffic Parameters of a given Service are given in 5111 Section 9.4. The format and encoding of these parameters are given 5112 below. 5114 9.5.1 Traffic Parameters for ATM Forum Services 5116 The Traffic Parameters: 5118 - Peak Cell Rate 5120 - Cell Delay Variation Tolerance 5122 - Sustainable Cell Rate 5124 - Maximum Burst Size 5126 - Minimum Cell Rate 5128 - Maximum Frame Size 5130 are defined in [8]. These Parameters are encoded as 24 bit 5131 unsigned integers. Peak Cell Rate, Sustainable Cell Rate, and 5132 Minimum Cell Rate are in units of cells per second. Cell Delay 5133 Variation Tolerance is in units of microseconds. Maximum Burst 5134 Size and Maximum Frame Size are in units of cells. In GSMP 5135 messages the individual Traffic Parameters are encoded as follows: 5137 0 1 2 3 5138 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 5139 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5140 | Reserved | 24 bit unsigned integer | 5141 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5143 The format of the Traffic Parameters Block in connection 5144 management messages depends on the Service. It is a sequence of 5145 the 32 bit words (as shown above) corresponding to the Traffic 5146 Parameters as specified in the Service Definitions given in 5147 Section 9.4.1 in the order given there. 5149 9.5.2 Traffic Parameters for the Int-Serv Controlled Load Service 5151 The Traffic Parameters: 5153 - Token bucket rate (r) 5155 - Token bucket size (b) 5157 - Peak rate (p) 5159 are defined in [9]. They are encoded as 32 bit IEEE single- 5160 precision floating point numbers. The Traffic Parameters Token 5161 bucket rate (r) and Peak rate (p) are in units of bytes per 5162 seconds. The Traffic Parameter Token bucket size (b) is in units 5163 of bytes. 5165 The Traffic Parameters: 5167 - Minimum policed unit (m) 5169 - Maximum packet size (M) 5171 are defined in [9]. They are encoded as 32 integer in units of 5172 bytes. 5174 The Traffic Parameters Block for the Int-Serv Controlled Load 5175 Service is as follows: 5177 0 1 2 3 5178 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 5179 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5180 | Token bucket rate (r) | 5181 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5182 | Token bucket size (b) | 5183 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5184 | Peak rate (p) | 5185 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5186 | Minimum policed unit (m) | 5187 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5188 | Maximum packet size (M) | 5189 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5191 9.5.3 Traffic Parameters for the CRLDP Service 5193 The Traffic Parameters: 5195 - Peak Data Rate, 5197 - Peak Burst Size, 5199 - Committed Data Rate, 5201 - Committed Burst Size, and 5203 - Excess Burst Size 5205 are defined in [10] to be encoded as a 32 bit IEEE single- 5206 precision floating point number. A value of positive infinity is 5207 represented as an IEEE single-precision floating-point number 5208 with an exponent of all ones (255) and a sign and mantissa of all 5209 zeros. The values Peak Data Rate and Committed Data Rate are in 5210 units of bytes per second. The values Peak Burst Size, Committed 5211 Burst Size and Excess Burst Size are in units of bytes. 5213 The Traffic Parameter 5215 - Weight 5217 is defined in [10] to be an 8 bit unsigned integer indicating the 5218 weight of the CRLSP. Valid weight values are from 1 to 255. The 5219 value 0 means that weight is not applicable for the CRLSP. 5221 The Traffic Parameters Block for the CRLDP Service is as follows: 5223 0 1 2 3 5224 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 5225 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5226 | Peak Data Rate | 5227 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5228 | Peak Burst Size | 5229 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5230 | Committed Data Rate | 5231 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5232 | Committed Burst Size | 5233 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5234 | Excess Burst Size | 5235 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5236 | Reserved | Weight | 5237 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5239 9.5.4 Traffic Parameters for the Frame Relay Service 5241 The Traffic Parameters: 5243 Committed Information Rate 5245 Committed Burst Size 5247 Excess Burst Size 5249 are defined in [11]. Format and encoding of these parameters for 5250 frame relay signalling messages are defined in [12]. (Note than in 5251 [12] the Committed Information Rate is called "Throughput".) GSMP 5252 uses the encoding defined in [12] but uses a different format. 5254 The format of the Traffic Parameters Block for Frame Relay Service 5255 is a follows: 5257 0 1 2 3 5258 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 5259 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5260 | Reserved | Mag | Reserved| CIR Multiplier | 5261 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5262 | Reserved | Mag |Res| CBS Multiplier | 5263 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5264 | Reserved | Mag |Res| EBS Multiplier | 5265 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5267 Mag 5268 This field is an unsigned integer in the range from 0 to 5269 6. The value 7 is not allowed. Mag is the decimal 5270 exponent for the adjacent multiplier field (which itself 5271 functions as a mantissa). 5273 CIR Multiplier 5274 This field is an unsigned integer. It functions as the 5275 mantissa of the Committed Information Rate Traffic 5276 Parameter. 5278 CBS Multiplier 5279 EBS Multiplier 5280 These fields are unsigned integers. They function as the 5281 mantissas of the Committed Burst Size and Excess Burst 5282 Size Traffic Parameters respectively. 5284 The Traffic Parameter Values are related to their encoding in GSMP 5285 messages as follows: 5287 Committed Information Rate = 10^(Mag) * (CIR Multiplier) 5289 Committed Burst Size = 10^(Mag) * (CBS Multiplier) 5291 Excess Burst Size = 10^(Mag) * (EBS Multiplier) 5293 9.6 Traffic Controls (TC) Flags 5295 The TC Flags field in Add Branch messages for connections using 5296 the Service Model are set by the controller to indicate that 5297 specific traffic controls are requested for the requested 5298 connection. The TC Flags field is shown below: 5300 0 1 2 3 4 5 6 7 5301 +-+-+-+-+-+-+-+-+ 5302 |U|D|I|E|S|V|P|x| 5303 +-+-+-+-+-+-+-+-+ 5305 U: Usage Parameter Control 5306 When set, this flag indicates that Usage Parameter 5307 Control is requested. 5309 D: Packet Discard 5310 When set, this flag indicates that Packet Discard is 5311 requested. 5313 I: Ingress Shaping 5314 When set, this flag indicates the availability of 5315 Ingress Traffic Shaping to the Peak Rate and 5316 Delay Variation Tolerance is requested. 5318 E: Egress Shaping, Peak Rate 5319 When set, this flag indicates that Egress Shaping to the 5320 Peak Rate and Delay Variation Tolerance is requested. 5322 S: Egress Traffic Shaping, Sustainable Rate 5323 When set, this flag indicates that Egress Traffic 5324 Shaping to the Sustainable Rate and Maximum Burst Size 5325 is requested. 5327 V: VC Merge 5328 When set, this flag indicates that ATM Virtual Channel 5329 Merge (i.e. multipoint to point ATM switching with a 5330 traffic control to avoid AAL5 PDU interleaving) is 5331 requested. 5333 P: PortWhen set indicates that traffic block pertains to 5334 Ingress Port. 5336 x: Reserved 5338 The controller may set (to one) the flag corresponding to the 5339 requested Traffic Control if the corresponding Traffic Control has 5340 been indicated in the Service Configuration response message 5341 (Section 7.4) as available for application to connections that use 5342 the requested Capability Set on a per connection basis. (The 5343 requested Capability Set is indicated by the Capability Set ID the 5344 least significant byte of the Service Selector field of the Add 5345 Branch message.) If the Traffic Control has been indicated in the 5346 Service Configuration response message as either not available in 5347 the Capability Set or applied to all connections that use the 5348 Capability Set then the controller sets the flag to zero and the 5349 switch ignores the flag. 5351 10. Reservation Management Messages 5353 GSMP allows switch resources (e.g. bandwidth, buffers, queues, 5354 labels, etc.) to be reserved for connections before the 5355 connections themselves are established. This is achieved through 5356 the manipulation of Reservations in the switch. 5358 Reservations are hard state objects in the switch that can be 5359 created by the controller by sending a Reservation Request 5360 message. Each Reservation is uniquely identified by an identifying 5361 number called a Reservation ID. Reservation objects can be deleted 5362 with the Delete Reservation message or the Delete All Reservations 5363 message. A reservation object is also deleted when the Reservation 5364 is Deployed by specifying a Reservation ID in an Add Branch 5365 message. 5367 The reserved resources must remain reserved until either the 5368 Reservation is deployed, in which case the resources are applied 5369 to a branch, or the Reservation is explicitly deleted (with a 5370 Delete Reservation message or a Delete All Reservations message), 5371 in which case the resources are freed. Reservations and reserved 5372 resources are deleted if the switch is reset. 5374 A Reservation object includes its Reservation ID plus all the 5375 switch state associated with a branch with the exception that the 5376 branch's input label and/or output label may be unspecified. The 5377 Request Reservation message is therefore almost identical to the 5378 Add Branch message. 5380 The switch established the maximum number of reservations it can 5381 store by setting the value of Max Reservations in the Switch 5382 Configuration response message. The switch indicates that it does 5383 not support reservations by setting Max Reservations to 0. The 5384 valid range of Reservation IDs is 1 to Max Reservations). 5386 10.1 Reservation Request Message 5388 The Reservation Request message creates a Reservation in the 5389 switch and reserves switch resources for a connection that may 5390 later be established using an Add Branch message.The Reservation 5391 Request Message is: 5393 Message Type = 70 5395 The Port Management message has the following format for the 5396 request message: 5398 0 1 2 3 5399 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 5400 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5401 | Version | Message Type | Result | Code | 5402 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5403 | Partition ID | Transaction Identifier | 5404 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5405 | Port Session Number | 5406 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5407 | Reservation ID | 5408 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5409 | Input Port | 5410 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5411 |T|S|M|B| Input Label | 5412 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5413 ** ~T|S|x|x| Stacked Input Label ~ 5414 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5415 | Service Selector | 5416 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5417 | Output Port | 5418 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5419 |T|S|QMS| Output Label | 5420 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5421 ** ~T|S|x|x| Stacked Output Label ~ 5422 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5423 | Service Selector | 5424 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5426 When the value of QMS is set to 0b10 then the following Traffic 5427 Parameters Block is appended to the above message: 5429 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5430 | TC Flags | Reserved | 5431 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5432 | | 5433 ~ Traffic Parameters Block ~ 5434 | | 5435 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5437 ** Note: There can be zero or more 32 bit words containing 5438 Stacked Labels (like those marked **) following an Input or 5439 Output Label field. A 32 bit word containing an Stacked 5440 Label follows the previous label field if and only if the S 5441 Flag immediately preceding the previous label is set. 5443 All the fields of the Reservation Request message have the same 5444 meanings as they do in the Add Branch message with the following 5445 exceptions: 5447 Reservation ID 5448 Specifies the Reservation ID of the Reservation. If the 5449 numerical value of Reservation ID is greater than the value 5450 of Max Reservations (from the Switch Configuration 5451 message), a failure response is returned indicating 5452 "Reservation ID out of Range." If the value of Reservation 5453 ID matches that of an extant Reservation, a failure 5454 response is returned indicating "Reservation ID in use." 5456 Input Label 5457 If a specific input label is specified then that label is 5458 reserved along with the required resources. If the Input 5459 Label is 0 then the switch reserves the resources, but will 5460 not bind them to a label until the add branch command is 5461 given which references the Reservation Id. If the input 5462 label is 0, then all stacked label must also be zeroed. 5464 Output Label 5465 If a specific Output Label is specified then that label is 5466 reserved along with the required resources. If the Ouput 5467 Label is 0 then the switch reserves the resources, but will 5468 not bind them to a label until the add branch command is 5469 given which references the Reservation Id. If the Output 5470 Label is 0, then all stacked label must also be zeroed. 5472 When the switch receives a valid Reservation Request it reserves 5473 all the appropriate switch resources needed to establish a branch 5474 with corresponding attributes. If sufficient resources are not 5475 available, a failure response is returned indicating "Insufficient 5476 Resources." Other failure responses are as defined for the Add 5477 Branch message. 5479 10.2 Delete Reservation Message 5481 The Delete Reservation message deletes a Reservation object in the 5482 switch and frees the reserved switch resources of the reservation. 5483 The Reservation Request Message is: 5485 Message Type = 71 5487 The Delete Reservation message has the following format: 5489 0 1 2 3 5490 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 5491 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5492 | Version | Message Type | Result | Code | 5493 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5494 | Partition ID | Transaction Identifier | 5495 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5496 | Port Session Number | 5497 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5498 | Reservation ID | 5499 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5501 If the Reservation ID matches that of an extant Reservation then 5502 the reservation is deletes and corresponding switch resources are 5503 freed. If the numerical value of Reservation ID is greater than 5504 the value of Max Reservations (from the Switch Configuration 5505 message), a failure response is returned indicating "Reservation 5506 ID out of Range." If the value of Reservation ID does not match 5507 that of any extant Reservation, a failure response is returned 5508 indicating "Non-existent Reservation ID." 5510 10.3 Delete All Reservations Message 5512 The Delete Reservation message deletes all extant Reservation 5513 objects in the switch and frees the reserved switch resources of 5514 these reservations. The Reservation Request Message is: 5516 Message Type = 72 5518 The Delete Reservation message has the following format: 5520 0 1 2 3 5521 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 5522 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5523 | Version | Message Type | Result | Code | 5524 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5525 | Partition ID | Transaction Identifier | 5526 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5528 11. Adjacency Protocol 5530 The adjacency protocol is used to synchronise state across the 5531 link, to agree on which version of the protocol to use, to 5532 discover the identity of the entity at the other end of a link, 5533 and to detect when it changes. GSMP is a hard state protocol. It 5534 is therefore important to detect loss of contact between switch 5535 and controller, and to detect any change of identity of switch or 5536 controller. No GSMP messages other than those of the adjacency 5537 protocol may be sent across the link until the adjacency protocol 5538 has achieved synchronisation. 5540 11.1 Packet Format 5542 All GSMP messages belonging to the adjacency protocol have the 5543 following structure: 5545 0 1 2 3 5546 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 5547 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5548 | Version | Message Type | Timer |M| Code | 5549 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5550 | Sender Name | 5551 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5552 | | | 5553 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + 5554 | Receiver Name | 5555 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5556 | Sender Port | 5557 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5558 | Receiver Port | 5559 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5560 |Ptype | PFlag | Sender Instance | 5561 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5562 | Partiton Id | Receiver Instance | 5563 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5565 Version 5567 In the adjacency protocol the Version field is used for 5568 version negotiation. In a SYN message the Version field 5569 always contains the highest version understood by the 5570 sender. A receiver receiving a SYN message with a 5571 version higher than understood will ignore that message. 5572 A receiver receiving a SYN message with a version lower 5573 than its own highest version, but a version that it 5574 understands, will reply with a SYNACK with the version 5575 from the received SYN in its GSMP Version field. This 5576 defines the version of the GSMP protocol to be used 5578 while the adjacency protocol remains synchronised. All 5579 other messages will use the agreed version in the 5580 Version field. 5582 The version number for the version of the GSMP protocol 5583 defined by this specification is Version = 2. 5585 Message Type 5586 The adjacency protocol is: 5588 Message Type = 10 5590 Timer 5591 The Timer field is used to inform the receiver of the 5592 timer value used in the adjacency protocol of the 5593 sender. The timer specifies the nominal time between 5594 periodic adjacency protocol messages. It is a constant 5595 for the duration of a GSMP session. The timer field is 5596 specified in units of 100ms. 5598 M-Flag 5599 The M-Flag is used in the SYN message to indicate 5600 whether the sender is a master or a slave. If the M-Flag 5601 is set in the SYN message, the sender is a master. If 5602 zero, the sender is a slave. The GSMP protocol is 5603 asymmetric, the controller being the master and the 5604 switch being the slave. The M-Flag prevents a master 5605 from synchronising with another master, or a slave with 5606 another slave. If a slave receives a SYN message with a 5607 zero M-Flag, it must ignore that SYN message. If a 5608 master receives a SYN message with the M-Flag set, it 5609 must ignore that SYN message. In all other messages the 5610 M-Flag is not used. 5612 Code 5613 Field specifies the function of the message. Four Codes 5614 are defined for the adjacency protocol: 5616 SYN: Code = 1 5617 SYNACK: Code = 2 5618 ACK: Code = 3 5619 RSTACK: Code = 4. 5621 Sender Name 5622 For the SYN, SYNACK, and ACK messages, is the name of 5623 the entity sending the message. The Sender Name is a 48- 5624 bit quantity that is unique within the operational 5625 context of the device. A 48-bit IEEE 802 MAC address, if 5626 available, may be used for the Sender Name. If the 5627 Ethernet encapsulation is used the Sender Name must be 5628 the Source Address from the MAC header. For the RSTACK 5629 message, the Sender Name field is set to the value of 5630 the Receiver Name field from the incoming message that 5631 caused the RSTACK message to be generated. 5633 Receiver Name 5634 For the SYN, SYNACK, and ACK messages, is the name of 5635 the entity that the sender of the message believes is at 5636 the far end of the link. If the sender of the message 5637 does not know the name of the entity at the far end of 5638 the link, this field should be set to zero. For the 5639 RSTACK message, he Receiver Name field is set to the 5640 value of the Sender Name field from the incoming message 5641 that caused the RSTACK message to be generated. 5643 Sender Port 5644 For the SYN, SYNACK, and ACK messages, is the local port 5645 number of the link across which the message is being 5646 sent. For the RSTACK message, the Sender Port field is 5647 set to the value of the Receiver Port field from the 5648 incoming message that caused the RSTACK message to be 5649 generated. 5651 Receiver Port 5652 For the SYN, SYNACK, and ACK messages, is what the 5653 sender believes is the local port number for the link, 5654 allocated by the entity at the far end of the link. If 5655 the sender of the message does not know the port number 5656 at the far end of the link, this field should be set to 5657 zero. For the RSTACK message, the Receiver Port field is 5658 set to the value of the Sender Port field from the 5659 incoming message that caused the RSTACK message to be 5660 generated. 5662 PTYPE 5663 Type of partition being requested. 5664 0 No Partition Request 5665 1 Fixed Partition 5667 PFLAG 5668 Used to indicate type of partition request. 5669 1 - New Adjacency. In the case of a new adjacency, the 5670 state of the switch will be reset. 5671 2 - Recovered Adjacency. In the case of a recovered 5672 adjacency, the state of the switch will remain, and the 5673 Switch Controller will be responsible for confirming 5674 that the state of the switch matches the desired state. 5676 Sender Instance 5677 For the SYN, SYNACK, and ACK messages, is the sender's 5678 instance number for the link. It is used to detect when 5679 the link comes back up after going down or when the 5680 identity of the entity at the other end of the link 5681 changes. The instance number is a 32-bit number that is 5682 guaranteed to be unique within the recent past and to 5683 change when the link or node comes back up after going 5684 down. Zero is not a valid instance number. For the 5685 RSTACK message, the Sender Instance field is set to the 5686 value of the Receiver Instance field from the incoming 5687 message that caused the RSTACK message to be generated. 5689 Partition ID 5690 Field used to associate the message with a specific 5691 switch partition. 5693 Receiver Instance 5694 For the SYN, SYNACK, and ACK messages, is what the 5695 sender believes is the current instance number for the 5696 link, allocated by the entity at the far end of the 5697 link. If the sender of the message does not know the 5698 current instance number at the far end of the link, this 5699 field should be set to zero. For the RSTACK message, the 5700 Receiver Instance field is set to the value of the 5701 Sender Instance field from the incoming message that 5702 caused the RSTACK message to be generated. 5704 11.2 Procedure 5706 The adjacency protocol is described by the following rules and 5707 state tables. 5709 The rules and state tables use the following operations: 5711 o The "Update Peer Verifier" operation is defined as storing the 5712 values of the Sender Instance, Sender Port, and Sender Name 5713 fields from a SYN or SYNACK message received from the entity at 5714 the far end of the link. 5716 o The procedure "Reset the link" is defined as: 5718 1. Generate a new instance number for the link 5719 2. Delete the peer verifier (set to zero the values of 5720 Sender Instance, Sender Port, and Sender Name previously 5721 stored by the Update Peer Verifier operation) 5722 3. Send a SYN message 5723 4. Enter the SYNSENT state. 5725 o The state tables use the following Boolean terms and operators: 5727 A The Sender Instance in the incoming message matches the 5728 value stored from a previous message by the "Update Peer 5729 Verifier" operation. 5731 B The Sender Instance, Sender Port, Sender Name and Sender 5732 Partition ID fields in the incoming message match the 5733 values stored from a previous message by the "Update 5734 Peer Verifier" operation. 5736 C The Receiver Instance, Receiver Port, Receiver Name and 5737 Receiver Partition ID fields in the incoming message 5738 match the values of the Sender Instance, Sender Port, 5739 Sender Name and Sender Partition ID currently sent in 5740 outgoing SYN, SYNACK, and ACK messages. 5742 "&&" Represents the logical AND operation 5744 "||" Represents the logical OR operation 5746 "!" Represents the logical negation (NOT) operation. 5748 o A timer is required for the periodic generation of SYN, SYNACK, 5749 and ACK messages. The value of the timer is announced in the 5750 Timer field. The period of the timer is unspecified but a value 5751 of one second is suggested. 5753 There are two independent events: the timer expires, and a 5754 packet arrives. The processing rules for these events are: 5756 Timer Expires: Reset Timer 5757 If state = SYNSENT Send SYN 5758 If state = SYNRCVD Send SYNACK 5759 If state = ESTAB Send ACK 5761 Packet Arrives: 5762 If incoming message is an RSTACK: 5763 If (A && C && !SYNSENT) Reset the link 5764 Else Discard the message. 5765 If incoming message is a SYN, SYNACK, or ACK: 5766 Response defined by the following State Tables. 5767 If incoming message is any other GSMP message and 5768 state != ESTAB: 5769 Discard incoming message. 5770 If state = SYNSENT Send SYN (Note 1) 5771 If state = SYNRCVD Send SYNACK (Note 1) 5773 Note 1: No more than two SYN or SYNACK messages should 5774 be sent within any time period of length defined by 5775 the timer. 5777 o State synchronisation across a link is considered to be 5778 achieved when the protocol reaches the ESTAB state. All GSMP 5779 messages, other than adjacency protocol messages, that are 5780 received before synchronisation is achieved will be discarded. 5782 11.2.1 State Tables 5784 State: SYNSENT 5786 +======================================================================+ 5787 | Condition | Action | New State | 5788 +====================+=====================================+===========+ 5789 | SYNACK && C | Update Peer Verifier; Send ACK | ESTAB | 5790 +--------------------+-------------------------------------+-----------+ 5791 | SYNACK && !C | Send RSTACK | SYNSENT | 5792 +--------------------+-------------------------------------+-----------+ 5793 | SYN | Update Peer Verifier; Send SYNACK | SYNRCVD | 5794 +--------------------+-------------------------------------+-----------+ 5795 | ACK | Send RSTACK | SYNSENT | 5796 +======================================================================+ 5798 State: SYNRCVD 5800 +======================================================================+ 5801 | Condition | Action | New State | 5802 +====================+=====================================+===========+ 5803 | SYNACK && C | Update Peer Verifier; Send ACK | ESTAB | 5804 +--------------------+-------------------------------------+-----------+ 5805 | SYNACK && !C | Send RSTACK | SYNRCVD | 5806 +--------------------+-------------------------------------+-----------+ 5807 | SYN | Update Peer Verifier; Send SYNACK | SYNRCVD | 5808 +--------------------+-------------------------------------+-----------+ 5809 | ACK && B && C | Send ACK | ESTAB | 5810 +--------------------+-------------------------------------+-----------+ 5811 | ACK && !(B && C) | Send RSTACK | SYNRCVD | 5812 +======================================================================+ 5814 State: ESTAB 5816 +======================================================================+ 5817 | Condition | Action | New State | 5818 +====================+=====================================+===========+ 5819 | SYN || SYNACK | Send ACK (note 2) | ESTAB | 5820 +--------------------+-------------------------------------+-----------+ 5821 | ACK && B && C | Send ACK (note 3) | ESTAB | 5822 +--------------------+-------------------------------------+-----------+ 5823 | ACK && !(B && C) | Send RSTACK | ESTAB | 5824 +======================================================================+ 5825 Note 2: No more than two ACKs should be sent within any time 5826 period of length defined by the timer. Thus, one ACK must be sent 5827 every time the timer expires. In addition, one further ACK may be 5828 sent between timer expirations if the incoming message is a SYN or 5829 SYNACK. This additional ACK allows the adjacency protocol to reach 5830 synchronisation more quickly. 5832 Note 3: No more than one ACK should be sent within any time period 5833 of length defined by the timer. 5835 11.3 Partition Information State 5837 Each instance of a [switch controller � switch partition] pair 5838 will need to establish adjacency synchronisation independently. 5840 Part of the process of establishing synchronisation when using 5841 partition will be to establish the assignment of partition 5842 identifiers. Two scenarios are provided for: 5844 - A controller can request a specific partition identifier 5845 with the switch having the option to either accept or to 5846 reject the request. In this case the adjacency message 5847 will include Partition ID != 0. 5849 - The switch can assign partition identifiers to controllers 5850 based on its on pre-established mechanisms. In this case 5851 the adjacency message will include Partition ID = 0. 5853 The assignment is determined by the following behaviour: 5855 - An adjacency message from the controller with SYN || SYNACK 5856 && PTYPE is treated as a partition request 5858 - An adjacency message from the switch with SYNACK || ACK && 5859 PTYPE is treated as a partition assignment 5861 - An adjacency message from the switch with RSTACK && PTYPE 5862 is treated as partition unavailability. 5864 11.4 Loss of Synchronisation 5866 If after synchronisation is achieved, no valid GSMP messages are 5867 received in any period of time in excess of three times the value 5868 of the Timer field announced in the incoming adjacency protocol 5869 messages, loss of synchronisation may be declared. 5871 While re-establishing synchronisation with a controller, a switch 5872 should maintain its state, deferring the decision about resetting 5873 the state until after synchronisation is re-established. 5875 Once synchronisation is re-established the decision about 5876 resetting the state should be made on the following basis: 5878 - If PFLAG = 1, then a new adjacency has been established and 5879 the state should be reset 5881 - If PFLAG = 2, then adjacency has been re-established and 5882 the switch state should be retained. Verification that 5883 controller and switch state are the same is the 5884 responsibility of the controller. 5886 11.5 Multiple Controllers per switch partition 5888 Multiple switch controllers may jointly control a single switch 5889 partition. The controllers may control a switch partition either 5890 in a master/standby fashion or as part of multiple controllers 5891 providing load-sharing for the same partition. It is the 5892 responsibility of the controller to co-ordinate their interactions 5893 with the switch partition. In order to assist the controllers in 5894 tracking multiple controller adjacencies to a single switch 5895 partition, the Adjacency Update message is used to inform a 5896 controller that there are other controllers interacting the same 5897 partition. It should be noted that the GSMP will not co-ordinate 5898 cache synchronization information among controllers; i.e. the 5899 switch partition will service each command it receives in turn as 5900 if it were interacting with a single controller. Implementations 5901 without controller entity synchronisation are advised against 5902 using multiple controllers with a single switch partition. 5904 11.5.1 Multiple Controller Adjacency Process 5906 The first adjacency for a specific partition is determined by the 5907 procedures described in chapter Partition Information State. The 5908 next adjacencies to the partition are identified by a new 5909 partition request with same Partition id as the first one but with 5910 different Sender Name. Adjacency loss is defined in the section on 5911 the Loss of Synchronization (11.4). 5913 Example: 5915 A switch partition has never been used. When the first controller 5916 (A) achieves adjacency, an adjacency count will be initiated and 5917 (A) will get an Adjacency Update message about itself with Code 5918 field = 1. Since (A) receives an adjacency count of 1 this 5919 indicates that it only controller for that partition. 5921 When a second adjacency (B), using the same Partition ID, achieves 5922 adjacency, the adjacency counter will be increased by 1.Both (A) 5923 and (B) will receive an Adjacency Update message indicating 5924 adjacency count of 2 in the Code field. Since the count is greater 5925 than 1, this will indicate to both (A) and (B) that there is 5926 another controller interacting with the switch; identification of 5927 the other controller will not be provided by GSMP, but will be the 5928 responsibility of the controllers. . 5930 If (A) looses adjacency, the adjacency count will be decreased and 5931 an Adjacency Update message will be sent to (B) indicating 5932 adjacency count of 1 in the Code field. If (B) leaves as well, the 5933 partition is regarded as idle and the adjacency count may be 5934 reset. 5936 12. Failure Response Codes 5938 12.1 Description of Failure Response Messages 5940 A failure response message is formed by returning the request 5941 message that caused the failure with the Result field in the 5942 header indicating failure (Result = 4) and the Code field giving 5943 the failure code. The failure code specifies the reason for the 5944 switch being unable to satisfy the request message. 5946 If the switch issues a failure response in reply to a request 5947 message, no change should be made to the state of the switch as a 5948 result of the message causing the failure. (For request messages 5949 that contain multiple requests, such as the Delete Branches 5950 message, the failure response message will specify which requests 5951 were successful and which failed. The successful requests may 5952 result in changed state.) 5954 If the switch issues a failure response it must choose the most 5955 specific failure code according to the following precedence: 5957 - Invalid Message 5959 - General Message Failure 5961 - Specific Message Failure A failure response specified in the 5962 text defining the message type. 5964 - Connection Failures 5966 - Virtual Path Connection Failures 5968 - Multicast Failures 5970 - QoS Failures 5972 - General Failures 5974 If multiple failures match in any of the following categories, the 5975 one that is listed first should be returned. The following failure 5976 response messages and failure codes are defined: 5978 Invalid Message 5980 3: The specified request is not implemented on this switch. 5981 The Message Type field specifies a message that is not 5982 implemented on the switch or contains a value that is 5983 not defined in the version of the protocol running in 5984 this session of GSMP. 5986 4: One or more of the specified ports does not exist. 5987 At least one of the ports specified in the message is 5988 invalid. A port is invalid if it does not exist or if 5989 it has been removed from the switch. 5991 5: Invalid Port Session Number. 5992 The value given in the Port Session Number field does 5993 not match the current Port Session Number for the 5994 specified port. 5996 7: Invalid Partition ID 5997 The value given in the Partition ID field is not legal 5998 for this partition. 6000 General Message Failure 6002 10: The meaning of this failure is dependent upon the 6003 particular message type and is specified in the text 6004 defining the message. 6006 Specific Message Failure - A failure response that is only used by 6007 a specific message type 6009 - Failure responses messages used by the Label Range message 6011 40: Cannot support one or more requested label ranges. 6013 41: Cannot support disjoint label ranges. 6015 42: Specialized multipoint labels not supported. 6017 - Failure response messages used by the Set Transmit Data Rate 6018 function of the Port Management message 6020 43: The transmit data rate of this output port cannot be 6021 changed. 6023 44: Requested transmit data rate out of range for this output 6024 port. 6025 The transmit data rate of the requested output port 6026 can be changed, but the value of the Transmit Data 6027 Rate field is beyond the range of acceptable values. 6029 - Failure response message range reserved for the ARM extension 6030 128-159: These failure response codes will be interpreted 6031 according to definitions provided by the model 6032 description. 6034 Connection Failures 6036 11: The specified connection does not exist. 6037 An operation that expects a connection to be specified 6038 cannot locate the specified connection. A connection 6039 is specified by the input port and input label on 6040 which it arrives. An ATM virtual path connection is 6041 specified by the input port and input VPI on which it 6042 arrives. 6044 12: The specified branch does not exist. 6045 An operation that expects a branch of an existing 6046 connection to be specified cannot locate the specified 6047 branch. A branch of a connection is specified by the 6048 connection it belongs to and the output port and 6049 output label on which it departs. A branch of an ATM 6050 virtual path connection is specified by the virtual 6051 path connection it belongs to and the output port and 6052 output VPI on which it departs. 6054 13: One or more of the specified Input Labels is invalid. 6056 14: One or more of the specified Output Labels is invalid. 6058 15: Only point-to-point bi-directional connections may be 6059 established. 6060 The connection specified by the Input Port and Input 6061 Label fields already exists, and the bi-directional 6062 Flag in the Flags field is set. 6064 16: Invalid Service Selector field in a Connection Management 6065 message. 6066 The value of the Service Selector field is invalid. 6068 17: Insufficient resources for QoS Profile. 6069 The resources requested by the QoS Profile in the 6070 Service Selector field are not available. 6072 18: Insufficient Resources. 6073 Switch resources needed to establish a branch are not 6074 available. 6076 20: Reservation ID out of Range 6077 The numerical value of Reservation ID is greater than 6078 the value of Max Reservations (from the Switch 6079 Configuration message). 6081 21: Mismatched reservation ports 6082 The value of Input Port differs from the input port 6083 specified in the reservation or the value of Output 6084 Port differs from the output port specified in the 6085 reservation. 6087 22: Reservation ID in use 6088 The value of Reservation ID matches that of an extant 6089 Reservation. 6091 23: Non-existent reservation ID 6092 No reservation corresponding to Reservation ID exists. 6094 ATM Virtual Path Connections 6096 24: ATM virtual path switching is not supported on this input 6097 port. 6099 25: Point-to-multipoint ATM virtual path connections are not 6100 supported on either the requested input port or the 6101 requested output port. 6102 One or both of the requested input and output ports is 6103 unable to support point-to-multipoint ATM virtual path 6104 connections. 6106 26: Attempt to add a ATM virtual path connection branch to an 6107 existing virtual channel connection. 6108 It is invalid to mix branches switched as virtual 6109 channel connections with branches switched as ATM 6110 virtual path connections on the same point-to- 6111 multipoint connection. 6113 27: Attempt to add a virtual channel connection branch to an 6114 existing ATM virtual path connection. 6115 It is invalid to mix branches switched as virtual 6116 channel connections with branches switched as ATM 6117 virtual path connections on the same point-to- 6118 multipoint connection. 6120 28: ATM Virtual path switching is not supported on non-ATM 6121 ports. 6122 One or both of the requested input and output ports is 6123 not an ATM port. ATM virtual path switching is only 6124 supported on ATM ports. 6126 Multicast Failures 6128 29: A branch belonging to the specified point-to-multipoint 6129 connection is already established on the specified 6130 output port and the switch cannot support more than a 6131 single branch of any point-to-multipoint connection on 6132 the same output port. 6134 30: The limit on the maximum number of point-to-multipoint 6135 connections that the switch can support has been 6136 reached. 6138 31: The limit on the maximum number of branches that the 6139 specified point-to-multipoint connection can support 6140 has been reached. 6142 32: Cannot label each output branch of a point-to-multipoint 6143 tree with a different label. 6144 Some early designs, and some low-cost switch designs, 6145 require all output branches of a multicast connection 6146 to use the same value of Label. 6148 33: Only point-to-point bi-directional connections may be 6149 established. 6150 It is an error to attempt to add an additional output 6151 branch to an existing connection with the bi- 6152 directional flag set. 6154 34: Unable to assign the requested Label value to the 6155 requested branch on the specified point-to-multipoint 6156 connection. 6157 Although the requested Labels are valid, the switch is 6158 unable to support the request using the specified 6159 Label values for some reason not covered by the above 6160 failure responses. This message implies that a valid 6161 value of Label exists that the switch could support. 6162 For example, some switch designs restrict the number 6163 of distinct Label values available to a point-to- 6164 multipoint connection. (Most switch designs will not 6165 require this message.) 6167 35: General problem related to the manner in which point-to- 6168 multipoint is supported by the switch. 6169 Use this message if none of the more specific 6170 multicast failure messages apply. (Most switch designs 6171 will not require this message.) 6173 QoS Failures 6175 60-79: These failure response codes will be interpreted according 6176 to definitions provided by the model description. 6178 General Failures 6180 2: Invalid request message. 6181 There is an error in one of the fields of the message 6182 not covered by a more specific failure message. 6184 6: One or more of the specified ports is down. 6185 A port is down if its Port Status is Unavailable. 6186 Connection Management, Connection State, Port 6187 Management, and Configuration operations are permitted 6188 on a port that is Unavailable. Connection Activity and 6189 Statistics operations are not permitted on a port that 6190 is Unavailable and will generate this failure 6191 response. A Port Management message specifying a Take 6192 Down function on a port already in the Unavailable 6193 state will also generate this failure response. 6195 19: Out of resources. 6196 The switch has exhausted a resource not covered by a 6197 more specific failure message, for example, running 6198 out of memory. 6200 1: Unspecified reason not covered by other failure codes. 6201 The failure message of last resort. 6203 12.2 Summary of Failure Response Codes 6205 The following list gives a summary of the failure codes defined 6206 for failure response messages: 6208 1: Unspecified reason not covered by other failure codes. 6209 2: Invalid request message. 6210 3: The specified request is not implemented on this switch. 6211 4: One or more of the specified ports does not exist. 6212 5: Invalid Port Session Number. 6213 6: One or more of the specified ports is down. 6214 7: Invalid Partition ID. 6216 10: General message failure. (The meaning of this failure code 6217 depends upon the Message Type. It is defined within the 6218 description of any message that uses it.) 6219 11: The specified connection does not exist. 6220 12: The specified branch does not exist. 6221 13: One or more of the specified Input Labels is invalid. 6222 14: One or more of the specified Output Labels is invalid. 6223 15: Only point-to-point bi-directional connections may be 6224 established. 6225 16: Invalid service selector field in a connection management 6226 message. 6227 17: Insufficient resources for QoS profile. 6228 18: Insufficient resources. 6229 19: Out of resources (e.g. memory exhausted, etc.). 6230 20: Reservation ID out of Range 6231 21: Mismatched reservation ports 6232 22: Reservation ID in use 6233 23: Non-existent reservation ID 6234 24: Virtual path switching is not supported on this input 6235 port. 6236 25: Point-to-multipoint virtual path connections are not 6237 supported on either the requested input port or the 6238 requested output port. 6239 26: Attempt to add a virtual path connection branch to an 6240 existing virtual channel connection. 6241 27: Attempt to add a virtual channel connection branch to an 6242 existing virtual path connection. 6243 28: ATM Virtual Path switching is not supported on non-ATM 6244 ports. 6245 29: A branch belonging to the specified point-to-multipoint 6246 connection is already established on the specified 6247 output port and the switch cannot support more than a 6248 single branch of any point-to-multipoint connection on 6249 the same output port. 6250 30: The limit on the maximum number of point-to-multipoint 6251 connections that the switch can support has been 6252 reached. 6253 31: The limit on the maximum number of branches that the 6254 specified point-to-multipoint connection can support has 6255 been reached. 6256 32: Cannot label each output branch of a point-to-multipoint 6257 tree with a different label. 6258 33: Only point-to-point bi-directional connections may be 6259 established. 6260 34: Unable to assign the requested Label value to the 6261 requested branch on the specified point-to-multipoint 6262 connection. 6263 35: General problem related to the manner in which point-to- 6264 multipoint is supported by the switch. 6266 40: Cannot support one or more requested label ranges. 6267 41: Cannot support disjoint label ranges. 6268 42: Specialized multipoint labels not supported. 6269 43: The transmit cell rate of this output port cannot be 6270 changed. 6271 44: Requested transmit cell rate out of range for this output 6272 port. 6273 60-79: Reserved for QoS failures. 6274 128-159: Reserved for the ARM extensions. 6276 13. Security Considerations 6278 The security of GSMP's TCP/IP control channel has been addressed 6279 in [15]. Any potential remaining security considerations are not 6280 addressed in the current revision of this draft. 6282 Appendix A Summary of Messages 6284 Message Name Message Number Status 6286 Connection Management Messages 6287 Add Branch .......................16 6288 ATM Specific - VPC.............26 6289 Delete Tree.......................18 6290 Verify Tree.......................19 Obsoleted 6291 Delete All Input..................20 6292 Delete All Output.................21 6293 Delete Branches...................17 6294 Move Output Branch............... 22 6295 ATM Specific - VPC............27 6296 Move Input Branch.................23 6297 ATM Specifc - VPC............28 6299 Port Management Messages 6300 Port Management...................32 6301 Label Range.......................33 6303 State and Statistics Messages 6304 Connection Activity...............48 6305 Port Statistics...................49 6306 Connection Statistics.............50 6307 QoS Class Statistics..............51 Reserved 6308 Report Connection State...........52 6310 Configuration Messages 6311 Switch Configuration..............64 6312 Port Configuration................65 6313 All Ports Configuration...........66 6314 Service Configuration.............67 6316 Reservation Messages 6317 Reservation Request.............. 70 6318 Delete Reservation................71 6319 Delete All Reservations...........72 6321 Event Messages 6322 Port Up...........................80 6323 Port Down.........................81 6324 Invalid Label.....................82 6325 New Port..........................83 6326 Dead Port.........................84 6328 Abstract and Resource Model Extension Messages 6329 Reserved..........................200-249 6331 Adjacency Protocol................10 Required 6333 Appendix B Assigned Numbers 6335 The TCP port for establishing GSMP connections is 6068 6337 References 6339 [1] "B-ISDN ATM Layer Specification," International 6340 Telecommunication Union, ITU-T Recommendation I.361, Mar. 6341 1993. 6343 [2] "B-ISDN ATM Adaptation Layer (AAL) Specification," 6344 International Telecommunication Union, ITU-T 6345 Recommendation I.363, Mar. 1993. 6347 [3] IEEE/WG 1520, Adam, C; Lazar, A; Nanadikesan, M; "Proposal 6348 for Standaridizing the qGSMP protocol", P1520/TS/ATM-002, 6349 http://comet.columbia.edu/pin-atm/docs/P1520-TS-ATM- 6350 002R1.pdf, 19 Jan, 1999 6352 [4] Sjostrand, H., "Definitions of Managed Objects for the 6353 General Switch Management Protocol (GSMP)," Internet-Draft 6354 draft-ietf-gsmp-mib-00, September 1999. 6356 [5] Reynolds, J., and J. Postel, "Assigned Numbers," STD 2, 6357 RFC 1700, October 1994. 6359 [6] Newman, P, Edwards, W., Hinden, R., Hoffman, E. Ching 6360 Liaw, F., Lyon, T. and Minshall, G., "Ipsilon's General 6361 Switch Management Protocol Specification," Version 1.1, 6362 RFC 1987, August 1996. 6364 [7] Newman, P., Edwards, W., Hinden, R., Hoffman, E., Ching 6365 Liaw, F., Lyon, T. and Minshall, G., "Ipsilon's General 6366 Switch Management Protocol Specification," Version 2.0, 6367 RFC 2397, March 1998. 6369 [8] ATM Forum Technical Committee, "Traffic Management 6370 Specification Version 4.1," af-tm-0121.000, xxx 1999. 6372 [9] J. Wroclawski, "Specification of the Controlled-Load 6373 Network Element Service," RFC2211, Sep 1997. 6375 [10] B. Jamoussi, et. al. "Constraint-Based LSP Setup using 6376 LDP," Internet Draft draft-ietf-mpls-cr-ldp-03.txt, Feb 6377 1999. 6379 [11] ITU-T Recommendation I.233 Frame Mode Bearer Services 6380 1992. 6382 [12] ITU-T Recommendation Q.933, Integrated Services Digital 6383 Network (ISDN) Digital Subscriber Signalling System No. 1 6384 (DSS 1) � Signalling Specifications For Frame Mode 6385 Switched And Permanent Virtual Connection Control And 6386 Status Monitoring, 1995. 6388 [13] ITU-T Recommendation Q.922, Integrated Services Digital 6389 Network (ISDN) Data Link Layer Specification For Frame 6390 Mode Bearer Services, 1992 6392 [14] E. Rosen, et al, "MPLS Label Stack Encoding" Internet- 6393 Draft draft-ietf-mpls-label-encaps-07.txt, Sep 1999. 6395 [15] T. Worster, "GSMP Packet Encapsulations for ATM, Ethernet 6396 and TCP," Internet-Draft draft-ietf-gsmp-encaps-00, Jan 6397 2000. 6399 [16] A. Doria, et al, "GSMP Applicability" Internet Draft 6400 draft-ietf-gsmp-applicabiity-00, March 2000. 6402 [17] IANAifType - MIB DEFINITIONS, 6403 ftp://ftp.isi.edu/mib/ianaiftype.mib, February 2000. 6405 [18] ATM Forum Circuit Emulation Service Interoperability 6406 Specification, Version 2.0, af-vtoa-0078.000, January 6407 1997. 6409 [19] L. Andersson et al, "LDP Specification", work in progress, 6410 October 1999. 6412 Authors' Addresses 6414 Avri Doria 6415 Nokia Telecommunications 6416 5 Wayside Road 6417 Burlington MA 01803 6418 Phone: +1 781 993 4656 6419 avri.doria@nokia.com 6421 Fiffi Hellstrand 6422 Nortel Networks AB 6423 S:t Eriksgatan 115 A 6424 P.O. Box 6701 6425 SE-113 85 Stockholm Sweden 6426 fiffi@nortelnetworks.com 6428 Kenneth Sundell 6429 Nortel Networks AB 6430 S:t Eriksgatan 115 A 6431 P.O. Box 6701 6432 SE-113 85 Stockholm Sweden 6433 ksundell@nortelnetworks.com 6435 Tom Worster 6436 Ennovate Networks 6437 60 Codman Hill Rd 6438 Boxboro MA 01719 USA 6439 Tel +1 978-263-2002 6440 fsb@thefsb.org