Internet Engineering Task Force Hans Sjostrand INTERNET DRAFT ipUnplugged Expires December 2001 Joachim Buerkle Nortel Networks Balaji Srinivasan Cplane June 2001 Definitions of Managed Objects for the General Switch Management Protocol (GSMP) < draft-ietf-gsmp-mib-05.txt > Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Distribution of this document is unlimited. Please send comments to the General Switch Management Protocol (gsmp) Working Group, . Copyright Notice Copyright (C) The Internet Society (1999). All Rights Reserved. Abstract This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for the General Switch Management Protocol (GSMP). Sjostrand et.al. Expires December 2001 [Page 1] Internet Draft GSMP MIB June 2001 Table of Contents 1. Introduction...................................................... 3 2. The SNMP Management Framework..................................... 3 3. Structure of the MIB.............................................. 5 3.1 Overview...................................................... 5 3.2 Scope......................................................... 5 3.3 MIB guideline................................................. 6 3.4 MIB groups.................................................... 7 3.4.1 GSMP Switch Controller group............................ 7 3.4.2 GSMP Switch group....................................... 7 3.4.3 GSMP Encapsulation groups............................... 8 3.4.4 GSMP General group...................................... 8 3.4.5 The GSMP Notifications Group............................ 8 3.5 Textual Conventions.......................................... 10 4. GSMP MIB Definitions............................................. 10 5. Revision History................................................. 42 5.1 Changes from < draft-ietf-gsmp-mib-00.txt >.................. 42 5.2 Changes from < draft-ietf-gsmp-mib-01.txt >.................. 42 5.3 Changes from < draft-ietf-gsmp-mib-02.txt >.................. 42 5.4 Changes from < draft-ietf-gsmp-mib-03.txt >.................. 43 5.5 Changes from < draft-ietf-gsmp-mib-04.txt >.................. 43 6. Acknowledgments.................................................. 43 7. References....................................................... 43 8. Security Considerations.......................................... 46 9. Authors' Addresses............................................... 46 10. Full Copyright Statement........................................ 47 Sjostrand et.al. Expires December 2001 [Page 2] Internet Draft GSMP MIB June 2001 1. Introduction This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for the General Switch Management Protocol (GSMP). The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. 2. The SNMP Management Framework The SNMP Management Framework presently consists of five major components: * An overall architecture, described in RFC 2571 [RFC2571]. * Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and described in STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC 1215 [RFC1215]. The second version, called SMIv2, is described in STD 58, RFC 2578 [RFC2578], RFC 2579 [RFC2579] and RFC 2580[RFC2580]. * Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in STD 15, RFC 1157 [RFC1157]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [RFC1901] and RFC 1906 [RFC1906]. The third version of the message protocol is called SNMPv3 and described in RFC 1906 [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574]. * Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [RFC1157]. A second set of operations and associated PDU formats is described in 1905 [RFC1905]. * A set of fundamental applications described in RFC 2573 [RFC2573] and the view-based access control mechanism described RFC 2575 [RFC2575]. Sjostrand et.al. Expires December 2001 [Page 3] Internet Draft GSMP MIB June 2001 A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570 [RFC2570]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the mechanisms defined in the SMI. This memo specifies a MIB module that is compliant to the SMIv2. A MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine readable information is not considered to change the semantics of the MIB. Sjostrand et.al. Expires December 2001 [Page 4] Internet Draft GSMP MIB June 2001 3. Structure of the MIB This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for the General Switch Management Protocol (GSMP) as defined in [GSMPv3]. 3.1 Overview The General Switch Management Protocol (GSMP) is a general purpose protocol to control a label switch. GSMP allows a controller to establish and release connections across the switch, to manage switch ports and to request configuration information or statistics. It also allows the switch to inform the controller of asynchronous events such as a link going down. 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. Also a switch may be controlled by more than one controller by using the technique of partitioning.. Each instance of a switch controller - switch partition adjacency is a session between one switch controller entity and one switch entity. The MIB provides objects to configure/setup these entities to form the GSMP sessions. It also provide objects to monitor these GSMP sessions. 3.2 Scope The GSMP mib is a protocol mib. It contains object to configure, monitor and maintain the GSMP protocol entity. It does not provide any information learned via the protocol, such as "all ports config" information. The relationships between virtual entities, such as Virtual Switch Entities, and entities, such as Switch Entities, falls outside of the management of GSMP. This also applies for the management of switch partitions. So this is excluded from the GSMP mib. It is possible to configure which and how many Switch Controllers that are controlling one Switch since every potential session with the switch has to be represented with an Switch entity. It is however not possible to define that one Switch Controller shouldn't allow other Switch controllers to control the same switch or partition on the switch. It is assumed that there are mechanisms that synchronise Sjostrand et.al. Expires December 2001 [Page 5] Internet Draft GSMP MIB June 2001 controllers and the configuration of them. This is outside the scope of this mib. 3.3 MIB guideline Two tables are used to configure potential GSMP sessions depending if you are acting as a GSMP switch controller or a GSMP switch. Each row in these tables initiates a GSMP session. The entity ID is a 48-bit name that is unique within the operational context of the device. A 48-bit IEEE 802 MAC address, if available, MAY be used for the entity ID. If the Ethernet encapsulation is used, the entity ID MUST be the IEEE 802 MAC address of the interface on which the GSMP session is to be setup. First the encapsulation the potential GSMP session shall be defined. If atm is used, a row in the gsmpAtmEncapTable has to be created with the index set to the entity ID. The specified resources should be allocated to GSMP. If tcp/ip is used, a row in the gsmpTcpIpEncapTable has to be created with the index set to the entity ID. The specified port shall be allocated to GSMP. No special action is needed if ethernet encapsulation is used. Then the entity information shall be defined. To create a Switch Entity, an entry in the gsmpSwitchTable is created with the index set to the entity ID. To create a Switch Controller Entity, an entry in the gsmpControllerTable is created with the index set to the entity ID. When the row status of the GsmpControllerEntry or GsmpSwitchEntry is set to active, and in the case with atm or tcp/ip there are active rows with corresponding entity ID, the adjacency protocol of GSMP is started. Another table, the gsmpSessionTable, shows the actual sessions that are established or are in the process of being established. Each row represents a specific session between an Entity and a peer. This table carries information about the peer, the session and parameters that was negotiated by the adjacency procedures. The gsmpSessionTable also contains statistical information regarding the session. This creation order SHOULD be used by all GSMP managers. This is to avoid clash situations in multiple SNMP manager scenarios where different managers may create competing entries in the different tables. Entities may very well be configured by other means than SNMP, e.g. cli command. Such configured entities SHOULD be represented as Sjostrand et.al. Expires December 2001 [Page 6] Internet Draft GSMP MIB June 2001 entries in the tables of this mib and SHOULD be possible to query and MAY be possible to alter with SNMP. 3.4 MIB groups 3.4.1 GSMP Switch Controller group The controller group is used to configure a potential GSMP session on a Switch Controller. A row in the gsmpControllerTable is created for each such session. If ATM or TCP/IP encapsulation is used a corresponding row has to be created in these tables before the session adjacency protocol is initiated. If ATM or TCP/IP is used, encapsulation data is defined in the corresponding encapsulation tables. If ethernet is used the MAC address of the interface defined for the session is set by the Controller ID object. The adjacency parameters are defined; such as - Max supported GSMP version - Time between the periodic adjacency messages - Controller local port number and instance number. - Whether partitions are being used and the partition ID for the specific partitions this controller is concerned with if partitions are used. - The resynchronisation strategy for the session is specified. The notification mapping is set to specify for with events the corresponding SNMP notifications are sent. 3.4.2 GSMP Switch group The switch group is used to configure a potential GSMP session on a Switch. A row in the gsmpSwitchTable is created for each such session. If ATM or TCP/IP encapsulation is used a corresponding row has to be created in these tables before the session adjacency protocol is initiated. If ATM or TCP/IP is used, encapsulation data is defined in the corresponding encapsulation tables. If ethernet is used the MAC address of the interface defined for the session is set by the Switch ID object. The adjacency parameters are defined; such as - Max supported GSMP version - Time between the periodic adjacency messages - Switch Name, local port number and instance number. - Whether partitions are being used and the partition ID for this specific partition if partitions are used. Sjostrand et.al. Expires December 2001 [Page 7] Internet Draft GSMP MIB June 2001 - The switch type could be set. - The suggested maximum window size for unacknowledged request messages. Also, a notification mapping is set to specify for with events the corresponding SNMP notifications are sent. 3.4.3 GSMP Encapsulation groups The ATM Encapsulation Table and the TCP/IP Encapsulation Table provides a way to configure information that are encapsulation specific. The encapsulation data is further specified in [GSMPenc]. If ATM encapsulation is used, the interface and the virtual channel are specified. If TCP/IP is used, the IP address and the port number are specified. No special config data needed if Ethernet encapsulation is used. This mib MAY be extended with new, standard or proprietary, GSMP encapsulation types. If a new encapsulation type needs to be added, it SHOULD be done in the form of a new table with the entity ID as index. A row in that encapsulation table SHOULD be created before any row in an GSMP entity table are created that are using this new GSMP encapsulation. 3.4.4 GSMP General group The GSMP session table provides a way to monitor and maintain GSMP sessions. The session is defined by a Switch Controller Entity and Switch Entity pair. 3.4.5 The GSMP Notifications Group The GSMP Notification Group defines notifications for GSMP entities. These notifications provide a mechanism for a GSMP device to inform the management station of status changes. Also a notification is defined for each type of GSMP events. The group of notifications consists of the following notifications: - gsmpSessionDown This notification is generated when a session is terminating and also reports the final accounting statistics of the session. Sjostrand et.al. Expires December 2001 [Page 8] Internet Draft GSMP MIB June 2001 - gsmpSessionUp This notification is generated when a new session is established. - gsmpSendFailureInd This notification is generated when a message with a failure indication was sent. This means that this notification identifies a change to the gsmpSessionStatFailureInds object in a row of the gsmpSessionTable. - gsmpReceivedFailureInd This notification is generated when a message with a failure indication received. This means that this notification identifies a change to the gsmpSessionStatReceivedFailures object in a row of the gsmpSessionTable. - gsmpPortUpEvent This notification is generated when a Port Up Event is either received or sent. - gsmpPortDownEvent This notification is generated when a Port Down Event is either received or sent. - gsmpInvalidLabelEvent This notification is generated when an Invalid Label Event is either received or sent. - gsmpNewPortEvent This notification is generated when New Port Event either is received or sent. - gsmpDeadPortEvent This notification is generated when a Dead Port Event is either received or sent. - gsmpAdjacencyUpdateEvent This notification is generated when an Adjacency Update Event is either received or sent. Sjostrand et.al. Expires December 2001 [Page 9] Internet Draft GSMP MIB June 2001 To disable or enable sending of each notification is done by setting the bitmap accordingly in the Notification mapping objects in the Controller Entity or Switch Entity tables. The GSMP notification map capability should not be seen as a duplication of the filter mechanism in the snmp notification originator application [RFC2573], but as a compliment, to configure the relation between GSMP events and the SNMP notifications already in the GSMP agent. SNMP notifications and GSMP events operate sometimes on a different timescale, and it may in some applications be devastating for a SNMP application to receive events for each GSMP events. E.g. the invalid label event in a ATM switch scenario may cause mass SNMP notification flooding if mapped to a SNMP notification. 3.5 Textual Conventions The datatypes GsmpNameType, GsmpLabelType, GsmpPartitionType and GsmpPartitionIdType are used as textual conventions in this document. These textual conventions are used for the convenience of humans reading the MIB module and have NO effect on the syntax of any managed object. Objects defined using these conventions are always encoded by means of the rules that define their primitive type. However, the textual conventions have special semantics associated with them. Hence, no changes to the SMI or the SNMP are necessary to accommodate these textual conventions which are adopted merely for the convenience of readers. 4. GSMP MIB Definitions GSMP-MIB DEFINITIONS ::= BEGIN IMPORTS OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE, Unsigned32, Integer32, Counter32, mib-2 FROM SNMPv2-SMI -- RFC2578 RowStatus, TruthValue, TimeStamp, StorageType, TEXTUAL-CONVENTION FROM SNMPv2-TC -- RFC2579 MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF -- RFC2580 InterfaceIndex FROM IF-MIB -- RFC2863 AtmVcIdentifier, AtmVpIdentifier FROM ATM-TC-MIB -- RFC2514 InetAddressType, InetAddress FROM INET-ADDRESS-MIB -- RFC2851 Sjostrand et.al. Expires December 2001 [Page 10] Internet Draft GSMP MIB June 2001 ; gsmpMIB MODULE-IDENTITY LAST-UPDATED "200106211200Z" -- 21 June 2001, 12.00 MET DST ORGANIZATION "General Switch Management Protocol (gsmp) Working Group, IETF" CONTACT-INFO "WG Charter: http://www.ietf.org/html.charters/gsmp-charter.html WG-email: gsmp@revnetworks.com Subscribe: gsmp-request@revnetworks.com Email Archive: ftp://www.revnetworks.com/pub/mailing-lists/gsmp-archive WG Chair: Avri Doria Email: avri@nortelnetworks.com WG Chair: Kenneth Sundell Email: ksundell@nortelnetworks.com Editor: Hans Sjostrand Email: hans@ipunplugged.com Editor: Joachim Buerkle Email: joachim.buerkle@nortelnetworks.com Editor: Balaji Srinivasan Email: balaji@cplane.com" DESCRIPTION "This MIB contains managed object definitions for the General Switch Management Protocol, GSMP, version 3" REVISION "200106211200Z" DESCRIPTION "Initial Version, published as RFC xxxx" -- RFC-Editor assigns xxxx ::= { mib-2 XXX } -- IANA assignes XXX gsmpNotifications OBJECT IDENTIFIER ::= { gsmpMIB 0 } gsmpObjects OBJECT IDENTIFIER ::= { gsmpMIB 1 } gsmpNotificationsObjects OBJECT IDENTIFIER ::= { gsmpMIB 2 } gsmpConformance OBJECT IDENTIFIER ::= { gsmpMIB 3 } --************************************************************** -- GSMP Textual Conventions --************************************************************** GsmpNameType ::= TEXTUAL-CONVENTION Sjostrand et.al. Expires December 2001 [Page 11] Internet Draft GSMP MIB June 2001 STATUS current DESCRIPTION "The Name is a 48-bit quantity. A 48-bit IEEE 802 MAC address, if available, may be used." SYNTAX OCTET STRING (SIZE(6)) GsmpPartitionType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Defining if partitions are used and how the partition id is negotiated. " SYNTAX INTEGER {noPartition(1), fixedPartitionRequest(2), fixedPartitionAssigned(3) } GsmpPartitionIdType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A 8-bit quantity. The format of the Partition ID is not defined in GSMP. If desired, the Partition ID can be divided into multiple sub-identifiers within a single partition. For example: the Partition ID could be subdivided into a 6-bit partition number and a 2-bit sub-identifier which would allow a switch to support 64 partitions with 4 available IDs per partition." SYNTAX OCTET STRING (SIZE(1)) GsmpVersion ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The version numbers defined for the GSMP protocol. The version numbers used are defined in the specifications of the respective protocool, 1 - GSMPv1.1 [RFC1987] 2 - GSMPv2.0 [RFC2397] 3 - GSMPv3 [GSMPv3] Other numbes may be defined for other versions of the GSMP protocool." SYNTAX Unsigned32 GsmpLabelType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The label is structured as a TLV, a tuple, consisting of a Type, a Length, and a Value. The structure is defined in [GSMPv3]. The label TLV is encoded as a 2 octet type Sjostrand et.al. Expires December 2001 [Page 12] Internet Draft GSMP MIB June 2001 field, followed by a 2 octet Length field, followed by a variable length Value field. Additionally, a label field can be composed of many stacked labels that together constitute the label." SYNTAX OCTET STRING --************************************************************** -- GSMP Entity Objects --************************************************************** -- -- Switch Controller Entity table -- gsmpControllerTable OBJECT-TYPE SYNTAX SEQUENCE OF GsmpControllerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table represents the Switch Controller Entities. An entry in this table needs to be configured (created) before a GSMP session might be started." ::= { gsmpObjects 1 } gsmpControllerEntry OBJECT-TYPE SYNTAX GsmpControllerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the table showing the data for a specific Switch Controller Entity. If partitions are used, one entity corresponds to one specific switch partition. Depending of the encapsulation used, a corresponding row in the gsmpAtmEncapTable or the gsmpTcpIpEncapTable may have been created." INDEX { gsmpControllerEntityId } ::= { gsmpControllerTable 1 } GsmpControllerEntry ::= SEQUENCE { gsmpControllerEntityId GsmpNameType, gsmpControllerMaxVersion GsmpVersion, gsmpControllerTimer Unsigned32, gsmpControllerPort Unsigned32, gsmpControllerInstance Unsigned32, gsmpControllerPartitionType GsmpPartitionType, gsmpControllerPartitionId GsmpPartitionIdType, gsmpControllerDoResync TruthValue, gsmpControllerNotificationMap BITS, Sjostrand et.al. Expires December 2001 [Page 13] Internet Draft GSMP MIB June 2001 gsmpControllerSessionState INTEGER, gsmpControllerStorageType StorageType, gsmpControllerRowStatus RowStatus } gsmpControllerEntityId OBJECT-TYPE SYNTAX GsmpNameType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Switch Controller Entity Id is unique within the operational context of the device." ::= { gsmpControllerEntry 1 } gsmpControllerMaxVersion OBJECT-TYPE SYNTAX GsmpVersion MAX-ACCESS read-create STATUS current DESCRIPTION "The max version number of the GSMP protocol being used in this session. The version is negotiated by the adjacency protocol." DEFVAL { 3 } ::= { gsmpControllerEntry 2 } gsmpControllerTimer OBJECT-TYPE SYNTAX Unsigned32(1..255) UNITS "100ms" MAX-ACCESS read-create STATUS current DESCRIPTION "The timer specifies the nominal time between periodic adjacency protocol messages. It is a constant for the duration of a GSMP session. The timer is specified in units of 100ms." DEFVAL { 10 } ::= { gsmpControllerEntry 3 } gsmpControllerPort OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The local port number for the Switch Controller Entity. The port number is is a 32-bit number that is typically structured into opaque sub-fields that have meaning to the physical structure of the switch (e.g. slot, port)." ::= { gsmpControllerEntry 4 } Sjostrand et.al. Expires December 2001 [Page 14] Internet Draft GSMP MIB June 2001 gsmpControllerInstance OBJECT-TYPE SYNTAX Unsigned32(1..16777215) MAX-ACCESS read-only STATUS current DESCRIPTION "The instance number for the Switch Controller Entity. The Instance number is a 24-bit number that should be 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. " ::= { gsmpControllerEntry 5 } gsmpControllerPartitionType OBJECT-TYPE SYNTAX GsmpPartitionType MAX-ACCESS read-create STATUS current DESCRIPTION "A controller can request the specific partition identifier to the session by setting the Partition Type to fixedPartitionRequest(2). A controller can let the switch decide whether it wants to assign a fixed partition ID or not, by setting the Partition Type to noPartition(1)." ::= { gsmpControllerEntry 6 } gsmpControllerPartitionId OBJECT-TYPE SYNTAX GsmpPartitionIdType MAX-ACCESS read-create STATUS current DESCRIPTION "The Id for the specific switch partition that this Switch Controller is concerned with. If partitions are not used or if the controller lets the switch assigns Partition ID, i.e Partition Type = noPartition(1), then this object is undefined." ::= { gsmpControllerEntry 7 } gsmpControllerDoResync OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies whether the controller should resynchronise or reset in case of loss of synchronisation. If this object is set to true then the Controller should resync with PFLAG=2 (recovered adjacency)." DEFVAL { true } ::= { gsmpControllerEntry 8 } Sjostrand et.al. Expires December 2001 [Page 15] Internet Draft GSMP MIB June 2001 gsmpControllerNotificationMap OBJECT-TYPE SYNTAX BITS { sessionDown(0), sessionUp(1), sendFailureIndication(2), receivedFailureIndication(3), portUpEvent(4), portDownEvent(5), invalidLabelEvent(6), newPortEvent(7), deadPortEvent(8), adjacencyUpdateEvent(9) } MAX-ACCESS read-create STATUS current DESCRIPTION "This bitmap defines whether a corresponding SNMP notification should be sent if a GSMP event is received by the Switch Controller. If the bit is set to 1 a notification should be sent. The handling and filtering of the SNMP notifications are then further specified in the SNMP notification originator application. " DEFVAL {{ sessionDown, sessionUp, sendFailureIndication, receivedFailureIndication }} ::= { gsmpControllerEntry 9 } gsmpControllerSessionState OBJECT-TYPE SYNTAX INTEGER { null(1), synsent(2), synrcvd(3), estab(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "The state for the existing or potential session that this entity is concerned with. The NULL state is returned if the proper encapsulation data is not yet configured, if the row is not in active status or if the session is in NULL state as defined in the GSMP specification." ::= { gsmpControllerEntry 10} gsmpControllerStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current Sjostrand et.al. Expires December 2001 [Page 16] Internet Draft GSMP MIB June 2001 DESCRIPTION "The storage type for this controller entity. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted." ::= { gsmpControllerEntry 11 } gsmpControllerRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "An object that allows entries in this table to be created and deleted using the RowStatus convention. While the row is in active state it's not possible to modify the value of any object for that row exept the gsmpControllerNotificationMap and the gsmpControllerRowStatus objects." ::= { gsmpControllerEntry 12 } -- -- Switch Entity table -- gsmpSwitchTable OBJECT-TYPE SYNTAX SEQUENCE OF GsmpSwitchEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table represents the Switch Entities. An entry in this table needs to be configured (created) before a GSMP session might be started." ::= { gsmpObjects 2 } gsmpSwitchEntry OBJECT-TYPE SYNTAX GsmpSwitchEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the table showing the data for a specific Switch Entity. If partitions are used, one entity corresponds to one specific switch partition. Depending of the encapsulation used, a corresponding row in the gsmpAtmEncapTable or the Sjostrand et.al. Expires December 2001 [Page 17] Internet Draft GSMP MIB June 2001 gsmpTcpIpEncapTable may have been created." INDEX { gsmpSwitchEntityId } ::= { gsmpSwitchTable 1 } GsmpSwitchEntry ::= SEQUENCE { gsmpSwitchEntityId GsmpNameType, gsmpSwitchMaxVersion GsmpVersion, gsmpSwitchTimer Unsigned32, gsmpSwitchName GsmpNameType, gsmpSwitchPort Unsigned32, gsmpSwitchInstance Unsigned32, gsmpSwitchPartitionType GsmpPartitionType, gsmpSwitchPartitionId GsmpPartitionIdType, gsmpSwitchNotificationMap BITS, gsmpSwitchSwitchType OCTET STRING, gsmpSwitchWindowSize Unsigned32, gsmpSwitchSessionState INTEGER, gsmpSwitchStorageType StorageType, gsmpSwitchRowStatus RowStatus } gsmpSwitchEntityId OBJECT-TYPE SYNTAX GsmpNameType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Switch Entity Id is unique within the operational context of the device. " ::= { gsmpSwitchEntry 1 } gsmpSwitchMaxVersion OBJECT-TYPE SYNTAX GsmpVersion MAX-ACCESS read-create STATUS current DESCRIPTION "The max version number of the GSMP protocol being supported by this Switch. The version is negotiated by the adjacency protocol." DEFVAL { 3 } ::= { gsmpSwitchEntry 2 } gsmpSwitchTimer OBJECT-TYPE SYNTAX Unsigned32(1..255) UNITS "100ms" MAX-ACCESS read-create STATUS current DESCRIPTION "The timer specifies the nominal time between periodic adjacency protocol messages. It is a constant Sjostrand et.al. Expires December 2001 [Page 18] Internet Draft GSMP MIB June 2001 for the duration of a GSMP session. The timer is specified in units of 100ms." DEFVAL { 10 } ::= { gsmpSwitchEntry 3 } gsmpSwitchName OBJECT-TYPE SYNTAX GsmpNameType MAX-ACCESS read-create STATUS current DESCRIPTION "The name of the Switch. The first three octets must be an Organisationally Unique Identifier (OUI) that identifies the manufacturer of the Switch. This is by default set to the same value as the gsmpSwitchId object if not separately specified. " ::= {gsmpSwitchEntry 4 } gsmpSwitchPort OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The local port number for this Switch Entity. The port number is is a 32-bit number that is typically structured into opaque sub-fields that have meaning to the physical structure of the switch (e.g. slot, port)" ::= { gsmpSwitchEntry 5 } gsmpSwitchInstance OBJECT-TYPE SYNTAX Unsigned32(1..16777215) MAX-ACCESS read-only STATUS current DESCRIPTION "The instance number for the Switch Entity. The Instance number is a 24-bit number that should be 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." ::= { gsmpSwitchEntry 6 } gsmpSwitchPartitionType OBJECT-TYPE SYNTAX GsmpPartitionType MAX-ACCESS read-create STATUS current DESCRIPTION "A switch can assign the specific partition identifier to the session by setting the Partition Type to Sjostrand et.al. Expires December 2001 [Page 19] Internet Draft GSMP MIB June 2001 fixedPartitionAssigned(3). A switch can specify that no partitions are handled in the session by setting the Partition Type to noPartition(1)." ::= { gsmpSwitchEntry 7 } gsmpSwitchPartitionId OBJECT-TYPE SYNTAX GsmpPartitionIdType MAX-ACCESS read-create STATUS current DESCRIPTION "The Id for this specific switch partition that the switch entity represents. If partitions are not used, i.e. Partition Type = noPartition(1), then this object is undefined." ::= { gsmpSwitchEntry 8 } gsmpSwitchNotificationMap OBJECT-TYPE SYNTAX BITS { sessionDown(0), sessionUp(1), sendFailureIndication(2), receivedFailureIndication(3), portUpEvent(4), portDownEvent(5), invalidLabelEvent(6), newPortEvent(7), deadPortEvent(8), adjacencyUpdateEvent(9) } MAX-ACCESS read-create STATUS current DESCRIPTION "This bitmap defines whether a corresponding SNMP notification should be sent if an GSMP event is sent by the Switch Entity. If the bit is set to 1 a notification should be sent. The handling and filtering of the SNMP notifications are then further specified in the SNMP notification originator application. " DEFVAL {{ sessionDown, sessionUp, sendFailureIndication, receivedFailureIndication }} ::= { gsmpSwitchEntry 9 } gsmpSwitchSwitchType OBJECT-TYPE SYNTAX OCTET STRING (SIZE(2)) MAX-ACCESS read-create STATUS current DESCRIPTION "A 16-bit field allocated by the manufacturer of the switch. The Switch Type Sjostrand et.al. Expires December 2001 [Page 20] Internet Draft GSMP MIB June 2001 identifies the product. When the Switch Type is combined with the OUI from the Switch Name the product is uniquely identified. " ::= { gsmpSwitchEntry 10 } gsmpSwitchWindowSize OBJECT-TYPE SYNTAX Unsigned32(1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum number of unacknowledged request messages that may be transmitted by the controller without the possibility of loss. This field is used to prevent request messages from being lost in the switch because of overflow in the receive buffer. The field is a hint to the controller." ::= { gsmpSwitchEntry 11 } gsmpSwitchSessionState OBJECT-TYPE SYNTAX INTEGER { null(1), synsent(2), synrcvd(3), estab(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "The state for the existing or potential session that this entity is concerned with. The NULL state is returned if the proper encapsulation data is not yet configured, if the row is not in active status or if the session is in NULL state as defined in the GSMP specification." ::= { gsmpSwitchEntry 12} gsmpSwitchStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this switch entity. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted." ::= { gsmpSwitchEntry 13 } Sjostrand et.al. Expires December 2001 [Page 21] Internet Draft GSMP MIB June 2001 gsmpSwitchRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "An object that allows entries in this table to be created and deleted using the RowStatus convention. While the row is in active state it's not possible to modify the value of any object for that row exept the gsmpSwitchNotificationMap and the gsmpSwitchRowStatus objects." ::= { gsmpSwitchEntry 14 } --************************************************************** -- GSMP Encapsulation Objects --************************************************************** -- -- GSMP ATM Encapsulation Table -- gsmpAtmEncapTable OBJECT-TYPE SYNTAX SEQUENCE OF GsmpAtmEncapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the atm encapsulation data for the Controller or Switch that uses atm aal5 as encapsulation. " ::= { gsmpObjects 3 } gsmpAtmEncapEntry OBJECT-TYPE SYNTAX GsmpAtmEncapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the table showing the encapsulation data for a specific Switch Controller entity or Switch entity." INDEX { gsmpAtmEncapEntityId } ::= { gsmpAtmEncapTable 1 } GsmpAtmEncapEntry ::= SEQUENCE { gsmpAtmEncapEntityId GsmpNameType, gsmpAtmEncapIfIndex InterfaceIndex, gsmpAtmEncapVpi AtmVpIdentifier, gsmpAtmEncapVci AtmVcIdentifier, gsmpAtmEncapStorageType StorageType, Sjostrand et.al. Expires December 2001 [Page 22] Internet Draft GSMP MIB June 2001 gsmpAtmEncapRowStatus RowStatus } gsmpAtmEncapEntityId OBJECT-TYPE SYNTAX GsmpNameType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Controller Id or Switch Id that is unique within the operational context of the device. " ::= { gsmpAtmEncapEntry 1 } gsmpAtmEncapIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-create STATUS current DESCRIPTION "The interface index for the virtual channel over which the GSMP session is established, i.e., the GSMP control channel for LLC/SNAP encapsulated GSMP messages on an ATM data link layer." ::= { gsmpAtmEncapEntry 2 } gsmpAtmEncapVpi OBJECT-TYPE SYNTAX AtmVpIdentifier MAX-ACCESS read-create STATUS current DESCRIPTION " The VPI value for the virtual channel over which the GSMP session is established, i.e., the GSMP control channel for LLC/SNAP encapsulated GSMP messages on an ATM data link layer." DEFVAL { 0 } ::= { gsmpAtmEncapEntry 3 } gsmpAtmEncapVci OBJECT-TYPE SYNTAX AtmVcIdentifier MAX-ACCESS read-create STATUS current DESCRIPTION " The VCI value for the virtual channel over which the GSMP session is established, i.e., the GSMP control channel for LLC/SNAP encapsulated GSMP messages on an ATM data link layer." DEFVAL { 15 } ::= { gsmpAtmEncapEntry 4 } gsmpAtmEncapStorageType OBJECT-TYPE SYNTAX StorageType Sjostrand et.al. Expires December 2001 [Page 23] Internet Draft GSMP MIB June 2001 MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this entry. It should have the same valur as the StorageType in the refering Switch Controller entity or Switch entity. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted." ::= { gsmpAtmEncapEntry 5 } gsmpAtmEncapRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "An object that allows entries in this table to be created and deleted using the RowStatus convention. While the row is in active state it's not possible to modify the value of any object for that row exept the gsmpAtmEncapRowStatus object." ::= { gsmpAtmEncapEntry 6 } -- -- GSMP TCP/IP Encapsulation Table -- gsmpTcpIpEncapTable OBJECT-TYPE SYNTAX SEQUENCE OF GsmpTcpIpEncapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the encapsulation data for the Controller or Switch that uses TCP/IP as encapsulation." ::= { gsmpObjects 4 } gsmpTcpIpEncapEntry OBJECT-TYPE SYNTAX GsmpTcpIpEncapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the table showing the encapsulation data for a specific Switch Controller entity or Switch entity." INDEX { gsmpTcpIpEncapEntityId } Sjostrand et.al. Expires December 2001 [Page 24] Internet Draft GSMP MIB June 2001 ::= { gsmpTcpIpEncapTable 1 } GsmpTcpIpEncapEntry ::= SEQUENCE { gsmpTcpIpEncapEntityId GsmpNameType, gsmpTcpIpEncapAddressType InetAddressType, gsmpTcpIpEncapAddress InetAddress, gsmpTcpIpEncapPortNumber Unsigned32, gsmpTcpIpEncapStorageType StorageType, gsmpTcpIpEncapRowStatus RowStatus } gsmpTcpIpEncapEntityId OBJECT-TYPE SYNTAX GsmpNameType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Controller or Switch Id is unique within the operational context of the device. " ::= { gsmpTcpIpEncapEntry 1 } gsmpTcpIpEncapAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "The type of address in gsmpTcpIpEncapAddress." ::= { gsmpTcpIpEncapEntry 2 } gsmpTcpIpEncapAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The IPv4 or IPv6 address used for the GSMP session peer." ::= { gsmpTcpIpEncapEntry 3 } gsmpTcpIpEncapPortNumber OBJECT-TYPE SYNTAX Unsigned32(1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The TCP port number used for the TCP session establishment to the GSMP peer." DEFVAL { 6068 } ::= { gsmpTcpIpEncapEntry 4 } gsmpTcpIpEncapStorageType OBJECT-TYPE SYNTAX StorageType Sjostrand et.al. Expires December 2001 [Page 25] Internet Draft GSMP MIB June 2001 MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this entry. It should have the same value as the StorageType in the refering Switch Controller entity or Switch entity. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted." ::= { gsmpTcpIpEncapEntry 5 } gsmpTcpIpEncapRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "An object that allows entries in this table to be created and deleted using the RowStatus convention. While the row is in active state it's not possible to modify the value of any object for that row exept the gsmpTcpIpEncapRowStatus object." ::= { gsmpTcpIpEncapEntry 6 } --************************************************************** -- GSMP Session Objects --************************************************************** -- -- GSMP Session table -- gsmpSessionTable OBJECT-TYPE SYNTAX SEQUENCE OF GsmpSessionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table represents the sessions between Controller and Switch pairs. " ::= { gsmpObjects 5 } gsmpSessionEntry OBJECT-TYPE SYNTAX GsmpSessionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the table showing Sjostrand et.al. Expires December 2001 [Page 26] Internet Draft GSMP MIB June 2001 the session data for a specific Controller and Switch pair. Also, statistics for this specific session is shown." INDEX { gsmpSessionThisSideId, gsmpSessionFarSideId } ::= { gsmpSessionTable 1 } GsmpSessionEntry ::= SEQUENCE { gsmpSessionThisSideId GsmpNameType, gsmpSessionFarSideId GsmpNameType, gsmpSessionVersion GsmpVersion, gsmpSessionTimer Integer32, gsmpSessionPartitionId GsmpPartitionIdType, gsmpSessionAdjacencyCount Unsigned32, gsmpSessionFarSideName GsmpNameType, gsmpSessionFarSidePort Unsigned32, gsmpSessionFarSideInstance Unsigned32, gsmpSessionLastFailureCode Unsigned32, gsmpSessionDiscontinuityTime TimeStamp, gsmpSessionStartUptime TimeStamp, gsmpSessionStatSentMessages Counter32, gsmpSessionStatFailureInds Counter32, gsmpSessionStatReceivedMessages Counter32, gsmpSessionStatReceivedFailures Counter32, gsmpSessionStatPortUpEvents Counter32, gsmpSessionStatPortDownEvents Counter32, gsmpSessionStatInvLabelEvents Counter32, gsmpSessionStatNewPortEvents Counter32, gsmpSessionStatDeadPortEvents Counter32, gsmpSessionStatAdjUpdateEvents Counter32 } gsmpSessionThisSideId OBJECT-TYPE SYNTAX GsmpNameType MAX-ACCESS not-accessible STATUS current DESCRIPTION "This side ID uniquely identifies the entity that this session relates to within the operational context of the device. " ::= { gsmpSessionEntry 1 } gsmpSessionFarSideId OBJECT-TYPE SYNTAX GsmpNameType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Far side ID uniquely identifies the entity that this session is established against. " ::= { gsmpSessionEntry 2 } Sjostrand et.al. Expires December 2001 [Page 27] Internet Draft GSMP MIB June 2001 gsmpSessionVersion OBJECT-TYPE SYNTAX GsmpVersion MAX-ACCESS read-only STATUS current DESCRIPTION "The version number of the GSMP protocol being used in this session. The version is the result of the negotiation by the adjacency protocol." ::= { gsmpSessionEntry 3 } gsmpSessionTimer OBJECT-TYPE SYNTAX Integer32 UNITS "100ms" MAX-ACCESS read-only STATUS current DESCRIPTION "The timer specifies the time remaining until the adjacency timer expires. The object could take negative values since if no valid GSMP messages are received in any period of time in excess of three times the value of the Timer negotiated by the adjacency protocol loss of synchronisation may be declared. The timer is specified in units of 100ms." ::= { gsmpSessionEntry 4 } gsmpSessionPartitionId OBJECT-TYPE SYNTAX GsmpPartitionIdType MAX-ACCESS read-only STATUS current DESCRIPTION "The Partition Id for the specific switch partition that this session is concerned with." ::= { gsmpSessionEntry 5 } gsmpSessionAdjacencyCount OBJECT-TYPE SYNTAX Unsigned32(1..255) MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the current number of adjacencies that are established with controllers and the switch partition that is used for this session. The value includes this session." ::= { gsmpSessionEntry 6 } gsmpSessionFarSideName OBJECT-TYPE SYNTAX GsmpNameType MAX-ACCESS read-only Sjostrand et.al. Expires December 2001 [Page 28] Internet Draft GSMP MIB June 2001 STATUS current DESCRIPTION "The name of the far side as advertised in the adjacency message." ::= {gsmpSessionEntry 7} gsmpSessionFarSidePort OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The local port number of the link across which the message is being sent." ::= { gsmpSessionEntry 8 } gsmpSessionFarSideInstance OBJECT-TYPE SYNTAX Unsigned32(1..16777215) MAX-ACCESS read-only STATUS current DESCRIPTION "The instance number used for the link during this session. The Instance number is a 24-bit number that should be 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." ::= { gsmpSessionEntry 9 } gsmpSessionLastFailureCode OBJECT-TYPE SYNTAX Unsigned32(0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "This is the last failure code that was received over this session. If no failure code have been received, the value is zero." ::= { gsmpSessionEntry 10 } gsmpSessionDiscontinuityTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime on the most recent occasion at which one or more of this session's counters suffered a discontinuity. If no such discontinuities have occurred since then, this object contains the same timestamp as gsmpSessionStartUptime ." ::= { gsmpSessionEntry 11 } Sjostrand et.al. Expires December 2001 [Page 29] Internet Draft GSMP MIB June 2001 gsmpSessionStartUptime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION " The value of sysUpTime when the session came to established state." ::= { gsmpSessionEntry 12 } gsmpSessionStatSentMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of messages that have been sent in this session." ::= { gsmpSessionEntry 13 } gsmpSessionStatFailureInds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of messages that have been sent with a failure indication in this session." ::= { gsmpSessionEntry 14 } gsmpSessionStatReceivedMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of messages that have been received in this session." ::= { gsmpSessionEntry 15 } gsmpSessionStatReceivedFailures OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of messages that have been received in this session with a failure indication." ::= { gsmpSessionEntry 16 } gsmpSessionStatPortUpEvents OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only Sjostrand et.al. Expires December 2001 [Page 30] Internet Draft GSMP MIB June 2001 STATUS current DESCRIPTION "The number of Port Up events that have been sent or received on this session." ::= { gsmpSessionEntry 17 } gsmpSessionStatPortDownEvents OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Port Down events that have been sent or received on this session." ::= { gsmpSessionEntry 18 } gsmpSessionStatInvLabelEvents OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Invalid label events that have been sent or received on this session." ::= { gsmpSessionEntry 19 } gsmpSessionStatNewPortEvents OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of New Port events that have been sent or received on this session." ::= { gsmpSessionEntry 20 } gsmpSessionStatDeadPortEvents OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Dead Port events that have been sent or received on this session." ::= { gsmpSessionEntry 21 } gsmpSessionStatAdjUpdateEvents OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Adjacency Update events that have been sent or received on this session." Sjostrand et.al. Expires December 2001 [Page 31] Internet Draft GSMP MIB June 2001 ::= { gsmpSessionEntry 22 } -- ************************************************************** -- GSMP Notifications -- ************************************************************** -- -- Notification objects -- gsmpEventPort OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object specifies the Port Number that is carried in this event." ::= { gsmpNotificationsObjects 1 } gsmpEventPortSessionNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object specifies the Port Session Number that is carried in this event." ::= { gsmpNotificationsObjects 2 } gsmpEventSequenceNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object specifies the Event Sequence Number that is carried in this event." ::= { gsmpNotificationsObjects 3 } gsmpEventLabel OBJECT-TYPE SYNTAX GsmpLabelType MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object specifies the Label that is carried in this event." ::= { gsmpNotificationsObjects 4 } -- Sjostrand et.al. Expires December 2001 [Page 32] Internet Draft GSMP MIB June 2001 -- Notifications -- gsmpSessionDown NOTIFICATION-TYPE OBJECTS { gsmpSessionStartUptime, gsmpSessionStatSentMessages, gsmpSessionStatFailureInds, gsmpSessionStatReceivedMessages, gsmpSessionStatReceivedFailures, gsmpSessionStatPortUpEvents, gsmpSessionStatPortDownEvents, gsmpSessionStatInvLabelEvents, gsmpSessionStatNewPortEvents, gsmpSessionStatDeadPortEvents, gsmpSessionStatAdjUpdateEvents } STATUS current DESCRIPTION "When it has been enabled, this notification is generated whenever a session is taken down, regardless of whether the session went down normally or not. Its purpose is to allow a management application (primarily an accounting application) that is monitoring the session statistics to receive the final values of these counters, so that the application can properly account for the amounts the counters were incremented since the last time the application polled them. The gsmpSessionStartUptime object provides the total amount of time that the session was active. This notification is not a substitute for polling the session statistic counts. In particular, the count values reported in this notification cannot be assumed to be the complete totals for the life of the session, since they may have wrapped while the session was up. The session to which this notification applies is identified by the gsmpSessionThisSideId and gsmpSessionFarSideId which could be inferred from the Object Identifiers of the objects contained in the notification. An instance of this notification will contain exactly one instance of each of its objects, and these objects will all belong to the same conceptual row of the gsmpSessionTable." ::= { gsmpNotifications 1 } Sjostrand et.al. Expires December 2001 [Page 33] Internet Draft GSMP MIB June 2001 gsmpSessionUp NOTIFICATION-TYPE OBJECTS { gsmpSessionFarSideInstance } STATUS current DESCRIPTION "When it has been enabled, this notification is generated when new session is established. The new session is identified by the gsmpSessionThisSideId and gsmpSessionFarSideId which could be inferred from the Object Identifier of the gsmpSessionFarSideInstance object contained in the notification." ::= { gsmpNotifications 2 } gsmpSentFailureInd NOTIFICATION-TYPE OBJECTS { gsmpSessionLastFailureCode, gsmpSessionStatFailureInds } STATUS current DESCRIPTION "When it has been enabled, this notification is generated when a message with a failure indication was sent. The notification indicates a change in the value of gsmpSessionStatFailureInds. The gsmpSessionLastFailureCode contains the failure reason. The session to which this notification applies is identified by the gsmpSessionThisSideId and gsmpSessionFarSideId which could be inferred from the Object Identifiers of the objects contained in the notification." ::= { gsmpNotifications 3 } gsmpReceivedFailureInd NOTIFICATION-TYPE OBJECTS { gsmpSessionLastFailureCode, gsmpSessionStatReceivedFailures } STATUS current DESCRIPTION "When it has been enabled, this notification is generate when a message with a failure indication is received. Sjostrand et.al. Expires December 2001 [Page 34] Internet Draft GSMP MIB June 2001 The notification indicates a change in the value of gsmpSessionStatReceivedFailures. The gsmpSessionLastFailureCode contains the failure reason. The session to which this notification applies is identified by the gsmpSessionThisSideId and gsmpSessionFarSideId which could be inferred from the Object Identifiers of the objects contained in the notification." ::= { gsmpNotifications 4 } gsmpPortUpEvent NOTIFICATION-TYPE OBJECTS { gsmpSessionStatPortUpEvents, gsmpEventPort, gsmpEventPortSessionNumber, gsmpEventSequenceNumber } STATUS current DESCRIPTION "When it has been enabled, this notification is generated when a Port Up Event occurs. The notification indicates a change in the value of gsmpSessionStatPortUpEvents. The session to which this notification applies is identified by the gsmpSessionThisSideId and gsmpSessionFarSideId which could be inferred from the Object Identifier of the gsmpSessionStatPortUpEvents object contained in the notification." ::= { gsmpNotifications 5 } gsmpPortDownEvent NOTIFICATION-TYPE OBJECTS { gsmpSessionStatPortDownEvents, gsmpEventPort, gsmpEventPortSessionNumber, gsmpEventSequenceNumber } STATUS current DESCRIPTION "When it has been enabled, this notification is generated when a Port Down Event occurs. The notification indicates a change in the value of gsmpSessionStatPortDownEvents. Sjostrand et.al. Expires December 2001 [Page 35] Internet Draft GSMP MIB June 2001 The session to which this notification applies is identified by the gsmpSessionThisSideId and gsmpSessionFarSideId which could be inferred from the Object Identifier of the gsmpSessionStatPortDownEvents object contained in the notification." ::= { gsmpNotifications 6 } gsmpInvalidLabelEvent NOTIFICATION-TYPE OBJECTS { gsmpSessionStatInvLabelEvents, gsmpEventPort, gsmpEventLabel, gsmpEventSequenceNumber } STATUS current DESCRIPTION "When it has been enabled, this notification is generated when an Invalid Label Event occurs. The notification indicates a change in the value of gsmpSessionStatInvLabelEvents. The session to which this notification applies is identified by the gsmpSessionThisSideId and gsmpSessionFarSideId which could be inferred from the Object Identifier of the gsmpSessionStatInvLabelEvents object contained in the notification." ::= { gsmpNotifications 7 } gsmpNewPortEvent NOTIFICATION-TYPE OBJECTS { gsmpSessionStatNewPortEvents, gsmpEventPort, gsmpEventPortSessionNumber, gsmpEventSequenceNumber } STATUS current DESCRIPTION "When it has been enabled, this notification is generated when a New Port Event occurs. The notification indicates a change in the value of gsmpSessionStatNewPortEvents. The session to which this notification applies is identified by the gsmpSessionThisSideId and gsmpSessionFarSideId which could be inferred from the Object Identifier of the gsmpSessionStatNewPortEvents object contained in the notification." Sjostrand et.al. Expires December 2001 [Page 36] Internet Draft GSMP MIB June 2001 ::= { gsmpNotifications 8 } gsmpDeadPortEvent NOTIFICATION-TYPE OBJECTS { gsmpSessionStatDeadPortEvents, gsmpEventPort, gsmpEventPortSessionNumber, gsmpEventSequenceNumber } STATUS current DESCRIPTION "When it has been enabled, this notification is generated when a Dead Port Event occurs. The notification indicates a change in the value of gsmpSessionStatDeadPortEvents. The session to which this notification applies is identified by the gsmpSessionThisSideId and gsmpSessionFarSideId which could be inferred from the Object Identifier of the gsmpSessionStatDeadPortEvents object contained in the notification." ::= { gsmpNotifications 9 } gsmpAdjacencyUpdateEvent NOTIFICATION-TYPE OBJECTS { gsmpSessionAdjacencyCount, gsmpSessionStatAdjUpdateEvents, gsmpEventSequenceNumber } STATUS current DESCRIPTION "When it has been enabled, this notification is generated when an Adjacency Update Event occurs. The gsmpSessionAdjacencyCount contains the new value of the number of adjacencies that are established with controllers and the switch partition that is used for this session. The notification indicates a change in the value of gsmpSessionStatAdjUpdateEvents. The session to which this notification applies is identified by the gsmpSessionThisSideId and gsmpSessionFarSideId which could be inferred from the Object Identifier of the gsmpSessionAdjacencyCount or the gsmpSessionStatAdjUpdateEvents object contained in the notification." Sjostrand et.al. Expires December 2001 [Page 37] Internet Draft GSMP MIB June 2001 ::= { gsmpNotifications 10 } --************************************************************** -- GSMP Compliance --************************************************************** gsmpGroups OBJECT IDENTIFIER ::= { gsmpConformance 1 } gsmpCompliances OBJECT IDENTIFIER ::= { gsmpConformance 2 } gsmpModuleCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for agents that support the GSMP MIB." MODULE -- this module MANDATORY-GROUPS { gsmpGeneralGroup } GROUP gsmpControllerGroup DESCRIPTION "This group is mandatory for all Switch Controllers" GROUP gsmpSwitchGroup DESCRIPTION "This group is mandatory for all Switches" GROUP gsmpAtmEncapGroup DESCRIPTION "This group must be supported if ATM is used for GSMP encapsulation. " GROUP gsmpTcpIpEncapGroup DESCRIPTION "This group must be supported if TCP/IP is used for GSMP encapsulation. " OBJECT gsmpTcpIpEncapAddressType SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } DESCRIPTION "An implementation is only required to support 'unknown(0)', and IPv4 addresses. Supporting IPv6 addresses is optional. Defining Internet addresses by using DNS domain names are not allowed." OBJECT gsmpTcpIpEncapAddress SYNTAX InetAddress (SIZE(0|4|16|20)) DESCRIPTION "An implementation is only required to support IPv4 addresses. Supporting IPv6 addresses Sjostrand et.al. Expires December 2001 [Page 38] Internet Draft GSMP MIB June 2001 is optional." GROUP gsmpNotificationObjectsGroup DESCRIPTION "This group must be supported if notifications are supported. " GROUP gsmpNotificationsGroup DESCRIPTION "This group must be supported if notifications are supported. " ::= { gsmpCompliances 1 } -- units of conformance gsmpGeneralGroup OBJECT-GROUP OBJECTS { gsmpSessionVersion, gsmpSessionTimer, gsmpSessionPartitionId, gsmpSessionAdjacencyCount, gsmpSessionFarSideName, gsmpSessionFarSidePort, gsmpSessionFarSideInstance, gsmpSessionLastFailureCode, gsmpSessionDiscontinuityTime, gsmpSessionStartUptime, gsmpSessionStatSentMessages, gsmpSessionStatFailureInds, gsmpSessionStatReceivedMessages, gsmpSessionStatReceivedFailures, gsmpSessionStatPortUpEvents, gsmpSessionStatPortDownEvents, gsmpSessionStatInvLabelEvents, gsmpSessionStatNewPortEvents, gsmpSessionStatDeadPortEvents, gsmpSessionStatAdjUpdateEvents }STATUS current DESCRIPTION "Objects that apply to all GSMP implementations." ::= { gsmpGroups 1 } gsmpControllerGroup OBJECT-GROUP OBJECTS { gsmpControllerMaxVersion, gsmpControllerTimer, gsmpControllerPort, Sjostrand et.al. Expires December 2001 [Page 39] Internet Draft GSMP MIB June 2001 gsmpControllerInstance, gsmpControllerPartitionType, gsmpControllerPartitionId, gsmpControllerDoResync, gsmpControllerNotificationMap, gsmpControllerSessionState, gsmpControllerStorageType, gsmpControllerRowStatus } STATUS current DESCRIPTION "Objects that apply GSMP implementations of Switch Controllers." ::= { gsmpGroups 2 } gsmpSwitchGroup OBJECT-GROUP OBJECTS { gsmpSwitchMaxVersion, gsmpSwitchTimer, gsmpSwitchName, gsmpSwitchPort, gsmpSwitchInstance, gsmpSwitchPartitionType, gsmpSwitchPartitionId, gsmpSwitchNotificationMap, gsmpSwitchSwitchType, gsmpSwitchWindowSize, gsmpSwitchSessionState, gsmpSwitchStorageType, gsmpSwitchRowStatus } STATUS current DESCRIPTION "Objects that apply GSMP implementations of Switches." ::= { gsmpGroups 3 } gsmpAtmEncapGroup OBJECT-GROUP OBJECTS { gsmpAtmEncapIfIndex, gsmpAtmEncapVpi, gsmpAtmEncapVci, gsmpAtmEncapStorageType, gsmpAtmEncapRowStatus } STATUS current DESCRIPTION "Objects that apply to GSMP implementations that supports ATM for GSMP encapsulation." Sjostrand et.al. Expires December 2001 [Page 40] Internet Draft GSMP MIB June 2001 ::= { gsmpGroups 4 } gsmpTcpIpEncapGroup OBJECT-GROUP OBJECTS { gsmpTcpIpEncapAddressType, gsmpTcpIpEncapAddress, gsmpTcpIpEncapPortNumber, gsmpTcpIpEncapStorageType, gsmpTcpIpEncapRowStatus } STATUS current DESCRIPTION "Objects that apply to GSMP implementations that supports TCP/IP for GSMP encapsulation." ::= { gsmpGroups 5 } gsmpNotificationObjectsGroup OBJECT-GROUP OBJECTS { gsmpEventPort, gsmpEventPortSessionNumber, gsmpEventSequenceNumber, gsmpEventLabel} STATUS current DESCRIPTION "Objects that are contained in the notifications." ::= { gsmpGroups 6 } gsmpNotificationsGroup NOTIFICATION-GROUP NOTIFICATIONS { gsmpSessionDown, gsmpSessionUp, gsmpSentFailureInd, gsmpReceivedFailureInd, gsmpPortUpEvent, gsmpPortDownEvent, gsmpInvalidLabelEvent, gsmpNewPortEvent, gsmpDeadPortEvent, gsmpAdjacencyUpdateEvent } STATUS current DESCRIPTION "The notifications which indicate specific changes in the value of objects gsmpSessionTable" ::= { gsmpGroups 7 } END Sjostrand et.al. Expires December 2001 [Page 41] Internet Draft GSMP MIB June 2001 5. Revision History This section should be removed when this document is published as an RFC. 5.1 Changes from < draft-ietf-gsmp-mib-00.txt > Mib totally remade :-) 5.2 Changes from < draft-ietf-gsmp-mib-01.txt > Besides from editorial changes the following updates was made; - Imported AtmVcIdentifier, AtmVpIdentifier FROM ATM-TC-MIB - Removed serviceModelType - Separated the Vse and Vsce config stuf in separate tables. - Also added ATM,TCP/IP, Vse and Vsce groups - Added control of multiple controllers - Added Vse window size and switch type configuration. - Added control of resync strategy - Added last failure code and discontinuity time - Added event config and count - Added notifications 5.3 Changes from < draft-ietf-gsmp-mib-02.txt > Besides from editorial changes the following updates was made; - Added gsmpThisSideId and gsmpFarSideId helper objects. - Replaced Ipv4 address type with TC for Internet Network Addresses - Added textual conventions for reader convenience. - Removed gsmpVsceName object and added default behaviour of gsmpVseName - Added row status objects for the encap tables. - Added DEFVAL and ranges to objects. - Persistent storage clarified - "Virtual" removed from names and concepts. gsmpVsceTable now gsmpControllerTable and gsmpVseTable is gsmpSwitchTable. - Partition Type object added. - Session state moved from Session table to Controller and Switch tables. - Removed gsmpSwitchAllowMultContr object, it's redundant. - BITS import removed. - Partition ID object added to session table. - gsmpSessionStat table merged into the gsmpSessionTable. Sjostrand et.al. Expires December 2001 [Page 42] Internet Draft GSMP MIB June 2001 5.4 Changes from < draft-ietf-gsmp-mib-03.txt > The following updates was made; - Clarified behaviour on gsmpSessionDiscontinuityTime. ¡ Changed contact info 5.5 Changes from < draft-ietf-gsmp-mib-04.txt > Besides from editorial changes the following updates was made; - Added more text about the generic concepts of GSMP. - IF-MIB is now RFC 2863, not 2233 - In CONTACT INFO, added WG mailing list,subscribe,archive info - Added a REVISION clause to the MODULE-IDENTITY - Notification OIDs updated with less overhead - Removed trap from Notification names - Added text about rows created outside SNMP. - Clarified port and instance number descriptions. - Clarified when objects can be changed in active row - gsmpSessionStatUptime changed to TimeStamp and renamed to gsmpSessionStartUptime - gsmpSessionStatFailureIndication renamed gsmpSessionStatFailureInds - ReceivedFailure got an s for plurality - gsmpEventLabel now of GsmpLabelType (new TC based on octet string). - Added SYNTAX clauses to inet-address objects compliance. - GsmpVersion TC changed from enumerated to Unsigned32 - controller and switch instance numbers changed to read-only - gsmpThisSideId and gsmpFarSideId removed from Notifications, session ids is inferred from OIDs of the objects instead. - gsmpThisSideId and gsmpFarSideId objects removed - StorageType object added. - encapType objects removed, instead encap type is given by a encap entry with same id. - Creation order defined. - ptype updated to align with draft-ietf-gsmp-09 6. Acknowledgments The authors would like to thank Avri Doria and Kenneth Sundell for their contributions to this specification. Also thanks to David Partain and Bert Wijnen who has contributed significantly with their SNMP expertise. 7. References [RFC1155] Rose, M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990 Sjostrand et.al. Expires December 2001 [Page 43] Internet Draft GSMP MIB June 2001 [RFC1212] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991 [RFC1215] M. Rose, "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991 [RFC1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, May 1990. [RFC1901] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996. [RFC1905] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996. [RFC1906] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996. [RFC1987] Newman, P, Edwards, W., Hinden, R., Hoffman, E. Ching Liaw, F., Lyon, T. and Minshall, G., "Ipsilon's General Switch Management Protocol Specification," Version 1.1, RFC 1987, August 1996. [RFC2026] Bradner, S., "The Internet Standards Process - Revision 3", BCP 9, RFC 2026, Harvard University, October 1996 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, Harvard University, March 1997 [RFC2397] Newman, P, Edwards, W., Hinden, R., Hoffman, E., Ching Liaw, F., Lyon, T. and Minshall, G., "Ipsilon's General Switch Management Protocol Specification," Version 2.0, RFC 2397, March 1998. [RFC2434] Narten, T., and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs.", RFC 2434, IBM, Maxware, October 1998 [RFC2514] Noto, M., E. Spiegel, K. Tesink, "Definition of Textual Conventions and OBJECT-IDENTITIES for ATM Management", RFC 2514, February 1999. [RFC2570] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction to Version 3 of the Internet-standard Network Sjostrand et.al. Expires December 2001 [Page 44] Internet Draft GSMP MIB June 2001 Management Framework", RFC 2570, April 1999 [RFC2571] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999 [RFC2572] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999 [RFC2573] Levi, D., Meyer, P., and B. Stewart, "SNMP Applications", RFC 2573, April 1999 [RFC2574] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999 [RFC2575] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, April 1999 [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999 [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999 [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999 [RFC2851] Daniele, M., Haberman, B., Routhier, S. and J., Schoenwaelder "Textual Conventions for Internet Network Addresses", RFC 2851, June 2000 [RFC2863] McCloghrie, K., Kastenholz, F., "The Interfaces Group MIB" RFC 2863, June 2000. [GSMPv3] Doria, Hellstrand, Sundell, Worster, "General Switch Management Protocol V3", work in progress, June 2001 [GSMPenc] Worster, Doria, Buerkle, "GSMP Packet Encapsulations for ATM, Ethernet and TCP", work in progress, November 2000 Sjostrand et.al. Expires December 2001 [Page 45] Internet Draft GSMP MIB June 2001 8. Security Considerations Assuming that secure network management (such as SNMP v3) is implemented, the objects represented in this MIB do not pose a threat to the security of the network. There are a number of management objects defined in this MIB that have a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations. There are a number of managed objects in this MIB that may contain sensitive information. These are contained in the gsmpControllerTable and gsmpSwitchTable. It is thus important to control even GET access to these objects and possibly to even encrypt the values of these object when sending them over the network via SNMP. Not all versions of SNMP provide features for such a secure environment. SNMPv1 by itself is not a secure environment. Even if the network itself is secure (for example by using IPSec), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB. It is recommended that the implementers consider the security features as provided by the SNMPv3 framework. Specifically, the use of the User-based Security Model RFC 2574 [RFC2574] and the View- based Access Control Model RFC 2575 [RFC2575] is recommended. It is then a customer/user responsibility to ensure that the SNMP entity giving access to an instance of this MIB, is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them. 9. Authors' Addresses Hans Sjostrand ipUnplugged P.O. Box 101 60 S-121 28 Stockholm, Sweden Phone: +46 8 725 5930 Email: hans@ipunplugged.com Joachim Buerkle Nortel Networks Germany GmbH & Co. KG Hahnstrasse 37-39 Sjostrand et.al. Expires December 2001 [Page 46] Internet Draft GSMP MIB June 2001 D-60528 Frankfurt am Main, Germany Phone: +49 69 6697 3281 Email: joachim.buerkle@nortelnetworks.com Balaji Srinivasan CPlane Inc. 5150 El Camino Real Suite B-31 Los Altos, CA 94022 Phone +1 650 938 8066 ext 103 Email: balaji@cplane.com 10. Full Copyright Statement Copyright (C) The Internet Society (2001). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Sjostrand et.al. Expires December 2001 [Page 47]