summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc1987.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc1987.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc1987.txt')
-rw-r--r--doc/rfc/rfc1987.txt2467
1 files changed, 2467 insertions, 0 deletions
diff --git a/doc/rfc/rfc1987.txt b/doc/rfc/rfc1987.txt
new file mode 100644
index 0000000..1d58f38
--- /dev/null
+++ b/doc/rfc/rfc1987.txt
@@ -0,0 +1,2467 @@
+
+
+
+
+
+
+Network Working Group P. Newman, Ipsilon
+Request for Comments: 1987 W. Edwards, Sprint
+Category: Informational R. Hinden, Ipsilon
+ E. Hoffman, Ipsilon
+ F. Ching Liaw, Ipsilon
+ T. Lyon, Ipsilon
+ G. Minshall, Ipsilon
+ August 1996
+
+
+
+ Ipsilon's General Switch Management Protocol Specification
+ Version 1.1
+
+
+
+
+
+Status of this Memo
+
+ This memo provides information for the Internet community. This memo
+ does not specify an Internet standard of any kind. Distribution of
+ this memo is unlimited.
+
+
+Abstract
+
+ The General Switch Management Protocol (GSMP), is a general purpose
+ protocol to control an ATM switch. GSMP allows a controller to
+ establish and release connections across the switch; add and delete
+ leaves on a point-to-multipoint connection; manage switch ports;
+ request configuration information; and request statistics.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Newman, et. al. Informational [Page 1]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+Table of Contents
+
+ 1. Introduction....................................................3
+
+ 2. GSMP Packet Format..............................................4
+
+ 3. Connection Management Messages..................................7
+ 3.1 Add Branch Message.........................................11
+ 3.2 Delete Branch Message......................................12
+ 3.3 Delete Tree Message........................................13
+ 3.4 Verify Tree Message........................................13
+ 3.5 Delete All Message.........................................14
+ 3.6 Move Branch Message........................................14
+
+ 4. Port Management Message........................................16
+
+ 5. Statistics Messages............................................20
+ 5.1 VC Activity Message........................................20
+ 5.2 Port and VC Statistics Messages............................23
+ 5.2.1 Port Statistics Message..............................26
+ 5.2.2 VC Statistics Message................................26
+
+ 6. Configuration..................................................26
+ 6.1 Switch Configuration Message...............................27
+ 6.2 Port Configuration Message.................................28
+ 6.3 All Ports Configuration Message............................32
+
+ 7. Event Messages.................................................33
+ 7.1 Port Up Message............................................35
+ 7.2 Port Down Message..........................................35
+ 7.3 Invalid VPI/VCI Message....................................35
+ 7.4 New Port Message...........................................35
+ 7.5 Dead Port Message..........................................36
+
+ 8. Adjacency Protocol.............................................36
+ 8.1 Packet Format..............................................36
+ 8.2 Procedure..................................................39
+
+ 9. Failure Response Messages......................................41
+
+ References........................................................43
+ Security Considerations...........................................43
+ Authors' Addresses................................................43
+
+
+
+
+
+
+
+
+Newman, et. al. Informational [Page 2]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+1. Introduction
+
+ The General Switch Management Protocol (GSMP), is a general purpose
+ protocol to control an ATM switch. GSMP allows a controller to
+ establish and release connections across the switch; add and delete
+ leaves on a point-to-multipoint connection; manage switch ports;
+ request configuration information; and request statistics. It also
+ allows the switch to inform the controller of asynchronous events
+ such as a link going down. GSMP runs across an ATM link connecting
+ the controller to the switch, on a control connection (virtual
+ channel) established at initialization. The GSMP protocol is
+ asymmetric, the controller being the master and the switch being the
+ slave. Multiple switches may be controlled by a single controller
+ using multiple instantiations of the protocol over separate control
+ connections.
+
+ A switch is assumed to contain multiple "ports". Each port is a
+ combination of one "input port" and one "output port". Some GSMP
+ requests refer to the port as a whole whereas other requests are
+ specific to the input port or the output port. ATM cells arrive at
+ the switch from an external communication link on incoming virtual
+ channels at an input port. ATM cells depart from the switch to an
+ external communication link on outgoing virtual channels from an
+ output port. Virtual channels on a port or link are referenced by
+ their virtual path and virtual channel identifiers (VPI/VCI). A
+ virtual channel connection across a switch is formed by connecting an
+ incoming virtual channel to one or more outgoing virtual channels.
+ Virtual channel connections are referenced by the input port on which
+ they arrive and the virtual path and virtual channel identifiers
+ (VPI/VCI) of their incoming virtual channel.
+
+ In general a virtual channel is established with a certain quality of
+ service (QOS). Unfortunately this is an ill defined and changing
+ concept as new ideas make their way into hardware. For this version
+ of the GSMP protocol it is assumed that each virtual channel
+ connection may be assigned a priority when it is established. It may
+ be assumed that for virtual channel connections that share the same
+ output port, an ATM cell on a connection with a higher priority is
+ much more likely to exit the switch before an ATM cell on a
+ connection with a lower priority if they are both in the switch at
+ the same time. The number of priorities that each port of the switch
+ supports may be obtained from the port configuration message.
+
+ Switch ports are described by a 32 bit port number. The switch
+ assigns port numbers and it may typically choose to structure the 32
+ bits into sub-fields that have meaning to the physical structure of
+ the switch (e.g. shelf, slot, port). In general, a port in the same
+ physical location on the switch will always have the same port
+
+
+
+Newman, et. al. Informational [Page 3]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ number, even across power cycles. The internal structure of the port
+ number is opaque to the GSMP protocol. However, by looking up the
+ product identity in a database, network management tools may discover
+ the partitioning of the port number and the physical meaning of the
+ sub-fields.
+
+ Each switch port also maintains a port session number assigned by the
+ switch. A connection management message or a port management message
+ with an incorrect port session number must be rejected. This allows
+ the controller to detect a link failure and to keep state
+ synchronized. The port session number of a port remains unchanged
+ while the port is continuously in the available state and the link
+ status is continuously up. When a port returns to the available state
+ after it has been unavailable or in any of the loopback states, or
+ when the line status returns to the up state after it has been down
+ or in test, or after a power cycle, its port session number will have
+ changed. Port session numbers should be assigned using some form of
+ random number.
+
+ GSMP also contains an adjacency protocol. The adjacency protocol is
+ used to synchronize state across the link, to discover the identity
+ of the entity at the other end of a link, and to detect when it
+ changes.
+
+
+2. GSMP Packet Format
+
+ GSMP packets are variable length and are encapsulated directly in an
+ AAL-5 CPCS-PDU [I.363] with an LLC/SNAP header as illustrated:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | LLC (0xAA-AA-03) | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
+ | SNAP (0x00-00-00-88-0C) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ GSMP Message ~
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Pad (0 - 47 octets) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ + AAL-5 CPCS-PDU Trailer (8 octets) +
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+
+
+
+Newman, et. al. Informational [Page 4]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ (The convention in the documentation of Internet Protocols [rfc1700]
+ is to express numbers in decimal and to picture data in "big-endian"
+ order. That is, fields are described left to right, with the most
+ significant octet on the left and the least significant octet on the
+ right. Whenever a diagram shows a group of octets, the order of
+ transmission of those octets is the normal order in which they are
+ read in English. Whenever an octet represents a numeric quantity the
+ left most bit in the diagram is the high order or most significant
+ bit. That is, the bit labeled 0 is the most significant bit.
+ Similarly, whenever a multi-octet field represents a numeric quantity
+ the left most bit of the whole field is the most significant bit.
+ When a multi-octet quantity is transmitted, the most significant
+ octet is transmitted first. This is the same coding convention as is
+ used in the ATM layer [I.361] and AAL-5 [I.363].)
+
+ The LLC/SNAP header contains the octets: 0xAA 0xAA 0x03 0x00 0x00
+ 0x00 0x88 0x0C.
+
+ The maximum transmission unit (MTU) of the GSMP message is 1500
+ octets.
+
+ The default virtual channel for LLC/SNAP encapsulated messages is:
+
+ VPI = 0
+ VCI = 15.
+
+ GSMP is a master-slave protocol. The controller issues request
+ messages to the switch. Each request message indicates whether a
+ response is required from the switch and contains a transaction
+ identifier to enable the response to be associated with the request.
+ The switch replies with a response message indicating either a
+ successful result or a failure. There are four classes of GSMP
+ request-response message: Connection Management, Port Management,
+ Statistics, and Configuration. The switch may also generate
+ asynchronous Event messages to inform the controller of asynchronous
+ events. Event messages are not acknowledged by the controller. There
+ is also an adjacency protocol message used to establish
+ synchronization across the link and maintain a handshake.
+
+ For the request-response messages each message type has a format for
+ the request message and a format for the success response. Unless
+ otherwise specified a failure response message is identical to the
+ request message that caused the failure, with the Code field
+ indicating the nature of the failure. Event messages have only a
+ single format defined as they are not acknowledged by the controller.
+
+ Except for the adjacency protocol message, no GSMP messages may be
+ sent across the link until the adjacency protocol has achieved
+
+
+
+Newman, et. al. Informational [Page 5]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ synchronization, and all GSMP messages received on a link that does
+ not currently have state synchronization must be discarded.
+
+ All GSMP messages, except the adjacency protocol message, have the
+ following format:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Message Type | Result | Code |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ Message Body ~
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Version
+ The GSMP protocol version number, currently Version = 1. It
+ should be set by the sender of the message to the GSMP
+ protocol version that the sender is currently running.
+
+ Message Type
+ The GSMP message type. GSMP messages fall into five
+ classes: Connection Management, Port Management,
+ Statistics, Configuration, and Events. Each class, except
+ for port management, has a number of different message
+ types. In addition, one Message Type is allocated to the
+ adjacency protocol.
+
+ Result
+ Field in a connection management request message or a port
+ management request message, is used to indicate whether a
+ response is required to the request message if the outcome
+ is successful. A value of "NoSuccessAck" indicates that the
+ request message does not expect a response if the outcome
+ is successful, and a value of "AckAll" indicates that a
+ response is expected if the outcome is successful. In both
+ cases a failure response will be generated if the request
+ fails. This facility reduces the traffic in the case where
+ the controller is simply checking that the state in the
+ switch is correct. For all other request messages a value
+ of "NoSuccessAck" in the request message is ignored and the
+ request message is handled as if the field were set to
+ "AckAll". In a response message the result field can have
+ two values: "Success" and "Failure".
+
+
+
+
+Newman, et. al. Informational [Page 6]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ The encoding of the result field is:
+
+ NoSuccessAck: Result = 1
+ AckAll: Result = 2
+ Success: Result = 3
+ Failure: Result = 4.
+
+
+ The Result field is not used in an adjacency protocol
+ message and should be set to zero by the sender and ignored
+ by the receiver.
+
+ Code
+ Field gives further information concerning the result in a
+ response message. It is mostly used to pass an error code
+ in a failure response but can also be used to give further
+ information in a success response message or an event
+ message. In a request message the code field is not used
+ and is set to zero. In an adjacency protocol message the
+ Code field is used to determine the function of the
+ message.
+
+ Transaction Identifier
+ Used to associate a request message with its response
+ message. For request messages the controller may select any
+ transaction identifier. For response messages the
+ transaction identifier is set to the value of the
+ transaction identifier from the message to which it is a
+ response. For event messages the transaction identifier
+ should be set to zero. In the adjacency protocol the
+ Transaction Identifier is not used. This field is not
+ present in the adjacency protocol message.
+
+
+3. Connection Management Messages
+
+ Connection management messages are used by the controller to
+ establish, delete, modify and verify connections across the switch.
+ The Add Branch, Delete Branch, Delete Tree, Verify Tree, and Delete
+ All connection management messages have the following format for both
+ request and response messages:
+
+
+
+
+
+
+
+
+
+
+Newman, et. al. Informational [Page 7]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Message Type | Result | Code |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Port Session Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Input Port |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | zero | Input VPI | Input VCI |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Output Port |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | zero | Output VPI | Output VCI |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Number of Branches | Reserved | Priority |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Port Session Number
+ Field gives the session number of the input port. Each
+ switch port maintains a Port Session Number assigned by the
+ switch. The port session number of a port remains unchanged
+ while the port is continuously in the Available state and
+ the link status is continuously Up. When a port returns to
+ the Available state after it has been Unavailable or in any
+ of the Loopback states, or when the line status returns to
+ the Up state after it has been Down or in Test, or after a
+ power cycle, a new Port Session Number must be generated.
+ Port session numbers should be assigned using some form of
+ random number. The switch must reject any connection
+ management request message that has an invalid Port Session
+ Number for the port specified in the Input Port field by
+ returning a failure response message with the Code field
+ indicating, "Invalid port session number." The current port
+ session number may be obtained using a configuration
+ message.
+
+ Input Port
+ Indicates a switch input port. Switch ports are referenced
+ by a 32 bit value assigned by the switch.
+
+ Input VPI
+ Identifies an ATM virtual path arriving at the switch input
+ port indicated by the Input Port field.
+
+
+
+
+
+Newman, et. al. Informational [Page 8]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ Input VCI
+ Identifies an ATM virtual channel arriving on the virtual
+ path indicated by the Input VPI field at the switch input
+ port indicated by the Input Port field.
+
+ Output Port
+ Indicates a switch output port. Switch ports are
+ referenced by a 32 bit value assigned by the switch.
+
+ Output VPI
+ Identifies an outgoing virtual path departing from the
+ switch output port indicated in the Output Port field.
+
+ Output VCI
+ Identifies an outgoing virtual channel departing on the
+ virtual path indicated by the Output VPI field from the
+ switch output port indicated in the Output Port field.
+
+ Number of Branches
+ Gives the number of output branches on a virtual channel
+ connection. (A unicast connection will have one branch, a
+ multicast connection will have two or more branches.) This
+ field is only used in the Verify Tree message. In all
+ other connection management messages this field should be
+ set to zero by the sender and ignored by the receiver.
+
+ Reserved
+ This field is not used. It is set to zero by the sender and
+ ignored by the receiver.
+
+ Priority
+ Gives the priority of the connection. The highest priority
+ is numbered zero and the lowest priority is numbered "Q-1"
+ where "Q" is the number of priorities that the output port
+ can support. The ability to offer different qualities of
+ service to different connections based upon their priority
+ is assumed to be a property of the output port of the
+ switch. It is assumed that for virtual channel connections
+ that share the same output port, an ATM cell on a
+ connection with a higher priority is much more likely to
+ exit the switch before an ATM cell on a connection with a
+ lower priority if they are both in the switch at the same
+ time. The number of priorities that each output port can
+ support is given in the Port Configuration message. If a
+ connection request is received with a value in the priority
+ field that the switch cannot support, the switch will
+ assign the closest priority that it is capable of
+ supporting. This field is only used in the Add Branch and
+
+
+
+Newman, et. al. Informational [Page 9]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ Move Branch messages. In all other connection management
+ messages this field should be set to zero by the sender and
+ ignored by the receiver.
+
+ If the result field of the request message is "AckAll" the switch
+ must reply to all connection management request messages with a
+ success response message or a failure response message. If the
+ result field of the request message is "NoSuccessAck" the switch must
+ only reply in the case of a failure.
+
+ A success response message must not be sent until the operation has
+ been successfully completed. For connection management messages the
+ success response message is a copy of the request message returned
+ with a Result field indicating success. The Code field is not used in
+ a connection management success response message and should be set to
+ zero. The failure response message is a copy of the request message
+ returned with a Result field indicating failure. The Code field is
+ used to pass the Failure Code in a connection management failure
+ response message. If the switch issues a failure response the
+ connection state within the switch must not be modified by the
+ request message that resulted in the failure.
+
+ No distinction is made between unicast connections and multicast
+ connections. The first Add Branch message for a particular Input
+ Port, Input VPI, and Input VCI will establish a unicast connection.
+ The second Add Branch message with the same Input Port, Input VPI,
+ and Input VCI fields will convert the connection to a multicast
+ connection with two branches. Subsequent Add Branch messages with the
+ same Input Port, Input VPI, and Input VCI fields will add further
+ branches to the multicast connection. Use of the Delete Branch
+ message on a multicast connection with two branches will result in a
+ unicast connection. Use of the Delete Branch message on a unicast
+ connection will delete the unicast connection. There is no concept of
+ a connection with zero output branches. All connections are
+ unidirectional, one input virtual channel to one or more output
+ virtual channels.
+
+ The connection management messages may be issued regardless of the
+ Port Status of the switch port. Connections may be established or
+ deleted when a switch port is in the Available, Unavailable, or any
+ of the Loopback states. However, all connection state on an input
+ port will be deleted when the port returns to the Available state
+ from any other state, i.e. when a Port Management message is received
+ for that port with the Function field indicating either Bring Up, or
+ Reset Input Port.
+
+
+
+
+
+
+Newman, et. al. Informational [Page 10]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+3.1 Add Branch Message
+
+ The Add Branch message is a connection management message used to
+ establish a virtual channel connection or to add an additional branch
+ to an existing virtual channel connection. It may also be used to
+ check the connection state stored in the switch. The connection is
+ specified by the Input Port, Input VPI, and Input VCI fields. The
+ output branch is specified by the Output Port, Output VPI, and Output
+ VCI fields. The priority of the connection is specified by the
+ Priority field. The Add Branch message is:
+
+ Message Type = 16
+
+ If the virtual channel connection specified by the Input Port, Input
+ VPI, and Input VCI fields does not already exist, it must be
+ established with the single output branch specified in the request
+ message. The output branch should have the priority specified by the
+ Priority field. If the Result field of the request message is
+ "AckAll" a success response message must be sent upon successful
+ establishment of the specified branch. The success response message
+ must not be sent until the Add Branch operation has been completed.
+
+ If the virtual channel connection specified by the Input Port, Input
+ VPI, and Input VCI fields already exists, but the specified output
+ branch does not, the new output branch must be added. The new output
+ branch should have the priority specified by the Priority field. If
+ the Result field of the request message is "AckAll" a success
+ response message must be sent upon successful establishment of the
+ specified branch. The success response message must not be sent until
+ the Add Branch operation has been completed.
+
+ If the virtual channel connection specified by the Input Port, Input
+ VPI, and Input VCI fields already exists and the specified output
+ branch also already exists, the priority of the connection, if
+ different from the request message, should be changed to that in the
+ request message. A success response message must be sent if the
+ Result field of the request message is "AckAll". This allows the
+ controller to periodically reassert the state of a connection or to
+ change its priority. If the result field of the request message is
+ "NoSuccessAck" a success response message should not be returned.
+ This may be used to reduce the traffic on the control link for
+ messages that are reasserting previously established state. For
+ messages that are reasserting previously established state, the
+ switch must always check that this state is correctly established in
+ the switch hardware (i.e. the actual connection tables used to
+ forward cells).
+
+
+
+
+
+Newman, et. al. Informational [Page 11]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ The behavior is undefined if the output virtual channel specified by
+ the Output Port, Output VPI, and Output VCI fields is already in use
+ by any connection other than that specified by the Input Port, Input
+ VPI, and Input VCI fields.
+
+ A failure response must be returned if the switch is unable to
+ establish the specified branch or if there is an error in any of the
+ fields of the request message. If a failure message is returned the
+ state of the switch must not have been modified by the request
+ message.
+
+ It should be noted that different switches support multicast in
+ different ways. There will be a limit to the total number of
+ multicast connections any switch can support, and possibly a limit on
+ the maximum number of branches that a multicast connection may
+ specify. Some switches also impose a limit on the number of
+ different VPI/VCI values that may be assigned to the output branches
+ of a multicast connection. Many switches are incapable of supporting
+ more than a single branch of any particular multicast connection on
+ the same output port. Specific failure codes are defined for some of
+ these conditions. If a switch sends a failure response to an Add
+ Branch message it must choose the most specific failure code.
+
+3.2 Delete Branch Message
+
+ The Delete Branch message is a connection management message used to
+ delete a single branch of a virtual channel connection, or in the
+ case of the last branch, to delete the connection. The virtual
+ channel connection is specified by the Input Port, Input VPI, and
+ Input VCI fields. The specific branch is indicated by the Output
+ Port, Output VPI, and Output VCI fields. The Delete Branch message
+ is:
+
+ Message Type = 17
+
+ If the Result field of the request message is "AckAll" a success
+ response message must be sent upon successful deletion of the
+ specified branch. The success response message must not be sent until
+ the delete branch operation has been completed and if possible, not
+ until all data on that branch, queued for transmission, has been
+ transmitted. A failure message indicating, "The specified connection
+ does not exist," must be sent if the connection specified by the
+ Input Port, Input VPI, and Input VCI fields does not exist. A failure
+ message indicating, "The specified branch does not exist," must be
+ sent if the connection specified by the Input Port, Input VPI, and
+ Input VCI fields exists but the branch specified by the Output Port,
+ Output VPI, and Output VCI fields does not exist.
+
+
+
+
+Newman, et. al. Informational [Page 12]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+3.3 Delete Tree Message
+
+ The Delete Tree message is a connection management message used to
+ delete an entire virtual channel connection. All remaining branches
+ of the connection are deleted. The virtual channel connection is
+ specified by the Input Port, Input VPI, and Input VCI fields. The
+ Output Port, Output VPI, and Output VCI fields are not used in this
+ message and their contents should be set to zero by the sender and
+ ignored by the receiver. The Delete Tree message is:
+
+ Message Type = 18
+
+ If the Result field of the request message is "AckAll" a success
+ response message must be sent upon successful deletion of the
+ specified connection. The success message must not be sent until the
+ delete operation has been completed and if possible, not until all
+ data on the connection, queued for transmission, has been
+ transmitted. A failure message indicating, "The specified connection
+ does not exist," must be sent if the connection specified by the
+ Input Port, Input VPI, and Input VCI fields does not exist.
+
+3.4 Verify Tree Message
+
+ The Verify Tree message is a connection management message used to
+ verify the number of branches on a virtual channel connection. The
+ virtual channel connection is specified by the Input Port, Input VPI,
+ and Input VCI fields. The Output Port, Output VPI, and Output VCI
+ fields are not used in this message and their contents should be set
+ to zero by the sender and ignored by the receiver. The number of
+ branches that the sender believes that this virtual channel
+ connection should contain is given by the Number of Branches field.
+ The Verify Tree message is:
+
+ Message Type = 19
+
+ If the Result field of the request message is "AckAll" a success
+ response message must be sent if the receiver agrees that the actual
+ number of branches of the specified virtual channel connection
+ matches the number contained in the Number of Branches field of the
+ request message. The failure response message, with the code field
+ set to "Failure specific to the particular message type," must be
+ sent if the actual number of branches of the specified virtual
+ channel connection does not match the number contained in the Number
+ of Branches field of the request message. In this failure response
+ message the Number of Branches field must be changed to contain the
+ actual number of branches of the specified virtual channel
+ connection. A failure response message with the code field set to a
+ different value must be used to indicate some other failure such as,
+
+
+
+Newman, et. al. Informational [Page 13]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ "The specified connection does not exist." In this case the Number of
+ Branches field will be the same as that of the request message.
+
+ The Verify Tree message can only be guaranteed to yield a correct
+ response when there are no other connection request messages or their
+ response messages pending for the specified connection. If this is
+ not the case the result of the Verify Tree message is undefined.
+
+3.5 Delete All Message
+
+ The Delete All message is a connection management message used to
+ delete all connections on a switch input port. All connections that
+ arrive at the specified input port must be deleted. On completion of
+ the operation all dynamically assigned VPI/VCI values for the
+ specified port must be unassigned, i.e. there must be no virtual
+ connections established in the VPI/VCI space that GSMP controls on
+ this port. The Input VPI, Input VCI, Output Port, Output VPI, and
+ Output VCI fields are not used in this message and their contents are
+ ignored and unspecified. The Delete All message is"
+
+ Message Type = 20
+
+ If the Result field of the request message is "AckAll" a success
+ response message must be sent upon completion of the operation. The
+ success response message must not be sent until the operation has
+ been completed.
+
+
+3.6 Move Branch Message
+
+ The Move Branch connection management message has the following
+ format for both request and response messages:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Newman, et. al. Informational [Page 14]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Message Type | Result | Code |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Port Session Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Input Port |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | zero | Input VPI | Input VCI |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Old Output Port |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | zero | Old Output VPI | Old Output VCI |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | New Output Port |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | zero | New Output VPI | New Output VCI |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Reserved | Priority |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The Move Branch message is a connection management message used to
+ move a single output branch of a virtual channel connection from its
+ current output port, output VPI, and output VCI, to a new output
+ port, output VPI, and output VCI on the same virtual channel
+ connection. None of the other output branches are modified. When the
+ operation is complete the original output VPI/VCI on the original
+ output port will be deleted from the connection. The Move Branch
+ message is:
+
+ Message Type = 22
+
+ If the virtual channel connection specified by the Input Port, Input
+ VPI, and Input VCI fields already exists, and the output branch
+ specified by the Old Output Port, Old Output VPI, and Old Output VCI
+ fields exists as a branch on that connection, the output branch
+ specified by the New Output Port, New Output VPI, and New Output VCI
+ fields is added to the connection and the branch specified by the Old
+ Output Port, Old Output VPI, and Old Output VCI fields is deleted. If
+ the Result field of the request message is "AckAll" a success
+ response message must be sent upon successful completion of the
+ operation. The success response message must not be sent until the
+ Move Branch operation has been completed.
+
+
+
+
+
+Newman, et. al. Informational [Page 15]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ If the virtual channel connection specified by the Input Port, Input
+ VPI, and Input VCI fields already exists, but the output branch
+ specified by the Old Output Port, Old Output VPI, and Old Output VCI
+ fields does not exist as a branch on that connection, a failure
+ response must be returned with the Code field indicating, "The
+ specified branch does not exist." The connection state of the switch
+ must not be modified in this case.
+
+ If the virtual channel connection specified by the Input Port, Input
+ VPI, and Input VCI fields does not exist, a failure response must be
+ returned with the Code field indicating, "The specified connection
+ does not exist." The connection state of the switch must not be
+ modified in this case.
+
+ The behavior is undefined if the output virtual channel specified by
+ the New Output Port, New Output VPI, and New Output VCI fields is
+ already in use by any connection.
+
+ A failure response will be returned if the switch is unable to
+ establish the specified branch or if there is an error in any of the
+ fields of the request message. If a failure message is returned the
+ state of the switch must not have been modified by the request
+ message.
+
+4. Port Management Message
+
+ The Port Management message allows a port to be brought into service,
+ taken out of service, looped back, or reset. Only the Bring Up and
+ the Reset Input Port functions change the connection state
+ (established connections) on the input port. Only the Bring Up
+ function changes the value of the Port Session Number. If the Result
+ field of the request message is "AckAll" a success response message
+ must be sent upon successful completion of the operation. The success
+ response message must not be sent until the operation has been
+ completed. The Port Management Message is:
+
+ Message Type = 32
+
+ The Port Management message has the following format for the request
+ and success response messages:
+
+
+
+
+
+
+
+
+
+
+
+Newman, et. al. Informational [Page 16]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Message Type | Result | Code |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Port |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Port Session Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Event Sequence Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Event Flags | Duration | Function |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Port
+ Gives the port number of the port to which the message
+ applies.
+
+ Port Session Number
+ Gives the current port session number for the port. If the
+ Port Session Number in the request message does not match
+ the current port session number of the port indicated by
+ the Port field of the request message, a failure response
+ must be returned with, "Invalid port session number,"
+ indicated in the Code field. If the specified function
+ requires a new Port Session Number to be generated the new
+ Port Session Number must be given in the success response
+ message. The Port Session Number must be generated using
+ some form of random number.
+
+ Event Sequence Number
+ In the success response message gives the current value of
+ the Event Sequence Number of the switch port indicated by
+ the Port field. The Event Sequence Number is set to zero
+ when the port is initialized and is incremented by one each
+ time an asynchronous event is detected on that port that
+ the switch would normally report via an Event message. If
+ the Event Sequence Number in the success response differs
+ from the Event Sequence Number of the most recent Event
+ message received for that port, events have occurred that
+ were not reported via an Event message. This is most likely
+ to be due to the flow control that restricts the rate at
+ which a switch can send Event messages for each port. In
+ the request message this field is not used and should be
+ set to zero by the sender and ignored by the receiver.
+
+
+
+
+Newman, et. al. Informational [Page 17]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ Event Flags
+ Field in the request message is used to reset the Event
+ Flags in the switch port indicated by the Port field. Each
+ Event Flag in a switch port corresponds to a type of Event
+ message. When a switch port sends an Event message it sets
+ the corresponding Event Flag on that port. The port is not
+ permitted to send another Event message of the same type
+ until the Event Flag has been reset. If the Function field
+ in the request message is set to "Reset Event Flags," for
+ each bit that is set in the Event Flags field, the
+ corresponding Event Flag in the switch port is reset.
+
+ The Event Flags field is only used in a request message
+ with the Function field set to "Reset Event Flags." For all
+ other values of the Function field, the Event Flags field
+ should be set to zero in the request message and must be
+ ignored by the receiver. In the success response message
+ the Event Flags field must be set to the current value of
+ the Event Flags for the port, after the completion of the
+ operation specified by the request message, for all values
+ of the Function field. Setting the Event Flags field to all
+ zeros in a "Reset Event Flags" request message allows the
+ controller to obtain the current state of the Event Flags
+ and the current Event Sequence Number of the port without
+ changing the state of the Event Flags.
+
+ The correspondence between the types of Event message and
+ the bits of the Event Flags field is as follows:
+
+ Port Up: Bit 0, (most significant bit)
+ Port Down: Bit 1,
+ Invalid VPI/VCI: Bit 2,
+ New Port: Bit 3,
+ Dead Port: Bit 4.
+
+ Duration
+ Is the length of time, in seconds, that any of the loopback
+ states remain in operation. When the duration has expired
+ the port will automatically be returned to service. If
+ another Port Management message is received for the same
+ port before the duration has expired, the loopback will
+ continue to remain in operation for the length of time
+ specified by the Duration field in the new message. The
+ Duration field is only used in request messages with the
+ Function field set to Internal Loopback, External Loopback,
+ or Bothway Loopback. In all other request messages it
+ should be set to zero by the sender and ignored by the
+ receiver.
+
+
+
+Newman, et. al. Informational [Page 18]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ Function
+ Specifies the action to be taken. The specified action will
+ be taken regardless of the current status of the port
+ (Available, Unavailable, or any Loopback state). The
+ defined values of the Function field are:
+
+ Bring Up:
+ Function = 1. Bring the port into service. All
+ connections that arrive at the specified input port
+ must be deleted and a new Port Session Number must be
+ selected using some form of random number. On
+ completion of the operation all dynamically assigned
+ VPI/VCI values for the specified input port must be
+ unassigned, i.e. no virtual connections will be
+ established in the VPI/VCI space that GSMP controls on
+ this input port. The Port Status of the port
+ afterwards will be Available.
+
+ Take Down:
+ Function = 2. Take the port out of service. Any cells
+ received at this port will be discarded. No cells will
+ be transmitted from this port. The Port Status of the
+ port afterwards will be Unavailable. The behavior is
+ undefined if the port over which the GSMP protocol is
+ running is taken down.
+
+ Internal Loopback:
+ Function = 3. Cells arriving at the output port from
+ the switch fabric are looped through to the input port
+ to return to the switch fabric. All of the ATM
+ functions of the input port above the PHY layer, e.g.
+ header translation, are performed upon the looped back
+ cells. The Port Status of the port afterwards will be
+ Internal Loopback.
+
+ External Loopback:
+ Function = 4. Cells arriving at the input port from
+ the external communications link are immediately
+ looped back to the communications link at the physical
+ layer without entering the input port. None of the ATM
+ functions of the input port above the PHY layer are
+ performed upon the looped back cells. The Port Status
+ of the port afterwards will be External Loopback.
+
+ Bothway Loopback:
+ Function = 5. Both internal and external loopback are
+ performed. The Port Status of the port afterwards will
+ be Bothway Loopback.
+
+
+
+Newman, et. al. Informational [Page 19]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ Reset Input Port:
+ Function = 6. All connections that arrive at the
+ specified input port must be deleted and the input and
+ output port hardware re-initialized. On completion of
+ the operation all dynamically assigned VPI/VCI values
+ for the specified input port must be unassigned, i.e.
+ no virtual connections will be established in the
+ VPI/VCI space that GSMP controls on this input port.
+ The Port Session Number is not changed by the Reset
+ Input Port function. The Port Status of the port
+ afterwards will be Unavailable.
+
+ Reset Event Flags:
+ Function = 7. For each bit that is set in the Event
+ Flags field, the corresponding Event Flag in the
+ switch port must be reset. The Port Status of the port
+ is not changed by this function.
+
+
+5. Statistics Messages
+
+ The statistics messages permit the controller to request the values
+ of various hardware counters associated with the switch input and
+ output ports, and virtual channels. Two classes of statistics message
+ are defined: the VC Activity Message, and the Port and VC Statistics
+ Messages. The VC Activity message is used to determine whether one or
+ more specific VCs have recently been carrying traffic. The Port and
+ VC Statistics message is used to query the various port and VC
+ specific traffic and error counters.
+
+5.1 VC Activity Message
+
+ The VC Activity message is used to determine whether one or more
+ specific VCs have recently been carrying traffic. The VC Activity
+ message contains one or more VC Activity records. Each VC Activity
+ record is used to request and return activity information concerning
+ a single virtual connection. Each VC is specified by its input port,
+ input VPI, and input VCI. These are specified in the Input Port,
+ Input VPI, and Input VCI fields of each VC Activity record. Two
+ forms of activity detection are supported. If the switch supports per
+ VC traffic accounting the current value of the traffic counter for
+ each specified VC must be returned. The units of traffic counted are
+ not specified but will typically be either cells or frames. The
+ controller must compare the traffic counts returned in the message
+ with previous values for each of the specified VCs to determine
+ whether each VC has been active in the intervening period. If the
+ switch does not support per VC traffic accounting, but is capable of
+ detecting per-VC activity by some other unspecified means, the result
+
+
+
+Newman, et. al. Informational [Page 20]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ may be indicated for each VC using the Flags field. The VC Activity
+ message is:
+
+ Message Type = 48
+
+ The VC Activity request and success response messages have the
+ following format:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Message Type | Result | Code |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Number of Records | Reserved |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ VC Activity Records ~
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Number of Records
+ Field specifies the number of VC Activity records to
+ follow. The maximum number of VC Activity records permitted
+ in a single VC Activity message is 120.
+
+ Reserved
+ Field is not used. It is set to zero by the sender and
+ ignored by the receiver.
+
+ Each VC Activity Record has the following format:
+
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Input Port |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Flags | Input VPI | Input VCI |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ + VC Traffic Count +
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Input Port
+ Identifies the port number of the input port on which the
+ VC of interest arrives in order to identify the VC
+ (regardless of whether the traffic count for the VC is
+ maintained on the input port or the output port).
+
+
+
+Newman, et. al. Informational [Page 21]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ Input VPI
+ Input VCI
+ Fields identify the specific virtual channel for which
+ statistics are being requested.
+
+ Flags
+ In the request message this field is unused, it should be
+ set to zero by the sender and ignored by the receiver. In
+ the success response message bit 0 (msb) of the Flags field
+ is used to indicate an invalid VC Activity record. This bit
+ must be zero if any of the fields in this VC Activity
+ record are invalid, if the input port specified by the
+ Input Port field does not exist, or if the specified
+ connection does not exist. If this bit is zero in a success
+ response message bits 1 and 2 of the Flags field and the VC
+ Traffic Count field are undefined. If bit 0 of the flags
+ field is set, the VC Activity record is valid, and bits 1
+ and 2 of the Flags field in the VC Activity record are used
+ as follows:
+
+ Bit 1 of the Flags field: if set, indicates that the
+ value in bit 2 of the Flags field is valid; if zero,
+ indicates that the value in the VC Traffic Count field
+ is valid.
+
+ If bit 1 of the Flags field is set, bit 2 of the Flags
+ field, if set, indicates that there has been some
+ activity on this virtual channel since the last VC
+ Activity message for this virtual channel.
+
+ If bit 1 of the Flags field is set, bit 2 of the Flags
+ field, if zero, indicates that there has been no
+ activity on this virtual channel since the last VC
+ Activity message for this virtual channel.
+
+ Bit 3 of the Flags field is not used, it should be set
+ to zero by the sender and ignored by the receiver.
+
+ VC Traffic Count
+ Field is unused in the request message, it should be set to
+ zero by the sender and ignored by the receiver. In the
+ success response message, if the switch supports per-VC
+ traffic counting, the VC Traffic Count field must be set to
+ the value of a free running, VC specific, 64 bit traffic
+ counter counting traffic flowing across the specified
+ virtual channel. The value of the traffic counter is not
+ modified by reading it. If per-VC traffic counting is
+ supported, the switch must report the VC Activity result
+
+
+
+Newman, et. al. Informational [Page 22]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ using the traffic count rather than using bit 2 of the
+ Flags field.
+
+ The format of the failure response is the same as the request message
+ with the Number of Records field set to zero and no VC Activity
+ records returned in the message. If the switch is incapable of
+ detecting per-VC activity, a failure response must be returned
+ indicating, "The specified request is not implemented on this
+ switch."
+
+5.2 Port and VC Statistics Messages
+
+ The Port and VC Statistics messages are used to query the various
+ port and VC specific traffic and error counters.
+
+ The Port and VC Statistics request messages have the following
+ format:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Message Type | Result | Code |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Port |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | zero | VPI | VCI |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Port
+ Identifies the port number of the port for which statistics
+ are being requested.
+
+ VPI
+ VCI
+ Fields identify the specific virtual channel for which
+ statistics are being requested. For requests that do not
+ require a virtual channel to be specified these fields
+ should be set to zero in the request and ignored by the
+ receiver.
+
+ The success response messages for the port and VC statistics group
+ have the following format:
+
+
+
+
+
+
+
+Newman, et. al. Informational [Page 23]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Message Type | Result | Code |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Port |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | zero | VPI | VCI |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ + Input Cell Count +
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ + Input Frame Count +
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ + Input Cell Discard Count +
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ + Input Frame Discard Count +
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ + Input HEC Error Count +
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ + Input Invalid VPI/VCI Count +
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ + Output Cell Count +
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ + Output Frame Count +
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ + Output Cell Discard Count +
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+
+
+
+Newman, et. al. Informational [Page 24]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ + Output Frame Discard Count +
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Port
+ VPI/VCI
+ Fields are the same as those of the request message.
+
+ Input Cell Count
+ Output Cell Count
+ Each gives the value of a free running 64 bit counter
+ counting cells arriving at the input or departing from the
+ output respectively. In response to a Port Statistics
+ message the count will be on a per port basis and in
+ response to a VC Statistics message the count will be on a
+ per VC basis.
+
+ Input Frame Count
+ Output Frame Count
+ Each gives the value of a free running 64 bit counter
+ counting frames (packets) arriving at the input or
+ departing from the output respectively. In response to a
+ Port Statistics message the count will be on a per port
+ basis and in response to a VC Statistics message the count
+ will be on a per VC basis.
+
+ Input Cell Discard Count
+ Output Cell Discard Count
+ Each gives the value of a free running 64 bit counter
+ counting cells discarded due to queue overflow on an input
+ port or on an output port respectively. In response to a
+ Port Statistics message the count will be on a per port
+ basis and in response to a VC Statistics message the count
+ will be on a per VC basis.
+
+ Input Frame Discard Count
+ Output Frame Discard Count
+ Each gives the value of a free running 64 bit counter
+ counting frames discarded due to queue overflow on an input
+ port or on an output port respectively. In response to a
+ Port Statistics message the count will be on a per port
+ basis and in response to a VC Statistics message the count
+ will be on a per VC basis.
+
+ HEC Error Count
+ Gives the value of a free running 64 bit counter counting
+ cells discarded due to header checksum errors on arrival at
+ an input port.
+
+
+
+Newman, et. al. Informational [Page 25]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ Invalid VPI/VCI Count
+ Gives the value of a free running 64 bit counter counting
+ cells discarded because their VPI/VCI is invalid on arrival
+ at an input port. An incoming VPI/VCI is invalid if no
+ connection is currently established having that value of
+ VPI/VCI.
+
+5.2.1 Port Statistics Message
+
+ The Port Statistics message requests the statistics for the switch
+ port specified in the Port field. The contents of the VPI/VCI field
+ in the Port Statistics request message are ignored. All of the count
+ fields in the success response message refer to per-port counts
+ regardless of the virtual channels to which the cells belong. Any of
+ the count fields in the success response message not supported by the
+ port will be set to zero. The Port Statistics message is:
+
+ Message Type = 49
+
+5.2.2 VC Statistics Message
+
+ The VC Statistics message requests the statistics for the virtual
+ channel specified in the VPI/VCI field that arrives on the switch
+ input port specified in the Port field. All of the count fields in
+ the success response message refer only to the specified virtual
+ channel. The HEC Error Count and Invalid VPI/VCI Count fields are not
+ VC specific and are set to zero. Any of the other count fields not
+ supported on a per virtual channel basis will be set to zero in the
+ success response message. The VC Statistics message is:
+
+ Message Type = 50
+
+6. Configuration
+
+ The configuration messages permit the controller to discover the
+ capabilities of the switch. Three configuration request messages have
+ been defined: Switch, Port, and All Ports.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Newman, et. al. Informational [Page 26]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ All configuration request messages have the following format:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Message Type | Result | Code |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Port |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Port
+ Identifies the port number for which configuration
+ information is being requested. If the Port field is not
+ required by the message it is set to zero by the sender and
+ ignored by the receiver.
+
+6.1 Switch Configuration Message
+
+ The Switch Configuration message requests the global (non port-
+ specific) configuration for the switch. The Switch Configuration
+ message is:
+
+ Message Type = 64
+
+ The Port field is not used in the request message and is set to zero.
+
+ The Switch Configuration success response message has the following
+ format:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Message Type | Result | Code |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Firmware Version Number | Reserved |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Switch Type | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
+ | Switch Name |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Firmware Version Number
+ The version number of the switch control firmware
+ installed.
+
+
+
+Newman, et. al. Informational [Page 27]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ Reserved
+ Field is not used. It is set to zero by the sender and
+ ignored by the receiver.
+
+ Switch Type
+ A 16 bit field allocated by the manufacturer of the switch.
+ (For these purposes the manufacturer of the switch is
+ assumed to be the organization identified by the OUI in the
+ Switch Name field.) The Switch Type identifies the product.
+ When the Switch Type is combined with the OUI from the
+ Switch Name the product is uniquely identified. Network
+ Management may use this identification to obtain product
+ related information from a database.
+
+ Switch Name
+ A 48 bit quantity that is unique within the operational
+ context of the device. A 48 bit IEEE 802 MAC address, if
+ available, may be used as the Switch Name. The most
+ significant 24 bits of the Switch Name must be an
+ Organizationally Unique Identifier (OUI) that identifies
+ the manufacturer of the switch.
+
+6.2 Port Configuration Message
+
+ The Port Configuration message requests the switch for the
+ configuration information of a single switch port. The Port field in
+ the request message specifies the port for which the configuration is
+ requested. The Port Configuration message is:
+
+ Message Type = 65.
+
+ The Port Configuration success response message has the following
+ format:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Newman, et. al. Informational [Page 28]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Message Type | Result | Code |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Port |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Port Session Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | zero | Min VPI | zero | Max VPI |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Min VCI | Max VCI |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Cell Rate |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Port Status | Port Type | Line Status | Priorities |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Port
+ The switch port to which the configuration information
+ refers. Configuration information relating to both the
+ input and the output sides of the switch port is given.
+ Port numbers are 32 bits wide and allocated by the switch.
+ The switch may choose to structure the 32 bits into sub
+ fields that have meaning to the physical structure of the
+ switch hardware (e.g. shelf, slot, interface).
+
+ Port Session Number
+ The current Port Session Number for the specified port.
+ Each switch port maintains a Port Session Number assigned
+ by the switch. The Port Session Number of a port remains
+ unchanged while the port is continuously in the Available
+ state. When a port returns to the Available state after it
+ has been Unavailable, or after a power cycle, its Port
+ Session Number must be changed, preferably using some form
+ of random number.
+
+ Min VPI
+ The minimum value of dynamically assigned incoming VPI that
+ the connection table on the input port can support and may
+ be controlled by GSMP.
+
+ Max VPI
+ The maximum value of dynamically assigned incoming VPI that
+ the connection table on the input port can support and may
+ be controlled by GSMP. It is assumed that the input port
+
+
+
+Newman, et. al. Informational [Page 29]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ can handle all values of VPI within the range Min VPI to
+ Max VPI inclusive and that GSMP may control all values
+ within this range. If the switch does not support virtual
+ paths it is acceptable for both Min VPI and Max VPI to
+ specify the same value, most likely zero.
+
+ Min VCI
+ The minimum value of dynamically assigned incoming VCI that
+ the connection table on the input port can support and may
+ be controlled by GSMP.
+
+ Max VCI
+ The maximum value of dynamically assigned incoming VCI that
+ the connection table on the input port can support and may
+ be controlled by GSMP. It is assumed that the input port
+ can handle all values of VCI within the range Min VCI to
+ Max VCI inclusive for each of the virtual paths in the
+ range Min VPI to Max VPI inclusive and that GSMP may
+ control all values within this range.
+
+ Cell Rate
+ A measure of the bandwidth of the port. It is the rate of
+ cells arriving at or departing from the port in cells/s. It
+ is assumed that both input port and output port have the
+ same cell rate.
+
+ Port Status
+ Gives the administrative state of the port. The defined
+ values of the Port Status field are:
+
+ Available:
+ Port Status = 1. The port is available to both send
+ and receive cells. When a port changes to the
+ Available state from any other administrative state,
+ all dynamically assigned virtual connections must be
+ cleared and a new Port Session Number must be
+ generated.
+
+ Unavailable:
+ Port Status = 2. The port has intentionally been taken
+ out of service. No cells will be transmitted from this
+ port. No cells will be received by this port.
+
+ Internal Loopback:
+ Port Status = 3. The port has intentionally been taken
+ out of service and is in internal loopback: cells
+ arriving at the output port from the switch fabric are
+ looped through to the input port to return to the
+
+
+
+Newman, et. al. Informational [Page 30]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ switch fabric. All of the ATM functions of the input
+ port above the PHY layer, e.g. header translation, are
+ performed upon the looped back cells.
+
+ External Loopback:
+ Port Status = 4. The port has intentionally been taken
+ out of service and is in external loopback: cells
+ arriving at the input port from the external
+ communications link are immediately looped back to the
+ communications link at the physical layer without
+ entering the input port. None of the ATM functions of
+ the input port above the PHY layer are performed upon
+ the looped back cells.
+
+ Bothway Loopback:
+ Port Status = 5. The port has intentionally been taken
+ out of service and is in both internal and external
+ loopback.
+
+ Port Type
+ The type of physical transmission interface for this port.
+ The values for this field are given by the IANAifTYPE
+ object from the MIB defined for the IANAifTYPE-MIB
+ specified in RFC 1573 [rfc1573]. Example values are: SONET
+ or SDH (39), DS-3 (30).
+
+ Line Status
+ The status of the physical transmission medium connected to
+ the port. The defined values of the Line Status field are:
+
+ Up:
+ Line Status = 1. The line is able to both send and
+ receive cells. When the Line Status changes to Up
+ from either the Down or Test states, a new Port
+ Session Number must be generated.
+
+ Down:
+ Line Status = 2. The line is unable either to send or
+ receive cells or both.
+
+ Test:
+ Line Status = 3. The port or line is in a test mode,
+ for example, power-on test.
+
+ Priorities
+ The number of different priorities that this output port
+ can assign to virtual channel connections. Zero is invalid
+ in this field. If an output port is able to support "Q"
+
+
+
+Newman, et. al. Informational [Page 31]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ priorities, the highest priority is numbered zero and the
+ lowest priority is numbered "Q-1". The ability to offer
+ different qualities of service to different connections
+ based upon their priority is assumed to be a property of
+ the output port of the switch. It may be assumed that for
+ virtual channel connections that share the same output
+ port, an ATM cell on a connection with a higher priority is
+ much more likely to exit the switch before an ATM cell on a
+ connection with a lower priority if they are both in the
+ switch at the same time.
+
+6.3 All Ports Configuration Message
+
+ The All Ports Configuration message requests the switch for the
+ configuration information of all of its ports. The All Ports
+ Configuration message is:
+
+ Message Type = 66
+
+ The Port field is not used in the request message and is set to zero.
+
+ The All Ports Configuration success response message has the
+ following format:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Message Type | Result | Code |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Number of Records | Port Record Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ Port Records ~
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Number of Records
+ Field gives the number of Port Records to follow in the
+ message. The maximum number of port records allowed in a
+ single All Ports Configuration success response is 64. If a
+ switch has more than 64 ports it must send them in multiple
+ success response messages.
+
+ Port Record Length
+ Field gives the length of each port record in bytes. This
+ is currently 24 but the Port Record Length field allows for
+
+
+
+Newman, et. al. Informational [Page 32]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ the future definition of further fields at the end of the
+ port record while preserving compatibility with earlier
+ versions of the protocol.
+
+ Port Records follow in the remainder of the message. Each port record
+ has the following format:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Port |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Port Session Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | zero | Min VPI | zero | Max VPI |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Min VCI | Max VCI |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Cell Rate |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Port Status | Port Type | Line Status | Priorities |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The definition of the fields in the port record is exactly the same
+ as that of the Port Configuration message.
+
+7. Event Messages
+
+ Event messages allow the switch to inform the controller of certain
+ asynchronous events. Event messages are not acknowledged. The Result
+ field and the Code field in the message header are not used and
+ should be set to zero. Event messages are not sent during
+ initialization. Event messages have the following format:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Newman, et. al. Informational [Page 33]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Message Type | Result | Code |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Transaction Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Port |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Port Session Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Event Sequence Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | zero | VPI | VCI |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Port
+ Field gives the switch port to which the event message
+ refers.
+
+ Port Session Number
+ The current Port Session Number for the specified port.
+
+ Event Sequence Number
+ The current value of the Event Sequence Number for the
+ specified port. The Event Sequence Number is set to zero
+ when the port is initialized and is incremented by one each
+ time an asynchronous event is detected on that port that
+ the switch would normally report via an Event message. The
+ Event Sequence Number must be incremented each time an
+ event occurs even if the switch is prevented from sending
+ an Event message due to the action of the flow control.
+
+ VPI/VCI
+ Field gives the VPI/VCI to which the event message refers.
+ If this field is not required by the event message it is
+ set to zero.
+
+ Each switch port must maintain an Event Sequence Number and a set of
+ Event Flags, one Event Flag for each type of Event message. When a
+ switch port sends an Event message it must set the Event Flag on that
+ port corresponding to the type of the event. The port is not
+ permitted to send another Event message of the same type until the
+ Event Flag has been reset. Event Flags are reset by the "Reset Event
+ Flags" function of the Port Management message. This is a simple flow
+ control preventing the switch from flooding the controller with event
+ messages. The Event Sequence Number of the port must be incremented
+ every time an event is detected on that port even if the port is
+
+
+
+Newman, et. al. Informational [Page 34]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ prevented from reporting the event due to the action of the flow
+ control. This allows the controller to detect that it has not been
+ informed of some events that have occurred on the port due to the
+ action of the flow control.
+
+7.1 Port Up Message
+
+ The Port Up message informs the controller that the Line Status of a
+ port has changed from either the Down or Test state to the Up state.
+ When the Line Status of a switch port changes to the Up state from
+ either the Down or Test state a new Port Session Number must be
+ generated, preferably using some form of random number. The new Port
+ Session Number is given in the Port Session Number field. The VPI/VCI
+ field is not used and is set to zero. The Port Up message is:
+
+ Message Type = 80
+
+7.2 Port Down Message
+
+ The Port Down message informs the controller that the Line Status of
+ a port has changed from the Up state to the Down state. This message
+ will be sent to report link failure if the switch is capable of
+ detecting link failure. The port session number that was valid before
+ the port went down is reported in the Port Session Number field. The
+ VPI/VCI field is not used and is set to zero. The Port Down message
+ is:
+
+ Message Type = 81
+
+7.3 Invalid VPI/VCI Message
+
+ The Invalid VPI/VCI message is sent to inform the controller that one
+ or more cells have arrived at an input port with a VPI/ VCI that is
+ currently not allocated to an assigned connection. The input port is
+ indicated in the Port field, and the VPI/VCI in the VPI/VCI field.
+ The Invalid VPI/VCI message is:
+
+ Message Type = 82
+
+7.4 New Port Message
+
+ The New Port message informs the controller that a new port has been
+ added to the switch. The port number of the new port is given in the
+ Port field. A new Port Session Number must be assigned, preferably
+ using some form of random number. The new Port Session Number is
+ given in the Port Session Number field. The state of the new port is
+ undefined so the VPI/VCI field is not used and is set to zero. The
+ New Port message is:
+
+
+
+Newman, et. al. Informational [Page 35]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ Message Type = 83
+
+7.5 Dead Port Message
+
+ The Dead Port message informs the controller that a port has been
+ removed from the switch. The port number of the port is given in the
+ Port field. The Port Session Number that was valid before the port
+ was removed is reported in the Port Session Number field. The
+ VPI/VCI fields are not used and are set to zero. The Dead Port
+ message is:
+
+ Message Type = 84
+
+8. Adjacency Protocol
+
+ The adjacency protocol is used to synchronize state across the link,
+ to discover the identity of the entity at the other end of a link,
+ and to detect when it changes. No GSMP messages other than those of
+ the adjacency protocol may be sent across the link until the
+ adjacency protocol has achieved synchronization.
+
+8.1 Packet Format
+
+ The adjacency protocol is:
+
+ Message Type = 10
+
+ All GSMP messages belonging to the adjacency protocol have the
+ following structure:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Newman, et. al. Informational [Page 36]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Message Type | Result | Code |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Sender Name |
+ + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
+ | Receiver Name |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Sender Port |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Receiver Port |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Sender Instance |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Receiver Instance |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Version
+ The GSMP protocol version number, currently Version = 1. It
+ should be set by the sender of the message to the GSMP
+ protocol version that the sender is currently running.
+
+ Result
+ Field is not used in the adjacency protocol. It should be
+ set to zero by the sender and ignored by the receiver.
+
+ Code
+ Field specifies the function of the message. Four Codes are
+ defined for the adjacency protocol:
+
+ SYN: Code = 1
+ SYNACK: Code = 2
+ ACK: Code = 3
+ RSTACK: Code = 4.
+
+ Sender Name
+ For the SYN, SYNACK, and ACK messages, is the name of the
+ entity sending the message. The Sender Name is a 48 bit
+ quantity that is unique within the operational context of
+ the device. A 48 bit IEEE 802 MAC address, if available,
+ may be used for the Sender Name. For the RSTACK message,
+ the Sender Name field is set to the value of the Receiver
+ Name field from the incoming message that caused the RSTACK
+ message to be generated.
+
+
+
+
+Newman, et. al. Informational [Page 37]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ Receiver Name
+ For the SYN, SYNACK, and ACK messages, is the name of the
+ entity that the sender of the message believes is at the
+ far end of the link. If the sender of the message does not
+ know the name of the entity at the far end of the link,
+ this field should be set to zero. For the RSTACK message,
+ the Receiver Name field is set to the value of the Sender
+ Name field from the incoming message that caused the RSTACK
+ message to be generated.
+
+ Sender Port
+ For the SYN, SYNACK, and ACK messages, is the local port
+ number of the link across which the message is being sent.
+ Port numbers are locally assigned 32 bit values. For the
+ RSTACK message, the Sender Port field is set to the value
+ of the Receiver Port field from the incoming message that
+ caused the RSTACK message to be generated.
+
+ Receiver Port
+ For the SYN, SYNACK, and ACK messages, is what the sender
+ believes is the local port number for the link, allocated
+ by the entity at the far end of the link. If the sender of
+ the message does not know the port number at the far end of
+ the link, this field should be set to zero. For the RSTACK
+ message, the Receiver Port field is set to the value of the
+ Sender Port field from the incoming message that caused the
+ RSTACK message to be generated.
+
+ Sender Instance
+ For the SYN, SYNACK, and ACK messages, is the sender's
+ instance number for the link. It is used to detect when the
+ link comes back up after going down or when the identity of
+ the entity at the other end of the link changes. The
+ instance number is a 32 bit number that is guaranteed to be
+ unique within the recent past and to change when the link
+ or node comes back up after going down. Zero is not a valid
+ instance number. For the RSTACK message, the Sender
+ Instance field is set to the value of the Receiver Instance
+ field from the incoming message that caused the RSTACK
+ message to be generated.
+
+ Receiver Instance
+ For the SYN, SYNACK, and ACK messages, is what the sender
+ believes is the current instance number for the link,
+ allocated by the entity at the far end of the link. If the
+ sender of the message does not know the current instance
+ number at the far end of the link, this field should be set
+ to zero. For the RSTACK message, the Receiver Instance
+
+
+
+Newman, et. al. Informational [Page 38]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ field is set to the value of the Sender Instance field from
+ the incoming message that caused the RSTACK message to be
+ generated.
+
+8.2 Procedure
+
+ The adjacency protocol is described by the rules and state tables
+ given in this section.
+
+ The rules and state tables use the following operations:
+
+ o The "Update Peer Verifier" operation is defined as storing the
+ values of the Sender Instance, Sender Port, and Sender Name fields
+ from a SYN or SYNACK message received from the entity at the far
+ end of the link.
+
+ o The procedure "Reset the link" is defined as:
+
+ 1. Generate a new instance number for the link
+ 2. Delete the peer verifier (set to zero the values of Sender
+ Instance, Sender Port, and Sender Name previously stored by
+ the Update Peer Verifier operation)
+ 3. Send a SYN message
+ 4. Enter the SYNSENT state
+
+ o The state tables use the following Boolean terms and operators:
+
+ A The Sender Instance in the incoming message matches the
+ value stored from a previous message by the "Update Peer
+ Verifier" operation.
+
+ B The Sender Instance, Sender Port, and Sender Name fields in
+ the incoming message match the values stored from a
+ previous message by the "Update Peer Verifier" operation.
+
+ C The Receiver Instance, Receiver Port, and Receiver Name
+ fields in the incoming message match the values of the
+ Sender Instance, Sender Port, and Sender Name currently
+ sent in outgoing SYN, SYNACK, and ACK messages.
+
+ "&&" Represents the logical AND operation
+
+ "||" Represents the logical OR operation
+
+ "!" Represents the logical negation (NOT) operation.
+
+
+
+
+
+
+Newman, et. al. Informational [Page 39]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ o A timer is required for the periodic generation of SYN, SYNACK,
+ and ACK messages. The period of the timer is unspecified but a
+ value of one second is suggested.
+
+ There are two independent events: the timer expires, and a packet
+ arrives. The processing rules for these events are:
+
+ Timer Expires: Reset Timer
+ If state = SYNSENT Send SYN
+ If state = SYNRCVD Send SYNACK
+ If state = ESTAB Send ACK
+
+ Packet Arrives: If incoming message is an RSTACK
+ If A && C && !SYNSENT
+ Reset the link
+ Else Discard the message
+ Else the following State Tables.
+
+ o State synchronization across a link is considered to be achieved
+ when the protocol reaches the ESTAB state.
+
+ State Tables
+
+State: SYNSENT
+
++======================================================================+
+| Condition | Action | New State |
++====================+=====================================+===========+
+| SYNACK && C | Update Peer Verifier; Send ACK | ESTAB |
++--------------------+-------------------------------------+-----------+
+| SYNACK && !C | Send RSTACK | SYNSENT |
++--------------------+-------------------------------------+-----------+
+| SYN | Update Peer Verifier; Send SYNACK | SYNRCVD |
++--------------------+-------------------------------------+-----------+
+| ACK | Send RSTACK | SYNSENT |
++======================================================================+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Newman, et. al. Informational [Page 40]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+State: SYNRCVD
+
++======================================================================+
+| Condition | Action | New State |
++====================+=====================================+===========+
+| SYNACK && C | Update Peer Verifier; Send ACK | ESTAB |
++--------------------+-------------------------------------+-----------+
+| SYNACK && !C | Send RSTACK | SYNRCVD |
++--------------------+-------------------------------------+-----------+
+| SYN | Update Peer Verifier; Send SYNACK | SYNRCVD |
++--------------------+-------------------------------------+-----------+
+| ACK && B && C | Send ACK | ESTAB |
++--------------------+-------------------------------------+-----------+
+| ACK && !(B && C) | Send RSTACK | SYNRCVD |
++======================================================================+
+
+
+State: ESTAB
+
++======================================================================+
+| Condition | Action | New State |
++====================+=====================================+===========+
+| SYN || SYNACK | Send ACK (note 1) | ESTAB |
++--------------------+-------------------------------------+-----------+
+| ACK && B && C | Send ACK (note 1) | ESTAB |
++--------------------+-------------------------------------+-----------+
+| ACK && !(B && C) | Send RSTACK | ESTAB |
++======================================================================+
+
+ Note 1: No more than one ACK should be sent within any time period of
+ length defined by the timer.
+
+9. Failure Response Messages
+
+ A failure response message is formed by returning the request message
+ that caused the failure with the Result field in the header
+ indicating failure (Result = 4) and the Code field giving the failure
+ code. The failure code specifies the reason for the switch being
+ unable to satisfy the request message. A failure code of 16 is used
+ for a failure that is specific to the particular request message and
+ its meaning is defined within the text describing that message. The
+ following failure codes are defined:
+
+ 1: Unspecified reason not covered by other failure codes.
+ 2: Invalid request message.
+ 3: The specified request is not implemented on this switch.
+ 4: Invalid port session number.
+ 5: One or more of the specified ports does not exist.
+
+
+
+Newman, et. al. Informational [Page 41]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+ 6: One or more of the specified ports is down.
+ 7: One or more of the specified VPIs or VCIs is out of range on
+ one or more of the requested ports.
+ 8: The specified connection does not exist.
+ 9: The specified branch does not exist.
+ 10: A branch belonging to the specified multicast connection is
+ already established on the specified output port and the
+ switch cannot support more than a single branch of any
+ multicast connection on the same output port.
+ 11: The limit on the maximum number of multicast connections that
+ the switch can support has been reached.
+ 12: The limit on the maximum number of branches that the
+ specified multicast connection can support has been reached.
+ 13: Unable to assign the requested VPI/VCI value to the requested
+ branch on the specified multicast connection.
+ 14: General problem related to the manner in which multicast is
+ supported by the switch.
+ 15: Out of resources (e.g. memory exhausted, etc.).
+ 16: Failure specific to the particular message type.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Newman, et. al. Informational [Page 42]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+REFERENCES
+
+ [I.361] "B-ISDN ATM Layer Specification," International
+ Telecommunication Union, ITU-T Recommendation I.361, Mar.
+ 1993.
+
+ [I.363] "B-ISDN ATM Adaptation Layer (AAL) Specification,"
+ International Telecommunication Union, ITU-T Recommendation
+ I.363, Mar. 1993.
+
+ [rfc1700] "Assigned Numbers," STD 2, RFC 1700, October 1994.
+
+ [rfc1573] "Evolution of the Interfaces Group of MIB-II," RFC 1573,
+ January 1994.
+
+
+SECURITY CONSIDERATIONS
+
+ Security issues are not discussed in this document.
+
+
+AUTHORS' ADDRESSES
+
+
+ Peter Newman Phone: +1 (415) 846-4603
+ Ipsilon Networks, Inc. Email: pn@ipsilon.com
+
+ W. L. Edwards, Chief Scientist Phone: +1 (913) 534 5334
+ Sprint Email: texas@sprintcorp.com
+
+ Robert M. Hinden Phone: +1 (415) 846-4604
+ Ipsilon Networks, Inc. Email: hinden@ipsilon.com
+
+ Eric Hoffman Phone: +1 (415) 846-4610
+ Ipsilon Networks, Inc. Email: hoffman@ipsilon.com
+
+ Fong Ching Liaw Phone: +1 (415) 846-4607
+ Ipsilon Networks, Inc. Email: fong@ipsilon.com
+
+ Tom Lyon Phone: +1 (415) 846-4601
+ Ipsilon Networks, Inc. Email: pugs@ipsilon.com
+
+ Greg Minshall Phone: +1 (415) 846-4605
+ Ipsilon Networks, Inc. Email: minshall@ipsilon.com
+
+
+
+
+
+
+
+Newman, et. al. Informational [Page 43]
+
+RFC 1987 GSMP Protocol Specification August 1996
+
+
+Ipsilon Networks, Inc. is located at:
+
+ 2191 East Bayshore Road
+ Suite 100
+ Palo Alto, CA 94303
+ USA
+
+Sprint is located at:
+
+ Sprint
+ Sprint Technology Services - Long Distance Division
+ 9300 Metcalf Avenue
+ Mailstop KSOPKB0802
+ Overland Park, KS 66212-6333
+ USA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Newman, et. al. Informational [Page 44]
+