As per Relevance of the word response, we have this rfc below:











Network Working Group P. Newman,
Request for Comments: 2297 W. Edwards,
Updates: 1987 R. Hinden,
Category: Informational E. Hoffman,
F. Ching
T. Lyon,
G. Minshall,
March 1998


Ipsilon's General Switch Management Protocol
Version 2.0

Status of this

This memo provides information for the Internet community. It
not specify an Internet standard of any kind. Distribution of
memo is unlimited

Copyright

Copyright (C) The Internet Society (1998). All Rights Reserved




This memo specifies enhancements to the General Switch
Protocol (GSMP) [RFC1987]. The major enhancement is the addition
Quality of Service (QoS) messages. Other improvements have been
to the protocol resulting from operational experience. GSMP is
general purpose protocol to control an ATM switch. It allows
controller to establish and release connections across the switch
add and delete leaves on a multicast connection; manage switch ports
request configuration information; and request statistics

















Newman, et. al. Informational [Page 1]

RFC 2297 Ipsilon's General Switch Management March 1998


Table of

1. Introduction....................................................3

2. GSMP Packet Encapsulation.......................................4
2.1 ATM Encapsulation...........................................4
2.2 Ethernet Encapsulation......................................6

3. Common Definitions and Procedures...............................7
3.1 GSMP Packet Format..........................................8
3.2 Failure Response Messages..................................11

4. Connection Management Messages.................................16
4.1 Add Branch Message.........................................21
4.2 Delete Tree Message........................................23
4.3 Verify Tree Message........................................24
4.4 Delete All Message.........................................24
4.5 Delete Branches Message....................................25
4.6 Move Branch Message........................................27

5. Port Management Messages.......................................29
5.1 Port Management Message....................................29
5.2 Label Range Message........................................34

6. State and Statistics Messages..................................37
6.1 Connection Activity Message................................38
6.2 Statistics Messages........................................40
6.2.1 Port Statistics Message..............................44
6.2.2 Connection Statistics Message........................44
6.2.3 QoS Class Statistics Message.........................44
6.3 Report Connection State Message............................45

7. Configuration Messages.........................................49
7.1 Switch Configuration Message...............................50
7.2 Port Configuration Message.................................51
7.3 All Ports Configuration Message............................57

8. Event Messages.................................................59
8.1 Port Up Message............................................60
8.2 Port Down Message..........................................60
8.3 Invalid VPI/VCI Message....................................61
8.4 New Port Message...........................................61
8.5 Dead Port Message..........................................61

9. Quality of Service Messages....................................61
9.1 Abstract Switch Model......................................62
9.2 QoS Configuration Message..................................66
9.3 Scheduler Establishment Message............................74



Newman, et. al. Informational [Page 2]

RFC 2297 Ipsilon's General Switch Management March 1998


9.4 QoS Class Establishment Message............................78
9.5 QoS Release Message........................................85
9.6 QoS Connection Management Message..........................86
9.7 QoS Failure Response Codes.................................97

10. Adjacency Protocol............................................97
10.1 Packet Format.............................................98
10.2 Procedure.................................................101
10.3 Loss of Synchronization...................................103

11. Summary of Failure Response Codes.............................104

12. Summary of Message Set........................................105

References........................................................107
Security Considerations...........................................107
Authors' Addresses................................................107
Full Copyright Statement..........................................109



1.

The General Switch Management Protocol (GSMP), is a general
protocol to control an ATM switch. GSMP allows a controller
establish and release connections across the switch; add and
leaves on a multicast connection; manage switch ports;
configuration information; and request statistics. It also allows
switch to inform the controller of asynchronous events such as a
going down. GSMP runs across an ATM link connecting the controller
the switch, on a control connection (virtual channel) established
initialization. GSMP operation across an Ethernet link is
specified. The GSMP protocol is asymmetric, the controller being
master and the switch being the slave. Multiple switches may
controlled by a single controller using multiple instantiations
the protocol over separate control connections

A switch is assumed to contain multiple "ports". Each port is
combination of one "input port" and one "output port". Some
requests refer to the port as a whole whereas other requests
specific to the input port or the output port. ATM cells arrive
the switch from an external communication link on incoming
paths or virtual channels at an input port. ATM cells depart from
switch to an external communication link on outgoing virtual paths
virtual channels from an output port. Virtual paths on a port or
are referenced by their virtual path identifier (VPI).
channels on a port or link are referenced by their virtual path
virtual channel identifiers (VPI/VCI).



Newman, et. al. Informational [Page 3]

RFC 2297 Ipsilon's General Switch Management March 1998


A virtual channel connection across a switch is formed by
an incoming virtual channel to one or more outgoing virtual channels
Virtual channel connections are referenced by the input port on
they arrive and the virtual path and virtual channel
(VPI/VCI) of their incoming virtual channel. A virtual
connection across a switch is formed by connecting an
virtual path to one or more outgoing virtual paths. Virtual
connections are referenced by the input port on which they arrive
their virtual path identifier (VPI). In a virtual path
the value of the VCI in each cell on that, connection is not used
the switch and remains unchanged by the switch

GSMP supports point-to-point and point-to-multipoint connections.
multipoint-to-point connection is specified by establishing
point-to-point connections each of them specifying the same
branch. A multipoint-to-multipoint connection is specified
establishing multiple point-to-multipoint trees each of
specifying the same output branches

In general a virtual channel is established with a certain quality
service (QoS). A rich set of QoS messages is introduced in
version of the protocol. However, implementation or operation of
without any of the messages defined in Section 9, "Quality of
messages," is permitted. In this case each virtual
connection or virtual path connection may be assigned a priority
it is established. It may be assumed that for virtual
that share the same output port, an ATM cell on a connection with
higher priority is much more likely to exit the switch before an
cell on a connection with a lower priority if they are both in
switch at the same time. The number of priorities that each port
the switch supports may be obtained from the port
message

GSMP contains an adjacency protocol. The adjacency protocol is
to synchronize state across the link, to negotiate which version
the GSMP protocol to use, to discover the identity of the entity
the other end of a link, and to detect when it changes


2. GSMP Packet

2.1 ATM

GSMP packets are variable length and for an ATM data link layer
are encapsulated directly in an AAL-5 CPCS-PDU [I.363] with
LLC/SNAP header as illustrated





Newman, et. al. Informational [Page 4]

RFC 2297 Ipsilon's General Switch Management March 1998


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) +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

(The convention in the documentation of Internet Protocols [RFC1700]
is to express numbers in decimal. Numbers in hexadecimal format
specified by prefacing them with the characters "0x". Data
pictured in "big-endian" order. That is, fields are described left
right, with the most significant octet on the left and the
significant octet on the right. Whenever a diagram shows a group
octets, the order of transmission of those octets is the normal
in which they are read in English. Whenever an octet represents
numeric quantity the left most bit in the diagram is the high
or most significant bit. That is, the bit labeled 0 is the
significant bit. Similarly, whenever a multi-octet field represents
numeric quantity the left most bit of the whole field is the
significant bit. When a multi-octet quantity is transmitted, the
significant octet is transmitted first. This is the same
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. (0x880C is the assigned Ethertype for GSMP.)

The maximum transmission unit (MTU) of the GSMP Message field is 1492
octets

The virtual channel over which a GSMP session is established
a controller and the switch it is controlling is called the
control channel. The default VPI and VCI of the GSMP control
for LLC/SNAP encapsulated GSMP messages on an ATM data link layer is

VPI = 0
VCI = 15.




Newman, et. al. Informational [Page 5]

RFC 2297 Ipsilon's General Switch Management March 1998


2.2 Ethernet

GSMP packets may be encapsulated on an Ethernet data link
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ethertype (0x88-0C) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
~ GSMP Message ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sender Instance |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Receiver Instance |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Pad |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Frame Check Sequence |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Destination
For the SYN message of the adjacency protocol
Destination Address is the broadcast
0xFFFFFFFFFFFF. (Alternatively, it is also valid
configure the node with the unicast 48-bit IEEE MAC
of the destination. In this case the configured
Destination Address is used in the SYN message.) For
other messages the Destination Address is the unicast 48-
bit IEEE MAC address of the destination. This address
be discovered from the Source Address field of
received during synchronization of the adjacency protocol

Source
For all messages the Source Address is the 48-bit IEEE
address of the sender


The assigned Ethertype for GSMP is 0x880C




Newman, et. al. Informational [Page 6]

RFC 2297 Ipsilon's General Switch Management March 1998


GSMP
The maximum transmission unit (MTU) of the GSMP
field is 1492 octets

Sender
The Sender Instance number for the link obtained from
adjacency protocol. This field is already present in
adjacency protocol message. It is appended to all non
adjacency GSMP messages in the Ethernet encapsulation
offer additional protection against the introduction
corrupt state

Receiver
The Receiver Instance number is what the sender believes
the current instance number for the link, allocated by
entity at the far end of the link. This field is
present in the adjacency protocol message. It is
to all non-adjacency GSMP messages in the
encapsulation to offer additional protection against
introduction of corrupt state


The minimum length of the data field of an Ethernet
is 46 octets. If necessary, padding should be added
that it meets the minimum Ethernet frame size. This
should be octets of zero and it is not considered to
part of the GSMP message

After the adjacency protocol has achieved synchronization, for
GSMP message received with an Ethernet encapsulation, the
must check the Source Address from the Ethernet MAC header,
Sender Instance, and the Receiver Instance. The incoming
message must be discarded if the Sender Instance and the
Address do not match the values of Sender Instance and Sender
stored by the "Update Peer Verifier" operation of the GSMP
protocol. The incoming GSMP message must also be discarded if
arrives over any port other than the port over which the
protocol has achieved synchronization. In addition, the
message must also be discarded if the Receiver Instance field
not match the current value for the Sender Instance of the
adjacency protocol


3. Common Definitions and

GSMP is a master-slave protocol. The controller issues
messages to the switch. Each request message indicates whether
response is required from the switch and contains a



Newman, et. al. Informational [Page 7]

RFC 2297 Ipsilon's General Switch Management March 1998


identifier to enable the response to be associated with the request
The switch replies with a response message indicating either
successful result or a failure. There are five classes of
request-response message: Connection Management, Port Management
State and Statistics, Configuration, and Quality of Service.
switch may also generate asynchronous Event messages to inform
controller of asynchronous events. Event messages are
acknowledged by the controller. There is also an adjacency
message used to establish synchronization across the link
maintain a handshake

For the request-response messages, each message type has a format
the request message and a format for the success response.
otherwise specified a failure response message is identical to
request message that caused the failure, with the Code
indicating the nature of the failure. Event messages have only
single format defined as they are not acknowledged by the controller

Switch ports are described by a 32-bit port number. The
assigns port numbers and it may typically choose to structure the 32
bits into subfields that have meaning to the physical structure
the switch (e.g. slot, port). In general, a port in the same
location on the switch will always have the same port number,
across power cycles. The internal structure of the port number
opaque to the GSMP protocol. However, for the purposes of
management such as logging, port naming, and
representation, a switch may declare the physical location (
slot and port) of each port. Alternatively, this information may
obtained by looking up the product identity in a database

Each switch port also maintains a port session number assigned by
switch. A message, with an incorrect port session number must
rejected. This allows the controller to detect a link failure and
keep state synchronized

Except for the adjacency protocol message, no GSMP messages may
sent across the link until the adjacency protocol has
synchronization, and all GSMP messages received on a link that
not currently have state synchronization must be discarded

3.1 GSMP Packet

All GSMP messages, except the adjacency protocol message, have
following format







Newman, et. al. Informational [Page 8]

RFC 2297 Ipsilon's General Switch Management March 1998


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 ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


The version number of the GSMP protocol being used in
session. It should be set by the sender of the message
the GSMP protocol version negotiated by the
protocol

Message
The GSMP message type. GSMP messages fall into six classes
Connection Management, Port Management, State
Statistics, Configuration, Quality of Service, and Events
Each class has a number of different message types.
addition, one Message Type is allocated to the
protocol


Field in a Connection Management request message, a
Management request message, or a Quality of Service
message is used to indicate whether a response is
to the request message if the outcome is successful.
value of "NoSuccessAck" indicates that the request
does not expect a response if the outcome is successful
and a value of "AckAll" indicates that a response
expected if the outcome is successful. In both cases
failure response must be generated if the request fails
For Sate and Statistics, and Configuration
messages, a value of "NoSuccessAck" in the request
is ignored and the request message is handled as if
field were set to "AckAll". (This facility was added
reduce the control traffic in the case where the
periodically checks that the state in the switch
correct. If the controller does not use this capability
all request messages should be sent with a value
"AckAll.")






Newman, et. al. Informational [Page 9]

RFC 2297 Ipsilon's General Switch Management March 1998


In a response message the result field can have
values: "Success," "More," and "Failure". The "Success"
"More" results both indicate a success response. The "More
result indicates that the success response exceeds
maximum transmission unit of the data link and that one
more further messages will be sent to complete the
response. All messages that belong to the same
response will have the same Transaction Identifier.
"Success" result indicates a success response that may
contained in a single message or the final message of
success response spanning multiple messages

The encoding of the result field is

NoSuccessAck: Result = 1
AckAll: Result = 2
Success: Result = 3
Failure: Result = 4
More: Result = 5.


The Result field is not used in an adjacency
message


Field gives further information concerning the result in
response message. It is mostly used to pass an error
in a failure response but can also be used to give
information in a success response message or an
message. In a request message the code field is not
and is set to zero. In an adjacency protocol message
Code field is used to determine the function of
message

Transaction
Used to associate a request message with its
message. For request messages the controller may select
transaction identifier. For response messages
transaction identifier is set to the value of
transaction identifier from the message to which it is
response. For event messages the transaction
should be set to zero. The Transaction Identifier is
used, and the field is not present, in the
protocol

The following fields are frequently found in GSMP messages. They
defined here to avoid repetition




Newman, et. al. Informational [Page 10]

RFC 2297 Ipsilon's General Switch Management March 1998



Gives the port number of the switch port to which
message applies

Port Session
Each switch port maintains a Port Session Number
by the switch. The port session number of a port
unchanged while the port is continuously in the
state and the link status is continuously Up. When a
returns to the Available state after it has
Unavailable or in any of the Loopback states, or when
line status returns to the Up state after it has been
or in Test, or after a power cycle, a new Port
Number must be generated. Port session numbers should
assigned using some form of random number

If the Port Session Number in a request message does
match the current Port Session Number for the
port, a failure response message must be returned with
Code field indicating, "Invalid port session number."
current port session number for a port may be
using a Port Configuration or an All Ports
message

Any field in a GSMP message that is unused or defined as "reserved
must be set to zero by the sender and ignored by the receiver

It is not an error for a GSMP message to contain additional
after the end of the Message Body. This is to support development
experimental purposes. However, the maximum transmission unit of
GSMP message, as defined by the data link layer encapsulation,
not be exceeded

A success response message must not be sent until the
operation has been successfully completed

3.2 Failure Response

A failure response message is formed by returning the request
that caused the failure with the Result field in the
indicating failure (Result = 4) and the Code field giving the
code. The failure code specifies the reason for the switch
unable to satisfy the request message

If the switch issues a failure response in reply to a
message, no change should be made to the state of the switch as
result of the message causing the failure. (For request messages
contain multiple requests, such as the Delete Branches message,



Newman, et. al. Informational [Page 11]

RFC 2297 Ipsilon's General Switch Management March 1998


failure response message will specify which requests were
and which failed. The successful requests may result in
state.)

If the switch issues a failure response it must choose the
specific failure code according to the following precedence

Invalid

Failure specific to the particular message type (failure
16). (The meaning of this failure is dependent upon
particular message type and is specified in the text
the message.)

A failure response specified in the text defining the
type

Connection

Virtual Path Connection

Multicast

QoS Failures (QoS failures are specified in Section 9.7.)

General

If multiple failures match in any of the following categories,
one that is listed first should be returned. The following
response messages and failure codes are defined

Invalid

3: The specified request is not implemented on this switch
The Message Type field specifies a message that is
implemented on the switch or contains a value that is
defined in the version of the protocol running in
session of GSMP

5: One or more of the specified ports does not exist
At least one of the ports specified in the message
invalid. A port is invalid if it does not exist or if
has been removed from the switch

4: Invalid Port Session Number
The value given in the Port Session Number field does
match the current Port Session Number for the
port



Newman, et. al. Informational [Page 12]

RFC 2297 Ipsilon's General Switch Management March 1998


Connection

8: The specified connection does not exist
An operation that expects a connection to be specified
either a virtual channel or a virtual path connection
cannot locate the specified connection. A virtual
connection is specified by the input port, input VPI,
input VCI on which it arrives. A virtual path
is specified by the input port and input VPI on which
arrives

9: The specified branch does not exist
An operation that expects a branch of an
connection to be specified, either a virtual channel or
virtual path connection, cannot locate the
branch. A branch of a virtual channel connection
specified by the virtual channel connection it belongs
and the output port, output VPI, and output VCI on
it departs. A branch of a virtual path connection
specified by the virtual path connection it belongs
and the output port and output VPI on which it departs

18: One or more of the specified input VPIs is invalid

19: One or more of the specified input VCIs is invalid

20: One or more of the specified output VPIs is invalid

21: One or more of the specified output VCIs is invalid

22: Invalid Class of Service field in a Connection
message
The value of the Class of Service field is invalid

23: Insufficient resources for QoS Profile
The resources requested by the QoS Profile in the
of service field are not available

Virtual Path

24: Virtual path switching is not supported on this input port

25: Point-to-multipoint virtual path connections are
supported on either the requested input port or
requested output port
One or both of the requested input and output ports
unable to support point-to-multipoint virtual
connections



Newman, et. al. Informational [Page 13]

RFC 2297 Ipsilon's General Switch Management March 1998


26: Attempt to add a virtual path connection branch to
existing virtual channel connection
It is invalid to mix branches switched as virtual
connections with branches switched as virtual
connections on the same point-to-multipoint connection

27: Attempt to add a virtual channel connection branch to
existing virtual path connection
It is invalid to mix branches switched as virtual
connections with branches switched as virtual
connections on the same point-to-multipoint connection

Multicast

10: A branch belonging to the specified point-to-
connection is already established on the specified
port and the switch cannot support more than a
branch of any point-to-multipoint connection on the
output port

11: The limit on the maximum number of point-to-
connections that the switch can support has been reached

12: The limit on the maximum number of branches that
specified point-to-multipoint connection can support
been reached

17: Cannot label each output branch of a point-to-multipoint
with a different label
Some early designs, and some low-cost ATM switch designs
require all output branches of a multicast connection
use the same value of VPI/VCI

28: Only point-to-point bidirectional connections may
established
It is an error to attempt to add an additional
branch to an existing connection with the
flag set

13: Unable to assign the requested VPI/VCI value to the
branch on the specified point-to-multipoint connection
Although the requested VPI and VCI are valid, the
is unable to support the request using the
values of VPI and VCI for some reason not covered by
above failure responses. This message implies that
valid value of VPI or VCI exists that the switch





Newman, et. al. Informational [Page 14]

RFC 2297 Ipsilon's General Switch Management March 1998


support. For example, some switch designs restrict
number of distinct VPI/VCI values available to a point
to-multipoint connection. (Most switch designs will
require this message.)

14: General problem related to the manner in which point-to
multipoint is supported by the switch
Use this message if none of the more specific
failure messages apply. (Most switch designs will
require this message.)

General

2: Invalid request message
There is an error in one of the fields of the message
covered by a more specific failure message

6: One or more of the specified ports is down
A port is down if its Port Status is Unavailable
Connection Management, Connection State, Port Management
and Configuration operations are permitted on a port
is Unavailable. Connection Activity and
operations are not permitted on a port that
Unavailable and will generate this failure response.
Port Management message specifying a Take Down
on a port already in the Unavailable state will
generate this failure response

15: Out of resources
The switch has exhausted a resource not covered by a
specific failure message, for example, running out
memory

1: Unspecified reason not covered by other failure codes
The failure message of last resort

The following failure response messages are only used by the
Range message

29: Cannot support requested VPI range

30: Cannot support requested VCI range on all requested VPIs

The following failure response messages are only used by the
Transmit Cell Rate function of the Port
message

31: The transmit cell rate of this output port cannot be changed



Newman, et. al. Informational [Page 15]

RFC 2297 Ipsilon's General Switch Management March 1998


32: Requested transmit cell rate out of range for this
port


4. Connection Management

Connection management messages are used by the controller
establish, delete, modify and verify virtual channel connections
virtual path connections across the switch. The Add Branch,
Tree, and Delete All connection management messages have
following format for both request and response messages

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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|M|Q|B|C| Input VPI | Input VCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Output Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|x x x x| Output VPI | Output VCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Number of Branches | Class of Service |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Input
Identifies a switch input port



M:
The Multicast flag is used as a hint for point-to
multipoint connections in the Add Branch message. It is
used in any other connection management messages and
these messages it should be set to zero. If set,
indicates that the virtual channel connection or
virtual path connection is very likely to be a point-to
multipoint connection. If zero, it indicates that
connection is very likely to be a point-to-point
or is unknown




Newman, et. al. Informational [Page 16]

RFC 2297 Ipsilon's General Switch Management March 1998


The Multicast flag is only used in the Add Branch
when establishing the first branch of a new connection.
is not required to be set when establishing
branches of a point-to-multipoint connection and on
connections it should be ignored by the receiver. (
receipt of the second and subsequent Add Branch
the receiver knows that this is a point-to-
connection.) If it is known that this is the first
of a point-to-multipoint connection this flag should
set. If it is unknown, or if it is known that
connection is point-to-point this flag should be zero.
use of this flag is not mandatory. It may be ignored by
switch. If unused the flag should be set to zero.
switches use a different data structure for point-to
multipoint connections than for point-to-point connections
This flag avoids the switch setting up a point-to-
structure for the first branch of a point-to-
connection which must immediately be deleted
reconfigured as point-to-multipoint when the second
is established

Q: QoS
The QoS Profile flag, if set, indicates that the Class
Service field contains a QoS Profile Identifier. If
flag is zero, it indicates that the Class of Service
contains a Priority or a Scheduler Identifier

B:
The Bidirectional flag applies only to the Add
message. In all other Connection Management messages it
not used. It may only be used when establishing a point
to-point connection. The Bidirectional flag in an
Branch message, if set, requests that two
virtual channels or virtual paths be established, one
the forward direction, and one in the reverse direction.
is equivalent to two Add Branch messages, one
the forward direction, and one specifying the
direction. The forward direction uses the values of
Port, Input VPI, Input VCI, Output Port, Output VPI,
Output VCI as specified in the Add Branch message.
reverse direction is derived by exchanging the
specified in the Input Port, Input VPI, and Input
fields, with those of the Output Port, Output VPI,
Output VCI fields respectively. Thus, a virtual
in the reverse direction arrives at the input
specified by the Output Port field, on the VPI/
specified by the Output VPI and Output VCI fields.
departs from the output port specified by the Input



Newman, et. al. Informational [Page 17]

RFC 2297 Ipsilon's General Switch Management March 1998


field, on the VPI/VCI specified by the Input VPI and
VCI fields

The Bidirectional flag is simply a convenience to
two unidirectional virtual connections in
directions between the same two ports, with
VPI/VCIs, using a single Add Branch message. In all
messages the two unidirectional virtual connections must
handled separately. There is no bidirectional
message. However, a single Delete Branches message with
Delete Branch Elements, one for the forward connection
one for the reverse, may be used

C: Congestion
The Congestion Indication flag, if set, requests that
on this connection be marked if congestion is experienced
If this connection passes through a queue that the
considers to be congested, the Congestion Experienced
will be set in the Payload Type field of the cell header
all cells on the connection. GSMP does not specify
algorithm or any threshold by which the switch decides
a queue is congested

Input
Identifies an ATM virtual path arriving at the switch
port indicated by the Input Port field

Input
Identifies an ATM virtual channel arriving on the
path indicated by the Input VPI field at the switch
port indicated by the Input Port field. For virtual
connections the Input VCI field is not used

Output
Identifies a switch output port

x:

Output
Identifies an outgoing virtual path departing from
switch output port indicated in the Output Port field

Output
Identifies an outgoing virtual channel departing on
virtual path indicated by the Output VPI field from
switch output port indicated in the Output Port field.
virtual path connections the Output VCI field is not used




Newman, et. al. Informational [Page 18]

RFC 2297 Ipsilon's General Switch Management March 1998


Number of
In a success response message and a failure
message, gives the number of output branches on a
channel connection or a virtual path connection
completion of the requested operation. (A point-to-
connection will have one branch, a point-to-
connection will have two or more branches.) If the
is unable to keep track of the number of branches on
virtual path connection or a virtual channel connection
must respond with the value 0xFFFF meaning: "number
branches unknown". This field is not used in the
message

Class of
This field can contain either a QoS Profile Identifier,
Priority, or a Scheduler Identifier. If the QoS
flag in the Flags field is set, the Class of Service
contains a QoS Profile. If the QoS Profile flag in
Flags field is zero, and the value of the Class of
field is greater than or equal to 0x100, the Class
Service field contains a Scheduler Identifier. If the
Profile flag in the Flags field is zero, and the value
the Class of Service field is less than 0x100, the Class
Service field contains a Priority. (Values of
Identifier less than 0x100 are interpreted as priorities.)
The Class of Service field is only used in the Add
and Move Branch messages

A QoS Profile Identifier is an opaque 16-bit value. It
used to identify a QoS profile in the switch
specifies the Quality of Service required by
connection. QoS profiles are established by a
external to GSMP

A Scheduler Identifier is an alternative method
communicating the QoS requirements of a connection.
Scheduler Identifier is defined in Section 9, "Quality
Service Messages."

A Priority specifies the priority of the connection for
Branch and Move Branch messages that choose not to use
QoS profile, or the QoS capabilities defined in Section 9,
"Quality of Service Messages." The highest priority
numbered zero and the lowest priority is numbered "Q-1"
where "Q" is the number of priorities that the output
can support. The ability to offer different qualities
service to different connections based upon their
is assumed to be a property of the output port of



Newman, et. al. Informational [Page 19]

RFC 2297 Ipsilon's General Switch Management March 1998


switch. It is assumed that for virtual path connections
virtual channel connections that share the same
port, an ATM cell on a connection with a higher priority
much more likely to exit the switch before an ATM cell on
connection with a lower priority, if they are both in
switch at the same time. The number of priorities that
output port can support is given in the Port
message

For all connection management messages, except the Delete
message, the success response message is a copy of the
message returned with the Result field indicating success and
Number of Branches field indicating the number of branches on
connection after completion of the operation. The Code field is
used in a connection management success response message

The failure response message is a copy of the request
returned with a Result field indicating failure and the Number
Branches field indicating the number of branches on the connection

Fundamentally, no distinction is made between point-to-point
point-to-multipoint connections. By default, the first Add
message for a particular Input Port, Input VPI, and Input VCI
establish a point-to-point virtual connection. The second Add
message with the same Input Port, Input VPI, and Input VCI
will convert the connection to a point-to-multipoint
connection with two branches. (For virtual path connections the
VCI is not required.) However, to avoid possible inefficiency
some switch designs, the Multicast Flag is provided. If
controller knows that a new connection is point-to-multipoint
establishing the first branch, it may indicate this in the
Flag. Subsequent Add Branch messages with the same Input Port,
VPI, and Input VCI fields will add further branches to the point-to
multipoint connection. Use of the Delete Branch message on a point
to-multipoint connection with two branches will result in a point
to-point connection. However, the switch may structure
connection as a point-to-multipoint connection with a single
branch if it chooses. (For some switch designs this structure may
more convenient.) Use of the Delete Branch message on a point-to
point connection will delete the point-to-point connection. There
no concept of a connection with zero output branches. All
are unidirectional, one input virtual path or virtual channel to
or more output virtual paths or virtual channels

GSMP supports point-to-point and point-to-multipoint connections.
multipoint-to-point connection is specified by establishing
point-to-point connections each of them specifying the same
branch. (An output branch is specified by an output port and



Newman, et. al. Informational [Page 20]

RFC 2297 Ipsilon's General Switch Management March 1998


VPI for a virtual path connection and by an output port, output VPI
and output VCI for a virtual channel connection.) A multipoint-to
multipoint connection is specified by establishing multiple point
to-multipoint trees each of them specifying the same output branches

The connection management messages apply both to virtual
connections and virtual path connections. The Add Branch and
Branch connection management messages have two Message Types.
Message Type indicates that a virtual channel connection is required
and the other Message Type indicates that a virtual path
is required. The Delete Branches, Delete Tree, and Delete
connection management messages have only a single Message
because they do not need to distinguish between virtual
connections and virtual path connections. For virtual
connections, neither Input VCI fields nor Output VCI fields
required. They should be set to zero by the sender and ignored by
receiver. Virtual channel branches may not be added to an
virtual path connection. Conversely, virtual path branches may
be added to an existing virtual channel connection. In the
Configuration message each switch input port may declare whether
is capable of supporting virtual path switching (i.e.
connection management messages requesting virtual path connections).

The connection management messages may be issued regardless of
Port Status of the switch port. Connections may be established
deleted when a switch port is in the Available, Unavailable, or
of the Loopback states. However, all connection state on an
port will be deleted when the port returns to the Available
from any other state, i.e. when a Port Management message is
for that port with the Function field indicating either Bring Up,
Reset Input Port

4.1 Add Branch

The Add Branch message is a connection management message used
establish a virtual channel connection or a virtual path
or to add an additional branch to an existing virtual
connection or virtual path connection. It may also be used to
the connection state stored in the switch. The connection
specified by the Input Port, Input VPI, and Input VCI fields.
output branch is specified by the Output Port, Output VPI, and
VCI fields. The quality of service requirements of the connection
specified by the Class of Service field. To request a virtual
connection the Virtual Channel Connection (VCC) Add Branch
is

Message Type = 16




Newman, et. al. Informational [Page 21]

RFC 2297 Ipsilon's General Switch Management March 1998


To request a virtual path connection the Virtual Path
(VPC) Add Branch message is

Message Type = 26

If a VPC Add Branch message is received and the switch input
specified by the Input Port field does not support virtual
switching, a failure response message must be returned indicating
"Virtual path switching is not supported on this input port."

If the virtual channel connection specified by the Input Port,
VPI, and Input VCI fields; or the virtual path connection
by the Input Port and Input VPI fields; does not already exist,
must be established with the single output branch specified in
request message. If the Bidirectional Flag in the Flags field is set
the reverse connection must also be established. The output
should have the QoS attributes specified by the Class of
field

For the VCC Add Branch message, if a virtual path connection
exists on the virtual path specified by the Input Port and Input
fields, a failure response message must be returned indicating
"Attempt to add a virtual channel connection branch to an
virtual path connection." For the VPC Add Branch message, if
virtual channel connection already exists on any of the
channels within the virtual path specified by the Input Port
Input VPI fields, a failure response message must be
indicating, "Attempt to add a virtual path connection branch to
existing virtual channel connection."

If the virtual channel connection specified by the Input Port,
VPI, and Input VCI fields; or the virtual path connection
by the Input Port and Input VPI fields; already exists, but
specified output branch does not, the new output branch must
added. The new output branch should have the QoS
specified by the Class of Service field

If the virtual channel connection specified by the Input Port,
VPI, and Input VCI fields; or the virtual path connection
by the Input Port and Input VPI fields; already exists and
specified output branch also already exists, the QoS attributes
the connection, specified by the Class of Service field, if
from the request message, should be changed to that in the
message. A success response message must be sent if the Result
of the request message is "AckAll". This allows the controller
periodically reassert the state of a connection or to change
priority. If the result field of the request message
"NoSuccessAck" a success response message should not be returned



Newman, et. al. Informational [Page 22]

RFC 2297 Ipsilon's General Switch Management March 1998


This may be used to reduce the traffic on the control link
messages that are reasserting previously established state.
messages that are reasserting previously established state,
switch must always check that this state is correctly established
the switch hardware (i.e. the actual connection tables used
forward cells).

If the output branch specified by the Output Port, Output VPI,
Output VCI fields for a virtual channel connection; or the
branch specified by the Output Port and Output VPI fields for
virtual path connection; is already in use by any connection
than that specified by the Input Port, Input VPI, and Input
fields, then the resulting output branch will have multiple
branches. If multiple point-to-point connections share the
output branch the result will be a multipoint-to-point connection.
multiple point-to-multipoint trees share the same output branches
result will be a multipoint-to-multipoint connection

If the virtual channel connection specified by the Input Port,
VPI, and Input VCI fields, or the virtual path connection
by the Input Port and Input VPI fields, already exists, and
Bidirectional Flag in the Flags field is set, a failure response
be returned indicating: "Only point-to-point
connections may be established."

It should be noted that different switches support multicast
different ways. There will be a limit to the total number of point
to-multipoint connections any switch can support, and possibly
limit on the maximum number of branches that a point-to-
connection may specify. Some switches also impose a limit on
number of different VPI/VCI values that may be assigned to the
branches of a point-to-multipoint connection. Many switches
incapable of supporting more than a single branch of any
point-to-multipoint connection on the same output port.
failure codes are defined for some of these conditions

4.2 Delete Tree

The Delete Tree message is a connection management message used
delete an entire virtual channel connection or an entire virtual
connection. All remaining branches of the connection are deleted.
virtual channel connection is specified by the Input Port, Input VPI
and Input VCI fields. A virtual path connection is specified by
Input Port and Input VPI fields. The Output Port, Output VPI,
Output VCI fields are not used in this message. The Delete
message is

Message Type = 18



Newman, et. al. Informational [Page 23]

RFC 2297 Ipsilon's General Switch Management March 1998


If the Result field of the request message is "AckAll" a
response message must be sent upon successful deletion of
specified connection. The success message must not be sent until
delete operation has been completed and if possible, not until
data on the connection, queued for transmission, has
transmitted. The Number of Branches field is not used in either
request or response messages of the Delete Tree message

4.3 Verify Tree

The Verify Tree message has been removed from this version of GSMP
Its function has been replaced by the Number of Branches field in
success response to the Add Branch message which contains the
of branches on a virtual channel connection after
completion of an add branch operation

Message Type = 19 is reserved

If a request message is received with Message Type = 19 a
response must be returned with the Code field indicating: "
specified request is not implemented in this version of
protocol."

4.4 Delete All

The Delete All message is a connection management message used
delete all connections on a switch input port. All connections
arrive at the specified input port must be deleted. On completion
the operation all dynamically assigned VPI/VCI values for
specified port must be unassigned, i.e. there must be no
connections established in the VPI/VCI space that GSMP controls
this port. The Input VPI, Input VCI, Output Port, Output VPI,
Output VCI fields are not used in this message. The Delete
message is

Message Type = 20

If the Result field of the request message is "AckAll" a
response message must be sent upon completion of the operation.
Number of Branches field is not used in either the request
response messages of the Delete All message. The success
message must not be sent until the operation has been completed

The following failure response messages may be returned to a
All request

The specified request is not implemented on this switch




Newman, et. al. Informational [Page 24]

RFC 2297 Ipsilon's General Switch Management March 1998


One or more of the specified ports does not exist

Invalid Port Session Number

If any field in a Delete All message not covered by the above
codes is invalid, a failure response must be returned indicating
"Invalid request message." Else, the delete all operation must
completed successfully and a success message returned. No
failure messages are permitted

4.5 Delete Branches

The Delete Branches message is a connection management message
to request one or more delete branch operations. Each delete
operation deletes a branch of a virtual channel connection or
virtual path connection, or in the case of the last branch of
connection, it deletes the connection. The Delete Branches
is

Message Type = 17

The request 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Number of Elements |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Delete Branch Elements ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Number of
Specifies the number of Delete Branch Elements to follow
the message. The number of Delete Branch Elements in
Delete Branches message must not cause the packet length
exceed the maximum transmission unit defined by
encapsulation

Each Delete Branch Element specifies an output branch to be
and has the following structure





Newman, et. al. Informational [Page 25]

RFC 2297 Ipsilon's General Switch Management March 1998


+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Port Session Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Input Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Error | Input VPI | Input VCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Output Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|x x x x| Output VPI | Output VCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Is used to return a failure code indicating the reason
the failure of a specific Delete Branch Element in a
Branches failure response message. The Error field is
used in the request message and must be set to zero.
value of zero is used to indicate that the delete
specified by this Delete Branch Element was successful
Values for the other failure codes are specified in
3.2, "Failure Response Messages."

All other fields of the Delete Branch Element have the
definition as specified for the other connection
messages

In each Delete Branch Element, either a virtual channel connection
specified by the Input Port, Input VPI, and Input VCI fields; or
virtual path connection is specified by the Input Port and Input
fields. The specific branch to be deleted is indicated by the
Port, Output VPI, and Output VCI fields for virtual
connections and by the Output Port and Output VPI for virtual
connections

If the Result field of the Delete Branches request message
"AckAll" a success response message must be sent upon
deletion of the branches specified by all of the Delete
Elements. The success response message must not be sent until all
the delete branch operations have been completed. The
response message is only sent if all of the requested delete
operations were successful. No Delete Branch Elements are returned
a Delete Branches success