idnits 2.17.1 draft-ietf-gsmp-03.txt: 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 6 longer pages, the longest (page 90) being 59 lines == It seems as if not all pages are separated by form feeds - found 0 form feeds but 121 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. ** 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 558 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 5239, 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 Summary: 6 errors (**), 0 flaws (~~), 10 warnings (==), 9 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 INTERNET DRAFT Tom Worster, Ennovate Networks 2 Network Working Group Avri Doria, Nokia 3 Standards Track Fiffi Hellstrand, Nortel Networks 4 Kenneth Sundell, Nortel Networks 5 Expires June 24th 2000 7 General Switch Management Protocol 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 Abstract 39 This memo provides the third draft of the standards track 40 specification of GSMP. It is a revision of draft-worster-gsmp-00 41 which itself was based on GSMP V2 [7]. 43 Table of Contents 45 1. Introduction ..................................................... 4 47 2. GSMP Packet Encapsulation ........................................ 7 49 3. Common Definitions and Procedures ................................ 8 50 3.1 GSMP Packet Format ........................................... 9 51 3.2 Failure Response Messages ................................... 12 53 4. Connection Management Messages .................................. 18 54 4.1 General Message Definitions ................................. 18 55 4.2 Add Branch Message .......................................... 27 56 4.3 Delete Tree Message ......................................... 29 57 4.4 Verify Tree Message ......................................... 29 58 4.5 Delete All Input Port Message ............................... 29 59 4.6 Delete All Output Port Message .............................. 30 60 4.7 Delete Branches Message ..................................... 31 61 4.8 Move Branch Message ......................................... 33 63 5. Port Management Messages ........................................ 37 64 5.1 Port Management Message ..................................... 37 65 5.2 Label Range Message ......................................... 42 67 6. State and Statistics Messages ................................... 49 68 6.1 Connection Activity Message ................................. 49 69 6.2 Statistics Messages ......................................... 52 70 6.2.1 Port Statistics Message ............................... 56 71 6.2.2 Connection Statistics Message ......................... 56 72 6.2.3 QoS Class Statistics Message .......................... 56 73 6.3 Report Connection State Message ............................. 56 75 7. Configuration Messages .......................................... 63 76 7.1 Switch Configuration Message ................................ 63 77 7.1.1 Configuration Message Processing ...................... 65 78 7.2 Port Configuration Message .................................. 65 79 7.2.1 PortType Specific Data ................................ 68 80 7.3 All Ports Configuration Message ............................. 75 81 7.4 Service Configuration Message ............................... 77 83 8. Event Messages .................................................. 82 84 8.1 Port Up Message ............................................. 83 85 8.2 Port Down Message ........................................... 83 86 8.3 Invalid Label Message ....................................... 84 87 8.4 New Port Message ............................................ 84 88 8.5 Dead Port Message ........................................... 84 89 8.6 Adjacency Update Message .................................... 84 91 9. Service Model Definition ........................................ 85 92 9.1 Overview .................................................... 85 93 9.2 Service Model Definitions ................................... 85 94 9.2.1 Original Specifications ............................... 86 95 9.2.2 Service Definition, Traffic Parameters, QoS 96 Parameters and Traffic Controls ....................... 86 97 9.2.3 Capability Sets ....................................... 87 98 9.3 Service Model Procedures .................................... 87 99 9.4 Service Definitions ......................................... 89 100 9.4.1 ATM Forum Service Categories .......................... 89 101 9.4.2 Integrated Services ................................... 94 102 9.4.3 MPLS CR-LDP ........................................... 94 103 9.4.4 Frame Relay ........................................... 95 104 9.4.5 Diff-Serv ............................................. 95 105 9.5 Format and encoding of the Traffic Parameters Block 106 in connection management messages .......................... 96 107 9.5.1 Traffic Parameters for ATM Forum Services ............. 96 108 9.5.2 Traffic Parameters for the Int-Serv Controlled Load 109 Service ............................................... 96 110 9.5.3 Traffic Parameters for the CRLDP Service .............. 97 111 9.5.4 Traffic Parameters for the Frame Relay Service ........ 98 112 9.6 Traffic Controls (TC) Flags ................................. 99 114 10. Reservation Management Messages ............................... 102 115 10.1 Reservation Request Message ............................... 102 116 10.2 Delete Reservation Message ................................ 104 117 10.3 Delete All Reservations Message ........................... 105 119 11. Adjacency Protocol ............................................ 106 120 11.1 Packet Format ............................................. 106 121 11.2 Procedure ................................................. 109 122 11.3 Partition Information State ............................... 112 123 11.4 Loss of Synchronisation ................................... 113 124 11.5 Multiple Controllers per switch partition ................. 113 125 11.5.1 Multiple Controller Adjacency Process ............... 114 127 12. Summary of Failure Response Codes ............................. 115 129 13. Summary of Message Set ........................................ 117 131 14. Security Considerations ....................................... 119 132 1. Introduction 134 The General Switch Management Protocol (GSMP), is a general 135 purpose protocol to control a label switch. GSMP allows a 136 controller to establish and release connections across the switch; 137 add and delete leaves on a multicast connection; manage switch 138 ports; request configuration information; and request statistics. 139 It also allows the switch to inform the controller of asynchronous 140 events such as a link going down. The GSMP protocol is asymmetric, 141 the controller being the master and the switch being the slave. 142 Multiple switches may be controlled by a single controller using 143 multiple instantiations of the protocol over separate control 144 connections. Also a switch may be controlled by more than one 145 controller by using the technique of partitioning. 147 A "physical" switch can be partitioned into several virtual 148 switches which are referred to as partitions. In this version of 149 GSMP switch partitioning is static and occurs prior to running 150 GSMP. The partitions of a physical switch are isolated from each 151 other by the implementation and the controller assumes that the 152 resources allocated to a partition are at all times available to 153 that partition. A partition appears to its controller as a label 154 switch. Throughout the rest of this document, the term switch (or 155 equivalently, label switch) is used to refer to either a physical, 156 unpartitioned switch or to a partition. The resources allocated to 157 a partition appear to the controller as if they were the actual 158 physical resources of the partition. For example if the bandwidth 159 of a port is divided among several partitions, each partition 160 would appear to the controller to have its own independent port. 162 GSMP controls a partitioned switch through the use of a partition 163 identifier which is carried in every GSMP message. Each partition 164 has a one-to-one control relationship with its own logical 165 controller entity (which in the remainder of the document is 166 referred to simply as a controller) and GSMP independently 167 maintains adjacency between each controller-partition pair. 169 GSMP may be transported in three ways: 171 - GSMP may run across an ATM link connecting the controller 172 to the switch, on a control connection (virtual channel) 173 established at initialisation. 175 - GSMP operation across an Ethernet link is specified. 177 - GSMP operation across an IP network is specified. 179 A label switch is a frame or cell switch that supports connection 180 oriented switching using the exact match forwarding algorithm 181 based on labels attached to incoming cells or frames. A switch is 182 assumed to contain multiple "ports". Each port is a combination of 183 one "input port" and one "output port". Some GSMP requests refer 184 to the port as a whole whereas other requests are specific to the 185 input port or the output port. Cells or labelled frames arrive at 186 the switch from an external communication link on incoming 187 labelled channels at an input port. Cells or labelled frames 188 depart from the switch to an external communication link on 189 labelled channels from an output port. 191 A switch may support multiple label types, however, each switch 192 port can support only one label type. The label type supported by 193 a given port is indicated by the switch to the controller in a 194 port configuration message. Connections may be established between 195 ports supporting different label types. Label types include ATM, 196 Frame Relay and MPLS Generic Labels. 198 A connection across a switch is formed by connecting an incoming 199 labelled channel to one or more outgoing labelled channels. 200 Connections are referenced by the input port on which they arrive 201 and the Labels values of their incoming labelled channel. 203 GSMP supports point-to-point and point-to-multipoint connections. 204 A multipoint-to-point connection is specified by establishing 205 multiple point-to-point connections each of them specifying the 206 same output branch. A multipoint-to-multipoint connection is 207 specified by establishing multiple point-to-multipoint trees each 208 of them specifying the same output branches. 210 In general a connection is established with a certain quality of 211 service (QoS). This version of GSMP includes a default QoS 212 Configuration and additionally allows the negotiation of 213 alternative, optional QoS configurations. The default QoS 214 Configuration includes three QoS Models: a Service Model, a Simple 215 Abstract Model (strict priorities) and a QoS Profile Model. 217 The Service Model is based on service definitions found external 218 to GSMP such as in Integrated Services or ATM Service Categories. 219 Each connection is assigned a specific service that defines the 220 handling of the connection by the switch. Additionally, traffic 221 parameters and traffic controls may be assigned to the connection 222 depending on the assigned service. 224 In the Simple Abstract Model a connection is assigned a priority 225 when it is established. It may be assumed that for connections 226 that share the same output port, an cell or frame on a connection 227 with a higher priority is much more likely to exit the switch 228 before a cell or frame on a connection with a lower priority if 229 they are both in the switch at the same time. The number of 230 priorities that each port of the switch supports may be obtained 231 from the port configuration message. 233 The QoS Profile Model provides a simple mechanism that allows 234 connection to be assigned QoS semantics defined external to GSMP. 236 All GSMP switches must support the default QoS Configuration. A 237 GSMP switch may additionally support one or more alternative QoS 238 Configurations. The QoS models of alternative QoS configurations 239 are defined outside the GSMP specification. GSMP includes a 240 negotiation mechanism that allows a controller to select form the 241 QoS configurations that a switch supports. 243 GSMP contains an adjacency protocol. The adjacency protocol is 244 used to synchronise state across the link, to negotiate which 245 version of the GSMP protocol to use, to discover the identity of 246 the entity at the other end of a link, and to detect when it 247 changes. 249 2. GSMP Packet Encapsulation 251 GSMP packets may be transported via any suitable medium. GSMP 252 packet encapsulations for ATM, Ethernet and TCP are specified in 253 [15]. Additional encapsulations for GSMP packets may be defined in 254 separate documents. 256 3. Common Definitions and Procedures 258 GSMP is a master-slave protocol. The controller issues request 259 messages to the switch. Each request message indicates whether a 260 response is required from the switch and contains a transaction 261 identifier to enable the response to be associated with the 262 request. The switch replies with a response message indicating 263 either a successful result or a failure. There are five classes of 264 GSMP request-response message: Connection Management, Port 265 Management, State and Statistics, Configuration, and Quality of 266 Service. The switch may also generate asynchronous Event messages 267 to inform the controller of asynchronous events. The controller 268 does not acknowledge event messages. There is also an adjacency 269 protocol message used to establish synchronisation across the link 270 and maintain a handshake. 272 For the request-response messages, each message type has a format 273 for the request message and a format for the success response. 274 Unless otherwise specified a failure response message is identical 275 to the request message that caused the failure, with the Code 276 field indicating the nature of the failure. Event messages have 277 only a single format defined as they are not acknowledged by the 278 controller. 280 Switch ports are described by a 32-bit port number. The switch 281 assigns port numbers and it may typically choose to structure the 282 32 bits into subfields that have meaning to the physical structure 283 of the switch (e.g. slot, port). In general, a port in the same 284 physical location on the switch will always have the same port 285 number, even across power cycles. The internal structure of the 286 port number is opaque to the GSMP protocol. However, for the 287 purposes of network management such as logging, port naming, and 288 graphical representation, a switch may declare the physical 289 location (physical slot and port) of each port. Alternatively, 290 this information may be obtained by looking up the product 291 identity in a database. 293 Each switch port also maintains a port session number assigned by 294 the switch. A message, with an incorrect port session number must 295 be rejected. This allows the controller to detect a link failure 296 and to keep state synchronised. 298 Except for the adjacency protocol message, no GSMP messages may be 299 sent across the link until the adjacency protocol has achieved 300 synchronisation, and all GSMP messages received on a link that 301 does not currently have state synchronisation must be discarded. 303 3.1 GSMP Packet Format 305 All GSMP messages, except the adjacency protocol message, have the 306 following format: 308 0 1 2 3 309 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 310 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 311 | Version | Message Type | Result | Code | 312 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 313 | Partition ID | Transaction Identifier | 314 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 315 | SubMessage Number | Length | 316 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 317 | | 318 ~ Message Body ~ 319 | | 320 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 322 (The convention in the documentation of Internet Protocols [5] is 323 to express numbers in decimal. Numbers in hexadecimal format are 324 specified by prefacing them with the characters "0x". Numbers in 325 binary format are specified by prefacing them with the characters 326 "0b". Data is pictured in "big-endian" order. That is, fields are 327 described left to right, with the most significant octet on the 328 left and the least significant octet on the right. Whenever a 329 diagram shows a group of octets, the order of transmission of 330 those octets is the normal order in which they are read in 331 English. Whenever an octet represents a numeric quantity the left 332 most bit in the diagram is the high order or most significant bit. 333 That is, the bit labelled 0 is the most significant bit. 334 Similarly, whenever a multi-octet field represents a numeric 335 quantity the left most bit of the whole field is the most 336 significant bit. When a multi-octet quantity is transmitted, the 337 most significant octet is transmitted first. This is the same 338 coding convention as is used in the ATM layer [1] and AAL-5 [2].) 340 Version The version number of the GSMP protocol being used in 341 this session. It should be set by the sender of the 342 message to the GSMP protocol version negotiated by the 343 adjacency protocol. 345 Message Type 346 The GSMP message type. GSMP messages fall into seven 347 classes: Connection Management, Port Management, State 348 and Statistics, Configuration, Quality of Service, 349 Events and messages belonging to an Abstract or Resource 350 Model (ARM) extension. Each class has a number of 351 different message types. In addition, one Message Type 352 is allocated to the adjacency protocol. 354 Result 355 Field in a Connection Management request message, a Port 356 Management request message, or a Quality of Service 357 request message is used to indicate whether a response 358 is required to the request message if the outcome is 359 successful. A value of "NoSuccessAck" indicates that the 360 request message does not expect a response if the 361 outcome is successful, and a value of "AckAll" indicates 362 that a response is expected if the outcome is 363 successful. In both cases a failure response must be 364 generated if the request fails. For Sate and Statistics, 365 and Configuration request messages, a value of 366 "NoSuccessAck" in the request message is ignored and the 367 request message is handled as if the field were set to 368 "AckAll". (This facility was added to reduce the control 369 traffic in the case where the controller periodically 370 checks that the state in the switch is correct. If the 371 controller does not use this capability, all request 372 messages should be sent with a value of "AckAll.") 374 In a response message the result field can have three 375 values: "Success," "More," and "Failure". The "Success" 376 and "More" results both indicate a success response. All 377 messages that belong to the same success response will 378 have the same Transaction Identifier. The "Success" 379 result indicates a success response that may be 380 contained in a single message or the final message of a 381 success response spanning multiple messages. 383 "More" in the result indicates that the message, either 384 request or repsonse, exceeds the maximum transmission 385 unit of the data link and that one or more further 386 messages will be sent to complete the success response. 388 ReturnReceipt is a results field used in Events to 389 indicate that an acknowledgement is required for the 390 message. The default for Events Messages is that the 391 controller will not acknowledge Events. In the case 392 where a switch requries acknowledgement, it will set the 393 EventAck flag in the header of the Event Message. 395 The encoding of the result field is: 397 NoSuccessAck: Result = 1 398 AckAll: Result = 2 399 Success: Result = 3 400 Failure: Result = 4 401 More: Result = 5 402 ReturnReceipt Result = 6 404 The Result field is not used in an adjacency protocol 405 message. 407 Code 408 Field gives further information concerning the result in 409 a response message. It is mostly used to pass an error 410 code in a failure response but can also be used to give 411 further information in a success response message or an 412 event message. In a request message the code field is 413 not used and is set to zero. In an adjacency protocol 414 message the Code field is used to determine the function 415 of the message. 417 Partition ID 418 Field used to associate the command with a specific 419 switch partition. The format of the Partition ID is not 420 defined in GSMP. If desired, the Partition ID can be 421 divided into multiple sub-identifiers within a single 422 partition. For example: the Partition ID could be 423 subdivided into a 6 bit partition number and a 2 bit 424 sub-identifier which would allow a switch to support 64 425 partitions with 4 available IDs per partition. 427 Transaction Identifier 428 Used to associate a request message with its response 429 message. For request messages the controller may select 430 any transaction identifier. For response messages the 431 transaction identifier is set to the value of the 432 transaction identifier from the message to which it is a 433 response. For event messages the transaction identifier 434 should be set to zero. The Transaction Identifier is not 435 used, and the field is not present, in the adjacency 436 protocol. 438 SubMessage Number 439 When a message is segmented because it exceeds the MTU 440 of the link layer, each segment will include a 441 submessage number to indicate its position. All messages 442 in a segmented message, except for the last segment, 443 will also have the More bit set. 445 Length 446 Message length including header. 448 The following fields are frequently found in GSMP messages. They 449 are defined here to avoid repetition. 451 Port 452 Gives the port number of the switch port to which the 453 message applies. 455 Port Session Number 456 Each switch port maintains a Port Session Number 457 assigned by the switch. The port session number of a 458 port remains unchanged while the port is continuously in 459 the Available state and the link status is continuously 460 Up. When a port returns to the Available state after it 461 has been Unavailable or in any of the Loopback states, 462 or when the line status returns to the Up state after it 463 has been Down or in Test, or after a power cycle, a new 464 Port Session Number must be generated. Port session 465 numbers should be assigned using some form of random 466 number. 468 If the Port Session Number in a request message does not 469 match the current Port Session Number for the specified 470 port, a failure response message must be returned with 471 the Code field indicating, "Invalid port session 472 number." The current port session number for a port may 473 be obtained using a Port Configuration or an All Ports 474 Configuration message. 476 Any field in a GSMP message that is unused or defined as 477 "reserved" must be set to zero by the sender and ignored by the 478 receiver. 480 It is not an error for a GSMP message to contain additional data 481 after the end of the Message Body. This is to support development 482 and experimental purposes. However, the maximum transmission unit 483 of the GSMP message, as defined by the data link layer 484 encapsulation, must not be exceeded. 486 A success response message must not be sent until the requested 487 operation has been successfully completed. 489 3.2 Failure Response Messages 491 [Editor's note: this section will be updated after the Feb 2 492 editing session. it is all out of whack right now. personally i 493 think it ought to go to the end of the document.] 495 A failure response message is formed by returning the request 496 message that caused the failure with the Result field in the 497 header indicating failure (Result = 4) and the Code field giving 498 the failure code. The failure code specifies the reason for the 499 switch being unable to satisfy the request message. 501 If the switch issues a failure response in reply to a request 502 message, no change should be made to the state of the switch as a 503 result of the message causing the failure. (For request messages 504 that contain multiple requests, such as the Delete Branches 505 message, the 507 failure response message will specify which requests were 508 successful and which failed. The successful requests may result in 509 changed state.) 511 If the switch issues a failure response it must choose the most 512 specific failure code according to the following precedence: 514 Invalid Message 516 Failure specific to the particular message type (failure code 517 16). (The meaning of this failure is dependent upon the 518 particular message type and is specified in the text 519 defining the message.) 521 A failure response specified in the text defining the message 522 type. 524 Connection Failures 526 Virtual Path Connection Failures 528 Multicast Failures 530 QoS Failures (QoS failures are specified in Section 9.7.) 532 General Failures 534 If multiple failures match in any of the following categories, the 535 one that is listed first should be returned. The following failure 536 response messages and failure codes are defined: 538 Invalid Message 540 3: The specified request is not implemented on this switch. 541 The Message Type field specifies a message that is not 542 implemented on the switch or contains a value that is 543 not defined in the version of the protocol running in 544 this session of GSMP. 546 5: One or more of the specified ports does not exist. 547 At least one of the ports specified in the message is 548 invalid. A port is invalid if it does not exist or if 549 it has been removed from the switch. 551 4: Invalid Port Session Number. 552 The value given in the Port Session Number field does 553 not match the current Port Session Number for the 554 specified port. 556 N1: Invalid Partition ID 557 The value given in the Partition ID field is not legal 558 for this partition. 560 Connection Failures 562 8: The specified connection does not exist. 563 An operation that expects a connection to be specified 564 cannot locate the specified connection. A connection 565 is specified by the input port and input label on 566 which it arrives. An ATM virtual path connection is 567 specified by the input port and input VPI on which it 568 arrives. 570 9: The specified branch does not exist. 571 An operation that expects a branch of an existing 572 connection to be specified cannot locate the specified 573 branch. A branch of a connection is specified by the 574 connection it belongs to and the output port and 575 output label on which it departs. A branch of an ATM 576 virtual path connection is specified by the virtual 577 path connection it belongs to and the output port and 578 output VPI on which it departs. 580 18: One or more of the specified input VPIs is invalid. 582 19: One or more of the specified Input Labels is invalid. 584 20: One or more of the specified output VPIs is invalid. 586 21: One or more of the specified Output Labels is invalid. 588 22: Invalid Service Selector field in a Connection Management 589 message. 590 The value of the Service Selector field is invalid. 592 23: Insufficient resources for QoS Profile. 593 The resources requested by the QoS Profile in the 594 Service Selector field are not available. 596 ATM Virtual Path Connections 598 24: ATM virtual path switching is not supported on this input 599 port. 601 25: Point-to-multipoint ATM virtual path connections are not 602 supported on either the requested input port or the 603 requested output port. 604 One or both of the requested input and output ports is 605 unable to support point-to-multipoint ATM virtual path 606 connections. 608 26: Attempt to add a ATM virtual path connection branch to an 609 existing virtual channel connection. 610 It is invalid to mix branches switched as virtual 611 channel connections with branches switched as ATM 612 virtual path connections on the same point-to- 613 multipoint connection. 615 27: Attempt to add a virtual channel connection branch to an 616 existing ATM virtual path connection. 617 It is invalid to mix branches switched as virtual 618 channel connections with branches switched as ATM 619 virtual path connections on the same point-to- 620 multipoint connection. 622 XX: ATM Virtual path switching is not supported on non-ATM 623 ports. 624 One or both of the requested input and output ports is 625 not an ATM port. ATM virtual path switching is only 626 supported on ATM ports. 628 Multicast Failures 630 10: A branch belonging to the specified point-to-multipoint 631 connection is already established on the specified 632 output port and the switch cannot support more than a 633 single branch of any point-to-multipoint connection on 634 the same output port. 636 11: The limit on the maximum number of point-to-multipoint 637 connections that the switch can support has been 638 reached. 640 12: The limit on the maximum number of branches that the 641 specified point-to-multipoint connection can support 642 has been reached. 644 17: Cannot label each output branch of a point-to-multipoint 645 tree with a different label. 646 Some early designs, and some low-cost switch designs, 647 require all output branches of a multicast connection 648 to use the same value of Label. 650 28: Only point-to-point bi-directional connections may be 651 established. 652 It is an error to attempt to add an additional output 653 branch to an existing connection with the bi- 654 directional flag set. 656 13: Unable to assign the requested Label value to the 657 requested branch on the specified point-to-multipoint 658 connection. 659 Although the requested Labels are valid, the switch is 660 unable to support the request using the specified 661 Label values for some reason not covered by the above 662 failure responses. This message implies that a valid 663 value of Label exists that the switch could support. 664 For example, some switch designs restrict the number 665 of distinct Label values available to a point-to- 666 multipoint connection. (Most switch designs will not 667 require this message.) 669 14: General problem related to the manner in which point-to- 670 multipoint is supported by the switch. 671 Use this message if none of the more specific 672 multicast failure messages apply. (Most switch designs 673 will not require this message.) 675 General Failures 677 2: Invalid request message. 678 There is an error in one of the fields of the message 679 not covered by a more specific failure message. 681 6: One or more of the specified ports is down. 682 A port is down if its Port Status is Unavailable. 683 Connection Management, Connection State, Port 684 Management, and Configuration operations are permitted 685 on a port that is Unavailable. Connection Activity and 686 Statistics operations are not permitted on a port that 687 is Unavailable and will generate this failure 688 response. A Port Management message specifying a Take 689 Down function on a port already in the Unavailable 690 state will also generate this failure response. 692 15: Out of resources. 693 The switch has exhausted a resource not covered by a 694 more specific failure message, for example, running 695 out of memory. 697 1: Unspecified reason not covered by other failure codes. 698 The failure message of last resort. 700 The following failure response messages are only used by the Label 701 Range message. [Must come back and revise this --ed] 703 29: Cannot support requested label range. 705 The following failure response messages are only used by the Set 706 Transmit Data Rate function of the Port Management 707 message. 709 30: The transmit data rate of this output port cannot be 710 changed. 712 31: Requested transmit data rate out of range for this output 713 port. 715 The following failure response message range is reserved for the 716 ARM extension: 718 128-159. These failure response codes will be interpreted 719 according to definitions provided by the model 720 description. 722 4. Connection Management Messages 724 4.1 General Message Definitions 726 Connection management messages are used by the controller to 727 establish, delete, modify and verify connections across the 728 switch. The Add Branch, Delete Tree, and Delete All connection 729 management messages have the following format for both request and 730 response messages: 732 0 1 2 3 733 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 734 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 735 | Version | Message Type | Result | Code | 736 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 737 | Partition ID | Transaction Identifier | 738 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 739 | Port Session Number | 740 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 741 | Reservation ID | 742 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 743 | Input Port | 744 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 745 |M|B|x|E| Input Label | 746 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 747 ** ~x x x|E| Extended Input Label ~ 748 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 749 | Service Selector | 750 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 751 | Output Port | 752 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 753 |QMS|x|E| Output Label | 754 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 755 ** ~x x x|E| Extended Output Label ~ 756 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 757 | Service Selector | 758 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 759 Under certain conditions (see below) the Add Branch message has 760 additional, variable length data block appended to the above 761 message: 763 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 764 | TC Flags | Reserved | 765 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 766 | | 767 ~ Traffic Parameters Block ~ 768 | | 769 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 771 ** Note: There can be zero or more 32 bit words containing 772 Extended Labels (like those marked **) following an Input 773 or Output Label field. A 32 bit word containing an Extended 774 Label follows the previous label field if and only if the E 775 Flag immediately preceding the previous label is set. 777 Input Port 778 Identifies a switch input port. 780 Flags 782 M: Multicast 783 Multicast flag is used as a hint for point-to- 784 multipoint connections in the Add Branch message. It 785 is not used in any other connection management 786 messages and in these messages it should be set to 787 zero. If set, it indicates that the connection is very 788 likely to be a point-to-multipoint connection. If 789 zero, it indicates that this connection is very likely 790 to be a point-to-point connection or is unknown. 792 The Multicast flag is only used in the Add Branch 793 message when establishing the first branch of a new 794 connection. It is not required to be set when 795 establishing subsequent branches of a point-to- 796 multipoint connection and on such connections it 797 should be ignored by the receiver. (On receipt of the 798 second and subsequent Add Branch messages the receiver 799 knows that this is a point-to-multipoint connection.) 800 If it is known that this is the first branch of a 801 point-to-multipoint connection this flag should be 802 set. If it is unknown, or if it is known that the 803 connection is point-to-point this flag should be zero. 804 The use of this flag is not mandatory. It may be 805 ignored by the switch. If unused the flag should be 806 set to zero. Some switches use a different data 807 structure for point-to-multipoint connections than for 808 point-to-point connections. This flag avoids the 809 switch setting up a point-to-point structure for the 810 first branch of a point-to-multipoint connection which 811 must immediately be deleted and reconfigured as point- 812 to-multipoint when the second branch is established. 814 QMS: QoS Model Selector 815 The QoS Model Selector is used to specify a QoS Model 816 for connection. The value of QMS indicates the value in 817 the Service Selector should be interpreted as a 818 priority, a QoS profile or a service specification as 819 shown: 821 QMS QoS Model Service Selector 822 --- --------- ---------------- 823 00 Simple Abstract Model Priority 824 01 QoS Profile Model QoS Profile 825 10 Service Model Service Specification 826 11 Optional ARM ARM Specification 828 B: Bi-directional 829 The Bi-directional flag applies only to the Add Branch 830 message. In all other Connection Management messages it 831 is not used. It may only be used when establishing a 832 point- to-point connection. The Bi-directional flag in 833 an Add Branch message, if set, requests that two 834 unidirectional connections be established, one in the 835 forward direction, and one in the reverse direction. It 836 is equivalent to two Add Branch messages, one specifying 837 the forward direction, and one specifying the reverse 838 direction. The forward direction uses the values of 839 Input Port, Input Label, Output Port and Output Label as 840 specified in the Add Branch message. The reverse 841 direction is derived by exchanging the values specified 842 in the Input Port and Input Label fields, with those of 843 the Output Port and Output Label fields respectively. 844 Thus, a connection in the reverse direction arrives at 845 the input port specified by the Output Port field, on 846 the label specified by the Output Label field. It 847 departs from the output port specified by the Input Port 848 field, on the label specified by the Input Label field. 850 The Bi-directional flag is simply a convenience to 851 establish two unidirectional connections in opposite 852 directions between the same two ports, with identical 853 Labels, using a single Add Branch message. In all future 854 messages the two unidirectional connections must be 855 handled separately. There is no bi-directional delete 856 message. However, a single Delete Branches message with 857 two Delete Branch Elements, one for the forward 858 connection and one for the reverse, may be used. 860 E: Extension Label 861 The Extension Label Flag is used to extend the adjacent 862 label field by inserting, after the adjacent label, an 863 additional 32 bit word into the message. A 32 bit word 864 formatted according to the line marked ** in the message 865 diagram follows the adjacent label field if and only if 866 the E Flag is set. 868 x: Unused 870 Reservation ID 871 Identifies the reservation that must be deployed for the 872 branch being added. Reservations are established using 873 reservation management messages (see Chapter 10). A 874 value of zero indicates that no Reservation is being 875 deployed for the branch. If a reservation with a 876 corresponding Reservation ID exists then the reserved 878 resources must be applied to the branch. If the 879 numerical value of Reservation ID is greater than the 880 value of Max Reservations (from the Switch Configuration 881 message), a failure response is returned indicating 882 "Reservation ID out of Range." If the value of Input 883 Port differs from the input port specified in the 884 reservation or if the value of Output Port differs from 885 the output port specified in the reservation, a failure 886 response must be returned indicating "Mismatched 887 reservation ports." If no reservation corresponding to 888 Reservation ID exists, a failure response must be 889 returned indicating "Non-existent reservation." 890 If a valid Reservation ID is specified and the Service 891 Model is used (i.e. QMS=0b10) then the Traffic 892 Parameters Block may be omitted from the Add Branch 893 message indicating that the Traffic Parameters specified 894 in the corresponding Reservation Request message are 895 implied. 897 Input Label 898 Identifies an incoming labelled channel arriving at the 899 switch input port indicated by the Input Port field. The 900 value in the Input Label field must be interpreted 901 according to the Label Type attribute of the switch 902 input port indicated by the Input Port field. 904 Output Port 905 Identifies a switch output port. 907 Output Label 908 Identifies an outgoing labelled channel departing at the 909 switch output port indicated by the Output Port field. 910 The value in the Output Label field must be interpreted 911 according to the Label Type attribute of the switch 912 input port indicated by the Output Port field 914 Service Selector 915 In the default QoS configuration, this field can contain 916 either a Priority, a QoS Profile Identifier, or a 917 Service Specification. When using an alternative QoS 918 configuration, the format and semantics of data within 919 the field are defined outside of GSMP. 921 In the default QoS configuration, if the QoS Model 922 Selector is set to 0b00, the Service Selector field 923 contains a Priority. If the QoS Model Selector is set to 924 0b01, the Service Selector field contains a QoS Profile. 925 If the QoS Model Selector is set to 0b10, the Service 926 Selector field contains a Service Specification. If the 927 QoS Model Selector is set to 0b11, the Service Selector 928 field contains a service indicator which has its meaning 929 defined by the optional ARM being used as indicated in 930 the MType field of the configuration message. The 931 Service Selector field is only used in the Add Branch 932 and Move Branch messages. 934 Priority specifies the priority of the connection for 935 Add Branch and Move Branch messages that choose not to 936 use a QoS profile, or a service specification. The 937 highest priority is numbered zero and the lowest 938 priority is numbered "Q-1" where "Q" is the number of 939 priorities that the output port can support. The ability 940 to offer different qualities of service to different 941 connections based upon their priority is assumed to be a 942 property of the output port of the switch. It is assumed 943 that for connections that share the same output port, a 944 cell or frame on a connection with a higher priority is 945 much more likely to exit the switch before a cell or 946 frame on a connection with a lower priority, if they are 947 both in the switch at the same time. The number of 948 priorities that each output port can support is given in 949 the Port Configuration message. In order to maintain 950 backward compatibility with earlier versions of GSMP, 951 the Priority octets will occupy the 2 right-most octets 952 of the service selector. 954 A QoS Profile Identifier is an opaque 16-bit value. It 955 is used to identify a QoS profile in the switch which 956 specifies the Quality of Service required by the 957 connection. QoS profiles are established by a mechanism 958 external to GSMP. 960 A Service Specification is an alternative method of 961 communicating the QoS requirements of a connection. The 962 Service Specification is defined in Chapter 9. 964 TC Flags TC (Traffic Control) Flags are used in Add Branch 965 messages for connections using the Service Model (i.e. 966 when QMS=0b10). The TC Flags field is defined in Section 967 9.6. 969 Traffic Parameters Block 970 This variable length field is used in Add Branch 971 messages for connections using the Service Model (i.e. 972 when QMS=0b10). Traffic Parameters Block is defined in 973 Section 9.5. The Traffic Parameters Block may be omitted 974 if a valid, non-zero Reservation ID is specified, in 975 which case the Traffic Paramaters of the corresponding 976 Reservation Request message are implied. 978 For all connection management messages, except the Delete Branches 979 message, the success response message is a copy of the request 980 message returned with the Result field indicating success and the 981 Number of Branches field indicating the number of branches on the 982 connection after completion of the operation. The Code field is 983 not used in a connection management success response message. 985 The failure response message is a copy of the request message 986 returned with a Result field indicating failure and the Number of 987 Branches field indicating the number of branches on the 988 connection. 990 Fundamentally, no distinction is made between point-to-point and 991 point-to-multipoint connections. By default, the first Add Branch 992 message for a particular Input Port and Input Label will establish 993 a point-to-point connection. The second Add Branch message with 994 the same Input Port and Input Label fields will convert the 995 connection to a point-to-multipoint connection with two branches. 996 However, to avoid possible inefficiency with some switch designs, 997 the Multicast Flag is provided. If the controller knows that a new 998 connection is point-to-multipoint when establishing the first 999 branch, it may indicate this in the Multicast Flag. Subsequent Add 1000 Branch messages with the same Input Port and Input Label fields 1001 will add further branches to the point-to-multipoint connection. 1002 Use of the Delete Branch message on a point-to-multipoint 1003 connection with two branches will result in a point-to-point 1004 connection. However, the switch may structure this connection as a 1005 point-to-multipoint connection with a single output branch if it 1006 chooses. (For some switch designs this structure may be more 1007 convenient.) Use of the Delete Branch message on a point-to-point 1008 connection will delete the point-to-point connection. There is no 1009 concept of a connection with zero output branches. All connections 1010 are unidirectional, one input labelled channel to one or more 1011 output labelled channels. 1013 GSMP supports point-to-point and point-to-multipoint connections. 1014 A multipoint-to-point connection is specified by establishing 1015 multiple point-to-point connections each of them specifying the 1016 same output branch. (An output branch is specified by an output 1017 port and output label.) 1019 Label stacking is a technique used in MPLS that allows 1020 hierarchical labelling. MPLS label stacking is similar to but 1021 subtly different from the VPI/VCI hierarchy of labels in ATM. ... 1022 [Must add blah --Ed] 1023 The connection management messages may be issued regardless of the 1024 Port Status of the switch port. Connections may be established or 1025 deleted when a switch port is in the Available, Unavailable, or 1026 any of the Loopback states. However, all connection state on an 1027 input port will be deleted when the port returns to the Available 1028 state from any other state, i.e. when a Port Management message is 1029 received for that port with the Function field indicating either 1030 Bring Up, or Reset Input Port. 1032 ATM Labels 1034 If a port's attribute PortType=ATM then that port's labels 1035 must be interpreted as ATM Labels as shown: 1037 0 1 2 3 1038 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 1039 + - - -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1040 | | VPI | VCI | 1041 + - - -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1043 ATM ports do not support Extension Labels so the VPI and 1044 VCI values always occupy the 28 bits following the flags in 1045 a connection management message. For a virtual path 1046 connection (switched as a single virtual path connection) 1047 or a virtual path (switched as one or more virtual channel 1048 connections within the virtual path) the VCI field is not 1049 used. 1051 ATM distinguishes between virtual path connections and 1052 virtual channel connections. The connection management 1053 messages apply both to virtual channel connections and 1054 virtual path connections. The Add Branch and Move Branch 1055 connection management messages have two Message Types. One 1056 Message Type indicates that a virtual channel connection is 1057 required, and the other Message Type indicates that a 1058 virtual path connection is required. The Delete Branches, 1059 Delete Tree, and Delete All connection management messages 1060 have only a single Message Type because they do not need to 1061 distinguish between virtual channel connections and virtual 1062 path connections. For virtual path connections, neither 1063 Input VCI fields nor Output VCI fields are required. They 1064 should be set to zero by the sender and ignored by the 1065 receiver. Virtual channel branches may not be added to an 1066 existing virtual path connection. Conversely, virtual path 1067 branches may not be added to an existing virtual channel 1068 connection. In the Port Configuration message each switch 1069 input port may declare whether it is capable of supporting 1070 virtual path switching (i.e. accepting connection 1071 management messages requesting virtual path connections). 1073 Frame Relay Labels 1075 If a port's attribute PortType=FR then that port's labels 1076 must be interpreted as Frame Relay Labels as shown: 1078 0 1 2 3 1079 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 1080 +- - - -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1081 | |Resv.|Len| DLCI | 1082 +- - - -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1084 The Len field specifies the number of bits of the DLCI. The 1085 following values are supported: 1087 Len DLCI bits 1088 0 10 1089 1 17 1090 2 23 1092 DLCI is the binary value of the Frame Relay Label. The 1093 significant number of bits (10, 17, or 23) of the label 1094 value are to be encoded into the Data Link Connection 1095 Identifier (DLCI) field when part of the Frame Relay data 1096 link header [13]. 1098 Frame relay ports do not support Extension Labels so the 1099 Len and DLCI values should be right justified with the 1100 Resv. bits set to zero in the 28 bits Label field following 1101 the flags in a connection management message. 1103 MPLS Generic Labels 1105 If a port's attribute PortType=MPLS then that port's labels 1106 are for use on links for which label values are independent 1107 of the underlying link technology. Example of such links 1108 are PPP and Ethernet. On such links the labels are carried 1109 in MPLS label stacks [14]. The labels for this PortType 1110 must be interpreted as MPLS labels as shown: 1112 0 1 2 3 1113 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 1114 + - - - - - - - - - - -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1115 | | MPLS Label | 1116 + - - - - - - - - - - -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1117 MPLS Label 1119 This is a 20-bit label value as specified in [14] 1120 represented as a 20-bit number in a 4 byte field. 1122 4.2 Add Branch Message 1124 The Add Branch message is a connection management message used to 1125 establish a connection or to add an additional branch to an 1126 existing connection. It may also be used to check the connection 1127 state stored in the switch. The connection is specified by the 1128 Input Port and Input Label fields. The output branch is specified 1129 by the Output Port and Output Label fields. The quality of service 1130 requirements of the connection are specified by the QoS Model 1131 Selector and Service Selector fields. To request a connection the 1132 Add Branch message is: 1134 Message Type = 16 1136 If the connection specified by the Input Port and Input Label 1137 fields does not already exist, it must be established with the 1138 single output branch specified in the request message. If the Bi- 1139 directional Flag in the Flags field is set, the reverse connection 1140 must also be established. The output branch should have the QoS 1141 attributes specified by the Class of Service field. 1143 If the connection specified by the Input Port and Input Label 1144 fields already exists, but the specified output branch does not, 1145 the new output branch must be added. The new output branch should 1146 have the QoS attributes specified by the Class of Service field. 1148 If the connection specified by the Input Port and Input Label 1149 fields already exists and the specified output branch also already 1150 exists, the QoS attributes of the connection, specified by the 1151 Class of Service field, if different from the request message, 1152 should be changed to that in the request message. A success 1153 response message must be sent if the Result field of the request 1154 message is "AckAll". This allows the controller to periodically 1155 reassert the state of a connection or to change its priority. If 1156 the result field of the request message is "NoSuccessAck" a 1157 success response message should not be returned. This may be used 1158 to reduce the traffic on the control link for messages that are 1159 reasserting previously established state. For messages that are 1160 reasserting previously established state, the switch must always 1161 check that this state is correctly established in the switch 1162 hardware (i.e. the actual connection tables used to forward cells 1163 or frames). 1165 If the output branch specified by the Output Port and Output Label 1166 fields is already in use by any connection other than that 1167 specified by the Input Port and Input Label fields, then the 1168 resulting output branch will have multiple input branches. If 1169 multiple point-to-point connections share the same output branch 1170 the result will be a multipoint-to-point connection. 1172 If the connection specified by the Input Port and Input Label 1173 fields already exists, and the Bi-directional Flag in the Flags 1174 field is set, a failure response must be returned indicating: 1175 "Only point-to-point bi-directional connections may be 1176 established." 1178 It should be noted that different switches support multicast in 1179 different ways. There will be a limit to the total number of 1180 point- to-multipoint connections any switch can support, and 1181 possibly a limit on the maximum number of branches that a point- 1182 to-multipoint connection may specify. Some switches also impose a 1183 limit on the number of different Label values that may be assigned 1184 to the output branches of a point-to-multipoint connection. Many 1185 switches are incapable of supporting more than a single branch of 1186 any particular point-to-multipoint connection on the same output 1187 port. Specific failure codes are defined for some of these 1188 conditions. 1190 ATM specific procedures: 1192 To request an ATM virtual path connection the ATM Virtual 1193 Path Connection (VPC) Add Branch message is: 1195 Message Type = 26 1197 An ATM virtual path connection can only be established 1198 between ATM ports, i.e. ports with the "ATM" Label Type 1199 attribute. If an ATM VPC Add Branch message is received and 1200 either the switch input port specified by the Input Port 1201 field or the switch output port specified by the Output 1202 Port field is not an ATM port, a failure response message 1203 must be returned indicating, "Virtual path switching is not 1204 supported on non-ATM ports." 1206 If an ATM VPC Add Branch message is received and the switch 1207 input port specified by the Input Port field does not 1208 support virtual path switching, a failure response message 1209 must be returned indicating, "Virtual path switching is not 1210 supported on this input port." 1212 If an ATM virtual path connection already exists on the 1213 virtual path specified by the Input Port and Input VPI 1214 fields, a failure response message must be returned 1215 indicating, "Attempt to add a virtual channel connection 1216 branch to an existing virtual path connection." For the VPC 1217 Add Branch message, if a virtual channel connection already 1218 exists on any of the virtual channels within the virtual 1219 path specified by the Input Port and Input VPI fields, a 1220 failure response message must be returned indicating, 1221 "Attempt to add a virtual path connection branch to an 1222 existing virtual channel connection." 1224 4.3 Delete Tree Message 1226 The Delete Tree message is a connection management message used to 1227 delete an entire connection. All remaining branches of the 1228 connection are deleted. A connection is specified by the Input 1229 Port and Input Label fields. The Output Port and Output Label 1230 fields are not used in this message. The Delete Tree message is: 1232 Message Type = 18 1234 If the Result field of the request message is "AckAll" a success 1235 response message must be sent upon successful deletion of the 1236 specified connection. The success message must not be sent until 1237 the delete operation has been completed and if possible, not until 1238 all data on the connection, queued for transmission, has been 1239 transmitted. The Number of Branches field is not used in either 1240 the request or response messages of the Delete Tree message. 1242 4.4 Verify Tree Message 1244 The Verify Tree message has been removed from this version of 1245 GSMP. Its function has been replaced by the Number of Branches 1246 field in the success response to the Add Branch message which 1247 contains the number of branches on a connection after successful 1248 completion of an add branch operation. 1250 Message Type = 19 is reserved. 1252 If a request message is received with Message Type = 19 a failure 1253 response must be returned with the Code field indicating: "The 1254 specified request is not implemented in this version of the 1255 protocol." 1257 4.5 Delete All Input Port Message 1259 The Delete All Input Port message is a connection management 1260 message used to delete all connections on a switch input port All 1261 connections that arrive at the specified input port must be 1262 deleted. On completion of the operation all dynamically assigned 1263 Label values for the specified port must be unassigned, i.e. there 1264 must be no connections established in the Label space that GSMP 1265 controls on this port. The Service Selectors, Output Port, Input 1266 Label and Output Label fields are not used in this message. The 1267 Delete All Input Port message is: 1269 Message Type = 20 1271 If the Result field of the request message is "AckAll" a success 1272 response message must be sent upon completion of the operation. 1273 The Number of Branches field is not used in either the request or 1274 response messages of the Delete All Input Port message. The 1275 success response message must not be sent until the operation has 1276 been completed. 1278 The following failure response messages may be returned to a 1279 Delete All Input Port request. 1281 The specified request is not implemented on this switch. 1283 One or more of the specified ports does not exist. 1285 Invalid Port Session Number. 1287 If any field in a Delete All Input Port message not covered by the 1288 above failure codes is invalid, a failure response must be 1289 returned indicating: "Invalid request message." Else, the Delete 1290 All Input Port operation must be completed successfully and a 1291 success message returned. No other failure messages are permitted. 1293 4.6 Delete All Output Port Message 1295 The Delete All message is a connection management message used to 1296 delete all connections on a switch input port. All connections 1297 that have the specified output port must be deleted. On 1298 completion of the operation all dynamically assigned Label values 1299 for the specified port must be unassigned, i.e. there must be no 1300 connections established in the Label space that GSMP controls on 1301 this port. The Service Selectors, Input Port, Input Label and 1302 Output Label fields are not used in this message. The Delete All 1303 Output Port message is: 1305 Message Type = 21 1307 If the Result field of the request message is "AckAll" a success 1308 response message must be sent upon completion of the operation. 1309 The Number of Branches field is not used in either the request or 1310 response messages of the Delete All Output Port message. The 1311 success response message must not be sent until the operation has 1312 been completed. 1314 The following failure response messages may be returned to a 1315 Delete All Output Port request. 1317 The specified request is not implemented on this switch. 1319 One or more of the specified ports does not exist. 1321 Invalid Port Session Number. 1323 If any field in a Delete All Output Port message not covered by 1324 the above failure codes is invalid, a failure response must be 1325 returned indicating: "Invalid request message." Else, the delete 1326 all operation must be completed successfully and a success message 1327 returned. No other failure messages are permitted. 1329 4.7 Delete Branches Message 1331 The Delete Branches message is a connection management message 1332 used to request one or more delete branch operations. Each delete 1333 branch operation deletes a branch of a channel, or in the case of 1334 the last branch of a connection, it deletes the connection. The 1335 Delete Branches message is: 1337 Message Type = 17 1339 The request message has the following format: 1341 0 1 2 3 1342 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 1343 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1344 | Version | Message Type | Result | Code | 1345 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1346 | Partition ID | Transaction Identifier | 1347 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1348 | Reserved | Number of Elements | 1349 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1350 | | 1351 ~ Delete Branch Elements ~ 1352 | | 1353 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1355 Number of Elements 1356 Specifies the number of Delete Branch Elements to follow 1357 in the message. The number of Delete Branch Elements in 1358 a Delete Branches message must not cause the packet 1360 length to exceed the maximum transmission unit defined 1361 by the encapsulation. 1363 Each Delete Branch Element specifies an output branch to be 1364 deleted and has the following structure: 1366 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1367 | Port Session Number | 1368 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1369 | Input Port | 1370 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1371 |x x|I|O| | 1372 +-+-+-+-+ Input Label ~ 1373 ~ | 1374 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1375 | Output Port | 1376 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1377 | Error | | 1378 +-+-+-+-+ Output Label ~ 1379 ~ | 1380 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1382 I: Input Extension Label 1383 The Input Extension Label flag if zero indicates that 1384 the Input Label field is a 28 bit field. If the Input 1385 Extension Label flag is set then the Input Label field 1386 is a 60 bit field structured as a 28 bit first level 1387 label field followed by a 32 bit second level label 1388 field. 1390 O: Output Extension Label 1391 The Output Extension Label flag if zero indicates that 1392 the Output Label field is a 28 bit field. If the Output 1393 Extension Label flag is set then the Output Label field 1394 is a 60 bit field structured as a 28 bit first level 1395 label field followed by a 32 bit second level label 1396 field. 1398 Error 1399 Is used to return a failure code indicating the reason 1400 for the failure of a specific Delete Branch Element in a 1401 Delete Branches failure response message. The Error 1402 field is not used in the request message and must be set 1403 to zero. A value of zero is used to indicate that the 1404 delete operation specified by this Delete Branch Element 1405 was successful. Values for the other failure codes are 1406 specified in Section 3.2, "Failure Response Messages." 1408 All other fields of the Delete Branch Element have the 1409 same definition as specified for the other connection 1410 management messages. 1412 In each Delete Branch Element, a connection is specified by the 1413 Input Port and Input Label fields. The specific branch to be 1414 deleted is indicated by the Output Port and Output Label fields. 1416 If the Result field of the Delete Branches request message is 1417 "AckAll" a success response message must be sent upon successful 1418 deletion of the branches specified by all of the Delete Branch 1419 Elements. The success response message must not be sent until all 1420 of the delete branch operations have been completed. The success 1421 response message is only sent if all of the requested delete 1422 branch operations were successful. No Delete Branch Elements are 1423 returned in a Delete Branches success response message and the 1424 Number of Elements field must be set to zero. 1426 If there is a failure in any of the Delete Branch Elements a 1427 Delete Branches failure response message must be returned. The 1428 Delete Branches failure response message is a copy of the request 1429 message with the Code field of the entire message set to, "Failure 1430 specific to the particular message type," and the Error field of 1431 each Delete Branch Element indicating the result of each requested 1432 delete operation. A failure in any of the Delete Branch Elements 1433 must not interfere with the processing of any other Delete Branch 1434 Elements. 1436 4.8 Move Branch Message 1438 The Move Branch message is used to move a branch of an existing 1439 connection from its current output port label to a new output port 1440 label in a single atomic transaction. The Move Branch connection 1441 management message has the following format for both request and 1442 response messages: 1444 0 1 2 3 1445 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 1446 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1447 | Version | Message Type | Result | Code | 1448 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1449 | Partition ID | Transaction Identifier | 1450 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1451 | Port Session Number | 1452 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1453 | Input Port | 1454 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1455 |x x|x|E| Input Label | 1456 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1457 ** ~x x x|E| Extended Input Label ~ 1458 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1459 | Service Selector | 1460 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1461 | Old Output Port | 1462 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1463 |x x x|E| Old Output Label | 1464 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1465 ** ~x x x|E| Extended Old Output Label ~ 1466 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1467 | New Output Port | 1468 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1469 |QMS|x|E| New Output Label | 1470 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1471 ** ~x x x|E| Extended New Output Label ~ 1472 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1473 | Service Selector | 1474 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1476 ** Note: There can be zero or more 32 bit words containing 1477 Extended Labels (like those marked **) following an Input 1478 or Output Label field. A 32 bit word containing an Extended 1479 Label follows the previous label field if and only if the E 1480 Flag immediately preceding the previous label is set. 1482 The E, QMS and Service Selector fields are as defined in the Add 1483 Branch message. 1485 The Move Branch message is a connection management message used to 1486 move a single output branch of connection from its current output 1487 port and Output Label, to a new output port and Output Label on 1488 the same connection. None of the connection's other output 1489 branches are modified. When the operation is complete the original 1490 Output Label on the original output port will be deleted from the 1491 connection. 1493 The Move Branch message is: 1495 Message Type = 22 1497 For the Move Branch message, if the connection specified by the 1498 Input Port and Input Label fields already exists, and the output 1499 branch specified by the Old Output Port and Old Output Label 1500 fields exists as a branch on that connection, the output branch 1501 specified by the New Output Port and New Output Label fields is 1502 added to the connection and the branch specified by the Old Output 1503 Port and Old Output Label fields is deleted. If the Result field 1504 of the request message is "AckAll" a success response message must 1505 be sent upon successful completion of the operation. The success 1506 response message must not be sent until the Move Branch operation 1507 has been completed. 1509 For the Move Branch message, if the connection specified by the 1510 Input Port and Input Label fields already exists, but the output 1511 branch specified by the Old Output Port and Old Output Label 1512 fields does not exist as a branch on that connection, a failure 1513 response must be returned with the Code field indicating, "The 1514 specified branch does not exist." 1516 For the Move Branch message, if the connection specified by the 1517 Input Port and Input Label fields already exists, and the output 1518 branch specified by the Old Output Port and Old Output Label 1519 fields exists as a branch on that connection, the output branch 1520 specified by the New Output Port and New Output Label fields is 1521 added to the connection and the branch specified by the Old Output 1522 Port and Old Output Label fields is deleted. If the Result field 1523 of the request message is "AckAll" a success response message must 1524 be sent upon successful completion of the operation. The success 1525 response message must not be sent until the Move Branch operation 1526 has been completed. 1528 ATM Specific Procedures: 1530 The ATM VPC Move Branch message is a connection management 1531 message used to move a single output branch of a virtual 1532 path connection from its current output port and output 1533 VPI, to a new output port and output VPI on the same 1534 virtual channel connection. None of the other output 1535 branches are modified. When the operation is complete the 1536 original output VPI on the original output port will be 1537 deleted from the connection. 1539 The VPC Move Branch message is: 1541 Message Type = 27 1543 For the VPC Move Branch message, if the virtual path 1544 connection specified by the Input Port and Input VPI fields 1545 already exists, and the output branch specified by the Old 1546 Output Port and Old Output VPI fields exists as a branch on 1547 that connection, the output branch specified by the New 1548 Output Port and New Output VPI fields is added to the 1549 connection and the branch specified by the Old Output Port 1550 and Old Output VPI fields is deleted. If the Result field 1551 of the request message is "AckAll" a success response 1552 message must be sent upon successful completion of the 1553 operation. The success response message must not be sent 1554 until the Move Branch operation has been completed. 1556 For the VPC Move Branch message, if the virtual path 1557 connection specified by the Input Port and Input VPI fields 1558 already exists, but the output branch specified by the Old 1559 Output Port and Old Output VPI fields does not exist as a 1560 branch on that connection, a failure response must be 1561 returned with the Code field indicating, "The specified 1562 branch does not exist." 1564 If the virtual channel connection specified by the Input 1565 Port and Input Label fields; or the virtual path connection 1566 specified by the Input Port and Input VPI fields; does not 1567 exist, a failure response must be returned with the Code 1568 field indicating, "The specified connection does not 1569 exist." 1571 If the output branch specified by the New Output Port, New 1572 Output VPI, and New Output VCI fields for a virtual channel 1573 connection; or the output branch specified by the New 1574 Output Port and New Output VPI fields for a virtual path 1575 connection; is already in use by any connection other than 1576 that specified by the Input Port and Input Label fields 1577 then the resulting output branch will have multiple input 1578 branches. If multiple point-to-point connections share the 1579 same output branch the result will be a multipoint-to-point 1580 connection. If multiple point-to-multipoint trees share the 1581 same output branches the result will be a multipoint-to- 1582 multipoint connection. 1584 5. Port Management Messages 1586 5.1 Port Management Message 1588 The Port Management message allows a port to be brought into 1589 service, taken out of service, looped back, reset, or the transmit 1590 data rate changed. Only the Bring Up and the Reset Input Port 1591 functions change the connection state (established connections) on 1592 the input port. Only the Bring Up function changes the value of 1593 the Port Session Number. The port event message is also used as 1594 part of the Event Message flow control mechanism. 1596 If the Result field of the request message is "AckAll" a success 1597 response message must be sent upon successful completion of the 1598 operation. The success response message must not be sent until the 1599 operation has been completed. The Port Management Message is: 1601 Message Type = 32 1603 The Port Management message has the following format for the 1604 request and success response messages: 1606 0 1 2 3 1607 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 1608 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1609 | Version | Message Type | Result | Code | 1610 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1611 | Partition ID | Transaction Identifier | 1612 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1613 | Port | 1614 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1615 | Port Session Number | 1616 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1617 | Event Sequence Number | 1618 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1619 | Reserved | Duration | Function | 1620 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1621 | Event Flags | Flow Control Flags | 1622 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1623 | Transmit Data Rate | 1624 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1626 Event Sequence Number 1627 In the success response message gives the current value 1628 of the Event Sequence Number of the switch port 1629 indicated by the Port field. The Event Sequence Number 1630 is set to zero when the port is initialised. It is 1631 incremented by one each time the port detects an 1632 asynchronous event that the switch would normally report 1634 via an Event message. If the Event Sequence Number in 1635 the success response differs from the Event Sequence 1636 Number of the most recent Event message received for 1637 that port, events have occurred that were not reported 1638 via an Event message. This is most likely to be due to 1639 the flow control that restricts the rate at which a 1640 switch can send Event messages for each port. In the 1641 request message this field is not used. 1643 Duration Is the length of time, in seconds, that any of the 1644 loopback states remain in operation. When the duration 1645 has expired the port will automatically be returned to 1646 service. If another Port Management message is received 1647 for the same port before the duration has expired, the 1648 loopback will continue to remain in operation for the 1649 length of time specified by the Duration field in the 1650 new message. The Duration field is only used in request 1651 messages with the Function field set to Internal 1652 Loopback, External Loopback, or Bothway Loopback. 1654 Function Specifies the action to be taken. The specified action 1655 will be taken regardless of the current status of the 1656 port (Available, Unavailable, or any Loopback state). If 1657 the specified function requires a new Port Session 1658 Number to be generated, the new Port Session Number must 1659 be returned in the success response message. The defined 1660 values of the Function field are: 1662 Bring Up: 1663 Function = 1. Bring the port into service. All 1664 connections that arrive at the specified input port 1665 must be deleted and a new Port Session Number must 1666 be selected using some form of random number. On 1667 completion of the operation all dynamically 1668 assigned Label values for the specified input port 1669 must be unassigned, i.e. no connections will be 1670 established in the Label space that GSMP controls 1671 on this input port. The Port Status of the port 1672 afterwards will be Available. 1674 Take Down: 1675 Function = 2. Take the port out of service. Any 1676 data received at this port will be discarded. No 1677 data will be transmitted from this port. The Port 1678 Status of the port afterwards will be Unavailable. 1680 The behaviour is undefined if the port is taken 1681 down over which the GSMP session that controls the 1682 switch is running. (In this case the most probable 1683 behaviour would be for the switch either to ignore 1684 the message or to terminate the current GSMP 1685 session and to initiate another session, possibly 1686 with the backup controller, if any.) The correct 1687 method to reset the link over which GSMP is running 1688 is to issue an RSTACK message in the adjacency 1689 protocol. 1691 Internal Loopback: 1692 Function = 3. Data arriving at the output port from 1693 the switch fabric are looped through to the input 1694 port to return to the switch fabric. All of the 1695 functions of the input port above the physical 1696 layer, e.g. header translation, are performed upon 1697 the looped back data. The Port Status of the port 1698 afterwards will be Internal Loopback. 1700 External Loopback: 1701 Function = 4. Data arriving at the input port from 1702 the external communications link are immediately 1703 looped back to the communications link at the 1704 physical layer without entering the input port. 1705 None of the functions of the input port above the 1706 physical layer are performed upon the looped back 1707 data. The Port Status of the port afterwards will 1708 be External Loopback. 1710 Bothway Loopback: 1711 Function = 5. Both internal and external loopback 1712 are performed. The Port Status of the port 1713 afterwards will be Bothway Loopback. 1715 Reset Input Port: 1716 Function = 6. All connections that arrive at the 1717 specified input port must be deleted and the input 1718 and output port hardware re-initialised. On 1719 completion of the operation all dynamically 1720 assigned Label values for the specified input port 1721 must be unassigned, i.e. no connections will be 1722 established in the Label space that GSMP controls 1723 on this input port. The range of labels that may be 1724 controlled by GSMP on this port will be set to the 1725 default values specified in the Port Configuration 1726 message. The transmit data rate of the output port 1727 must be set to its default value. The Port Session 1728 Number is not changed by the Reset Input Port 1729 function. The Port Status of the port afterwards 1730 will be Unavailable. 1732 Reset Flags: 1733 Function = 7. This function is used to reset the 1734 Event Flags and Flow Control Flags. For each bit 1735 that is set in the Event Flags field, the 1736 corresponding Event Flag in the switch port must be 1737 reset to 0. For each bit that is set in the Flow 1738 Control Flags field, the corresponding Flow Control 1739 Flag in the switch port must toggled; i.e. flow 1740 control for the corresponding event is turned off 1741 if is currently on and it is turned on if it is 1742 currently off. The Port Status of the port is not 1743 changed by this function. 1745 Set Transmit Data Rate: 1746 Function = 8. Sets the transmit data rate of the 1747 output port as close as possible to the rate 1748 specified in the Transmit Data Rate field. In the 1749 success response message the Transmit Data Rate 1750 must indicate the actual transmit data rate of the 1751 output port. If the transmit data rate of the 1752 requested output port cannot be changed, a failure 1753 response must be returned with the Code field 1754 indicating: "The transmit data rate of this output 1755 port cannot be changed." If the transmit data rate 1756 of the requested output port can be changed, but 1757 the value of the Transmit Data Rate field is beyond 1758 the range of acceptable values, a failure response 1759 must be returned with the Code field indicating: 1760 "Requested transmit data rate out of range for this 1761 output port." In the failure response message the 1762 Transmit Data Rate must contain the same value as 1763 contained in the request message that caused the 1764 failure. The transmit data rate of the output port 1765 is not changed by the Bring Up, Take Down, or any 1766 of the Loopback functions. It is returned to the 1767 default value by the Reset Input Port function. 1769 Transmit Data Rate 1770 This field is only used in request and success response 1771 messages with the Function field set to "Set Transmit 1772 Data Rate." It is used to set the output data rate of 1773 the output port. It is specified in cells or frames/s. 1774 If the Transmit Data Rate field contains the value 1775 0xFFFFFFFF the transmit data rate of the output port 1776 should be set to the highest valid value. 1778 Event Flags 1779 Field in the request message is used to reset the Event 1780 Flags in the switch port indicated by the Port field. 1781 Each Event Flag in a switch port corresponds to a type 1782 of Event message. When a switch port sends an Event 1783 message it sets the corresponding Event Flag on that 1784 port. Depending on the setting in the Flow Control Flag, 1785 a port is either subject to flow control or not. If it 1786 is subject to flow control then it is not permitted to 1787 send another Event message of the same type before the 1788 Event Flag has been reset. To reset an event flag, the 1789 Function field in the request message is set to "Reset 1790 Flags." For each bit that is set in the Event Flags 1791 field, the corresponding Event Flag in the switch port 1792 is reset. 1794 The Event Flags field is only used in a request message 1795 with the Function field set to "Reset Event Flags." For 1796 all other values of the Function field, the Event Flags 1797 field is not used. In the success response message the 1798 Event Flags field must be set to the current value of 1799 the Event Flags for the port, after the completion of 1800 the operation specified by the request message, for all 1801 values of the Function field. Setting the Event Flags 1802 field to all zeros in a "Reset Event Flags" request 1803 message allows the controller to obtain the current 1804 state of the Event Flags and the current Event Sequence 1805 Number of the port without changing the state of the 1806 Event Flags. 1808 The correspondence between the types of Event message 1809 and the bits of the Event Flags field is as follows: 1810 1 1811 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 1812 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1813 |U|D|I|N|Z|A|x x x x x x x x x x| 1814 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1816 U: Port Up Bit 0, (most significant bit) 1817 D: Port Down Bit 1, 1818 I: Invalid Label Bit 2, 1819 N: New Port Bit 3, 1820 Z: Dead Port Bit 4, 1821 A: Adjacency Event Bit 5, 1822 x: Unused Bits 6--15. 1824 Flow Control Flags Field 1825 This flags in this field are used to indicate whether 1826 the flow control mechanism described in the Events Flag 1827 field is turned on or not. If the Flow Control Flag is 1828 on, then the flow control mechanism for that event on 1829 that port is activated. To toggle flow control, the 1830 Function field in the request message is set to "Reset 1831 Flags." For each bit that is set in the Flow Control 1832 Flags field, the flow control corresponding Event in the 1833 switch port is toggled. 1835 The correspondence between the Flow Control applied to 1836 the Events messages and the bits of the flow Control 1837 Flags field is as follows: 1839 1 1840 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 1841 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1842 |U|D|I|N|Z|A|x x x x x x x x x x| 1843 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1845 U: Port Up Bit 0, (most significant bit) 1846 D: Port Down Bit 1, 1847 I: Invalid Label Bit 2, 1848 N: New Port Bit 3, 1849 Z: Dead Port Bit 4, 1850 A: Adjacency Event Bit 5, 1851 x: Unused Bits 6--15. 1853 5.2 Label Range Message 1855 The default label range, Min Label to Max Label, is specified for 1856 each port by the Port Configuration or the All Ports Configuration 1857 messages. When the protocol is initialised, before the 1858 transmission of any Label Range messages, the label range of each 1859 port will be set to the default label range. (The default label 1860 range is dependent upon the switch design and configuration and is 1861 not specified by the GSMP protocol.) The Label Range message 1862 allows the range of labels supported by a specified port, to be 1863 changed. Each switch port must declare whether it supports the 1864 Label Range message in the Port Configuration or the All Ports 1865 Configuration messages. The Label Range message is: 1867 Message Type = 33 1869 The Label Range message has the following format for the request 1870 and success response messages: 1872 0 1 2 3 1873 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 1874 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1875 | Version | Message Type | Result | Code | 1876 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1877 | Partition ID | Transaction Identifier | 1878 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1879 | Port | 1880 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1881 | Port Session Number | 1882 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1883 |Q|V|x x| Min Label | 1884 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1885 |x x x x| Max Label | 1886 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1887 | Remaining Labels | 1888 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1890 Flags 1892 Q: Query 1893 If the Query flag is set in a request message, the 1894 switch must respond with the current range of valid 1895 labels. The current label range is not changed by a 1896 request message with the Query flag set. If the Query 1897 flag is zero, the message is requesting a label change 1898 operation. 1900 V: Label 1901 The Label flag use is port type specific. 1903 x: Unused 1905 The success response to a Label Range message requesting a change 1906 of label range is a copy of the request message with the Remaining 1907 Label Range fields updated to the new values after the Label Range 1908 operation. 1910 If the switch is unable to satisfy a request to change the Label 1911 range, it must return a failure response message with the Code 1912 field set to "Cannot support requested label range." In this 1913 failure response message the switch must use the Min Label and Max 1914 Label fields to suggest a label range that it would be able to 1915 satisfy. 1917 A Label Range request message may be issued regardless of the Port 1918 Status or the Line Status of the target switch port. If the Port 1919 field of the request message contains an invalid port (a port that 1920 does not exist or a port that has been removed from the switch) a 1921 failure response message must be returned with the Code field set 1922 to, "One or more of the specified ports does not exist." 1924 If the Query flag is set in the request message, the switch must 1925 reply with a success response message containing the current range 1926 of valid labels that are supported by the port. The Min Label and 1927 Max Label fields are not used in the request message. 1929 ATM Labels: 1931 If PortType=ATM the label range fields have following format: 1932 0 1 2 3 1933 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 1934 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1935 |Q|V|x x| Min VPI | Min VCI | 1936 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1937 |x x x x| Max VPI | Max VCI | 1938 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1939 | Remaining VPIs | Remaining VCIs | 1940 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1942 V: Label If the Label flag is set, the message refers to a range 1943 of VPIs only. The Min VCI and Max VCI fields are unused. 1944 If the Label flag is zero the message refers to a range 1945 of VCIs on either one VPI or on a range of VPIs. 1947 Min VPI 1948 Max VPI Specify a range of VPI values, Min VPI to Max VPI 1949 inclusive. A single VPI may be specified with a Min VPI 1950 and a Max VPI having the same value. In a request 1951 message, if the value of the Max VPI field is less than 1952 or equal to the value of the Min VPI field, the 1953 requested range is a single VPI with a value equal to 1954 the Min VPI field. Zero is a valid value. In a request 1955 message, if the Query flag is set, and the Label flag is 1956 zero, the Max VPI field specifies a single VPI and the 1957 Min VPI field is not used. The maximum valid value of 1958 these fields for both request and response messages is 1959 0xFFF. 1961 Min VCI 1962 Max VCI Specify a range of VCI values, Min VCI to Max VCI 1963 inclusive. A single VCI may be specified with a Min VCI 1964 and a Max VCI having the same value. In a request 1966 message, if the value of the Max VCI field is less than 1967 or equal to the value of the Min VCI field, the 1968 requested range is a single VCI with a value equal to 1969 the Min VCI field. Zero is a valid value. (However, 1970 VPI=0, VCI=0 is not available as a virtual channel 1971 connection as it is used as a special value in ATM to 1972 indicate an unassigned cell.) 1974 Remaining VPIs 1975 Remaining VCIs 1976 These fields are unused in the request message. In the 1977 success response message and in the failure response 1978 message these fields give the maximum number of 1979 remaining VPIs and VCIs that could be requested for 1980 allocation on the specified port (after completion of 1981 the requested operation in the case of the success 1982 response). It gives the switch controller an idea of how 1983 many VPIs and VCIs it could request. The number given is 1984 the maximum possible given the constraints of the switch 1985 hardware. There is no implication that this number of 1986 VPIs and VCIs is available to every switch port. 1988 If the Query flag and the Label flag are set in the request 1989 message, the switch must reply with a success response message 1990 containing the current range of valid VPIs that are supported by 1991 the port. The Min VPI and Max VPI fields are not used in the 1992 request message. 1994 If the Query flag is set and the Label flag is zero in the request 1995 message, the switch must reply with a success response message 1996 containing the current range of valid VCIs that are supported by 1997 the VPI specified by the Max VPI field. If the requested VPI is 1998 invalid, a failure response must be returned indicating: "One or 1999 more of the specified input VPIs is invalid." The Min VPI field is 2000 not used in either the request or success response messages. 2002 If the Query flag is zero and the Label flag is set in the request 2003 message, the Min VPI and Max VPI fields specify the new range of 2004 VPIs to be allocated to the input port specified by the Port 2005 field. Whatever the range of VPIs previously allocated to this 2006 port it should be increased or decreased to the specified value. 2008 If the Query flag and the Label flag are zero in the request 2009 message, the Min VCI and Max VCI fields specify the range of VCIs 2010 to be allocated to each of the VPIs specified by the VPI range. 2011 Whatever the range of VCIs previously allocated to each of the 2012 VPIs within the specified VPI range on this port, it should be 2013 increased or decreased to the specified value. The allocated VCI 2014 range must be the same on each of the VPIs within the specified 2015 VPI range. 2017 If the switch is unable to satisfy a request to change the label 2018 range, it must return a failure response message with the Code 2019 field set to "Cannot support requested label range." If the switch 2020 is unable to satisfy a request to change the VPI the switch must 2021 use the Min VPI and Max VPI fields to suggest a VPI range that it 2022 would be able to satisfy and set the VCI fields to zero or if the 2023 switch is unable to satisfy a request to change the VCI range on 2024 all VPIs within the requested VPI range, the switch must use the 2025 Min VPI, Max VPI, Min VCI, and Max VCI fields to suggest a VPI and 2026 VCI range that it would be able to satisfy. 2028 In all other failure response messages for the label range 2029 operation the switch must return the values of Min VPI, Max VPI, 2030 Min VCI, and Max VCI from the request message. 2032 While switches can typically support all 256 or 4096 VPIs the VCI 2033 range that can be supported is often more constrained. Often the 2034 Min VCI must be 0 or 32. Typically all VCIs within a particular 2035 VPI must be contiguous. The hint in the failure response message 2036 allows the switch to suggest a label range that it could satisfy 2037 in view of its particular architecture. 2039 While the Label Range message is defined to specify both a range 2040 of VPIs and a range of VCIs within each VPI, the most likely use 2041 is to change either the VPI range or the range of VCIs within a 2042 single VPI. It is possible for a VPI to be valid but to be 2043 allocated no valid VCIs. Such a VPI could be used for a virtual 2044 path connection but to support virtual channel connections it 2045 would need to be allocated a range of VCIs. 2047 Frame Relay Labels: 2049 If PortType=FR the label range fields have following format: 2050 0 1 2 3 2051 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 2052 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2053 |Q|V|x x|x x|Len| Min DLCI | 2054 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2055 |x x x x x x x x| Max DLCI | 2056 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2057 | Remaining DLCIs | 2058 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2060 V: Label The Label flag is not used. 2062 Len 2063 This field specifies the number of bits of the DLCI. The 2064 following values are supported: 2065 Len DLCI bits 2066 0 10 2067 1 17 2068 2 23 2070 Min DLCI 2071 Max DLCI Specify a range of DLCI values, Min DLCI to Max DLCI 2072 inclusive. The values should be right justified in the 2073 23 bit fields and the preceding bits should be set to 2074 zero. A single DLCI may be specified with a Min DLCI and 2075 a Max DLCI having the same value. In a request message, 2076 if the value of the Max DLCI field is less than or equal 2077 to the value of the Min DLCI field, the requested range 2078 is a single DLCI with a value equal to the Min DLCI 2079 field. Zero is a valid value. 2081 Remaining DLCIs 2082 This field is unused in the request message. In the 2083 success response message and in the failure response 2084 message this field gives the maximum number of remaining 2085 DLCIs that could be requested for allocation on the 2086 specified port (after completion of the requested 2087 operation in the case of the success response). It gives 2088 the switch controller an idea of how many DLCIs it could 2089 request. The number given is the maximum possible given 2090 the constraints of the switch hardware. There is no 2091 implication that this number of DLCIs is available to 2092 every switch port. 2094 MPLS Generic Labels: 2096 The Label Range field for PortTypes using MPLS labels (e.g. 2097 Ethernet, SONET etc.) has the following format: 2099 0 1 2 3 2100 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 2101 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2102 |x x x x x x x x x x x x| Min MPLS Label | 2103 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2104 |x x x x x x x x x x x x| Max MPLS Label | 2105 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2106 | Remaining MPLS Labels | 2107 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2109 Min MPLS Label: 2110 Max MPLS Label: 2111 Specify a range of MPLS label values, Min MPLS Label to 2112 Max MPLS Label inclusive. The Max and Min MPLS label 2113 fields are 20 bits each. 2115 Remaining MPLS Labels: 2116 This field is unused in the request message. In the 2117 success response message and in the failure response 2118 message this field gives the maximum number of remaining 2119 MPLS Labels that could be requested for allocation on 2120 the specified port (after completion of the requested 2121 operation in the case of the success response). It gives 2122 the switch controller an idea of how many MPLS Labels it 2123 could request. The number given is the maximum possible 2124 given the constraints of the switch hardware. There is 2125 no implication that this number of Labels is available 2126 to every switch port. 2128 6. State and Statistics Messages 2130 The state and statistics messages permit the controller to request 2131 the values of various hardware counters associated with the switch 2132 input and output ports and connections. They also permit the 2133 controller to request the connection state of a switch input port. 2134 The Connection Activity message is used to determine whether one 2135 or more specific connections have recently been carrying traffic. 2136 The Statistics message is used to query the various port and 2137 connection traffic and error counters. 2139 The Report Connection State message is used to request an input 2140 port to report the connection state for a single connection, a 2141 single ATM virtual path connection, or for the entire input port. 2143 6.1 Connection Activity Message 2145 The Connection Activity message is used to determine whether one 2146 or more specific connections have recently been carrying traffic. 2147 The Connection Activity message contains one or more Activity 2148 Records. Each Activity Record is used to request and return 2149 activity information concerning a single connection. Each 2150 connection is specified by its input port and Input Label which 2151 are specified in the Input Port and Input Label fields of each 2152 Activity Record. 2154 Two forms of activity detection are supported. If the switch 2155 supports per connection traffic accounting, the current value of 2156 the traffic counter for each specified connection must be 2157 returned. The units of traffic counted are not specified but will 2158 typically be either cells or frames. The controller must compare 2159 the traffic counts returned in the message with previous values 2160 for each of the specified connections to determine whether each 2161 connection has been active in the intervening period. If the 2162 switch does not support per connection traffic accounting, but is 2163 capable of detecting per connection activity by some other 2164 unspecified means, the result may be indicated for each connection 2165 using the Flags field. The Connection Activity message is: 2167 Message Type = 48 2169 The Connection Activity request and success response messages have 2170 the following format: 2172 0 1 2 3 2173 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 2174 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2175 | Version | Message Type | Result | Code | 2176 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2177 | Partition ID | Transaction Identifier | 2178 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2179 | Number of Records | Reserved | 2180 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2181 | | 2182 ~ Activity Records ~ 2183 | | 2184 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2186 Number of Records 2187 Field specifies the number of Activity Records to 2188 follow. The number of Activity records in a single 2189 Connection Activity message must not cause the packet 2190 length to exceed the maximum transmission unit defined 2191 by the encapsulation. 2193 Each Activity Record has the following format: 2195 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2196 | Input Port | 2197 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2198 |V|C|A|E| Input Label | 2199 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2200 ** ~x x x|E| Extended Input Label ~ 2201 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2202 | | 2203 + Traffic Count + 2204 | | 2205 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2207 ** Note: There can be zero or more 32 bit words containing 2208 Extended Labels (like those marked **) following an Input 2209 or Output Label field. A 32 bit word containing an Extended 2210 Label follows the previous label field if and only if the E 2211 Flag immediately preceding the previous label is set. 2213 Input Port 2214 Identifies the port number of the input port on which 2215 the connection of interest arrives in order to identify 2216 the connection (regardless of whether the traffic count 2217 for the connection is maintained on the input port or 2218 the output port). 2220 Input Label 2221 Fields identify the specific connection for which 2222 statistics are being requested. 2224 Flags 2226 V: Valid Record 2227 In the success response message the Valid Record flag is 2228 used to indicate an invalid Activity Record. The flag 2229 must be zero if any of the fields in this Activity 2230 Record are invalid, if the input port specified by the 2231 Input Port field does not exist, or if the specified 2232 connection does not exist. If the Valid Record flag is 2233 zero in a success response message, the Counter flag, 2234 the Activity flag, and the Traffic Count field are 2235 undefined. If the Valid Record flag is set, the Activity 2236 Record is valid, and the Counter and Activity flags are 2237 valid. The Valid Record flag is not used in the request 2238 message. 2240 C: Counter 2241 In a success response message, if the Valid Record flag 2242 is set, the Counter flag, if zero, indicates that the 2243 value in the Traffic Count field is valid. If set, it 2244 indicates that the value in the Activity flag is valid. 2245 The Counter flag is not used in the request message. 2247 A: Activity 2248 In a success response message, if the Valid Record and 2249 Counter flags are set, the Activity flag, if set, 2250 indicates that there has been some activity on this 2251 connection since the last Connection Activity message 2252 for this connection. If zero, it indicates that there 2253 has been no activity on this connection since the last 2254 Connection Activity message for this connection. The 2255 Activity flag is not used in the request message. 2257 E: Extension Label 2258 The Extension Label Flag is used to extend the adjacent 2259 label field by inserting, after the adjacent label, an 2260 additional 32 bit word into the message. A 32 bit word 2261 formatted according to the line marked ** in the message 2262 diagram follows the adjacent label field if and only if 2263 the E Flag is set. 2265 Traffic Count 2266 Field is not used in the request message. In the success 2267 response message, if the switch supports per connection 2268 traffic counting, the Traffic Count field must be set to 2269 the value of a free running, connection specific, 64-bit 2270 traffic counter counting traffic flowing across the 2271 specified connection. The value of the traffic counter 2272 is not modified by reading it. If per connection traffic 2273 counting is supported, the switch must report the 2274 Connection Activity result using the traffic count 2275 rather than using the Activity flag. 2277 The format of the failure response is the same as the request 2278 message with the Number of Records field set to zero and no 2279 Connection Activity records returned in the message. If the switch 2280 is incapable of detecting per connection activity, a failure 2281 response must be returned indicating, "The specified request is 2282 not implemented on this switch." 2284 6.2 Statistics Messages 2286 The Statistics messages are used to query the various port and 2287 connection and error counters. 2289 The Statistics request messages have the following format: 2291 0 1 2 3 2292 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 2293 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2294 | Version | Message Type | Result | Code | 2295 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2296 | Partition ID | Transaction Identifier | 2297 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2298 | Port | 2299 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2300 |x x x|E| Label | 2301 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2302 ** ~x x x|E| Extended Label ~ 2303 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2305 ** Note: There can be zero or more 32 bit words containing 2306 Extended Labels (like those marked **) following an Input 2307 or Output Label field. A 32 bit word containing an Extended 2308 Label follows the previous label field if and only if the E 2309 Flag immediately preceding the previous label is set. 2311 E: Extension Label 2312 The Extension Label Flag is used to extend the adjacent 2313 label field by inserting, after the adjacent label, an 2314 additional 32 bit word into the message. A 32 bit word 2315 formatted according to the line marked ** in the message 2316 diagram follows the adjacent label field if and only if 2317 the E Flag is set. 2319 Label 2320 The Label Field identifies the specific connection for 2321 which statistics are being requested. 2323 The success response for the Statistics message has the following 2324 format: 2326 0 1 2 3 2327 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 2328 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2329 | Version | Message Type | Result | Code | 2330 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2331 | Partition ID | Transaction Identifier | 2332 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2333 | Port | 2334 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2335 |x x x|E| Label | 2336 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2337 ** ~x x x|E| Extended Label ~ 2338 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2339 | | 2340 + Input Cell Count + 2341 | | 2342 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2343 | | 2344 + Input Frame Count + 2345 | | 2346 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2347 | | 2348 + Input Cell Discard Count + 2349 | | 2350 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2351 | | 2352 + Input Frame Discard Count + 2353 | | 2354 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2355 | | 2356 + ATM HEC Error Count + 2357 | | 2358 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2359 | | 2360 + Input Invalid Label Count + 2361 | | 2362 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2363 | | 2364 + Output Cell Count + 2365 | | 2366 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2367 | | 2368 + Output Frame Count + 2369 | | 2370 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2371 | | 2372 + Output Cell Discard Count + 2373 | | 2374 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2375 | | 2376 + Output Frame Discard Count + 2377 | | 2378 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2380 ** Note: There can be zero or more 32 bit words containing 2381 Extended Labels (like those marked **) following an Input 2382 or Output Label field. A 32 bit word containing an Extended 2383 Label follows the previous label field if and only if the E 2384 Flag immediately preceding the previous label is set. 2386 E 2387 Port 2388 Label 2389 Fields are the same as those of the request message. 2391 Input Cell Count 2392 Output Cell Count 2393 Give the value of a free running 64-bit counter counting 2394 cells arriving at the input or departing from the output 2395 respectively. 2397 Input Frame Count 2398 Output Frame Count 2399 Give the value of a free running 64-bit counter counting 2400 frames (packets) arriving at the input or departing from 2401 the output respectively. 2403 Input Cell Discard Count 2404 Output Cell Discard Count 2405 Give the value of a free running 64-bit counter counting 2406 cells discarded due to queue overflow on an input port 2407 or on an output port respectively. 2409 Input Frame Discard Count 2410 Output Frame Discard Count 2411 Give the value of a free running 64-bit counter counting 2412 frames discarded due to congestion on an input port or 2413 on an output port respectively. 2415 ATM HEC Error Count 2416 Gives the value of a free running 64-bit counter 2417 counting ATM cells discarded due to header checksum 2418 errors on arrival at an input port. 2420 Invalid Label Count 2421 Gives the value of a free running 64-bit counter 2423 counting cells or frames discarded because their Label 2424 is invalid on arrival at an input port. 2426 6.2.1 Port Statistics Message 2428 The Port Statistics message requests the statistics for the switch 2429 port specified in the Port field. The contents of the Label field 2430 in the Port Statistics request message is ignored. All of the 2431 count fields in the success response message refer to per-port 2432 counts regardless of the connection to which the cells or frames 2433 belong. Any of the count fields in the success response message 2434 not supported by the port must be set to zero. The Port Statistics 2435 message is: 2437 Message Type = 49 2439 6.2.2 Connection Statistics Message 2441 The Connection Statistics message requests the statistics for the 2442 connection specified in the Label field that arrives on the switch 2443 input port specified in the Port field. All of the count fields in 2444 the success response message refer only to the specified 2445 connection. The ATM HEC Error Count and Invalid Label Count fields 2446 are not connection specific and must be set to zero. Any of the 2447 other count fields not supported on a per connection basis must be 2448 set to zero in the success response message. The Connection 2449 Statistics message is: 2451 Message Type = 50 2453 6.2.3 QoS Class Statistics Message 2455 The QoS Class Statistics message is not supported in this version 2456 of GSMP. 2458 Message Type = 51 is reserved. 2460 6.3 Report Connection State Message 2462 The Report Connection State message is used to request an input 2463 port to report the connection state for a single connection or for 2464 the entire input port. The Report Connection State message is: 2466 Message Type = 52 2468 The Report Connection State request message has the following 2469 format: 2471 0 1 2 3 2472 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 2473 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2474 | Version | Message Type | Result | Code | 2475 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2476 | Partition ID | Transaction Identifier | 2477 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2478 | Input Port | 2479 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2480 |A|V|x|E| Input Label | 2481 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2482 ** ~x x x|E| Extended Input Label ~ 2483 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2485 ** Note: There can be zero or more 32 bit words containing 2486 Extended Labels (like those marked **) following an Input 2487 or Output Label field. A 32 bit word containing an Extended 2488 Label follows the previous label field if and only if the E 2489 Flag immediately preceding the previous label is set. 2491 Input Port 2492 Identifies the port number of the input port for which 2493 the connection state is being requested. 2495 Flags 2497 A: All Connections 2498 If the All Connections flag is set, the message requests 2499 the connection state for all connections that arrive at 2500 the input port specified by the Input Port field. In 2501 this case the Input Label field and the Label flag are 2502 unused. 2504 V: ATM VPI 2505 The ATM VPI flag may only be set for ports with 2506 PortType=ATM. If the switch receives a Report Connection 2507 State message in which the ATM VPI flag set and in which 2508 the input port specified by the Input Port field does 2509 not have PortType=ATM, the switch must return an Error 2510 Message "xxxxxx". 2511 If the All Connections flag is zero and the ATM VPI flag 2512 is also zero, the message requests the connection state 2513 for the connection that arrives at the input port 2514 specified by the Port and Input Label fields. 2516 ATM specific procedures: 2518 If the All Connections flag is zero and the ATM VPI 2519 flag is set and the input port specified by the Input 2520 Port field has LabelType=ATM, the message requests 2521 the connection state for the virtual path connection 2522 that arrives at the input port specified by the Input 2523 Port and Input VPI fields. If the specified Input VPI 2524 identifies an ATM virtual path connection (i.e. a 2525 single switched virtual path) the state for that 2526 connection is requested. If the specified Input VPI 2527 identifies a virtual path containing virtual channel 2528 connections, the message requests the connection 2529 state for all virtual channel connections that belong 2530 to the specified virtual path. 2532 x: Unused. 2534 E: Extension Label 2535 The Extension Label Flag is used to extend the adjacent 2536 label field by inserting, after the adjacent label, an 2537 additional 32 bit word into the message. A 32 bit word 2538 formatted according to the line marked ** in the message 2539 diagram follows the adjacent label field if and only if 2540 the E Flag is set. 2542 Input Label 2543 Field identifies the specific connection for which 2544 connection state is being requested. For requests that 2545 do not require a connection to be specified, the Input 2546 Labelfield is not used. 2548 The Report Connection State success response message has the 2549 following format: 2551 0 1 2 3 2552 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 2553 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2554 | Version | Message Type | Result | Code | 2555 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2556 | Partition ID | Transaction Identifier | 2557 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2558 | Input Port | 2559 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2560 | Sequence Number | 2561 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2562 | | 2563 ~ Connection Records ~ 2564 | | 2565 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2567 Input Port 2568 Is the same as the Input Port field in the request 2569 message. It identifies the port number of the input port 2570 for which the connection state is being reported. 2572 Sequence Number 2573 In the case that the requested connection state cannot 2574 be reported in a single success response message, each 2575 successive success response message in reply to the same 2576 request message must increment the Sequence Number. The 2577 Sequence Number of the first success response message, 2578 in response to a new request message, must be zero. 2580 Connection Records 2581 Each success response message must contain one or more 2582 Connection Records. Each Connection Record specifies a 2583 single point-to-point or point-to-multipoint connection. 2584 The number of Connection Records in a single Report 2585 Connection State success response must not cause the 2586 packet length to exceed the maximum transmission unit 2587 defined by the encapsulation. If the requested 2588 connection state cannot be reported in a single success 2589 response message, multiple success response messages 2590 must be sent. All success response messages that are 2591 sent in response to the same request message must have 2592 the same Input Port and Transaction Identifier fields as 2593 the request message. A single Connection Record must not 2594 be split across multiple success response messages. The 2595 More flag of the last Connection Record in a success 2596 response message indicates whether the response to the 2597 request has been completed or whether one or more 2598 further success response messages should be expected in 2599 response to the same request message. 2601 Each Connection Record has the following format: 2603 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2604 |A|V|P|M| Input Label | 2605 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2606 | | 2607 ~ Output Branch Records ~ 2608 | | 2609 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2611 [Editor's note: help, where do i put the extension label flag?] 2613 Flags 2615 A: All Connections 2616 V: ATM VPI 2617 For the first Connection Record in each success response 2618 message the All Connections and the ATM VPI flags must 2619 be the same as those of the request message. For 2620 successive Connection Records in the same success 2621 response message these flags are not used. 2623 P: ATM VPC 2624 The ATM VPC flag may only be set for ports with 2625 PortType=ATM. The ATM VPC flag, if set and only if set, 2626 indicates that the Connection Record refers to an ATM 2627 virtual path connection. 2629 M: More 2630 If the More flag is set, it indicates that another 2631 Connection Record, in response to the same request 2632 message, will follow either in the same success response 2633 message or in a successive success response message. If 2634 the More flag is zero it indicates that this is the last 2635 Connection record in this success response message and 2636 that no further success response messages will be sent 2637 in response to the current request message. It indicates 2638 that the response to the request message is now 2639 complete. 2641 Input Label 2642 The input label of the connection specified in this 2643 Connection Record. 2645 Output Branch Records 2646 Each Connection Record must contain one or more Output 2647 Branch Records. Each Output Branch Record specifies a 2648 single output branch belonging to the connection 2649 identified by the Input Label field of the Connection 2650 Record and the Input Port field of the Report Connection 2651 State message. A point-to-point connection will require 2652 only a single Output Branch Record. A point-to- 2653 multipoint connection will require multiple Output 2654 Branch Records. The last Output Branch Record of each 2655 Connection Record is indicated by the Last Branch flag 2656 of the Output Branch Record. If a point-to-multipoint 2657 connection has more output branches than can fit in a 2658 single Connection Record contained within a single 2659 success response message, that connection may be 2660 reported using multiple Connection Records in multiple 2661 success response messages. 2663 Each Output Branch Record has the following format: 2665 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2666 | Output Port | 2667 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2668 |L|x x|E| Output Label | 2669 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2670 ** ~x x x|E| Extended Output Label ~ 2671 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2673 ** Note: There can be zero or more 32 bit words containing 2674 Extended Labels (like those marked **) following an Input 2675 or Output Label field. A 32 bit word containing an Extended 2676 Label follows the previous label field if and only if the E 2677 Flag immediately preceding the previous label is set. 2679 Output Port 2680 The output port of the switch to which this output 2681 branch is routed. 2683 Flags 2685 L: Last Branch 2686 The Last Branch flag, if set, indicates that this is the 2687 last Output Branch Record of this Connection Record. If 2688 zero, it indicates that one or more further Output 2689 Branch Records are to follow. If this is the last Output 2690 Branch Record in the message and the Last Branch flag is 2691 zero, further output branches belonging to the same 2692 connection will be given in another Connection Record. 2693 This Connection Record will be the first Connection 2694 Record in the next success response message. This 2696 Connection Record must have the same Input Label value 2697 as the current Connection Record. 2699 E: Extension Label 2700 The Extension Label Flag is used to extend the adjacent 2701 label field by inserting, after the adjacent label, an 2702 additional 32 bit word into the message. A 32 bit word 2703 formatted according to the line marked ** in the message 2704 diagram follows the adjacent label field if and only if 2705 the E Flag is set. 2707 x: Unused. 2709 Output Label 2710 The output label of the output branch specified in this 2711 Output Branch Record. 2713 ATM specific procedures: 2715 If this Output Branch Record is part of a 2716 Connection Record that specifies a virtual path 2717 connection (the ATM VPC flag is set) the Output VCI 2718 field is unused. 2720 A Report Connection State request message may be issued regardless 2721 of the Port Status or the Line Status of the target switch port. 2723 If the Input Port of the request message is valid, and the All 2724 Connections flag is set, but there are no connections established 2725 on that port, a failure response message must be returned with the 2726 code field set to, "Failure specific to the particular message 2727 type." For the Report Connection State message, this failure code 2728 indicates that no connections matching the request message were 2729 found. This failure message should also be returned if the Input 2730 Port of the request message is valid, the All Connections flag is 2731 zero, and no connections are found on that port matching the 2732 specified connection. 2734 7. Configuration Messages 2736 The configuration messages permit the controller to discover the 2737 capabilities of the switch. Three configuration request messages 2738 have been defined: Switch, Port, and All Ports. 2740 7.1 Switch Configuration Message 2742 The Switch Configuration message requests the global (non port- 2743 specific) configuration for the switch. The Switch Configuration 2744 message is: 2746 Message Type = 64 2748 The Port field is not used in the switch configuration message. 2750 The Switch Configuration message has the following format: 2752 0 1 2 3 2753 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 2754 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2755 | Version | Message Type | Result | Code | 2756 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2757 | Partition ID | Transaction Identifier | 2758 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2759 | MType | MType | MType | MType | 2760 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2761 | Firmware Version Number | Window Size | 2762 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2763 | Switch Type | | 2764 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + 2765 | Switch Name | 2766 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2767 | Max Reservations | 2768 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2770 MType 2771 Represents an alternative QoS Configuration type. 2772 In the request message the requested MType is in the 2773 most significant (leftmost) MType octet; the other three 2774 MType octets are unused. The reply message will either 2775 accept the MType request by including the requested 2776 MType in the leftmost MType field of the response 2777 message or it will reject the MType request by 2778 responding with MType=0, the default MType, in the first 2779 MType field. Optionally, in the case of a rejection, 2780 the switch reply can include up to 3 additional MType 2781 values in the rightmost 3 octets of the reply message 2782 respectively, each of which indicates an available 2784 alternative QoS Configurations. A switch that supports 2785 on the default QoS Configuration always returns MType=0 2786 in all four MType fields. MType negotiation is discussed 2787 in section 7.1.1. 2789 0 � Indicates use of the default GSMP model 2790 1 � Indicates use of IEEE qGSMP model 2791 2 - 200 - Reserved 2792 201 - 255 - Experimental 2794 Firmware Version Number 2795 The version number of the switch control firmware 2796 installed. 2798 Window Size 2799 The maximum number of unacknowledged request messages 2800 that may be transmitted by the controller without the 2801 possibility of loss. This field is used to prevent 2802 request messages being lost in the switch because of 2803 overflow in the receive buffer. The field is a hint to 2804 the controller. If desired, the controller may 2805 experiment with higher and lower window sizes to 2806 determine heuristically the best window size. 2808 [editor's note: some text may be added here with regard 2809 to the tcp/ip encapsulation since if tcp is used then 2810 the switch may adjust the receiver window size.] 2812 Switch Type 2813 A 16-bit field allocated by the manufacturer of the 2814 switch. (For these purposes the manufacturer of the 2815 switch is assumed to be the organisation identified by 2816 the OUI in the Switch Name field.) The Switch Type 2817 identifies the product. When the Switch Type is combined 2818 with the OUI from the Switch Name the product is 2819 uniquely identified. Network Management may use this 2820 identification to obtain product related information 2821 from a database. 2823 Switch Name 2824 A 48-bit quantity that is unique within the operational 2825 context of the device. A 48-bit IEEE 802 MAC address, if 2826 available, may be used as the Switch Name. The most 2827 significant 24 bits of the Switch Name must be an 2828 Organisationally Unique Identifier (OUI) that identifies 2829 the manufacturer of the switch. 2831 Max Reservations 2832 The maximum number of Reservations that the switch can 2833 support (see Chapter 10). A value of 0 indicates that 2834 the switch does not support Reservations. 2836 7.1.1 Configuration Message Processing 2838 After adjacency between a controller and a switch is first 2839 established the controller that opts to use a QoS Configuration 2840 other then the default would send the Switch Configuration request 2841 including the requested QoS Configuration's MType value in the 2842 request message. This request must be sent before any connection 2843 messages are exchanged. If the switch can support the requested 2844 QoS configuration then the switch includes the requested MType 2845 value in the response message as an indication that it accepts the 2846 request. If the switch cannot support the requested QoS 2847 Configuration, it replaces the MType value in the request message 2848 with that of the default QoS Configuration, i.e. MType=0. 2850 The switch configuration response messages may additionally 2851 include the MType values of up to three alternative QoS 2852 Configurations that the switch supports and that the controller 2853 may choose between. 2855 The exchange continues until the controller sends a requested 2856 MType that the switch accepts or until it sends a connection 2857 request message. If the exchange ends without confirmation of an 2858 alternate switch model, then the default Mtype=0 is be used. 2860 Once a MType has been established for the switch, it cannot be 2861 changed without full restart; that is the re-establishment of 2862 adjacency with the resetting of all connections. 2864 7.2 Port Configuration Message 2866 The Port Configuration message requests the switch for the 2867 configuration information of a single switch port. The Port field 2868 in the request message specifies the port for which the 2869 configuration is requested. The Port Configuration message is: 2871 Message Type = 65. 2873 The Port Configuration success response message has the following 2874 format: 2876 0 1 2 3 2877 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 2878 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2879 | Version | Message Type | Result | Code | 2880 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2881 | Partition ID | Transaction Identifier | 2882 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2883 | Port | 2884 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2885 | Port Session Number | 2886 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2887 | PortType |S|x x x x x x x| Data Fields Length | 2888 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2889 | | 2890 ~ PortType Specific Data ~ 2891 | | 2892 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2893 | Number of Service Specs | | 2894 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 2895 | | 2896 ~ Service Specs List ~ 2897 | | 2898 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2900 Port 2901 The switch port to which the configuration information 2902 refers. Configuration information relating to both the 2903 input and the output sides of the switch port is given. 2904 Port numbers are 32 bits wide and allocated by the 2905 switch. The switch may choose to structure the 32 bits 2906 into subfields that have meaning to the physical 2907 structure of the switch hardware (e.g. physical slot and 2908 port). This structure may be indicated in the Physical 2909 Slot Number and Physical Port Number fields. 2911 PortType [Editor's note: words to be written. also, somewhere in 2912 chapter 1 or so we will need text that explains that 2913 certain protocol elements depend on the PortType value.] 2914 PortType = 0d01 = ATM 2915 PortType = 0d02 = FR 2916 PortType = 0d03 = MPLS 2918 S: Service Model 2919 If set, indicates that Service Model data follows the 2920 PortSpecific port configuration data. 2922 Data Fields Length 2923 The total length in bytes of the combined PortType 2924 Specific Data and Service Model Data fields. The length 2925 of each of these fields may be derived from the other 2926 data so the value of Data Fields Length serves primarily 2927 as a check and to assist parsing of the All Ports 2928 Configuration message success response. 2930 PortType Specific Data 2931 This field contains the configuration data specific to 2932 the particular port type as specified by the PortType 2933 field. The field format and length depends also on the 2934 value of PortType. PortType Specific Data is defined 2935 below. 2937 Number of Service Specs 2938 Field contains the total number of Service Specs 2939 following in the remainder of the Port Configuration 2940 message response or Port Configuration Record. 2942 Service Specs List 2943 Field contains a sequence of 1 or more Service Specs 2944 (defined below). If the Number of Service Specs is an 2945 even number then 16 bits of padding is inserted after 2946 the last Service Spec in order to justify the end of the 2947 Service Specs List at a 32bit word boundary. 2949 Service Spec 2950 The format of the Service Spec field is given below: 2952 0 1 2953 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 2954 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2955 | Service ID |Capability Set ID| 2956 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2958 Each Service Spec identifies a Service supported by the 2959 switch together with the Capability Set ID that 2960 identifies the parameters of that instance of the 2961 Service. The Service Spec List may contain more than one 2962 Service Spec that share the same Service ID. However, 2963 each Service Spec in the Service Specs List must be 2964 unique. 2966 Service ID 2967 Field contains the Service ID of a Service 2968 supported on the port. Service ID values are 2969 defined as part of the Service definition in 2970 Chapter 8.6. 2972 Capability Set ID 2973 Field identifies a Capability Set ID of the Service 2974 specified by the Service ID that is supported on 2975 the port. Capability Set ID values are defined by 2976 the Switch in the Service Configuration response 2977 message (see Section 7.4). The switch must not 2978 return a {Service ID, Capability Set ID} pair that 2979 is not reported in a Service Configuration response 2980 message. 2982 7.2.1 PortType Specific Data 2984 The length, format and semantics of the PortType Specific Data field 2985 in the Port Configuration message success response and in the Port 2986 Records of the All Port Configuration message success response all 2987 depend on the PortType value of the same message or record 2988 respectively. The specification of the PortType Specific Data field 2989 is given below. For each defined PortType value the Min and Max 2990 Label fields are given in the subsequent subsections. 2992 0 1 2 3 2993 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 2994 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2995 |V|M|L|R| Min Label | 2996 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2997 |Q|x x x| Max Label | 2998 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2999 | Receive Data Rate | 3000 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3001 | Transmit Data Rate | 3002 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3003 | Port Status | Line Type | Line Status | Priorities | 3004 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3005 | Physical Slot Number | Physical Port Number | 3006 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3008 Flags 3010 V: VP Switching 3011 The ATM VPC flag may only be set for ports with 3012 PortType=ATM. The VP Switching flag, if set, indicates 3013 that this input port is capable of supporting virtual 3014 path switching. Else, if zero, it indicates that this 3015 input port is only capable of virtual channel switching. 3017 M: Multicast Labels 3018 The Multicast Labels flag, if set, indicates that this 3019 output port is capable of labelling each output branch 3020 of a point-to-multipoint tree with a different label. If 3021 zero, it indicates that this output port is not able to 3022 label each output branch of a point-to-multipoint tree 3023 with a different label. 3025 L: Logical Multicast 3026 The Logical Multicast flag, if set, indicates that this 3027 output port is capable of supporting more than a single 3028 branch from any point-to-multipoint connection. This 3029 capability is often referred to as logical multicast. If 3030 zero, it indicates that this output port can only 3031 support a single output branch from each point-to- 3032 multipoint connection. 3034 R: Label Range 3035 The Label Range flag, if set, indicates that this switch 3036 port is capable of reallocating its label range and 3037 therefore accepts the Label Range message. Else, if 3038 zero, it indicates that this port does not accept Label 3039 Range messages. 3041 Q: QoS 3042 The QoS flag, if set, indicates that this switch port is 3043 capable of handling the Quality of Service messages 3044 defined in section 9 of this specification. Else, if 3045 zero, it indicates that this port does not accept the 3046 Quality of Service messages. 3048 x: Unused 3050 Min Label The specification of the Min Label field for each 3051 defined PortType value is given in the subsequent 3052 subsections. The default minimum value of dynamically 3053 assigned incoming label that the connection table on the 3054 input port supports and that may be controlled by GSMP. 3055 This value is not changed as a result of the Label Range 3056 message. 3058 Max Label The specification of the Max Label field for each 3059 defined PortType value is given in the subsequent 3060 subsections. The default maximum value of dynamically 3061 assigned incoming label that the connection table on the 3062 input port supports and that may be controlled by GSMP. 3063 This value is not changed as a result of the Label Range 3064 message. 3066 Receive Data Rate 3067 The maximum rate of data that may arrive at the input 3068 port in; 3069 cells/s for PortType=ATM 3070 bytes/s for PortType=FR 3071 bytes/s for PortType=MPLS. 3073 Transmit Data Rate 3074 The maximum rate of data that may depart from the output 3075 port in; 3076 cells/s for PortType=ATM 3077 bytes/s for PortType=FR 3078 bytes/s for PortType=MPLS 3079 (The transmit data rate of the output port may be 3080 changed by the Set Transmit Data Rate function of the 3081 Port Management message.) 3083 Port Status 3084 Gives the administrative state of the port. The defined 3085 values of the Port Status field are: 3087 Available: 3088 Port Status = 1. The port is available to both send 3089 and receive cells or frames. When a port changes to 3090 the Available state from any other administrative 3091 state, all dynamically assigned connections must be 3092 cleared and a new Port Session Number must be 3093 generated. 3095 Unavailable: 3096 Port Status = 2. The port has intentionally been 3097 taken out of service. No cells or frames will be 3098 transmitted from this port. No cells or frames will 3099 be received by this port. 3101 Internal Loopback: 3102 Port Status = 3. The port has intentionally been 3103 taken out of service and is in internal loopback: 3104 cells or frames arriving at the output port from 3105 the switch fabric are looped through to the input 3106 port to return to the switch fabric. All of the 3107 functions of the input port above the physical 3108 layer, e.g. header translation, are performed upon 3109 the looped back cells or frames. 3111 External Loopback: 3112 Port Status = 4. The port has intentionally been 3113 taken out of service and is in external loopback: 3114 cells or frames arriving at the input port from the 3115 external communications link are immediately looped 3116 back to the communications link at the physical 3117 layer without entering the input port. None of the 3118 functions of the input port above the physical 3119 layer are performed upon the looped back cells or 3120 frames. 3122 Bothway Loopback: 3123 Port Status = 5. The port has intentionally been 3124 taken out of service and is in both internal and 3125 external loopback. 3127 The Port Status of the port over which the GSMP session 3128 controlling the switch is running, must be declared 3129 Available. The controller will ignore any other Port 3130 status for this port. The Port Status of switch ports 3131 after power-on initialisation is not defined by GSMP. 3133 Line Type [Note: what about other port types? Fiffi] 3134 Only applicable for PortType=ATM. The type of physical 3135 transmission interface for this port. The values for 3136 this field are defined by the atmIfType object specified 3137 in the Ipsilon IP Switch MIB [4]. 3139 Line Status 3140 The status of the physical transmission medium connected 3141 to the port. The defined values of the Line Status field 3142 are: 3144 Up: Line Status = 1. The line is able to both send and 3145 receive. When the Line Status changes to Up from 3146 either the Down or Test states, a new Port Session 3147 Number must be generated. 3149 Down: Line Status = 2. The line is unable either to send 3150 or receive or both. 3152 Test: Line Status = 3. The port or line is in a test 3153 mode, for example, power-on test. 3155 Priorities 3156 The number of different priority levels that this output 3157 port can assign to connections. Zero is invalid in this 3158 field. If an output port is able to support "Q" 3159 priorities, the highest priority is numbered zero and 3160 the lowest priority is numbered "Q-1". The ability to 3161 offer different qualities of service to different 3162 connections based upon their priority is assumed to be a 3163 property of the output port of the switch. It may be 3164 assumed that for connections that share the same output 3165 port, a cell or frame on a connection with a higher 3166 priority is much more likely to exit the switch before a 3167 cell or frame on a connection with a lower priority if 3168 they are both in the switch at the same time. 3170 Physical Slot Number 3171 The physical location of the slot in which the port is 3172 located. It is an unsigned 16-bit integer that can take 3173 any value except 0xFFFF. The value 0xFFFF is used to 3174 indicate "unknown." The Physical Slot Number is not used 3175 by the GSMP protocol. It is provided to assist network 3176 management in functions such as logging, port naming, 3177 and graphical representation. 3179 Physical Port Number 3180 The physical location of the port within the slot in 3181 which the port is located. It is an unsigned 16-bit 3182 integer that can take any value except 0xFFFF. The value 3183 0xFFFF is used to indicate "unknown." The Physical Port 3184 Number is not used by the GSMP protocol. It is provided 3185 to assist network management in functions such as 3186 logging, port naming, and graphical representation. 3188 There must be a one to one mapping between Port Number 3189 and the Physical Slot Number and Physical Port Number 3190 combination. Two different Port Numbers must not yield 3191 the same Physical Slot Number and Physical Port Number 3192 combination. The same Port Number must yield the same 3193 Physical Slot Number and Physical Port Number within a 3194 single GSMP session. If both Physical Slot Number and 3195 Physical Port Number indicate "unknown" the physical 3196 location of switch ports may be discovered by looking up 3197 the product identity in a database to reveal the 3198 physical interpretation of the 32-bit Port Number. 3200 7.2.1.1 PortType Specific data for PortType=ATM 3202 If PortType=ATM the label range fields have following format: 3204 0 1 2 3 3205 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 3206 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3207 |V|M|L|R| Min VPI | Min VCI | 3208 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3209 |Q|x x x| Max VPI | Max VCI | 3210 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3212 Min VPI The default minimum value of dynamically assigned 3213 incoming VPI that the connection table on the input port 3214 supports and that may be controlled by GSMP. 3216 Max VPI The default maximum value of dynamically assigned 3217 incoming VPI that the connection table on the input port 3218 supports and that may be controlled by GSMP. 3220 At power-on, after a hardware reset, and after the Reset 3221 Input Port function of the Port Management message, the 3222 input port must handle all values of VPI within the 3223 range Min VPI to Max VPI inclusive and GSMP must be able 3224 to control all values within this range. It should be 3225 noted that the range Min VPI to Max VPI refers only to 3226 the incoming VPI range that can be supported by the 3227 associated port. No restriction is placed on the values 3228 of outgoing VPIs that may be written into the cell 3229 header. If the switch does not support virtual paths it 3230 is acceptable for both Min VPI and Max VPI to specify 3231 the same value, most likely zero. 3233 Use of the Label Range message allows the range of VPIs 3234 supported by the port to be changed. However, the Min 3235 VPI and Max VPI fields in the Port Configuration and All 3236 Ports Configuration messages always report the same 3237 default values regardless of the operation of the Label 3238 Range message. 3240 Min VCI The default minimum value of dynamically assigned 3241 incoming VCI that the connection table on the input port 3242 can support and may be controlled by GSMP. This value is 3243 not changed as a result of the Label Range message. 3245 Max VCI The default maximum value of dynamically assigned 3246 incoming VCI that the connection table on the input port 3247 can support and may be controlled by GSMP. 3249 At power-on, after a hardware reset, and after the Reset 3250 Input Port function of the Port Management message, the 3251 input port must handle all values of VCI within the 3252 range Min VCI to Max VCI inclusive, for each of the 3253 virtual paths in the range Min VPI to Max VPI inclusive, 3254 and GSMP must be able to control all values within this 3255 range. It should be noted that the range Min VCI to Max 3256 VCI refers only to the incoming VCI range that can be 3257 supported by the associated port on each of the virtual 3258 paths in the range Min VPI to Max VPI. No restriction is 3259 placed on the values of outgoing VCIs that may be 3260 written into the cell header. 3262 Use of the Label Range message allows the range of VCIs 3263 to be changed on each VPI supported by the port. 3264 However, the Min VCI and Max VCI fields in the Port 3265 Configuration and All Ports Configuration messages 3266 always report the same default values regardless of the 3267 operation of the Label Range message. 3269 For a port over which the GSMP protocol is operating, 3270 the VCI of the GSMP control channel may or may not be 3271 reported as lying within the range Min VCI to Max VCI. A 3272 switch should honour a connection request message that 3273 specifies the VCI value of the GSMP control channel even 3274 if it lies outside the range Min VCI to Max VCI. 3276 7.2.1.2 PortType Specific data for PortType=FR 3278 If PortType=FR the label range fields have following format: 3279 0 1 2 3 3280 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 3281 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3282 |V|M|L|R|x x|Len| Min DLCI | 3283 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3284 |Q|x x x x x x x| Max DLCI | 3285 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3287 Len 3288 This field specifies the number of bits of the DLCI. The 3289 following values are supported: 3290 Len DLCI bits 3291 0 10 3292 1 17 3293 2 23 3295 Min DLCI 3296 Max DLCI Specify a range of DLCI values, Min DLCI to Max DLCI 3297 inclusive. The values should be right justified in the 3298 23 bit fields and the preceding bits should be set to 3299 zero. A single DLCI may be specified with a Min DLCI and 3300 a Max DLCI having the same value. In a request message, 3301 if the value of the Max DLCI field is less than or equal 3302 to the value of the Min DLCI field, the requested range 3303 is a single DLCI with a value equal to the Min DLCI 3304 field. Zero is a valid value. 3306 7.2.1.3 PortType Specific data for PortType=MPLS 3308 The Label Range field for PortTypes using MPLS labels (e.g. 3309 Ethernet, SONET etc.) has the following format: 3310 0 1 2 3 3311 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 3312 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3313 |V|M|L|R|x x x x x x x x| Min MPLS Label | 3314 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3315 |Q x x x|x x x x x x x x| Max MPLS Label | 3316 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3318 Min MPLS Label: 3319 Max MPLS Label: 3320 Specify a range of MPLS label values, Min MPLS Label to 3321 Max MPLS Label inclusive. The Max and Min MPLS label 3322 fields are 20 bits each. 3324 7.3 All Ports Configuration Message 3326 The All Ports Configuration message requests the switch for the 3327 configuration information of all of its ports. The All Ports 3328 Configuration message is: 3330 Message Type = 66 3332 The Port field is not used in the request message. 3334 The All Ports Configuration success response message has the 3335 following format: 3337 0 1 2 3 3338 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 3339 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3340 | Version | Message Type | Result | Code | 3341 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3342 | Partition ID | Transaction Identifier | 3343 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3344 | Number of Records | Reserved | 3345 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3346 | | 3347 ~ Port Records ~ 3348 | | 3349 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3351 Number of Records 3352 Field gives the total number of Port Records to be 3353 returned in response to the All Ports Configuration 3354 request message. The number of port records in a single 3355 All Ports Configuration success response must not cause 3356 the packet length to exceed the maximum transmission 3357 unit defined by the encapsulation. If a switch has more 3358 ports than can be sent in a single success response 3359 message it must send multiple success response messages. 3360 All success response messages that are sent in response 3361 to the same request message must have the same 3362 Transaction Identifier as the request message and the 3363 same value in the Number of Records field. All success 3364 response messages that are sent in response to the same 3365 request message, except for the last message, must have 3366 the result field set to "More." The last message, or a 3367 single success response message, must have the result 3368 field set to "Success." All Port records within a 3369 success response message must be complete, i.e. a single 3370 Port record must not be split across multiple success 3371 response messages. 3373 Port Records 3374 Follow in the remainder of the message. Each port record 3375 has the following format: 3377 0 1 2 3 3378 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 3379 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3380 | Port | 3381 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3382 | Port Session Number | 3383 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3384 | PortType |S|x x x x x x x| Data Fields Length | 3385 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3386 | | 3387 ~ PortType Specific Data ~ 3388 | | 3389 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3390 | Number of Service Specs | | 3391 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 3392 | | 3393 ~ Service Specs List ~ 3394 | | 3395 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3397 The definition of the fields in the Port Record is exactly the 3398 same as that of the Port Configuration message. 3400 7.4 Service Configuration Message 3402 The Service Configuration message requests the switch for the 3403 configuration information of the Services that are supported. The 3404 Service Configuration message is: 3406 Message Type = 67 3408 The Service Configuration success response message has the 3409 following format: 3411 0 1 2 3 3412 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 3413 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3414 | Version | Message Type | Result | Code | 3415 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3416 | Partition ID | Transaction Identifier | 3417 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3418 | Number of Service Records | Reserved | 3419 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3420 | | 3421 ~ Service Records ~ 3422 | | 3423 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3425 Number of Service Records 3426 Field gives the total number of Service Records to be 3427 returned in the Service model Data field. 3429 Service Records 3430 A sequence of zero or more Service Records. The switch 3431 returns one Service Record for each Service that it 3432 supports any of its ports. A Service record contains the 3433 configuration data of the specified Service. Each 3434 Service Record has the following format: 3436 0 1 2 3 3437 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 3438 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3439 | Service ID | Reserved | Number of Cap. Set. Records | 3440 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3441 | | 3442 ~ Capability Set Records ~ 3443 | | 3444 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3446 Service ID The Service ID Field identifies the Service supported by 3447 the port. The Services are defined with their Service ID 3448 values in Chapter 8.6. 3450 Number of Cap. Set. Records 3451 Field gives the total number of Capability Set Records 3452 to be returned in the Service Record field. 3454 Capability Set Records 3455 The switch returns one or more Capability Set Records in 3456 each Service Record. A Capability Set contains a set of 3457 parameters that describe the QoS parameter values and 3458 traffic controls that apply to an instance of the 3459 Service. Each Capability Set record has the following 3460 format: 3462 0 1 2 3 3463 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 3464 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3465 | Cap. Set ID | Reserved | Traffic Controls | 3466 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3467 | CLR | CTD | 3468 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3469 | Frequency | CDV | 3470 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3472 Capability Set ID 3473 The value in this Field defines a Capability Set ID 3474 supported by the switch. The values of a Capability Set 3475 ID is assigned by the switch and used in Port 3476 Configuration messages to identify Capability Sets 3477 supported by individual ports. Each Capability Set 3478 Record within a Service Record must have a unique 3479 Capability Set ID. 3481 Traffic Controls 3482 Field identifies the availability of Traffic Controls within 3483 the Capability Set. Traffic Controls are defined as part of the 3484 respective Service definition, see Chapter 8.6. Some or all of 3485 the Traffic Controls may be undefined for a given Service, in 3486 which case the corresponding Flag is ignored by the controller. 3487 The Traffic Controls field is formatted into Traffic Control 3488 Sub-fields as follows: 3490 0 1 3491 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 3492 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3493 | U | D | I | E | S | V | Res | 3494 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3496 Traffic Control Sub-fields have the following encoding: 3498 0b00 Indicates that the Traffic Control is not available in 3499 the Capability Set. 3501 0b01 Indicates that the Traffic Control is applied to all 3502 connections that use the Capability Set. 3504 0b10 Indicates that the Traffic Control is available for 3505 application to connections that use the Capability Set 3506 on a per connection basis. 3508 0b11 Reserved 3510 Traffic Control Sub-fileds: 3512 U: Usage Parameter Control 3513 The Usage Parameter Control sub-field indicates the 3514 availability of Usage Parameter Control for the 3515 specified Service and Capability Set. 3517 D: Packet Discard 3518 The Packet Discard sub-field indicates the availability 3519 of Packet Discard for the specified Service and 3520 Capability Set. 3522 I: Ingress Shaping 3523 The Ingress Shaping sub-field indicates the availability 3524 of Ingress Traffic Shaping to the Peak Cell Rate and 3525 Cell Delay Variation Tolerance for the specified Service 3526 and Capability Set. 3528 E: Egress Shaping, Peak Rate 3529 The Egress Shaping, Peak Rate sub-field indicates the 3530 availability of Egress Shaping to the Peak Cell Rate and 3531 Cell Delay Variation Tolerance for the specified Service 3532 and Capability Set. 3534 S: Egress Traffic Shaping, Sustainable Rate 3535 The Egress Shaping, Sustainable Rate sub-field, if set, 3536 indicates that Egress Traffic Shaping to the Sustainable 3537 Cell Rate and Maximum Burst Size is available for the 3538 specified Service and Capability Set. 3540 V: VC Merge 3541 The VC Merge sub-field indicates the availability of ATM 3542 Virtual Channel Merge (i.e. multipoint to point ATM 3543 switching with a traffic control to avoid AAL5 PDU 3544 interleaving) capability for the specified Service and 3545 Capability Set. 3547 Res: Reserved 3549 QoS Parameters 3550 The remaining four fields in the Capability Set Record contain 3551 the values of QoS Parameters. QoS Parameters are defined as 3552 part of the respective Service definition, see Chapter 8.6. 3553 Some or all of the QoS Parameters may be undefined for a given 3554 Service, in which case the corresponding field is ignored by 3555 the controller. 3557 CLR: Cell Loss Ratio 3558 The Cell Loss Ratio parameter indicates the CLR 3559 guaranteed by the switch for the specified Service. A 3560 cell loss ratio is expressed as an order of magnitude n, 3561 where the CLR takes the value 10exp(n). The value n is 3562 coded as a binary integer, having a range of 1 <= n <= 3563 15. In addition, the value 0b1111 1111 indicates that no 3564 CLR guarantees is given. 3566 Frequency 3567 The frequency field is coded as an 8 bit unsigned 3568 integer. Frequency applies to the MPLS CR-LDP Service 3569 (see Section 9.4.3). Valid values of Frequency are: 3571 0 - Very frequent 3572 1 - Frequent 3573 2 - Unspecified 3575 CTD: Cell Transfer delay 3576 The CTD value is expressed in units of microseconds. It 3577 is coded as a 24-bit binary integer. 3579 CDV: Peak-to-peak Cell Delay Variation 3580 The CDV value is expressed in units of microseconds. It 3581 is coded as a 24-bit binary integer. 3583 8. Event Messages 3585 Event messages allow the switch to inform the controller of 3586 certain asynchronous events. By default the controller does not 3587 acknowledge event messages unless ReturnReceipt is set in the 3588 Result field. The Code field is only used in case of Adjacency 3589 Update message, otherwise it is not used and should be set to 3590 zero. Event messages are not sent during initialisation. Event 3591 messages have the following format: 3593 0 1 2 3 3594 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 3595 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3596 | Version | Message Type | Result | Code | 3597 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3598 | Transaction Identifier | 3599 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3600 | Port | 3601 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3602 | Port Session Number | 3603 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3604 | Event Sequence Number | 3605 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3606 |x x x|E| Label | 3607 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3608 ** ~x x x|E| Extended Label ~ 3609 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 3611 ** Note: There can be zero or more 32 bit words containing 3612 Extended Labels (like those marked **) following an Input 3613 or Output Label field. A 32 bit word containing an Extended 3614 Label follows the previous label field if and only if the E 3615 Flag immediately preceding the previous label is set. 3617 Event Sequence Number 3618 The current value of the Event Sequence Number for the 3619 specified port. The Event Sequence Number is set to zero 3620 when the port is initialised. It is incremented by one 3621 each time the port detects an asynchronous event that 3622 the switch would normally report via an Event message. 3623 The Event Sequence Number must be incremented each time 3624 an event occurs even if the switch is prevented from 3625 sending an Event message due to the action of the flow 3626 control. 3628 E: Extension Label 3629 The Extension Label Flag is used to extend the adjacent 3630 label field by inserting, after the adjacent label, an 3631 additional 32 bit word into the message. A 32 bit word 3632 formatted according to the line marked ** in the message 3633 diagram follows the adjacent label field if and only if 3634 the E Flag is set. 3636 Label 3637 Field gives the Label to which the event message refers. 3638 If this field is not required by the event message it is 3639 set to zero. 3641 Each switch port must maintain an Event Sequence Number and a set 3642 of Event Flags, one Event Flag for each type of Event message. 3643 When a switch port sends an Event message it must set the Event 3644 Flag on that port corresponding to the type of the event. The port 3645 is not permitted to send another Event message of the same type 3646 until the Event Flag has been reset. Event Flags are reset by the 3647 "Reset Event Flags" function of the Port Management message. This 3648 is a simple flow control preventing the switch from flooding the 3649 controller with event messages. The Event Sequence Number of the 3650 port must be incremented every time an event is detected on that 3651 port even if the port is prevented from reporting the event due to 3652 the action of the flow control. This allows the controller to 3653 detect that it has not been informed of some events that have 3654 occurred on the port due to the action of the flow control. 3656 8.1 Port Up Message 3658 The Port Up message informs the controller that the Line Status of 3659 a port has changed from either the Down or Test state to the Up 3660 state. When the Line Status of a switch port changes to the Up 3661 state from either the Down or Test state a new Port Session Number 3662 must be generated, preferably using some form of random number. 3663 The new Port Session Number is given in the Port Session Number 3664 field. The Label field is not used and is set to zero. The Port Up 3665 message is: 3667 Message Type = 80 3669 8.2 Port Down Message 3671 The Port Down message informs the controller that the Line Status 3672 of a port has changed from the Up state to the Down state. This 3673 message will be sent to report link failure if the switch is 3674 capable of detecting link failure. The port session number that 3675 was valid before the port went down is reported in the Port 3676 Session Number field. The Label field is not used and is set to 3677 zero. The Port Down message is: 3679 Message Type = 81 3681 8.3 Invalid Label Message 3683 The Invalid Label message is sent to inform the controller that 3684 one or more cells or frames have arrived at an input port with a 3685 Label that is currently not allocated to an assigned connection. 3686 The input port is indicated in the Port field, and the Label in 3687 the Label field. The Invalid Label message is: 3689 Message Type = 82 3691 8.4 New Port Message 3693 The New Port message informs the controller that a new port has 3694 been added to the switch. The port number of the new port is given 3695 in the Port field. A new Port Session Number must be assigned, 3696 preferably using some form of random number. The new Port Session 3697 Number is given in the Port Session Number field. The state of the 3698 new port is undefined so the Label field is not used and is set to 3699 zero. The New Port message is: 3701 Message Type = 83 3703 8.5 Dead Port Message 3705 The Dead Port message informs the controller that a port has been 3706 removed from the switch. The port number of the port is given in 3707 the Port field. The Port Session Number that was valid before the 3708 port was removed is reported in the Port Session Number field. The 3709 Label fields are not used and are set to zero. The Dead Port 3710 message is: 3712 Message Type = 84 3714 8.6 Adjacency Update Message 3716 The Adjacency Update message informs the controller when 3717 adjacencies, i.e. other controllers controlling a specific 3718 partition, are joining or leaving. When a new adjacency has been 3719 established, the switch sends an Adjacency Update message to every 3720 controller with an established adjacency to that partition. The 3721 Adjacency Update message is also sent when adjacency is lost 3722 between the partition and a controller, provided that there are 3723 any remaining adjacencies with that partition. The Code field is 3724 used to indicate the number of adjacencies known by the switch 3725 partition. The label field is not used and should be set to zero. 3726 The Adjacency Update message is: 3728 Message Type = 85 3730 9. Service Model Definition 3732 9.1 Overview 3734 In the GSMP Service Model a controller may request the switch to 3735 establish a connection with a given Service. The requested Service 3736 is identified by including a Service ID in the Add Branch message. 3737 The Service ID refers to a Service Definition provided in this 3738 chapter of the GSMP specification. 3740 A switch that implements one or more of the Services, as defined 3741 below, advertises the availability of these Services in the 3742 Service Configuration message response (see Section 7.4). Details 3743 of the switch's implementation of a given Service that are 3744 important to the controller (e.g. the value of delay or loss 3745 bounds or the availability of traffic controls such as policers or 3746 shapers) are reported in the form of a Capability Set in the 3747 Service Configuration message response. 3749 Thus a switch's implementation of a Service is defined in two 3750 parts: the Service Definition, which is part of the GSMP 3751 specification, and the Capability Set, which describes attributes 3752 of the Service specific to the switch. A switch may support more 3753 than one Capability Set for a given Service. For example if a 3754 switch supports one Service with two different values of a delay 3755 bound it could do this by reporting two Capability Sets for that 3756 Service. 3758 The Service Definition is identified in GSMP messages by the 3759 Service ID, an eight bit identifier. Assigned numbers for the 3760 Service ID are given with the Service Definitions in Section 9.4. 3761 The Capability Set is identified in GSMP messages by the 3762 Capability Set ID, an eight bit identifier. Numbers for the 3763 Capability Set ID are assigned by the switch and are advertised in 3764 the Service Configuration message response. 3766 The switch reports all its supported Services and Capability Sets 3767 in the Service Configuration message response. The subset of 3768 Services and Capability Sets supported on an individual port is 3769 reported in the Port Configuration message response or in the All 3770 Ports Configuration message response. In these messages the 3771 Services and Capability Sets supported on the specified port are 3772 indicated by a list of {Service ID, Capability Set ID} number 3773 pairs. 3775 9.2 Service Model Definitions 3777 Terms and objects defined for the GSMP Service Model are given in 3778 this section. 3780 9.2.1 Original Specifications 3782 Services in GSMP are defined largely with reference to Original 3783 Specifications, i.e. the standards or implementation agreements 3784 published by organisations such as ITU-T, IETF, and ATM Forum that 3785 originally defined the Service. This version of GSMP refers to 4 3786 Original specifications: [8], [9], [10], and [11]. 3788 9.2.2 Service Definition, Traffic Parameters, QoS Parameters and 3789 Traffic Controls 3791 Each Service Definition in GSMP includes definition of: 3793 Traffic Parameters 3794 Traffic Parameter definitions are associated with Services 3795 while Traffic Parameter values are associated with 3796 connections. 3798 Traffic Parameters quantitatively describe a connection's 3799 requirements on the Service. For example, Peak Cell Rate is 3800 a Traffic Parameter of the Service defined by the ATM Forum 3801 Constant Bit Rate Service Category. 3803 Some Traffic Parameters are mandatory and some are 3804 optional, depending on the Service. 3806 Semantics of Traffic Parameters are defined by reference to 3807 Original Specifications. 3809 QoS Parameters 3810 QoS Parameters and their values are associated with 3811 Services. 3813 QoS Parameters express quantitative characteristics of a 3814 switch's support of a Service. They include, for example, 3815 quantitative bounds on switch induced loss and delay. 3817 Some QoS Parameters will be mandatory and some will be 3818 optional. 3820 Semantics of QoS Parameters are defined by reference to 3821 Original Specifications. 3823 Traffic Controls 3824 The implementation of some Services may include the use of 3825 Traffic Controls. Traffic Controls include for example 3826 functions such as policing, input shaping, output shaping, 3827 tagging and marking, frame vs. cell merge, frame vs. cell 3828 discard. 3830 Switches are not required to support Traffic Controls. Any 3831 function that is always required in the implementation of a 3832 Service is considered part of the Service and is not 3833 considered a Traffic Control. 3835 If a switch supports a Traffic Control then the control may 3836 be applied either to all connections that use a given 3837 Capability Set (see below) or to individual connections. 3839 The definition of a Traffic Control is associated with a 3840 Service. Traffic Controls are defined, as far as possible, 3841 by reference to Original Specifications. 3843 9.2.3 Capability Sets 3845 For each Service that a switch supports the switch must also 3846 support at least one Capability Set. A Capability Set establishes 3847 characteristics of a switch's implementation of a Service. It may 3848 be appropriate for a switch to support more than one Capability 3849 Set for a given Service. 3851 A Capability Set may contain, depending on the Service definition, 3852 QoS Parameter values and indication of availability of Traffic 3853 Controls. 3855 If a switch reports QoS Parameter values in a Capability Set then 3856 these apply to all the connections that use that Capability Set. 3858 For each Traffic Control defined for a given Service the switch 3859 reports availability of that control as one of the following: 3861 Not available in the Capability Set, 3863 Applied to all connections that use the Capability Set, or 3865 Available for application to connections that use the 3866 Capability Set on a per connection basis. In this case a 3867 controller may request application of the Traffic Control 3868 in connection management messages. 3870 9.3 Service Model Procedures 3872 A switch's Services and Capability Sets are reported to a 3873 controller in a Service Configuration messages. A Service 3874 Configuration message response includes the list of Services 3875 defined for GSMP that the switch supports and, for each Service, a 3876 specification of the Capability Sets supported for the Service. 3877 Services are referred to by numbers standardised in the GSMP 3878 specification. Capability Sets are referred to by a numbering 3879 system reported by the switch. Each Capability Set within a given 3880 Service includes a unique identifying number together with the 3881 switch's specification of QoS Parameters and Traffic Controls. 3883 A switch need not support all the defined Services and Capability 3884 Sets on every port. The supported Services and Capability Sets are 3885 reported to the controller on a per port basis in port 3886 configuration messages. Port configuration response messages list 3887 the supported Services using the standardised identifying numbers 3888 and the Capability Sets by using the identifying numbers 3889 established in the switch Service configuration messages. 3891 GSMP does not provide a negotiation mechanism by which a 3892 controller may establish or modify Capability Sets. 3894 When a controller establishes a connection, the connection 3895 management message includes indication of the Service and the 3896 Capability Set. Depending on these the connection management 3897 message may additionally include Traffic Parameter values and 3898 Traffic Control flags. 3900 A connection with a given Service can only be established if both 3901 the requested Service and the requested Capability Set are 3902 available on all of the connection's input and output ports. 3904 Refresh of an extant connection is permitted but the add branch 3905 message requesting the message must not include indication of 3906 Service, Capability Sets or Traffic Parameters. 3908 An extant connection's Traffic Parameters may be changed without 3909 first deleting the connection. The Service and Capability Sets of 3910 an extant connection cannot be changed. Either the one stage or 3911 two stage connection set-up procedure may be used to change an 3912 extant connection's Traffic Parameters. 3914 Move branch messages may be refused on the grounds of resource 3915 depletion. In the case of a one stage set-up the connection state 3916 does not change if a move branch request is thus refused. 3918 A switch may support a bandwidth allocation function. If it does, 3919 a controller may choose to use it or not to use it. A controller 3920 indicates whether or not switch bandwidth allocation is requested 3921 using a bandwidth allocation (BA) flag in connection management 3922 messages. A switch indicates that it is honouring the bandwidth 3923 allocation request, and thus the QoS commitments indicated in the 3924 QoS of its Capability Sets, by responding with the BA flag set. If 3925 the switch does not have a bandwidth allocation function then it 3926 will always respond with the BA flag zeroed. If the controller 3927 ever sends a request with a zeroed BA flag, the switch is not 3928 obliged to honour the QoS commitments for the requested 3929 connection, other extant connections or future connections. If the 3930 switch receives a request with the BA flag set it must not reject 3931 the connection based on a lack of bandwidth. If, after the 3932 controller has issued a request with the BA flag zeroed, the 3933 switch is still able to track whether or not it is honouring the 3934 QoS commitments then it may indicate that QoS commitments are 3935 honoured using the BA flag in its responses. The controller may 3936 poll the switch with connection refresh messages to determine if 3937 the switch is still honouring QoS. 3939 9.4 Service Definitions 3941 This section sets forth the definition of Services. Each Service 3942 will be defined in its own subsection. Each Service definition 3943 includes the following definitions: 3945 Service Identifier 3946 The reference number used to identify the Service in GSMP 3947 messages. 3949 Service Characteristics 3950 A definition of the Service. 3952 Traffic Parameters 3953 A definition of the Traffic Parameters used in connection 3954 management messages. 3956 QoS Parameters 3957 A definition of the QoS Parameters that are included in the 3958 Capability Set for instances of the Service. 3960 Traffic Controls 3961 A definition of the Traffic Controls that may be supported 3962 by an instance of the Service. 3964 Descriptive text is avoided wherever possible in order to minimise 3965 any possibility of semantic conflict with the Original 3966 Specifications. 3968 9.4.1 ATM Forum Service Categories 3970 9.4.1.1 CBR 3972 Service Identifier: 3974 CBR.1 - Service ID = 1 3976 Service Characteristics: 3978 Equivalent to ATM Forum CBR.1 Service, see [8]. 3980 Traffic Parameters: 3982 - Peak Cell Rate 3984 - Cell Delay Variation Tolerance 3986 QoS Parameters: 3988 - Cell Loss Ratio 3990 - Maximum Cell Transfer Delay 3992 - Peak-to-peak Cell Delay Variation 3994 Traffic Controls: 3996 - (U) Usage Parameter Control 3998 - (I) Ingress Traffic Shaping to the Peak Cell Rate 4000 - (E) Egress Traffic Shaping to the Peak Cell Rate and Cell 4001 Delay Variation Tolerance 4003 - (D) Packet Discard 4005 9.4.1.2 rt-VBR 4007 Service Identifier: 4009 rt-VBR.1 - Service ID = 2 4011 rt-VBR.2 - Service ID = 3 4013 rt-VBR.3 - Service ID = 4 4015 Service Characteristics: 4017 Equivalent to ATM Forum rt-VBR Service, see [8]. 4019 Traffic Parameters: 4021 - Peak Cell Rate 4023 - Cell Delay Variation Tolerance 4024 - Sustainable Cell Rate 4026 - Maximum Burst Size 4028 QoS Parameters: 4030 - Cell Loss Ratio 4032 - Maximum Cell Transfer Delay 4034 - Peak-to-peak Cell Delay Variation 4036 Traffic Controls: 4038 - (U) Usage Parameter Control 4040 - (I) Ingress Traffic Shaping to the Peak Cell Rate 4042 - (E) Egress Traffic Shaping to the Peak Cell Rate and Cell 4043 Delay Variation Tolerance 4045 - (S) Egress Traffic Shaping to the Sustainable Cell Rate and 4046 Maximum Burst Size 4048 - (P) Packet Discard 4050 - (V) VC Merge 4052 9.4.1.3 nrt-VBR 4054 Service Identifier: 4056 nrt-VBR.1 - Service ID = 5 4058 nrt-VBR.2 - Service ID = 6 4060 nrt-VBR.3 - Service ID = 7 4062 Service Characteristics: 4064 Equivalent to ATM Forum nrt-VBR Service, see [8]. 4066 Traffic Parameters: 4068 - Peak Cell Rate 4070 - Cell Delay Variation Tolerance 4072 - Sustainable Cell Rate 4073 - Maximum Burst Size 4075 QoS Parameter: 4077 - Cell Loss Ratio 4079 Traffic Controls: 4081 - (U) Usage Parameter Control 4083 - (I) Ingress Traffic Shaping to the Peak Cell Rate 4085 - (E) Egress Traffic Shaping to the Peak Cell Rate and Cell 4086 Delay Variation Tolerance 4088 - (S) Egress Traffic Shaping to the Sustainable Cell Rate and 4089 Maximum Burst Size 4091 - (P) Packet Discard 4093 - (V) VC Merge 4095 9.4.1.4 UBR 4097 Service Identifier: 4099 UBR.1 - Service ID = 8 4101 UBR.2 - Service ID = 9 4103 Service Characteristics: 4105 Equivalent to ATM Forum UBR Service, see [8]. 4107 Traffic Parameters: 4109 - Peak Cell Rate 4111 - Cell Delay Variation Tolerance 4113 QoS Parameter: 4115 None 4117 Traffic Controls: 4119 - (U) Usage Parameter Control 4121 - (I) Ingress Traffic Shaping to the Peak Cell Rate 4122 - (E) Egress Traffic Shaping to the Peak Cell Rate and Cell 4123 Delay Variation Tolerance 4125 - (P) Packet Discard 4127 - (V) VC Merge 4129 9.4.1.5 ABR 4131 ABR is not supported in this version of GSMP. 4133 9.4.1.6 GFR 4135 Service Identifier: 4137 GFR.1 - Service ID = 12 4139 GFR.2 - Service ID = 13 4141 Service Characteristics: 4143 Equivalent to ATM Forum GFR Service, see [8]. 4145 Traffic Parameters: 4147 - Peak Cell Rate 4149 - Cell Delay Variation Tolerance 4151 - Minimum Cell Rate 4153 - Maximum Burst Size 4155 - Maximum Frame Size 4157 QoS Parameter: 4159 - Cell Loss Ratio 4161 Traffic Controls: 4163 - (U) Usage Parameter Control 4165 - (I) Ingress Traffic Shaping to the Peak Cell Rate 4167 - (E) Egress Traffic Shaping to the Peak Cell Rate and Cell 4168 Delay Variation Tolerance 4170 - (V) VC Merge 4172 9.4.2 Integrated Services 4174 9.4.2.1 Controlled Load 4176 Service Identifier: 4178 Int-Serv Controlled Load - Service ID = 20 4180 Service Characteristics: 4182 See [9]. 4184 Traffic Parameters: 4186 - Token bucket rate (r) 4188 - Token bucket depth (b) 4190 - Peak rate (p) 4192 - Minimum policed unit (m) 4194 - Maximum packet size (M) 4196 QoS Parameter: 4198 None. 4200 Traffic Controls: 4202 None. 4204 9.4.3 MPLS CR-LDP 4206 Service Identifier: 4208 MPLS CR-LDP QoS - Service ID = 25 4210 Service Characteristics: 4212 See [10]. 4214 Traffic Parameters: 4216 - Peak Data Rate 4218 - Peak Burst Size 4219 - Committed Data Rate 4221 - Committed Burst Size 4223 - Excess Burst Size 4225 - Weight 4227 QoS Parameter: 4229 - Frequency 4231 Traffic Controls: 4233 None currently defined. 4235 9.4.4 Frame Relay 4237 Service Identifier: 4239 Frame Relay Service - Service ID = 30 4241 Service Characteristics: 4243 Equivalent to Frame Relay Bearer Service, see [11]. 4245 Traffic Parameters: 4247 - Committed Information Rate 4249 - Committed Burst Rate 4251 - Excess Burst Rate 4253 QoS Parameters: 4255 None 4257 Traffic Controls: 4259 - Usage Parameter Control 4261 - Egress Traffic Shaping to the Committed Information Rate 4262 and Committed Burst Size 4264 9.4.5 Diff-Serv 4266 For future study. 4268 9.5 Format and encoding of the Traffic Parameters Block in 4269 connection management messages 4271 Connection management messages that use the GSMP Service Model 4272 (i.e. those that have QMS=0b10) include the Traffic Parameters 4273 Block that specifies the Traffic Parameter values of a connection. 4274 The required Traffic Parameters of a given Service are given in 4275 Section 9.4. The format and encoding of these parameters are given 4276 below. 4278 9.5.1 Traffic Parameters for ATM Forum Services 4280 The Traffic Parameters: 4282 - Peak Cell Rate 4284 - Cell Delay Variation Tolerance 4286 - Sustainable Cell Rate 4288 - Maximum Burst Size 4290 - Minimum Cell Rate 4292 - Maximum Frame Size 4294 are defined in [8]. These Parameters are encoded as 24 bit 4295 unsigned integers. Peak Cell Rate, Sustainable Cell Rate, and 4296 Minimum Cell Rate are in units of cells per second. Cell Delay 4297 Variation Tolerance is in units of microseconds. Maximum Burst 4298 Size and Maximum Frame Size are in units of cells. In GSMP 4299 messages the individual Traffic Parameters are encoded as follows: 4301 0 1 2 3 4302 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 4303 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4304 | Reserved | 24 bit unsigned integer | 4305 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4307 The format of the Traffic Parameters Block in connection 4308 management messages depends on the Service. It is a sequence of 4309 the 32 bit words (as shown above) corresponding to the Traffic 4310 Parameters as specified in the Service Definitions given in 4311 Section 9.4.1 in the order given there. 4313 9.5.2 Traffic Parameters for the Int-Serv Controlled Load Service 4315 The Traffic Parameters: 4317 - Token bucket rate (r) 4319 - Token bucket size (b) 4321 - Peak rate (p) 4322 are defined in [9]. They are encoded as 32 bit IEEE single- 4323 precision floating point numbers. The Traffic Parameters Token 4324 bucket rate (r) and Peak rate (p) are in units of bytes per 4325 seconds. The Traffic Parameter Token bucket size (b) is in units 4326 of bytes. 4328 The Traffic Parameters: 4330 - Minimum policed unit (m) 4332 - Maximum packet size (M) 4334 are defined in [9]. They are encoded as 32 integer in units of 4335 bytes. 4337 The Traffic Parameters Block for the Int-Serv Controlled Load 4338 Service is as follows: 4340 0 1 2 3 4341 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 4342 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4343 | Token bucket rate (r) | 4344 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4345 | Token bucket size (b) | 4346 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4347 | Peak rate (p) | 4348 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4349 | Minimum policed unit (m) | 4350 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4351 | Maximum packet size (M) | 4352 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4354 9.5.3 Traffic Parameters for the CRLDP Service 4356 The Traffic Parameters: 4358 - Peak Data Rate, 4360 - Peak Burst Size, 4362 - Committed Data Rate, 4364 - Committed Burst Size, and 4365 - Excess Burst Size 4366 are defined in [10] to be encoded as a 32 bit IEEE single- 4367 precision floating point number. A value of positive infinity is 4368 represented as an IEEE single-precision floating-point number 4369 with an exponent of all ones (255) and a sign and mantissa of all 4370 zeros. The values Peak Data Rate and Committed Data Rate are in 4371 units of bytes per second. The values Peak Burst Size, Committed 4372 Burst Size and Excess Burst Size are in units of bytes. 4374 The Traffic Parameter 4376 - Weight 4378 is defined in [10] to be an 8 bit unsigned integer indicating the 4379 weight of the CRLSP. Valid weight values are from 1 to 255. The 4380 value 0 means that weight is not applicable for the CRLSP. 4382 The Traffic Parameters Block for the CRLDP Service is as follows: 4384 0 1 2 3 4385 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 4386 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4387 | Peak Data Rate | 4388 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4389 | Peak Burst Size | 4390 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4391 | Committed Data Rate | 4392 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4393 | Committed Burst Size | 4394 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4395 | Excess Burst Size | 4396 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4397 | Reserved | Weight | 4398 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4400 9.5.4 Traffic Parameters for the Frame Relay Service 4402 The Traffic Parameters: 4404 Committed Information Rate 4406 Committed Burst Size 4408 Excess Burst Size 4410 are defined in [11]. Format and encoding of these parameters for 4411 frame relay signalling messages are defined in [12]. (Note than in 4412 [12] the Committed Information Rate is called "Throughput".) GSMP 4413 uses the encoding defined in [12] but uses a different format. 4415 The format of the Traffic Parameters Block for Frame Relay Service 4416 is a follows: 4418 0 1 2 3 4419 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 4420 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4421 | Reserved | Mag | Reserved| CIR Multiplier | 4422 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4423 | Reserved | Mag |Res| CBS Multiplier | 4424 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4425 | Reserved | Mag |Res| EBS Multiplier | 4426 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4428 Mag This field is an unsigned integer in the range from 0 to 4429 6. The value 7 is not allowed. Mag is the decimal 4430 exponent for the adjacent multiplier field (which itself 4431 functions as a mantissa). 4433 CIR Multiplier 4434 This field is an unsigned integer. It functions as the 4435 mantissa of the Committed Information Rate Traffic 4436 Parameter. 4438 CBS Multiplier 4439 EBS Multiplier 4440 These fields are unsigned integers. They function as the 4441 mantissas of the Committed Burst Size and Excess Burst 4442 Size Traffic Parameters respectively. 4444 The Traffic Parameter Values are related to their encoding in GSMP 4445 messages as follows: 4447 Committed Information Rate = 10^(Mag) * (CIR Multiplier) 4449 Committed Burst Size = 10^(Mag) * (CBS Multiplier) 4451 Excess Burst Size = 10^(Mag) * (EBS Multiplier) 4453 9.6 Traffic Controls (TC) Flags 4455 The TC Flags field in Add Branch messages for connections using 4456 the Service Model are set by the controller to indicate that 4457 specific traffic controls are requested for the requested 4458 connection. The TC Flags field is shown below: 4460 0 1 2 3 4 5 6 7 4461 +-+-+-+-+-+-+-+-+ 4462 |U|D|I|E|S|V|P|x| 4463 +-+-+-+-+-+-+-+-+ 4465 U: Usage Parameter Control 4466 When set, this flag indicates that Usage Parameter 4467 Control is requested. 4469 D: Packet Discard 4470 When set, this flag indicates that Packet Discard is 4471 requested. 4473 I: Ingress Shaping 4474 When set, this flag indicates the availability of 4475 Ingress Traffic Shaping to the Peak Rate and Delay 4476 Variation Tolerance is requested. 4478 E: Egress Shaping, Peak Rate 4479 When set, this flag indicates that Egress Shaping to the 4480 Peak Rate and Delay Variation Tolerance is requested. 4482 S: Egress Traffic Shaping, Sustainable Rate 4483 When set, this flag indicates that Egress Traffic 4484 Shaping to the Sustainable Rate and Maximum Burst Size 4485 is requested. 4487 V: VC Merge 4488 When set, this flag indicates that ATM Virtual Channel 4489 Merge (i.e. multipoint to point ATM switching with a 4490 traffic control to avoid AAL5 PDU interleaving) is 4491 requested. 4493 P: Port 4494 When set indicates that traffic block pertains to 4495 Ingress Port. 4497 x: Reserved 4499 The controller may set (to one) the flag corresponding to the 4500 requested Traffic Control if the corresponding Traffic Control has 4501 been indicated in the Service Configuration response message 4502 (Section 7.4) as available for application to connections that use 4503 the requested Capability Set on a per connection basis. (The 4504 requested Capability Set is indicated by the Capability Set ID the 4505 least significant byte of the Service Selector field of the Add 4506 Branch message.) If the Traffic Control has been indicated in the 4507 Service Configuration response message as either not available in 4508 the Capability Set or applied to all connections that use the 4509 Capability Set then the controller sets the flag to zero and the 4510 switch ignores the flag. 4512 10. Reservation Management Messages 4514 GSMP allows switch resources (e.g. bandwidth, buffers, queues, 4515 labels, etc.) to be reserved for connections before the 4516 connections themselves are established. This is achieved through 4517 the manipulation of Reservations in the switch. 4519 Reservations are hard state objects in the switch that can be 4520 created by the controller by sending a Reservation Request 4521 message. Each Reservation is uniquely identified by an identifying 4522 number called a Reservation ID. Reservation objects can be deleted 4523 with the Delete Reservation message or the Delete All Reservations 4524 message. A reservation object is also deleted when the Reservation 4525 is Deployed by specifying a Reservation ID in an Add Branch 4526 message. 4528 The reserved resources must remain reserved until either the 4529 Reservation is deployed, in which case the resources are applied 4530 to a branch, or the Reservation is explicitly deleted (with a 4531 Delete Reservation message or a Delete All Reservations message), 4532 in which case the resources are freed. Reservations and reserved 4533 resources are deleted if the switch is reset. 4535 A Reservation object includes its Reservation ID plus all the 4536 switch state associated with a branch with the exception that the 4537 branch's input label and/or output label may be unspecified. The 4538 Request Reservation message is therefore almost identical to the 4539 Add Branch message. 4541 The switch established the maximum number of reservations it can 4542 store by setting the value of Max Reservations in the Switch 4543 Configuration response message. The switch indicates that it does 4544 not support reservations by setting Max Reservations to 0. The 4545 valid range of Reservation IDs is 1 to Max Reservations). 4547 10.1 Reservation Request Message 4549 The Reservation Request message creates a Reservation in the 4550 switch and reserves switch resources for a connection that may 4551 later be established using an Add Branch message.The Reservation 4552 Request Message is: 4554 Message Type = 70 4556 The Port Management message has the following format for the 4557 request message: 4559 0 1 2 3 4560 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 4561 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4562 | Version | Message Type | Result | Code | 4563 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4564 | Partition ID | Transaction Identifier | 4565 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4566 | Port Session Number | 4567 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4568 | Reservation ID | 4569 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4570 | Input Port | 4571 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4572 |M|B|U|E| Input Label | 4573 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4574 ** ~x x x|E| Extended Input Label ~ 4575 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4576 | Service Selector | 4577 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4578 | Output Port | 4579 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4580 |QMS|U|E| Output Label | 4581 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4582 ** ~x x x|E| Extended Output Label ~ 4583 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4584 | Service Selector | 4585 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4587 When the value of QMS is set to 0b10 then the following Traffic 4588 Parameters Block is appended to the above message: 4590 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4591 | TC Flags | Reserved | 4592 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4593 | | 4594 ~ Traffic Parameters Block ~ 4595 | | 4596 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4598 ** Note: There can be zero or more 32 bit words containing 4599 Extended Labels (like those marked **) following an Input 4600 or Output Label field. A 32 bit word containing an Extended 4601 Label follows the previous label field if and only if the E 4602 Flag immediately preceding the previous label is set. 4604 All the fields of the Reservation Request message have the same 4605 meanings as they do in the Add Branch message with the following 4606 exceptions: 4608 Reservation ID 4609 Specifies the Reservation ID of the Reservation. If the 4610 numerical value of Reservation ID is greater than the value 4611 of Max Reservations (from the Switch Configuration 4612 message), a failure response is returned indicating 4613 "Reservation ID out of Range." If the value of Reservation 4614 ID matches that of an extant Reservation, a failure 4615 response is returned indicating "Reservation ID in use." 4617 Flags 4619 U: Unspecified Label 4620 If Unspecified Label flag is set then the adjacent 4621 Label field is unused and the adjacent Extension 4622 Label flag must be set to zero. If Unspecified 4623 Label flag is zero then the adjacent Label field 4624 and Extension Label flag have the same meaning as 4625 in the Add Branch message. 4627 When the switch receives a valid Reservation Request it reserves 4628 all the appropriate switch resources needed to establish a branch 4629 with corresponding attributes. If sufficient resources are not 4630 available, a failure response is returned indicating "Insufficient 4631 Resources." Other failure responses are as defined for the Add 4632 Branch message. 4634 10.2 Delete Reservation Message 4636 The Delete Reservation message deletes a Reservation object in the 4637 switch and frees the reserved switch resources of the reservation. 4638 The Reservation Request Message is: 4640 Message Type = 71 4642 The Delete Reservation message has the following format: 4644 0 1 2 3 4645 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 4646 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4647 | Version | Message Type | Result | Code | 4648 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4649 | Partition ID | Transaction Identifier | 4650 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4651 | Port Session Number | 4652 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4653 | Reservation ID | 4654 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4656 If the Reservation ID matches that of an extant Reservation then 4657 the reservation is deletes and corresponding switch resources are 4658 freed. If the numerical value of Reservation ID is greater than 4659 the value of Max Reservations (from the Switch Configuration 4660 message), a failure response is returned indicating "Reservation 4661 ID out of Range." If the value of Reservation ID does not match 4662 that of any extant Reservation, a failure response is returned 4663 indicating "Non-existent Reservation ID." 4665 10.3 Delete All Reservations Message 4667 The Delete Reservation message deletes all extant Reservation 4668 objects in the switch and frees the reserved switch resources of 4669 these reservations. The Reservation Request Message is: 4671 Message Type = 72 4673 The Delete Reservation message has the following format: 4675 0 1 2 3 4676 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 4677 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4678 | Version | Message Type | Result | Code | 4679 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4680 | Partition ID | Transaction Identifier | 4681 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4683 11. Adjacency Protocol 4685 The adjacency protocol is used to synchronise state across the 4686 link, to agree on which version of the protocol to use, to 4687 discover the identity of the entity at the other end of a link, 4688 and to detect when it changes. GSMP is a hard state protocol. It 4689 is therefore important to detect loss of contact between switch 4690 and controller, and to detect any change of identity of switch or 4691 controller. No GSMP messages other than those of the adjacency 4692 protocol may be sent across the link until the adjacency protocol 4693 has achieved synchronisation. 4695 11.1 Packet Format 4697 All GSMP messages belonging to the adjacency protocol have the 4698 following structure: 4700 0 1 2 3 4701 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 4702 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4703 | Version | Message Type | Timer |M| Code | 4704 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4705 | Sender Name | 4706 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4707 | | | 4708 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + 4709 | Receiver Name | 4710 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4711 | Sender Port | 4712 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4713 | Receiver Port | 4714 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4715 |Ptype | PFlag | Sender Instance | 4716 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4717 | Partiton Id | Receiver Instance | 4718 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4720 Version In the adjacency protocol the Version field is used for 4721 version negotiation. In a SYN message the Version field 4722 always contains the highest version understood by the 4723 sender. A receiver receiving a SYN message with a 4724 version higher than understood will ignore that message. 4725 A receiver receiving a SYN message with a version lower 4726 than its own highest version, but a version that it 4727 understands, will reply with a SYNACK with the version 4728 from the received SYN in its GSMP Version field. This 4729 defines the version of the GSMP protocol to be used 4730 while the adjacency protocol remains synchronised. All 4731 other messages will use the agreed version in the 4732 Version field. 4734 The version number for the version of the GSMP protocol 4735 defined by this specification is Version = 2. 4737 Message Type 4738 The adjacency protocol is: 4740 Message Type = 10 4742 Timer 4743 The Timer field is used to inform the receiver of the 4744 timer value used in the adjacency protocol of the 4745 sender. The timer specifies the nominal time between 4746 periodic adjacency protocol messages. It is a constant 4747 for the duration of a GSMP session. The timer field is 4748 specified in units of 100ms. 4750 M-Flag The M-Flag is used in the SYN message to indicate 4751 whether the sender is a master or a slave. If the M-Flag 4752 is set in the SYN message, the sender is a master. If 4753 zero, the sender is a slave. The GSMP protocol is 4754 asymmetric, the controller being the master and the 4755 switch being the slave. The M-Flag prevents a master 4756 from synchronising with another master, or a slave with 4757 another slave. If a slave receives a SYN message with a 4758 zero M-Flag, it must ignore that SYN message. If a 4759 master receives a SYN message with the M-Flag set, it 4760 must ignore that SYN message. In all other messages the 4761 M-Flag is not used. 4763 Code 4764 Field specifies the function of the message. Four Codes 4765 are defined for the adjacency protocol: 4767 SYN: Code = 1 4768 SYNACK: Code = 2 4769 ACK: Code = 3 4770 RSTACK: Code = 4. 4772 Sender Name 4773 For the SYN, SYNACK, and ACK messages, is the name of 4774 the entity sending the message. The Sender Name is a 48- 4775 bit quantity that is unique within the operational 4776 context of the device. A 48-bit IEEE 802 MAC address, if 4777 available, may be used for the Sender Name. If the 4778 Ethernet encapsulation is used the Sender Name must be 4779 the Source Address from the MAC header. For the RSTACK 4780 message, the Sender Name field is set to the value of 4781 the Receiver Name field from the incoming message that 4782 caused the RSTACK message to be generated. 4784 Receiver Name 4785 For the SYN, SYNACK, and ACK messages, is the name of 4786 the entity that the sender of the message believes is at 4787 the far end of the link. If the sender of the message 4788 does not know the name of the entity at the far end of 4789 the link, this field should be set to zero. For the 4790 RSTACK message, he Receiver Name field is set to the 4791 value of the Sender Name field from the incoming message 4792 that caused the RSTACK message to be generated. 4794 Sender Port 4795 For the SYN, SYNACK, and ACK messages, is the local port 4796 number of the link across which the message is being 4797 sent. For the RSTACK message, the Sender Port field is 4798 set to the value of the Receiver Port field from the 4799 incoming message that caused the RSTACK message to be 4800 generated. 4802 Receiver Port 4803 For the SYN, SYNACK, and ACK messages, is what the 4804 sender believes is the local port number for the link, 4805 allocated by the entity at the far end of the link. If 4806 the sender of the message does not know the port number 4807 at the far end of the link, this field should be set to 4808 zero. For the RSTACK message, the Receiver Port field is 4809 set to the value of the Sender Port field from the 4810 incoming message that caused the RSTACK message to be 4811 generated. 4813 PTYPE 4814 Type of partition being requested. 4815 0 No Partition Request 4816 1 Fixed Partition 4817 PFLAG 4818 Used to indicate type of partition request. 4819 1 - New Adjacency. In the case of a new adjacency, the 4820 state of the switch will be reset. 4821 2 - Recovered Adjacency. In the case of a recovered 4822 adjacency, the state of the switch will remain, and the 4823 Switch Controller will be responsible for confirming 4824 that the state of the switch matches the desired state. 4826 Sender Instance 4827 For the SYN, SYNACK, and ACK messages, is the sender's 4828 instance number for the link. It is used to detect when 4829 the link comes back up after going down or when the 4830 identity of the entity at the other end of the link 4831 changes. The instance number is a 32-bit number that is 4832 guaranteed to be unique within the recent past and to 4833 change when the link or node comes back up after going 4834 down. Zero is not a valid instance number. For the 4835 RSTACK message, the Sender Instance field is set to the 4836 value of the Receiver Instance field from the incoming 4837 message that caused the RSTACK message to be generated. 4839 Partition ID 4840 Field used to associate the message with a specific 4841 switch partition. 4843 Receiver Instance 4844 For the SYN, SYNACK, and ACK messages, is what the 4845 sender believes is the current instance number for the 4846 link, allocated by the entity at the far end of the 4847 link. If the sender of the message does not know the 4848 current instance number at the far end of the link, this 4849 field should be set to zero. For the RSTACK message, the 4850 Receiver Instance field is set to the value of the 4851 Sender Instance field from the incoming message that 4852 caused the RSTACK message to be generated. 4854 11.2 Procedure 4856 The adjacency protocol is described by the following rules and 4857 state tables. 4859 The rules and state tables use the following operations: 4861 o The "Update Peer Verifier" operation is defined as storing the 4862 values of the Sender Instance, Sender Port, and Sender Name 4863 fields from a SYN or SYNACK message received from the entity at 4864 the far end of the link. 4866 o The procedure "Reset the link" is defined as: 4868 1. Generate a new instance number for the link 4869 2. Delete the peer verifier (set to zero the values of 4870 Sender Instance, Sender Port, and Sender Name previously 4871 stored by the Update Peer Verifier operation) 4872 3. Send a SYN message 4873 4. Enter the SYNSENT state. 4875 o The state tables use the following Boolean terms and operators: 4877 A The Sender Instance in the incoming message matches the 4878 value stored from a previous message by the "Update Peer 4879 Verifier" operation. 4881 B The Sender Instance, Sender Port, Sender Name and Sender 4882 Partition ID fields in the incoming message match the 4883 values stored from a previous message by the "Update 4884 Peer Verifier" operation. 4886 C The Receiver Instance, Receiver Port, Receiver Name and 4887 Receiver Partition ID fields in the incoming message 4888 match the values of the Sender Instance, Sender Port, 4889 Sender Name and Sender Partition ID currently sent in 4890 outgoing SYN, SYNACK, and ACK messages. 4892 "&&" Represents the logical AND operation 4894 "||" Represents the logical OR operation 4896 "!" Represents the logical negation (NOT) operation. 4898 o A timer is required for the periodic generation of SYN, SYNACK, 4899 and ACK messages. The value of the timer is announced in the 4900 Timer field. The period of the timer is unspecified but a value 4901 of one second is suggested. 4903 There are two independent events: the timer expires, and a 4904 packet arrives. The processing rules for these events are: 4906 Timer Expires: Reset Timer 4907 If state = SYNSENT Send SYN 4908 If state = SYNRCVD Send SYNACK 4909 If state = ESTAB Send ACK 4910 Packet Arrives: 4911 If incoming message is an RSTACK: 4912 If (A && C && !SYNSENT) Reset the link 4913 Else Discard the message. 4914 If incoming message is a SYN, SYNACK, or ACK: 4915 Response defined by the following State Tables. 4916 If incoming message is any other GSMP message and 4917 state != ESTAB: 4918 Discard incoming message. 4919 If state = SYNSENT Send SYN (Note 1) 4920 If state = SYNRCVD Send SYNACK (Note 1) 4921 Note 1: No more than two SYN or SYNACK messages should 4922 be sent within any time period of length defined by 4923 the timer. 4925 o State synchronisation across a link is considered to be 4926 achieved when the protocol reaches the ESTAB state. All GSMP 4927 messages, other than adjacency protocol messages, that are 4928 received before synchronisation is achieved will be discarded. 4930 State Tables 4932 State: SYNSENT 4934 +======================================================================+ 4935 | Condition | Action | New State | 4936 +====================+=====================================+===========+ 4937 | SYNACK && C | Update Peer Verifier; Send ACK | ESTAB | 4938 +--------------------+-------------------------------------+-----------+ 4939 | SYNACK && !C | Send RSTACK | SYNSENT | 4940 +--------------------+-------------------------------------+-----------+ 4941 | SYN | Update Peer Verifier; Send SYNACK | SYNRCVD | 4942 +--------------------+-------------------------------------+-----------+ 4943 | ACK | Send RSTACK | SYNSENT | 4944 +======================================================================+ 4945 State: SYNRCVD 4947 +======================================================================+ 4948 | Condition | Action | New State | 4949 +====================+=====================================+===========+ 4950 | SYNACK && C | Update Peer Verifier; Send ACK | ESTAB | 4951 +--------------------+-------------------------------------+-----------+ 4952 | SYNACK && !C | Send RSTACK | SYNRCVD | 4953 +--------------------+-------------------------------------+-----------+ 4954 | SYN | Update Peer Verifier; Send SYNACK | SYNRCVD | 4955 +--------------------+-------------------------------------+-----------+ 4956 | ACK && B && C | Send ACK | ESTAB | 4957 +--------------------+-------------------------------------+-----------+ 4958 | ACK && !(B && C) | Send RSTACK | SYNRCVD | 4959 +======================================================================+ 4961 State: ESTAB 4963 +======================================================================+ 4964 | Condition | Action | New State | 4965 +====================+=====================================+===========+ 4966 | SYN || SYNACK | Send ACK (note 2) | ESTAB | 4967 +--------------------+-------------------------------------+-----------+ 4968 | ACK && B && C | Send ACK (note 3) | ESTAB | 4969 +--------------------+-------------------------------------+-----------+ 4970 | ACK && !(B && C) | Send RSTACK | ESTAB | 4971 +======================================================================+ 4973 Note 2: No more than two ACKs should be sent within any time 4974 period of length defined by the timer. Thus, one ACK must be sent 4975 every time the timer expires. In addition, one further ACK may be 4976 sent between timer expirations if the incoming message is a SYN or 4977 SYNACK. This additional ACK allows the adjacency protocol to reach 4978 synchronisation more quickly. 4980 Note 3: No more than one ACK should be sent within any time period 4981 of length defined by the timer. 4983 11.3 Partition Information State 4985 Each instance of a [switch controller � switch partition] pair 4986 will need to establish adjacency synchronisation independently. 4988 Part of the process of establishing synchronisation when using 4989 partition will be to establish the assignment of partition 4990 identifiers. Two scenarios are provided for: 4992 - A controller can request a specific partition identifier 4993 with the switch having the option to either accept or to 4994 reject the request. In this case the adjacency message 4995 will include Partition ID != 0. 4997 - The switch can assign partition identifiers to controllers 4998 based on its on pre-established mechanisms. In this case 4999 the adjacency message will include Partition ID = 0. 5001 The assignment is determined by the following behaviour: 5003 - An adjacency message from the controller with SYN || SYNACK 5004 && PTYPE is treated as a partition request 5006 - An adjacency message from the switch with SYNACK || ACK && 5007 PTYPE is treated as a partition assignment 5009 - An adjacency message from the switch with RSTACK && PTYPE 5010 is treated as partition unavailability. 5012 11.4 Loss of Synchronisation 5014 If after synchronisation is achieved, no valid GSMP messages are 5015 received in any period of time in excess of three times the value 5016 of the Timer field announced in the incoming adjacency protocol 5017 messages, loss of synchronisation may be declared. 5019 While re-establishing synchronisation with a controller, a switch 5020 should maintain its state, deferring the decision about resetting 5021 the state until after synchronisation is re-established. 5023 Once synchronisation is re-established the decision about 5024 resetting the state should be made on the following basis: 5026 - If PFLAG = 1, then a new adjacency has been established and 5027 the state should be reset 5029 - If PFLAG = 2, then adjacency has been re-established and 5030 the switch state should be retained. Verification that 5031 controller and switch state are the same is the 5032 responsibility of the controller. 5034 11.5 Multiple Controllers per switch partition 5036 Multiple switch controllers may jointly control a single switch 5037 partition. The controllers may control a switch partition either 5038 in a master/standby fashion or as part of multiple controllers 5039 providing load-sharing for the same partition. It is the 5040 responsibility of the controller to co-ordinate their interactions 5041 with the switch partition. In order to assist the controllers in 5042 tracking multiple controller adjacencies to a single switch 5043 partition, the Adjacency Update message is used to inform a 5044 controller that there are other controllers interacting the same 5045 partition. It should be noted that the GSMP will not co-ordinate 5046 cache synchronization information among controllers; i.e. the 5047 switch partition will service each command it receives in turn as 5048 if it were interacting with a single controller. Implementations 5049 without controller entity synchronisation are advised against 5050 using multiple controllers with a single switch partition. 5052 11.5.1 Multiple Controller Adjacency Process 5054 The first adjacency for a specific partition is determined by the 5055 procedures described in chapter Partition Information State. The 5056 next adjacencies to the partition are identified by a new 5057 partition request with same Partition id as the first one but with 5058 different Sender Name. Adjacency loss is defined in the section on 5059 the Loss of Synchronization (Error! Reference source not found.). 5061 Example: 5063 A switch partition has never been used. When the first controller 5064 (A) achieves adjacency, an adjacency count will be initiated and 5065 (A) will get an Adjacency Update message about itself with Code 5066 field = 1. Since (A) receives an adjacency count of 1 this 5067 indicates that it only controller for that partition. 5069 When a second adjacency (B), using the same Partition ID, achieves 5070 adjacency, the adjacency counter will be increased by 1.Both (A) 5071 and (B) will receive an Adjacency Update message indicating 5072 adjacency count of 2 in the Code field. Since the count is greater 5073 than 1, this will indicate to both (A) and (B) that there is 5074 another controller interacting with the switch; indentification of 5075 the other controller will not be provided by GSMP, but will be the 5076 responsibility of the controllers. . 5078 If (A) looses adjacency, the adjacency count will be decreased and 5079 an Adjacency Update message will be sent to (B) indicating 5080 adjacency count of 1 in the Code field. If (B) leaves as well, the 5081 partition is regarded as idle and the adjacency count may be 5082 reset. 5084 12. Summary of Failure Response Codes 5086 [Editor's note: this section is currently out of whack w.r.t. the 5087 rest of the spec and will be updated in a future revision of the 5088 draft.] 5090 The following list gives a summary of the failure codes defined 5091 for failure response messages: 5093 1: Unspecified reason not covered by other failure codes. 5094 2: Invalid request message. 5095 3: The specified request is not implemented on this switch. 5096 4: Invalid Port Session Number. 5097 N1: Invalid Partition ID 5098 5: One or more of the specified ports does not exist. 5099 6: One or more of the specified ports is down. 5100 7: Unused. (This failure code has been replaced by failure 5101 codes 18--21.) 5102 8: The specified connection does not exist. 5103 9: The specified branch does not exist. 5104 10: A branch belonging to the specified point-to-multipoint 5105 connection is already established on the specified 5106 output port and the switch cannot support more than a 5107 single branch of any point-to-multipoint connection on 5108 the same output port. 5109 11: The limit on the maximum number of point-to-multipoint 5110 connections that the switch can support has been 5111 reached. 5112 12: The limit on the maximum number of branches that the 5113 specified point-to-multipoint connection can support has 5114 been reached. 5115 13: Unable to assign the requested Label value to the 5116 requested branch on the specified point-to-multipoint 5117 connection. 5118 14: General problem related to the manner in which point-to- 5119 multipoint is supported by the switch. 5120 15: Out of resources (e.g. memory exhausted, etc.). 5121 16: Failure specific to the particular message type. (The 5122 meaning of this failure code depends upon the Message 5123 Type. It is defined within the description of any 5124 message that uses it.) 5125 17: Cannot label each output branch of a point-to-multipoint 5126 tree with a different label. 5127 18: One or more of the specified input VPIs is invalid. 5128 19: One or more of the specified input VCIs is invalid. 5129 20: One or more of the specified output VPIs is invalid. 5130 21: One or more of the specified output VCIs is invalid. 5131 22: Invalid Class of Service field in a Connection Management 5132 message. 5134 23: Insufficient resources for QoS Profile. 5135 24: Virtual path switching is not supported on this input 5136 port. 5137 25: Point-to-multipoint virtual path connections are not 5138 supported on either the requested input port or the 5139 requested output port. 5140 26: Attempt to add a virtual path connection branch to an 5141 existing virtual channel connection. 5142 27: Attempt to add a virtual channel connection branch to an 5143 existing virtual path connection. 5144 28: Only point-to-point bi-directional connections may be 5145 established. 5146 29: Cannot support requested VPI range. 5147 30: Cannot support requested VCI range on all requested VPIs. 5148 31: The transmit cell rate of this output port cannot be 5149 changed. 5150 32: Requested transmit cell rate out of range for this output 5151 port. 5152 128: Weighted scheduling within this waiting room is 5153 unavailable. 5154 129: This waiting room is unable to offer weighted sharing for 5155 a QoS class. 5156 130: This waiting room is unable to offer weighted sharing for 5157 a connection. 5158 131: Scheduler Identifier still in use. 5159 132: QoS Class Identifier still in use. 5160 133: Invalid QoS parameter. 5161 134: Insufficient QoS resources. 5162 135: Any point-to-multipoint connection arriving on this input 5163 port must use the same QoS parameters for all output 5164 branches. 5166 13. Summary of Message Set 5168 [Editor's note: this section is currently out of whack w.r.t. the 5169 rest of the spec and will be updated in a future revision of the 5170 draft.] 5172 The following table gives a summary of the messages defined in 5173 this version of the specification. It also indicates which 5174 messages must be supported in a minimal implementation of the 5175 protocol. Those messages marked as "Required" must be supported by 5176 the switch for an implementation to be considered to conform to 5177 this specification. (While the controller should also implement 5178 those messages marked "Required," conformance cannot be tested for 5179 the controller due to the Master-Slave nature of the protocol.) 5181 Message Name Message Type Status 5182 Connection Management Messages 5183 Add Branch VCC....................16 Required 5184 VPC....................26 5185 Delete Tree.......................18 5186 Delete All........................20 5187 Delete Branches...................17 Required 5188 Move Branch VCC...................22 5189 VPC...................27 5191 Port Management Messages 5192 Port Management...................32 Required 5193 Label Range.......................33 5195 State and Statistics Messages 5196 Connection Activity...............48 5197 Port Statistics...................49 Required 5198 Connection Statistics.............50 5199 Report Connection State...........52 5201 Configuration Messages 5202 Switch Configuration..............64 Required 5203 Port Configuration................65 Required 5204 All Ports Configuration...........66 Required 5205 Service Configuration.............N2 5207 Reservation Messages 5208 Reservation Request.............. 70 5209 Delete Reservation................71 5210 Delete All Reservations...........72 5212 Event Messages 5213 Port Up...........................80 5214 Port Down.........................81 5215 Invalid Label.....................82 5216 New Port..........................83 5217 Dead Port.........................84 5219 Abstract and Resource Model Extension Messages 5220 Reserved..........................200-249 5221 Adjacency Protocol....................10 Required 5223 14. Security Considerations 5225 The security of GSMP's TCP/IP control channel has been addressed 5226 in [15]. Any potential remaining security considerations are not 5227 addressed in the current revision of this draft. 5229 References 5231 [1] "B-ISDN ATM Layer Specification," International 5232 Telecommunication Union, ITU-T Recommendation I.361, Mar. 5233 1993. 5235 [2] "B-ISDN ATM Adaptation Layer (AAL) Specification," 5236 International Telecommunication Union, ITU-T 5237 Recommendation I.363, Mar. 1993. 5239 [3] IEEE/WG 1520, Adam, C; Lazar, A; Nanadikesan, M; "Proposal 5240 for Standaridizing the qGSMP protocol", P1520/TS/ATM-002, 5241 http://comet.columbia.edu/pin-atm/docs/P1520-TS-ATM- 5242 002R1.pdf, 19 Jan, 1999 5244 [4] Sjostrand, H., "Definitions of Managed Objects for the 5245 General Switch Management Protocol (GSMP)," Internet-Draft 5246 draft-ietf-gsmp-mib-00, September 1999. 5248 [5] Reynolds, J., and J. Postel, "Assigned Numbers," STD 2, 5249 RFC 1700, October 1994. 5251 [6] Newman, P, Edwards, W., Hinden, R., Hoffman, E. Ching 5252 Liaw, F., Lyon, T. and Minshall, G., "Ipsilon's General 5253 Switch Management Protocol Specification," Version 1.1, 5254 RFC 1987, August 1996. 5256 [7] Newman, P, Edwards, W., Hinden, R., Hoffman, E., Ching 5257 Liaw, F., Lyon, T. and Minshall, G., "Ipsilon's General 5258 Switch Management Protocol Specification," Version 2.0, 5259 RFC 2397, March 1998. 5261 [8] ATM Forum Technical Committee, "Traffic Management 5262 Specification Version 4.1," af-tm-0121.000, xxx 1999. 5264 [9] J. Wroclawski, "Specification of the Controlled-Load 5265 Network Element Service," RFC2211, Sep 1997. 5267 [10] B. Jamoussi, et. al. "Constraint-Based LSP Setup using 5268 LDP," Internet Draft draft-ietf-mpls-cr-ldp-03.txt, Feb 5269 1999. 5271 [11] ITU-T Recommendation I.233 Frame Mode Bearer Services 5272 1992. 5274 [12] ITU-T Recommendation Q.933, Integrated Services Digital 5275 Network (ISDN) Digital Subscriber Signalling System No. 1 5276 (DSS 1) � Signalling Specifications For Frame Mode 5277 Switched And Permanent Virtual Connection Control And 5278 Status Monitoring, 1995. 5280 [13] ITU-T Recommendation Q.922, Integrated Services Digital 5281 Network (ISDN) Data Link Layer Specification For Frame 5282 Mode Bearer Services, 1992 5284 [14] E. Rosen, et al, "MPLS Label Stack Encoding" Internet- 5285 Draft draft-ietf-mpls-label-encaps-07.txt, Sep 1999. 5287 [15] T. Worster, "GSMP Packet Encapsulations for ATM, Ethernet 5288 and TCP," Internet-Draft draft-ietf-gsmp-encaps-00, Jan 5289 2000. 5291 Authors' Addresses 5293 Avri Doria 5294 Nokia Telecommunications 5295 5 Wayside Road 5296 Burlington MA 01803 5297 Phone: +1 781 993 4656 5298 avri.doria@nokia.com 5300 Fiffi Hellstrand 5301 Nortel Networks AB 5302 S:T Eriksgatan 115 A 5303 P.O. Box 6701 5304 SE-113 85 Stockholm Sweden 5305 fiffi@nortelnetworks.com 5307 Kenneth Sundell 5308 Nortel Networks AB 5309 S:T Eriksgatan 115 A 5310 P.O. Box 6701 5311 SE-113 85 Stockholm Sweden 5312 ksundell@nortelnetworks.com 5313 Tom Worster (Editor) 5314 Ennovate Networks 5315 60 Codman Hill Rd 5316 Boxboro MA 01719 USA 5317 Tel +1 978-263-2002 5318 fsb@thefsb.org