1-- *****************************************************************
2-- CISCO OSCP MIB
3--
4-- May 2001, Mickey Spiegel, Marek Tomaszewski
5--
6-- Copyright (c) 2001 by cisco Systems, Inc.
7-- All rights reserved.
8-- *****************************************************************
9
10CISCO-OSCP-MIB DEFINITIONS ::= BEGIN
11
12IMPORTS
13        MODULE-IDENTITY,
14        OBJECT-TYPE,
15        NOTIFICATION-TYPE,
16        Counter32,
17        Gauge32,
18        Unsigned32
19                                                    FROM SNMPv2-SMI
20        TEXTUAL-CONVENTION,
21        TruthValue,
22        RowStatus
23                                                    FROM SNMPv2-TC
24        InterfaceIndex
25                                                    FROM IF-MIB
26        MODULE-COMPLIANCE,
27        OBJECT-GROUP,
28        NOTIFICATION-GROUP
29                                                    FROM SNMPv2-CONF
30        ciscoMgmt
31                                                    FROM CISCO-SMI
32        ;
33
34ciscoOscpMIB MODULE-IDENTITY
35        LAST-UPDATED    "200105180000Z"
36        ORGANIZATION    "Cisco Systems, Inc."
37        CONTACT-INFO
38                "       Cisco Systems
39                        Customer Service
40
41                Postal: 170 W Tasman Drive
42                        San Jose, CA  95134
43                        USA
44
45                   Tel: +1 800 553-NETS
46
47                E-mail: cs-dwdm@cisco.com"
48        DESCRIPTION
49                "The MIB module for managing the Cisco Optical
50                 Supervisory Channel Protocol (OSCP). The OSCP is used
51                 to determine and maintain wavelength connectivity with
52                 remote nodes. OSCP includes support for bundles of
53                 wavelengths to a common remote node, including dynamic
54                 selection of the message channel on one wavelength to
55                 carry control and management traffic for the entire
56                 wavelength bundle."
57        REVISION        "200105180000Z"
58        DESCRIPTION
59                "Initial version of this MIB module."
60        ::= { ciscoMgmt 202 }
61
62
63ciscoOscpMIBObjects OBJECT IDENTIFIER ::= { ciscoOscpMIB 1 }
64
65    CoscpSwitchId ::= TEXTUAL-CONVENTION
66        STATUS        current
67        DESCRIPTION
68            "A switch identifier - this is used to identify the
69             originator and recipient of the OSCP hello packets.
70             A valid switch identifier has a value different than
71             all zeros. A switch identifier value of all zeros
72             indicates that the switch identifier of a remote switch
73             is not yet known."
74        SYNTAX        OCTET STRING (SIZE(6))
75
76    CoscpPortId ::= TEXTUAL-CONVENTION
77        STATUS        current
78        DESCRIPTION
79            "An OSCP port ID - this is used to identify a point of
80             attachment of an optical wavelength to a given switch.
81             The distinguished value 0 indicates that no port is
82             specified.
83             The terms link and wavelength are used interchangeably.
84             Thus the Optical Supervisory Channel (OSC) is created on a
85             given wavelength (link)."
86        SYNTAX        Unsigned32
87
88    CoscpBundleId ::= TEXTUAL-CONVENTION
89        STATUS        current
90        DESCRIPTION
91            "An OSCP bundling identifier - this is used to determine
92             which wavelengths to a given remote switch are to be
93             aggregated and treated as a single logical link with a
94             single control channel. This control channel is called
95             the Optical Supervisory Channel (OSC).
96             The scope of a bundle identifier value is limited to
97             wavelengths between the same pair of switches. The same
98             bundle identifier value may be used for wavelengths
99             between other pairs of nodes without confusion."
100        SYNTAX        Unsigned32 (0..255)
101
102    CoscpVersion ::= TEXTUAL-CONVENTION
103        STATUS        current
104        DESCRIPTION
105            "Indicates a version of OSCP."
106        SYNTAX        INTEGER { unknown(1), version1(2) }
107
108-- the base group
109
110ciscoOscpBaseGroup OBJECT IDENTIFIER ::= { ciscoOscpMIBObjects 1 }
111
112coscpHighestVersion OBJECT-TYPE
113        SYNTAX        CoscpVersion
114        MAX-ACCESS    read-only
115        STATUS        current
116        DESCRIPTION
117            "The highest version of OSCP that the software in this
118             switch is capable of executing. If the version of a
119             received hello packet is greater than coscpHighestVersion,
120             the received hello packet will be discarded."
121        ::= { ciscoOscpBaseGroup 1 }
122
123coscpLowestVersion OBJECT-TYPE
124        SYNTAX        CoscpVersion
125        MAX-ACCESS    read-only
126        STATUS        current
127        DESCRIPTION
128            "The lowest version of OSCP that the software in this
129             switch is capable of executing. If the version of a
130             received hello packet is smaller than coscpLowestVersion,
131             the received hello packet will be discarded. The switch
132             supports all OSCP versions between the lowest and the
133             highest versions inclusive."
134        ::= { ciscoOscpBaseGroup 2 }
135
136coscpSwitchId OBJECT-TYPE
137        SYNTAX        CoscpSwitchId
138        MAX-ACCESS    read-write
139        STATUS        current
140        DESCRIPTION
141            "The value this switch is using to represent itself as
142             a network node. This should be a globally unique
143             identifier. Typically this value is a MAC address
144             preconfigured in the switch hardware."
145        ::= { ciscoOscpBaseGroup 3 }
146
147coscpPriorityChangeMode OBJECT-TYPE
148        SYNTAX        INTEGER {
149                                immediate (1),
150                                delayed (2)
151                                }
152        MAX-ACCESS    read-write
153        STATUS        current
154        DESCRIPTION
155            "This value defines how OSCP will react to a change in the
156             configured value of coscpLinkSelPriority. If the value is
157             set to 'immediate', the reevaluation of the selected OSC
158             in the bundle occurs immediately. If the value is set to
159             'delayed', then the OSC reevaluation can happen only when
160             the current OSC goes out of the 'twoWay' state."
161        DEFVAL { immediate }
162        ::= { ciscoOscpBaseGroup 4 }
163
164coscpHelloHoldDown OBJECT-TYPE
165        SYNTAX        Unsigned32 (100..10000)
166        UNITS         "milliseconds"
167        MAX-ACCESS    read-write
168        STATUS        current
169        DESCRIPTION
170            "In OSCP, some hello packets are generated periodically
171             while others are triggered by events. Specifically,
172             event-triggered hellos are sent upon every state change
173             (except 'oneWay' to 'twoWay') and when a change occurs in
174             the bundle identifier. To avoid potential system
175             misbehavior in which hello packets would be triggered in
176             an uncontrolled fashion, a hello hold down timer is
177             introduced that prevents successive event-triggered hellos
178             from being sent in too short a time interval.
179             This object contains the minimum time between (triggered)
180             hellos.
181             This value must be smaller than 75% of the value of
182             coscpHelloInterval."
183        DEFVAL { 100 }
184        ::= { ciscoOscpBaseGroup 5 }
185
186coscpHelloInterval OBJECT-TYPE
187        SYNTAX        Unsigned32 (150..30000)
188        UNITS         "milliseconds"
189        MAX-ACCESS    read-write
190        STATUS        current
191        DESCRIPTION
192            "The average time interval between successive hellos sent
193             by this switch on each link running OSCP, in the absence
194             of triggered hellos."
195        DEFVAL { 3000 }
196        ::= { ciscoOscpBaseGroup 6 }
197
198coscpHelloInactivityFactor OBJECT-TYPE
199        SYNTAX        Unsigned32 (2..50)
200        MAX-ACCESS    read-write
201        STATUS        current
202        DESCRIPTION
203            "The value for the Hello Inactivity factor that this
204             switch will use to determine when a link has gone down.
205             A link will be returned to the 'attempt' state if the
206             switch has not received an OSCP hello packet for an
207             interval of time equal to coscpHelloInactivityFactor
208             multiplied by the remote switch's advertised Hello
209             Interval from the most recent received hello packet."
210        DEFVAL { 5 }
211        ::= { ciscoOscpBaseGroup 7 }
212
213coscpNotifiesEnabled OBJECT-TYPE
214        SYNTAX        TruthValue
215        MAX-ACCESS    read-write
216        STATUS        current
217        DESCRIPTION
218            "Notifications that OSCP has gone down on a link are
219             enabled if this value is set to 'true'."
220        DEFVAL { false }
221        ::= { ciscoOscpBaseGroup 8 }
222
223-- OSCP link table
224
225coscpLinkTable OBJECT-TYPE
226        SYNTAX        SEQUENCE OF CoscpLinkEntry
227        MAX-ACCESS    not-accessible
228        STATUS        current
229        DESCRIPTION
230            "This table contains the objects necessary to describe the
231             operation of OSCP over wavelengths that terminate at this
232             switch. There is one entry for each wavelength that has a
233             message channel for control and management purposes.  The
234             table is also used to configure the parameters used to
235             control aggregation of multiple wavelengths that terminate
236             at the same remote switch.
237             Most of the information in this table is discovered by
238             OSCP dynamically."
239        ::= { ciscoOscpMIBObjects 2 }
240
241coscpLinkEntry OBJECT-TYPE
242        SYNTAX        CoscpLinkEntry
243        MAX-ACCESS    not-accessible
244        STATUS        current
245        DESCRIPTION
246            "An entry in the table, containing information about a link
247             attached to a switch running OSCP."
248        INDEX         { coscpLinkPortId }
249        ::= { coscpLinkTable 1 }
250
251CoscpLinkEntry ::=
252        SEQUENCE {
253                coscpLinkPortId             CoscpPortId,
254                coscpLinkType               INTEGER,
255                coscpLinkVersion            CoscpVersion,
256                coscpLinkHelloState         INTEGER,
257                coscpLinkRemoteSwitchId     CoscpSwitchId,
258                coscpLinkRemotePortId       CoscpPortId,
259                coscpLinkDerivedBundleId    CoscpBundleId,
260                coscpLinkConfigBundleId     CoscpBundleId,
261                coscpLinkIfIndex            InterfaceIndex,
262                coscpLinkSelPriority        Unsigned32,
263                coscpLinkInHellos           Counter32,
264                coscpLinkInDiscardedHellos  Counter32,
265                coscpLinkOutHellos          Counter32,
266                coscpLinkTransDown          Counter32
267                }
268
269coscpLinkPortId OBJECT-TYPE
270        SYNTAX        CoscpPortId
271        MAX-ACCESS    not-accessible
272        STATUS        current
273        DESCRIPTION
274            "The Port Identifier of the link as selected by the local
275             switch. This value has meaning only within the context of
276             the switch to which the port is attached. This value is
277             invariant across system restarts."
278        ::= { coscpLinkEntry 1 }
279
280coscpLinkType OBJECT-TYPE
281        SYNTAX        INTEGER {
282                                unknown(1),
283                                dedicatedWavelength(2),
284                                inBand(3)
285                                }
286        MAX-ACCESS    read-only
287        STATUS        current
288        DESCRIPTION
289            "This object indicates the type of link being described.
290
291             A link type of 'dedicatedWavelength' represents a
292             wavelength that is dedicated to carrying control and
293             network management traffic, rather than user data. A
294             dedicated wavelength should be terminated on the switch
295             that physically connects to the fiber carrying that
296             wavelength, i.e., the remote switch should be a physical
297             neighbor.
298
299             A link type of 'inBand' represents a message channel used
300             to carry control and management traffic on a wavelength
301             that otherwise carries user data. An 'inBand' link does
302             not need to be terminated on the switch that physically
303             connects to the fiber carrying that wavelength, i.e., the
304             remote switch need not be a physical neighbor."
305        ::= { coscpLinkEntry 2 }
306
307coscpLinkVersion OBJECT-TYPE
308        SYNTAX        CoscpVersion
309        MAX-ACCESS    read-only
310        STATUS        current
311        DESCRIPTION
312            "This object indicates the version of OSCP used to exchange
313             information over this link. If communication with the
314             remote switch has not yet been established, then the
315             Version is set to 'unknown'."
316        ::= { coscpLinkEntry 3 }
317
318coscpLinkHelloState OBJECT-TYPE
319        SYNTAX        INTEGER {
320                                down(1),
321                                attempt(2),
322                                oneWay(3),
323                                twoWay(4)
324                                }
325        MAX-ACCESS    read-only
326        STATUS        current
327        DESCRIPTION
328            "This object indicates the state of the Hello protocol
329             exchange over this link.
330
331             The 'down' state is the initial state of the OSCP Hello
332             finite state machine. This state is also reached when
333             lower-level protocols declare that the wavelength is not
334             usable. No hello packets are sent or received in this
335             state.
336
337             The 'attempt' state indicates that either no hellos or
338             hellos with mismatch information have recently been
339             received from the remote switch. In this state, attempts
340             are made to contact the remote switch by periodically
341             sending hellos with period coscpHelloInterval.
342
343             The 'oneWay' state indicates that Hellos have recently
344             been received from the remote switch, but the remote
345             switch identifier and the remote port identifier in the
346             remote switch's hello packets were set to zero. This means
347             that the remote switch does not know the identity of this
348             switch.
349
350             The 'twoWay' state indicates that hellos have recently
351             been received from the remote switch including the
352             correct remote switch identifier and remote port
353             identifier fields. This means that bi-directional
354             communication with the remote switch over the message
355             channel on this wavelength has been achieved. The link is
356             now capable of becoming the active OSC for a wavelength
357             bundle.
358
359             A link that is not in the 'twoWay' state is not capable of
360             becoming the active OSC for a wavelength bundle."
361        ::= { coscpLinkEntry 4 }
362
363coscpLinkRemoteSwitchId OBJECT-TYPE
364        SYNTAX        CoscpSwitchId
365        MAX-ACCESS    read-only
366        STATUS        current
367        DESCRIPTION
368            "This object indicates the switch identifier of the remote
369             switch on the other end of the link."
370        ::= { coscpLinkEntry 5 }
371
372coscpLinkRemotePortId OBJECT-TYPE
373        SYNTAX        CoscpPortId
374        MAX-ACCESS    read-only
375        STATUS        current
376        DESCRIPTION
377            "This object indicates the port identifier of the port at
378             the remote end of the link as assigned by the remote
379             switch."
380        ::= { coscpLinkEntry 6 }
381
382coscpLinkDerivedBundleId OBJECT-TYPE
383        SYNTAX        CoscpBundleId
384        MAX-ACCESS    read-only
385        STATUS        current
386        DESCRIPTION
387            "This object identifies the wavelength bundle to the remote
388             switch that this link belongs to. All links with the same
389             value of coscpLinkRemoteSwitchId and the same value of
390             this object are aggregated and treated as a single logical
391             link with a single control channel. The aggregated logical
392             link that contains this link is shown in coscpBundleTable
393             as the coscpBundleEntry with coscpBundleRemoteSwitchId
394             value equal to the value of coscpLinkRemoteSwitchId and
395             with coscpBundleId value equal to the value of this
396             object.
397
398             The value of this object is derived from the bundle
399             identifier advertised by this switch in the OSCP
400             (specified in coscpLinkConfigBundleId) and the bundle
401             identifier advertised by the remote switch. The two
402             switches on either end of the link run the same algorithm
403             on the same information to determine common values of the
404             derived bundle identifier. The derivation process is
405             intended for minimal configuration as well as acceptable
406             behavior in the face of misconfiguration.
407
408             By default all links have the coscpLinkConfigBundleId
409             value zero. Since all links have the same default value,
410             the default behavior is to aggregate all links between two
411             switches into a single logical link with derived bundle
412             identifier value zero.
413
414             In order to assign a non-default bundle identifier to a
415             link between two switches, only one side needs to be
416             configured with the non-default value. The
417             coscpLinkConfigBundleId value zero indicates that the
418             switch will use as the derived bundle identifier value
419             whatever value the remote switch has.
420
421             The algorithm for computing the value of the derived
422             bundle identifier is:
423             1. If the two switches exchange identical values of the
424                configured bundle identifier, that value becomes the
425                derived bundle identifier.
426             2. If the configured bundle identifier value of one of the
427                switches is zero and that of the other switch is
428                non-zero, the non-zero value becomes the derived bundle
429                identifier value.
430             3. If the configured bundle identifier values of the two
431                switches are different and both non-zero, the link has
432                been misconfigured and the derived bundle identifier
433                value becomes zero."
434        ::= { coscpLinkEntry 7 }
435
436coscpLinkConfigBundleId OBJECT-TYPE
437        SYNTAX        CoscpBundleId
438        MAX-ACCESS    read-write
439        STATUS        current
440        DESCRIPTION
441            "This object specifies the identifier of the wavelength
442             bundle to the remote switch configured for this link.
443             The configured bundle identifier is carried in the OSCP
444             hello packet. At both this switch and the remote switch,
445             the configured bundle identifier is used to derive
446             coscpLinkDerivedBundleId according to the algorithm
447             presented in the description of the
448             coscpLinkDerivedBundleId.
449
450             By default all links have the value zero. Since all links
451             have the same default value, the default behavior is to
452             aggregate all links between two switches into a single
453             logical link with derived bundle identifier value zero.
454
455             In order to assign a non-default bundle identifier to a
456             link between two switches, only one side needs to be
457             configured with the non-default value. The distinguished
458             value zero indicates that the switch will use as the
459             derived bundle identifier value whatever value the remote
460             switch has."
461        DEFVAL { 0 }
462        ::= { coscpLinkEntry 8 }
463
464coscpLinkIfIndex OBJECT-TYPE
465        SYNTAX        InterfaceIndex
466        MAX-ACCESS    read-only
467        STATUS        current
468        DESCRIPTION
469            "The interface index identifying this link."
470        ::= { coscpLinkEntry 9 }
471
472coscpLinkSelPriority OBJECT-TYPE
473        SYNTAX        Unsigned32 (0..255)
474        MAX-ACCESS    read-write
475        STATUS        current
476        DESCRIPTION
477            "This object indicates the priority with which this
478             link gets selected as the active Optical Supervisory
479             Channel (OSC) when multiple links are present in the same
480             wavelength bundle. If selected, this link will be used to
481             transmit all control and network management traffic to the
482             remote switch, for the entire wavelength bundle.
483
484             The link with the highest value of the selection priority
485             is chosen by this switch to be the active OSC. Only links
486             in the wavelength bundle that have coscpLinkHelloState
487             value 'twoWay' are considered. If there is more than one
488             link with the same highest value of the selection
489             priority, the choice between these links is arbitrary. If
490             it is desired to have one OSC link candidate be picked
491             over another, its priority should be configured to a
492             higher value than other candidate links.
493
494             The OSCP will react to a reconfiguration of the selection
495             priority according to the rules defined for the configured
496             variable coscpPriorityChangeMode."
497        DEFVAL { 0 }
498        ::= { coscpLinkEntry 10 }
499
500coscpLinkInHellos OBJECT-TYPE
501        SYNTAX        Counter32
502        MAX-ACCESS    read-only
503        STATUS        current
504        DESCRIPTION
505            "This object contains a count of the number of Hello
506             packets received over this link."
507        ::= { coscpLinkEntry 11 }
508
509coscpLinkInDiscardedHellos OBJECT-TYPE
510        SYNTAX        Counter32
511        MAX-ACCESS    read-only
512        STATUS        current
513        DESCRIPTION
514            "This object contains a count of the number of Hello
515             packets received over this link that were discarded since
516             the version of the received Hello packet was outside the
517             range of coscpLowestVersion to coscpHighestVersion."
518        ::= { coscpLinkEntry 12 }
519
520coscpLinkOutHellos OBJECT-TYPE
521        SYNTAX        Counter32
522        MAX-ACCESS    read-only
523        STATUS        current
524        DESCRIPTION
525            "This object contains a count of the number of Hello
526             packets transmitted over this link."
527        ::= { coscpLinkEntry 13 }
528
529coscpLinkTransDown OBJECT-TYPE
530        SYNTAX        Counter32
531        MAX-ACCESS    read-only
532        STATUS        current
533        DESCRIPTION
534            "This object contains a count of the number of times
535             this link transitioned from the 'twoWay' state to a hello
536             state other than 'twoWay'."
537        ::= { coscpLinkEntry 14 }
538
539-- OSCP Bundle table
540
541coscpBundleTable OBJECT-TYPE
542        SYNTAX        SEQUENCE OF CoscpBundleEntry
543        MAX-ACCESS    not-accessible
544        STATUS        current
545        DESCRIPTION
546            "This table contains objects describing the wavelength
547             bundles on this switch."
548        ::= { ciscoOscpMIBObjects 3 }
549
550coscpBundleEntry OBJECT-TYPE
551        SYNTAX        CoscpBundleEntry
552        MAX-ACCESS    not-accessible
553        STATUS        current
554        DESCRIPTION
555            "Each entry contains information about one wavelength
556             bundle to one remote switch. The wavelength bundle is
557             modeled as a single logical link (identified by
558             coscpBundleIfIndex) with a single control and management
559             channel. This logical link is known as the Optical
560             Supervisory Channel (OSC). At any one time, only one
561             wavelength in the bundle is selected to transmit the OSC
562             control and network management traffic. This link is
563             identified by coscpBundleActivePortId.
564
565             The wavelength bundle must be created by a manager
566             using the coscpBundleRowStatus object. Once the row has
567             been activated, an interface index is assigned by the
568             agent and shown in coscpBundleIfIndex. This value can then
569             be used by the manager to configure control and management
570             protocols, e.g. to configure the OSC's IP address.
571
572             Aside from coscpBundleRowStatus, the other objects in the
573             row are read-only, since they reflect the dynamic state of
574             the wavelength bundle as determined by OSCP.
575
576             The wavelength bundle does not become operational until at
577             least one component link reaches the hello state 'twoWay',
578             i.e., until at least one entry in coscpLinkTable with
579             coscpLinkRemoteSwitchId value equal to the value of
580             coscpBundleRemoteSwitchId and coscpLinkDerivedBundleId
581             value equal to the value of coscpBundleId has
582             coscpLinkHelloState value 'twoWay'. The operational status
583             of the wavelength bundle is indicated by the value of
584             ifOperStatus in the ifEntry with ifIndex value equal to
585             the value of coscpBundleIfIndex."
586        INDEX         { coscpBundleRemoteSwitchId, coscpBundleId }
587        ::= { coscpBundleTable 1 }
588
589CoscpBundleEntry ::=
590        SEQUENCE {
591                coscpBundleRemoteSwitchId           CoscpSwitchId,
592                coscpBundleId                       CoscpBundleId,
593                coscpBundleActivePortId             CoscpPortId,
594                coscpBundleIfIndex                  InterfaceIndex,
595                coscpBundlePortCount                Gauge32,
596                coscpBundleRowStatus                RowStatus
597                }
598
599coscpBundleRemoteSwitchId OBJECT-TYPE
600        SYNTAX        CoscpSwitchId
601        MAX-ACCESS    not-accessible
602        STATUS        current
603        DESCRIPTION
604            "The switch identifier of the remote switch."
605        ::= { coscpBundleEntry 1 }
606
607coscpBundleId OBJECT-TYPE
608        SYNTAX        CoscpBundleId
609        MAX-ACCESS    not-accessible
610        STATUS        current
611        DESCRIPTION
612            "The bundle identifier value used to distinguish this
613             wavelength bundle from other wavelength bundles to the
614             same remote switch. All entries in coscpLinkTable with the
615             value of coscpLinkRemoteSwitchId equal to the value of
616             coscpBundleRemoteSwitchId and with the value of
617             coscpLinkDerivedBundleId equal to the value of this object
618             identify links that are present in this wavelength
619             bundle."
620        ::= { coscpBundleEntry 2 }
621
622coscpBundleActivePortId OBJECT-TYPE
623        SYNTAX        CoscpPortId
624        MAX-ACCESS    read-only
625        STATUS        current
626        DESCRIPTION
627            "The port identifier of the link currently selected as the
628             active OSC. This link is used to transmit all OSC control
629             and network management traffic to the remote switch, for
630             the entire wavelength bundle."
631        ::= { coscpBundleEntry 3 }
632
633coscpBundleIfIndex OBJECT-TYPE
634        SYNTAX        InterfaceIndex
635        MAX-ACCESS    read-only
636        STATUS        current
637        DESCRIPTION
638            "The interface index assigned by the agent to represent the
639             OSC for the wavelength bundle."
640        ::= { coscpBundleEntry 4 }
641
642coscpBundlePortCount OBJECT-TYPE
643        SYNTAX        Gauge32
644        MAX-ACCESS    read-only
645        STATUS        current
646        DESCRIPTION
647            "A count of the total number of component links in the
648             wavelength bundle that have coscpLinkHelloState value
649             'twoWay'."
650        ::= { coscpBundleEntry 5 }
651
652coscpBundleRowStatus OBJECT-TYPE
653        SYNTAX        RowStatus
654        MAX-ACCESS    read-create
655        STATUS        current
656        DESCRIPTION
657            "This object is used to create a new row or to modify or
658             delete an existing row in this table. Each row in the
659             table must be created using this object. Once the row has
660             been activated, an interface index is assigned by the
661             agent and shown in coscpBundleIfIndex. This value can then
662             be used by the manager to configure control and management
663             protocols, e.g. to configure the OSC's IP address.
664
665             After the row has been activated, this object cannot
666             be set to any value other than 'destroy'. The row status
667             never changes to 'notInService' after reaching the value
668             'active'."
669        ::= { coscpBundleEntry 6 }
670
671-- OSCP notifications
672
673ciscoOscpMIBNotifications OBJECT IDENTIFIER
674        ::= { ciscoOscpMIB 2 }
675ciscoOscpNotificationsPrefix OBJECT IDENTIFIER
676        ::= { ciscoOscpMIBNotifications 0 }
677
678coscpNotifyTransDown NOTIFICATION-TYPE
679        OBJECTS       { coscpLinkTransDown }
680        STATUS        current
681        DESCRIPTION
682            "A coscpNotifyTransDown notification is sent when the
683             value of an instance of coscpTransDown increments.
684             This indicates that a link exited the 'twoWay' state and
685             cannot be used to carry control and management traffic
686             for an optical supervisory channel."
687        ::= { ciscoOscpNotificationsPrefix 1 }
688
689
690-- conformance information
691
692ciscoOscpMIBConformance
693                OBJECT IDENTIFIER ::= { ciscoOscpMIB 3 }
694ciscoOscpMIBCompliances
695                OBJECT IDENTIFIER ::= { ciscoOscpMIBConformance 1 }
696ciscoOscpMIBGroups
697                OBJECT IDENTIFIER ::= { ciscoOscpMIBConformance 2 }
698
699
700-- compliance statements
701
702ciscoOscpMIBCompliance MODULE-COMPLIANCE
703        STATUS        current
704        DESCRIPTION
705            "The compliance statement for entities which implement the
706             Cisco OSCP MIB."
707        MODULE  -- this module
708            MANDATORY-GROUPS {
709                ciscoOscpBasicGroup,
710                ciscoOscpNotificationsGroup
711                }
712
713            GROUP         ciscoOscpBundleGroup
714            DESCRIPTION
715                "Required for implementations that support bundles of
716                 wavelengths to a common remote node, including dynamic
717                 selection of the message channel on one wavelength to
718                 carry control and management traffic for the entire
719                 wavelength bundle."
720
721            OBJECT        coscpSwitchId
722            MIN-ACCESS    read-only
723            DESCRIPTION
724                "Write access is not required."
725
726            OBJECT        coscpPriorityChangeMode
727            MIN-ACCESS    read-only
728            DESCRIPTION
729                "Write access and support of the 'delayed' codepoint
730                 are not required."
731
732        ::= { ciscoOscpMIBCompliances 1 }
733
734
735-- units of conformance
736
737ciscoOscpBasicGroup OBJECT-GROUP
738        OBJECTS {
739                coscpHighestVersion,
740                coscpLowestVersion,
741                coscpSwitchId,
742                coscpHelloHoldDown,
743                coscpHelloInterval,
744                coscpHelloInactivityFactor,
745                coscpNotifiesEnabled,
746                coscpLinkType,
747                coscpLinkVersion,
748                coscpLinkHelloState,
749                coscpLinkRemoteSwitchId,
750                coscpLinkRemotePortId,
751                coscpLinkIfIndex,
752                coscpLinkInHellos,
753                coscpLinkInDiscardedHellos,
754                coscpLinkOutHellos,
755                coscpLinkTransDown
756                }
757        STATUS current
758        DESCRIPTION
759            "A collection of cisco specific MIB objects used for
760             management of OSCP."
761        ::= { ciscoOscpMIBGroups 1 }
762
763ciscoOscpBundleGroup OBJECT-GROUP
764        OBJECTS {
765                coscpPriorityChangeMode,
766                coscpLinkDerivedBundleId,
767                coscpLinkConfigBundleId,
768                coscpLinkSelPriority,
769                coscpBundleActivePortId,
770                coscpBundleIfIndex,
771                coscpBundlePortCount,
772                coscpBundleRowStatus
773                }
774        STATUS current
775        DESCRIPTION
776            "A collection of cisco specific MIB objects used for
777             management of wavelength bundles to a common remote node
778             that are controlled by OSCP."
779        ::= { ciscoOscpMIBGroups 2 }
780
781ciscoOscpNotificationsGroup NOTIFICATION-GROUP
782        NOTIFICATIONS {
783                coscpNotifyTransDown
784                }
785        STATUS current
786        DESCRIPTION
787            "A collection of cisco specific notifications used for
788             management of OSCP."
789        ::= { ciscoOscpMIBGroups 3 }
790
791END
792