-- ***************************************************************** -- CISCO-OPTICAL-IF-CROSS-CONNECT-MIB.my: Cisco optical interface -- cross-connect MIB file -- -- April 2001, Suresh Basavarajappa, Mickey Spiegel and Sameer Merchant -- -- Copyright (c) 2001, 2002 by cisco Systems, Inc. -- All rights reserved. -- -- ***************************************************************** CISCO-OPTICAL-IF-CROSS-CONNECT-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Integer32 FROM SNMPv2-SMI RowStatus, TimeStamp, TEXTUAL-CONVENTION FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF ciscoExperiment FROM CISCO-SMI InterfaceIndex, ifIndex FROM IF-MIB; ciscoOpticalIfCrossConnectMIB MODULE-IDENTITY LAST-UPDATED "200203130000Z" -- 03/13/2002 ORGANIZATION "Cisco Systems, Inc." CONTACT-INFO "Cisco Systems Customer Service Postal: 170 W Tasman Drive San Jose, CA 95134 Tel: +1 800 553-NETS E-mail: cs-dwdm@cisco.com" DESCRIPTION "This MIB module is used to create and monitor cross-connects (horizontal relationships) between peer interfaces on the same network element. Vertical relationships (e.g. between lambdas and the optical fiber in which the lambdas are carried) are represented in the ifStackTable from the IF-MIB. This MIB can be used to model various types of cross-connects between peer interfaces, including time-division (e.g. SDH/SONET, PDH), wavelength (lambda), and spatial switching (e.g. incoming port or fiber to outgoing port or fiber). This MIB does not apply to cross-connects between packet flows (e.g. packets in the same forwarding equivalence class at a MPLS-capable switch or router) or cell flows (e.g. ATM Virtual Path connections or ATM Virtual Channel connections), since there are scalability issues in modeling each packet flow or cell flow as a logical interface. The switching element performing the cross-connect function can be electrical (e.g. SDH/SONET switch) or optical (e.g. passive optical add/drop multiplexer) Cross-connects can be created through provisioning, automatically by the network element, or dynamically by using control protocols (e.g. GMPLS). The cross-connect model includes support for pairs of interfaces used to protect each other (e.g. SONET 1+1 Automatic Protection Switching). Cross-connects to protection interfaces may be shown in this MIB module." REVISION "200203130000Z" -- 03/13/2002 DESCRIPTION "Added two objects, coifccCcL2HAttenuation and coifccCcH2LAttenuation to coifccCrossConnectTable. These new objects indicate signal attenuation on a given cross-connect. Changed coifccCcKind in coifccCrossConnectTable from read-only to read-create." REVISION "200104200000Z" -- 04/20/2001 DESCRIPTION "Initial version of this MIB module." ::= { ciscoExperiment 68 } coifccMIBObjects OBJECT IDENTIFIER ::= { ciscoOpticalIfCrossConnectMIB 1 } coifccMIBConformance OBJECT IDENTIFIER ::= { ciscoOpticalIfCrossConnectMIB 2 } -- Textual Conventions CoifccCrossConnectOperStatus ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The operational status in one direction of a cross-connect between two interfaces. The 'up' state indicates that the traffic flow is enabled on the cross-connect. The 'down' state indicates that the traffic flow is disabled on the cross-connect, since it is either administratively down or there is a fault that prevents it from going to the 'up' state. The 'dormant' state indicates that the traffic flow is disabled, but it is administratively up and there is no fault that prevents it from going to the 'up' state. The 'dormant' state is used when the interface from which the traffic flows across the cross-connect is the standby interface of a protected pair. The 'dormant' state may also apply when the protection mode is other than 1+1 and the high interface is the standby interface of a protected pair. The 'unknown' state indicates that the state of the cross-connect cannot be determined. The state will be 'down' or 'unknown' if one or both of the interfaces are 'down' or 'unknown', respectively." SYNTAX INTEGER { up(1), down(2), dormant(3), unknown(4) } -- MIB Object Definitions coifccInterface OBJECT IDENTIFIER ::= { coifccMIBObjects 1 } coifccCrossConnect OBJECT IDENTIFIER ::= { coifccMIBObjects 2 } -- coifcc Interface Group coifccInterfaceTable OBJECT-TYPE SYNTAX SEQUENCE OF CoifccInterfaceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists all interfaces that are cross-connected to one or more other interfaces. The table is used to find cross-connects that include a particular interface." ::= { coifccInterface 1 } coifccInterfaceEntry OBJECT-TYPE SYNTAX CoifccInterfaceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry is created only when an interface is cross-connected to one or more other interfaces (i.e. when the associated entries in the coifccCrossConnectTable have been created). An entry is deleted when an interface is removed from a cross-connect, or when the cross-connect that includes the interface is deleted from the coifccCrossConnectTable." INDEX { ifIndex } ::= { coifccInterfaceTable 1 } CoifccInterfaceEntry ::= SEQUENCE { coifccIfCrossConnectIdentifier Integer32 } coifccIfCrossConnectIdentifier OBJECT-TYPE SYNTAX Integer32 (1..2147483547) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of coifccCcIndex used in the coifccCrossConnectTable to identify a cross-connect that includes this interface. Each interface included in that cross-connect has an entry in this table with the same value of this object, in addition to the entries in the coifccCrossConnectTable with this value of coifccCcIndex." ::= { coifccInterfaceEntry 1 } -- coifcc Cross-Connect Group coifccCcIndexNext OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an appropriate value to be used for coifccCcIndex when creating entries in the coifccCrossConnectTable. The value 0 indicates that no unassigned entries are available. To obtain the coifccCcIndex value for a new entry, the manager issues a management protocol retrieval operation to obtain the current value of this object. The agent will modify the value to the next unassigned index, when a new row is created in coifccCrossConnectTable with coifccCcIndex value equal to the current value of this object. After deletion of a row in coifccCrossConnectTable the agent will determine through its local policy when its index value will be made available for reuse." ::= { coifccCrossConnect 1 } coifccCcLastChange OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time of the last creation, deletion or modification of an entry in the coifccCrossConnectTable. If the coifccCrossConnectTable entries has been unchanged since the last re-initialization of the local network management subsystem, then this object contains a zero value." ::= { coifccCrossConnect 2 } coifccCrossConnectTable OBJECT-TYPE SYNTAX SEQUENCE OF CoifccCrossConnectEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains configuration and state information of point-to-point and point-to-multipoint interface cross-connects. Each entry in the table models two bi-directional interfaces on opposite sides of a bi-directional cross-connect. For a point-to-point cross-connect, there can be up to four entries in the table with the same value of coifccCcIndex, due to the presence of protection interfaces. All four entries are associated with each other due to APS configuration (for now, this would be done through the CISCO-APS-MIB). If both sides A and B are configured for 1+1 APS protection, and a cross-connect between interfaces A and B is created, then the following cross-connect entries will be present: The cross-connect with coifccCcKind value 'provisioned' is the one that is created through cross-connect configuration and the cross-connects with coifccCcKind value 'protection' are those that are created automatically due to APS configuration. Low interface High interface coifccCcKind A B provisioned A B' protection A' B protection A' B' protection When the cross-connect between A and B is deleted, all four cross-connect entries will disappear. Each side of the point-to-point cross-connect can have up to two interfaces, for example when SONET 1+1 Automatic Protection Switching (APS) is used. Any one of the four entries of a point-to-point cross-connect can be created, and the remaining three entries will be created automatically. However only the 'provisioned' entry can be explicitly deleted, which also causes the corresponding 'protection' entries to be deleted. Note that use of the word 'protection' is different from its usage in SONET 1+1 APS. In particular, there is no requirement that the 'provisioned' cross-connect must be between the SONET 'working' interfaces. A point-to-multipoint connection consists of one root and many leaves. Copies of the traffic received at the root interface are transmitted out each of the leaf interfaces. For a point-to-multipoint cross-connect with N leafs, the manager creates N 'provisioned' entries in this table. Where N is determined by the manager based on some application. In the presence of APS configuration, the same point-to-multipoint (N leafs) cross-connect, in addition to having N 'provisioned' entries in this table, can have upto an additional 3N 'protection' entries automatically configured. The terms low and high are chosen to represent numerical ordering of the two interfaces associated with a cross-connect. That is, the interface with the lower value of ifIndex is termed 'low', while the other interface associated with the cross-connect is termed 'high'. This terminology is used to provide directional information; for example, the coifccCcL2HOperStatus applies to the low->high direction, and coifccCcH2LOperStatus applies to the high->low direction." ::= { coifccCrossConnect 3 } coifccCrossConnectEntry OBJECT-TYPE SYNTAX CoifccCrossConnectEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This entry is used to model two bi-directional cross-connected interfaces. Cross-connects can be created through provisioning, automatically by the network element, dynamically by using control protocols (e.g. GMPLS), or due to the presence of protection interfaces. When creating an entry through provisioning, the following procedures are used to cross-connect two interfaces: (1) The manager obtains a unique coifccCcIndex by reading the coifccCcIndexNext object. (2) Next, the manager creates a set of one or more rows in the Cross Connect Table. For a point-to-point connection, one row is created by the manager. For a point-to-multipoint connection, one row is created for each leaf to an unprotected interface, or one row is created for each leaf to a pair of protected interfaces. Additional rows for protection interfaces are created automatically by the agent. Each row is indexed by the ifIndex values of the two interfaces at the ends of that cross-connection. This set of rows is identified by a single value of coifccCcIndex. As each row is created, the agent checks if the requested topology is supported and also checks for internal errors in building the cross-connect. The coifccIfCrossConnectIdentifier values in the corresponding coifccInterfaceTable rows are filled in by the agent at this point. The traffic flow is turned on when the manager sets coifccCcRowStatus to active(1) or createAndGo(4). A cross-connect identified by a particular value of coifccCcIndex is released by setting coifccCcRowStatus of all rows identified by this value of coifccCcIndex, other than the rows with a coifccCcKind value of 'protection', to destroy(6). The agent may release associated resources, and the coifccIfCrossConnectIdentifier values in the corresponding coifccInterfaceTable are removed. Note that a situation when only a subset of the associated rows are deleted corresponds to a topology change. At the discretion of the agent, a cross-connect may be reconfigured by adding and/or deleting leafs to/from the topology as per the cross-connect establishment/retirement guidelines described below. Each leaf is added by creating a row with the same value of coifccCcIndex in this table. Each leaf is deleted by deleting a row with the same value of coifccCcIndex in the table. To delete an entire point-to-multipoint connection, all entries with the same coifccCcIndex value must be deleted." INDEX { coifccCcIndex, coifccCcLowIfIndex, coifccCcHighIfIndex } ::= { coifccCrossConnectTable 1 } CoifccCrossConnectEntry ::= SEQUENCE { coifccCcIndex Integer32, coifccCcLowIfIndex InterfaceIndex, coifccCcHighIfIndex InterfaceIndex, coifccCcSwitchType INTEGER, coifccCcKind INTEGER, coifccCcCreationTime TimeStamp, coifccCcL2HOperStatus CoifccCrossConnectOperStatus, coifccCcH2LOperStatus CoifccCrossConnectOperStatus, coifccCcL2HLastChange TimeStamp, coifccCcH2LLastChange TimeStamp, coifccCcRowStatus RowStatus, coifccCcL2HAttenuation Integer32, coifccCcH2LAttenuation Integer32 } coifccCcIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique value used to identify this cross-connect. For each interface associated with this cross-connect, the agent reports this cross-connect index value in the coifccIfCrossConnectIdentifier object of the corresponding coifccInterfaceTable entry. When the value of this index is equal to the current value of coifccCcIndexNext, the agent will modify the value of coifccCcIndexNext to the next unassigned index." ::= { coifccCrossConnectEntry 1 } coifccCcLowIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The value of this object is equal to MIB II's ifIndex value of the interface for this cross-connect. The term low implies that this interface has the numerically lower ifIndex value than the other interface identified in the same coifccCrossConnectEntry." ::= { coifccCrossConnectEntry 2 } coifccCcHighIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The value of this object is equal to MIB II's ifIndex value of the interface for this cross-connect. The term high implies that this interface has the numerically higher ifIndex value than the other interface identified in the same coifccCrossConnectEntry." ::= { coifccCrossConnectEntry 3 } coifccCcSwitchType OBJECT-TYPE SYNTAX INTEGER { unknown(1), electricalCrossConnect(2), opticalCrossConnect(3), autoSelect(4) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the type of switching element used to implement this cross-connect. The value 'opticalCrossConnect' applies only when there is no optical-to-electrical conversion performed to implement the cross-connect. The value 'autoSelect' indicates the agent should figure out the switch type to use. The value 'autoSelect' is a write-only value and should never be returned when this object is read. If the manager activates the row before setting this object, the value may be chosen by the agent." DEFVAL { autoSelect } ::= { coifccCrossConnectEntry 4 } coifccCcKind OBJECT-TYPE SYNTAX INTEGER { provisioned(1), automatic(2), dynamic(3), protection(4), other(5) } MAX-ACCESS read-create STATUS current DESCRIPTION "The type of call control used to establish a cross-connect. If no value of this object is provided when a row is activated through SNMP, then the value 'provisioned' is assigned by the agent. For point-to-point cross-connects, the only sets allowed on this object are during initial row creation, and to change the value of this object from 'protection' to 'provisioned', which automatically changes the coifccCcKind value of the 'provisioned' cross-connect with the same coifccCcIndex value to 'protection'. A change from 'protection' to 'provisioned' is allowed when coifccCcRowStatus is 'active'. The use is as follows: provisioned(1) Provisioned by the user or by a management system using the Command Line Interface, SNMP, or other means of management access to the network element. automatic(2) Created automatically by the network element, without user, management, or control plane intervention. In particular, this is used to represent fixed interface cross-connects due to the presence of entities such as optical add/drop multiplexers. dynamic(3) Created by request from a control plane (e.g. from GMPLS signalling). protection(4) Created to include the second of a pair of protected interfaces in a cross-connect, when a cross-connect entry for the first interface in the pair is being created. Such an entry cannot be deleted directly. It is deleted when the cross-connect entry containing the other interface(s) of the protected pair(s) is deleted." ::= { coifccCrossConnectEntry 5 } coifccCcCreationTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of MIB II's sysUpTime object at the time this bi-directional cross-connect was created. If the current state was entered prior to the last re-initialization of the agent then this object contains a zero value." ::= { coifccCrossConnectEntry 6 } coifccCcL2HOperStatus OBJECT-TYPE SYNTAX CoifccCrossConnectOperStatus MAX-ACCESS read-only STATUS current DESCRIPTION "The operational status of the cross-connect in the direction from the interface that has the numerically lower ifIndex value, to the interface that has the numerically higher ifIndex value." ::= { coifccCrossConnectEntry 7 } coifccCcH2LOperStatus OBJECT-TYPE SYNTAX CoifccCrossConnectOperStatus MAX-ACCESS read-only STATUS current DESCRIPTION "The operational status of the cross-connect in the direction from the interface that has the numerically higher ifIndex value, to the interface that has the numerically lower ifIndex value." ::= { coifccCrossConnectEntry 8 } coifccCcL2HLastChange OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of MIB II's sysUpTime at the time this cross-connect entered its current operational state in the low to high direction. If the current state was entered prior to the last re-initialization of the agent then this object contains a zero value." ::= { coifccCrossConnectEntry 9 } coifccCcH2LLastChange OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of MIB II's sysUpTime at the time this cross-connect entered its current operational state in the high to low direction. If the current state was entered prior to the last re-initialization of the agent then this object contains a zero value." ::= { coifccCrossConnectEntry 10 } coifccCcRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this entry in the coifccCrossConnectTable. This object is used to create a cross-connect or to modify or delete an existing cross-connect. Write access does not apply to entries with coifccCcKind values of 'automatic' or 'protection'. Entries with a coifccCcKind value of 'protection' cannot be deleted using this object. Such an entry is deleted when the cross-connect entry containing the other interface(s) of the protected pair(s) is deleted. For entries with coifccCcKind value of 'dynamic', the only value that can be set is 'destroy'." ::= { coifccCrossConnectEntry 11 } coifccCcL2HAttenuation OBJECT-TYPE SYNTAX Integer32 (-400..0) UNITS "1/10ths of dB" MAX-ACCESS read-create STATUS current DESCRIPTION "The value of this object indicates optical signal attenuation due to connectors, optical wavelength filters, optical switches, and other optical components, in the direction from the interface that has the numerically lower ifIndex value, to the interface that has the numerically higher ifIndex value. Example: The value -25 represents an attenuation of -2.5 dB. This object applies only if the value of coifccCcSwitchType is 'opticalCrossConnect'. For other values of coifccCcSwitchType, this object will return a value of '0'." ::= { coifccCrossConnectEntry 12 } coifccCcH2LAttenuation OBJECT-TYPE SYNTAX Integer32 (-400..0) UNITS "1/10ths of dB" MAX-ACCESS read-create STATUS current DESCRIPTION "The value of this object indicates optical signal attenuation due to connectors, optical wavelength filters, optical switches, and other optical components, in the direction from the interface that has the numerically higher ifIndex value, to the interface that has the numerically lower ifIndex value. Example: The value -25 represents an attenuation of -2.5 dB. This object applies only if the value of coifccCcSwitchType is 'opticalCrossConnect'. For other values of coifccCcSwitchType, this object will return a value of '0'." ::= { coifccCrossConnectEntry 13 } -- Cross-Connect Conformance coifccMIBCompliances OBJECT IDENTIFIER ::= { coifccMIBConformance 1 } coifccMIBGroups OBJECT IDENTIFIER ::= { coifccMIBConformance 2 } -- Compliance coifccMIBCompliance MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "The compliance statement for entities which implement the Cisco Interface Cross-connect MIB" MODULE -- this module MANDATORY-GROUPS { coifccInterfaceGroup, coifccCrossConnectGroup } OBJECT coifccCcSwitchType MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { coifccMIBCompliances 1 } coifccMIBComplianceRev1 MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the Cisco Interface Cross-connect MIB" MODULE -- this module MANDATORY-GROUPS { coifccInterfaceGroup, coifccCrossConnectGroup } OBJECT coifccCcSwitchType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT coifccCcKind MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT coifccCcRowStatus MIN-ACCESS read-only DESCRIPTION "Write access does not apply when the only supported value of coifccCcKind is 'automatic', or when the only two supported values are 'automatic' and 'protection'." GROUP coifccAttenuationGroup DESCRIPTION "May be implemented by elements providing optical cross-connects." OBJECT coifccCcL2HAttenuation MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT coifccCcH2LAttenuation MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { coifccMIBCompliances 2 } -- Units of Conformance coifccInterfaceGroup OBJECT-GROUP OBJECTS { coifccIfCrossConnectIdentifier } STATUS current DESCRIPTION "Object needed to implement Interfaces with Cross-connects." ::= { coifccMIBGroups 1 } coifccCrossConnectGroup OBJECT-GROUP OBJECTS { coifccCcIndexNext, coifccCcLastChange, coifccCcSwitchType, coifccCcKind, coifccCcCreationTime, coifccCcL2HOperStatus, coifccCcH2LOperStatus, coifccCcL2HLastChange, coifccCcH2LLastChange, coifccCcRowStatus } STATUS current DESCRIPTION "Collection of objects needed to implement interface Cross-connects." ::= { coifccMIBGroups 2 } coifccAttenuationGroup OBJECT-GROUP OBJECTS { coifccCcL2HAttenuation, coifccCcH2LAttenuation } STATUS current DESCRIPTION "Collection of objects used to indicate attenuation across optical cross-connects." ::= { coifccMIBGroups 3 } -- End of CISCO-OPTICAL-IF-CROSS-CONNECT-MIB END