CISCO-OPTICAL-IF-CROSS-CONNECT-MIB: Cisco Optical Interface Cross Connect

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 repre...

-- *****************************************************************
-- 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 by cisco Systems, Inc.
-- All rights reserved.
--
-- *****************************************************************

CISCO-OPTICAL-IF-CROSS-CONNECT-MIB DEFINITIONS ::= BEGIN


IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE, Integer32, TimeTicks  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   "200104200000Z" -- 04/20/2001
   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."
   ::= { 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      TimeTicks
   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 'provisioned' and 'protection' entries are those with
       coifccCcKind value 'provisioned' and 'protection'.

       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
       deleted, and the corresponding entries for the
       other interface(s) of the protected pair(s) are deleted.

       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
   }

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-only
   STATUS      current
   DESCRIPTION
       "The type of call control used to establish a cross-connect.
       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.
               In a network element with Automatic Protection
               Switching, 'provisioned' refers to a cross-connect
               entry between two interfaces both of which are
               configured as working, as opposed to being configured
               as protected.
           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 backplanes or 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.

       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."
   ::= { coifccCrossConnectEntry 11 }

-- Cross-connect.


coifccMIBCompliances OBJECT IDENTIFIER ::= { coifccMIBConformance 1 }
coifccMIBGroups      OBJECT IDENTIFIER ::= { coifccMIBConformance 2 }


-- Compliance

coifccMIBCompliance 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 }

-- coifccCrossConnectTable

   OBJECT      coifccCcSwitchType
   MIN-ACCESS  read-only
   DESCRIPTION
       "Write access is not required."

       ::= { coifccMIBCompliances 1 }

-- 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 }
-- End of CISCO-OPTICAL-IF-CROSS-CONNECT-MIB
END

< Back (CISCO-OPTICAL-IF-CROSS-CONNECT-MIB)

What did you think of this topic?