summaryrefslogtreecommitdiff
path: root/MIBS/adva/CM-PROTECTION-MIB
blob: 19aae53f7ac04933f8736a0f0e4c5d92e43ec708 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
CM-PROTECTION-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-COMPLIANCE, OBJECT-GROUP 
             FROM SNMPv2-CONF
    MODULE-IDENTITY, OBJECT-TYPE, Integer32
             FROM SNMPv2-SMI
    DisplayString, TruthValue, RowStatus, StorageType, VariablePointer,
    MacAddress, TEXTUAL-CONVENTION
             FROM SNMPv2-TC
    neIndex, shelfIndex, slotIndex
             FROM  CM-ENTITY-MIB
    fsp150cm
             FROM  ADVA-MIB;

cmProtectionMIB MODULE-IDENTITY
    LAST-UPDATED    "201006230000Z"
    ORGANIZATION    "ADVA Optical Networking"
    CONTACT-INFO
            "        Raghav Trivedi
                     ADVA Optical Networking, Inc.
                Tel: +1 972 759-1239
             E-mail: rtrivedi@advaoptical.com
             Postal: 2301 N. Greenville Ave. #300
                     Richardson, TX USA 75082"
    DESCRIPTION
            "This module defines the Protection MIB definitions used by 
             the F3 (FSP150CM/CC) product lines.  
             Copyright (C) ADVA Optical Networking."
    REVISION        "201006230000Z"
    DESCRIPTION
            "Notes from release 201006230000Z,
             (1)Added universalring as CmProtSwitchMode for R4.4CC. 

            Notes from release 200803030000Z,
             (1)MIB version ready for release FSP150CM 3.1." 
    ::= {fsp150cm 7}    

-- 
-- OID definitions
-- 
cmProtObjects       OBJECT IDENTIFIER ::= {cmProtectionMIB 1}
cmProtNotifications OBJECT IDENTIFIER ::= {cmProtectionMIB 2}
cmProtConformance   OBJECT IDENTIFIER ::= {cmProtectionMIB 3}

-- 
-- Textual Conventions 
-- 
CmProtSwitchMode ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "Enumerations for Protection Switch Mode.
             oneplusone   - 1+1, this is the NPCUP mode,
             dualactiverx - In this mode, traffic is bridged in A2N
                            direction (same as 1+1), however
                            both network ports receive customer traffic in
                            N2A direction. In this mode, both network
                            ports are working, i.e. there is no
                            protection.
             universalring - In this mode, traffic is bridged in A2N
                             direction (same as 1+1), both
                             network ports receive customer traffic in
                             N2A direction.  In this mode, both network
                             ports are working, i.e. no protection.
                             The main difference w.r.t dualactiverx is that
                             traffic in N2A direction, which does not match
                             the service definition is steered to the other
                             network port, i.e. non-service matching traffic
                             from N1 goes to N2 and vice versa."
    SYNTAX       INTEGER {
                   oneplusone (1),
                   dualactiverx(2),
                   universalring(3)
                 }

CmProtSwitchDirection ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "Enumerations for Protection Switch Direction.
             unidirectional - Unidirectional Protection Switching,
             bidirectional  - Bidirectional Protection Switching."
    SYNTAX       INTEGER {
                   unidirectional (1),
                   bidirectional (2)
                 }

CmProtSwitchAction ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "Enumerations for User initiated Protection Switch Action.
             manualfromworking  - Manual Switch from Working,
             forcedfromworking  - Forced Switch from Working,
             manualfromprotect  - Manual Switch from Protect,
             forcedfromprotect  - Forced Switch from Protect,
             lockoutfromprotect - Lockout from Protect"
    SYNTAX       INTEGER {
                   none (1),
                   releaseprotswitch (2),
                   manualfromworking (3),
                   forcedfromworking (4),
                   manualfromprotect (5),
                   forcedfromprotect (6),
                   lockoutfromprotect(7)
                 }

CmProtUnitType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "Enumerations for Protection Unit Type.
             working - Working Protection Unit,
             protect - Protect Protection Unit."
    SYNTAX       INTEGER {
                   working (1),
                   protect (2)
                 }

CmProtUnitState ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "Enumerations for Protection Unit State.
             active  - Active Protection Unit,
             standby - Standby Protection Unit."
    SYNTAX       INTEGER {
                   active (1),
                   standby (2)
                 }

CmProtGroupStatus ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "Enumerations for Protection Status.
             nooutstandingreq - No oustanding request,
             sf-protect       - Signal failure on protect,
             sf-working       - Signal failure on working,
             sd-protect       - Signal degrade on protect,
             sd-working       - Signal degrade on working,
             manual-protect   - Manual on protect 
             manual-working   - Manual on working 
             forced-working   - Forced on working 
             forced-protect   - Forced on protect 
             lockout-protect  - Lockout on protect 
             waitToRestore    - Wait to restore"
    SYNTAX       INTEGER {
                   nooutstandingreq  (1),
                   sf-protect        (2),
                   sf-working        (3),
                   sd-protect        (4),
                   sd-working        (5),
                   manual-protect    (6),
                   manual-working    (7),
                   forced-protect    (8),
                   forced-working    (9),
                   lockout-protect   (10),
                   waitToRestore     (11)
                 }

--
-- Facility Protection Group Table 
--
cmFacProtGroupTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CmFacProtGroupEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "A list of entries corresponding to the Facility Protection Groups.
             Entries can be created/deleted in this table by management
             application action."
    ::= { cmProtObjects 1 }

cmFacProtGroupEntry OBJECT-TYPE
    SYNTAX     CmFacProtGroupEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry containing information applicable to a particular
             Protection Group."
    INDEX { neIndex, shelfIndex, slotIndex, cmFacProtGroupIndex }
    ::= { cmFacProtGroupTable 1 }

CmFacProtGroupEntry ::= SEQUENCE {
    cmFacProtGroupIndex           Integer32,
    cmFacProtGroupUserLabel       DisplayString,
    cmFacProtGroupSwitchMode      CmProtSwitchMode,
    cmFacProtGroupRevertive       TruthValue,
    cmFacProtGroupWaitToRestore   Integer32,
    cmFacProtGroupDirection       CmProtSwitchDirection,
    cmFacProtGroupWorkPort        VariablePointer,
    cmFacProtGroupProtPort        VariablePointer,
    cmFacProtGroupStatus          CmProtGroupStatus,
    cmFacProtGroupAction          CmProtSwitchAction,
    cmFacProtGroupStorageType     StorageType,
    cmFacProtGroupRowStatus       RowStatus,
    cmFacProtGroupMacAddress      MacAddress
}

cmFacProtGroupIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only 
    STATUS     current
    DESCRIPTION
         "Unique index value associated with the Facility Protection Group."
     ::= { cmFacProtGroupEntry 1 }

cmFacProtGroupUserLabel OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..64))
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
         "User Label associated with the Facility Protection Group."
     ::= { cmFacProtGroupEntry 2 }

cmFacProtGroupSwitchMode OBJECT-TYPE
    SYNTAX     CmProtSwitchMode
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
         "Facility Protection Group's Protection Switch Mode."
     ::= { cmFacProtGroupEntry 3 }

cmFacProtGroupRevertive OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
         "Whether the Facility Protection is revertive or not.
          This object is not applicable for cmFacProtGroupSwitchMode 'dualactiverx'."
     ::= { cmFacProtGroupEntry 4 }

cmFacProtGroupWaitToRestore OBJECT-TYPE
    SYNTAX     Integer32 (1..60|0)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
         "Time in minutes to wait before reverting to Working facility
          in case of cmFacProtGroupRevertive set to revertive.
          This object is not applicable for cmFacProtGroupSwitchMode 'dualactiverx'."
     ::= { cmFacProtGroupEntry 5 }

cmFacProtGroupDirection OBJECT-TYPE
    SYNTAX     CmProtSwitchDirection 
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
         "Supported Protection Group Switch direction.
          This object is not applicable for cmFacProtGroupSwitchMode 'dualactiverx'."
     ::= { cmFacProtGroupEntry 6 }

cmFacProtGroupWorkPort OBJECT-TYPE
    SYNTAX     VariablePointer 
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
         "Facility Protection Group exists between 2 facilities (ports). 
          This object represents the WORKING facility Port."
     ::= { cmFacProtGroupEntry 7 }

cmFacProtGroupProtPort OBJECT-TYPE
    SYNTAX     VariablePointer 
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
         "This object
          represents the PROTECT facility Network Element Port when
          cmFacProtGroupSwitchMode is oneplusone.  In the case of
          dualactiverx, this represents the second active port."
     ::= { cmFacProtGroupEntry 8 }

cmFacProtGroupStatus   OBJECT-TYPE
    SYNTAX    CmProtGroupStatus
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
         "This object represents the PROTECTION group status."
     ::= { cmFacProtGroupEntry 9 }

cmFacProtGroupAction OBJECT-TYPE
    SYNTAX     CmProtSwitchAction
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "User initiated protection switch action."
    ::= { cmFacProtGroupEntry 10 }

cmFacProtGroupStorageType OBJECT-TYPE
    SYNTAX     StorageType
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The type of storage configured for this entry."
    ::= { cmFacProtGroupEntry 11 }

cmFacProtGroupRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
           "The status of this row.  An entry MUST NOT exist in the 
            active state unless all objects in the entry have an 
            appropriate value, as described
            in the description clause for each writable object.

            The values of cmFacProtGroupRowStatus supported are
            createAndGo(4) and destroy(6).  All mandatory attributes
            must be specified in a single SNMP SET request with
            cmFacProtGroupRowStatus value as createAndGo(4).
            Upon successful row creation, this object has a
            value of active(1).

            The cmFacProtGroupRowStatus object may be modified if
            the associated instance of this object is equal to active(1)."
    ::= { cmFacProtGroupEntry 12 }

cmFacProtGroupMacAddress OBJECT-TYPE
    SYNTAX     MacAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
             "This object allows retrieval of the Mac Address of the PROTECTION group."
     ::= { cmFacProtGroupEntry 13 }


--
-- Facility Protection Unit Table 
--
cmFacProtUnitTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CmFacProtUnitEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "A list of entries corresponding to the Facility Protection 
             Units."
    ::= { cmProtObjects 2 }

cmFacProtUnitEntry OBJECT-TYPE
    SYNTAX     CmFacProtUnitEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry containing information applicable to a particular
             Protection Unit."
    INDEX { neIndex, shelfIndex, slotIndex, cmFacProtGroupIndex, cmFacProtUnitIndex }
    ::= { cmFacProtUnitTable 1 }

CmFacProtUnitEntry ::= SEQUENCE {
    cmFacProtUnitIndex    Integer32,
    cmFacProtUnitType     CmProtUnitType,
    cmFacProtUnitState    CmProtUnitState,
    cmFacProtUnitPort     VariablePointer
}

cmFacProtUnitIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
         "Unique index value associated with the Facility Protection Unit."
     ::= { cmFacProtUnitEntry 1 }

cmFacProtUnitType OBJECT-TYPE
    SYNTAX     CmProtUnitType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
         "Facility Protection Unit's Type, i.e. whether working or protect."
     ::= { cmFacProtUnitEntry 2 }

cmFacProtUnitState OBJECT-TYPE
    SYNTAX     CmProtUnitState
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
         "Facility Protection Unit's State, i.e. whether active or standby."
     ::= { cmFacProtUnitEntry 3 }

cmFacProtUnitPort OBJECT-TYPE
    SYNTAX     VariablePointer 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
         "Facility Protection Unit's points to a facility (port). 
          This object represents the facility Network Element port."
     ::= { cmFacProtUnitEntry 4 }


--
-- Multiplex Section Protection Group Table 
--
cmMSPGroupTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CmMSPGroupEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "A list of entries corresponding to the Multiplex Section Protection Groups.
             Entries can be created/deleted in this table by management
             application action."
    ::= { cmProtObjects 3 }

cmMSPGroupEntry OBJECT-TYPE
    SYNTAX     CmMSPGroupEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry containing information applicable to a particular
             Protection Group."
    INDEX { neIndex, cmMSPGroupIndex }
    ::= { cmMSPGroupTable 1 }

CmMSPGroupEntry ::= SEQUENCE {
    cmMSPGroupIndex           Integer32,
    cmMSPGroupUserLabel       DisplayString,
    cmMSPGroupSwitchMode      CmProtSwitchMode,
    cmMSPGroupRevertive       TruthValue,
    cmMSPGroupWaitToRestore   Integer32,
    cmMSPGroupB2DEGTrigger    TruthValue,
    cmMSPGroupDirection       CmProtSwitchDirection,
    cmMSPGroupWorkPort        VariablePointer,
    cmMSPGroupProtPort        VariablePointer,
    cmMSPGroupStatus          CmProtGroupStatus,
    cmMSPGroupAction          CmProtSwitchAction,
    cmMSPGroupStorageType     StorageType,
    cmMSPGroupRowStatus       RowStatus,
    cmMSPGroupMacAddress      MacAddress
}

cmMSPGroupIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only 
    STATUS     current
    DESCRIPTION
         "Unique index value associated with the Multiplex Section Protection Group."
     ::= { cmMSPGroupEntry 1 }

cmMSPGroupUserLabel OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..64))
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
         "User Label associated with the Multiplex Section Protection Group."
     ::= { cmMSPGroupEntry 2 }

cmMSPGroupSwitchMode OBJECT-TYPE
    SYNTAX     CmProtSwitchMode
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
         "Multiplex Section Protection Group's Protection Switch Mode."
     ::= { cmMSPGroupEntry 3 }

cmMSPGroupRevertive OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
         "Whether the Multiplex Section Protection is revertive or not.
          This object is not applicable for cmMSPGroupSwitchMode 'dualactiverx'."
     ::= { cmMSPGroupEntry 4 }

cmMSPGroupWaitToRestore OBJECT-TYPE
    SYNTAX     Integer32 (1..60|0)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
         "Time in minutes to wait before reverting to Working facility
          in case of cmMSPGroupRevertive set to revertive.
          This object is not applicable for cmMSPGroupSwitchMode 'dualactiverx'."
     ::= { cmMSPGroupEntry 5 }

cmMSPGroupB2DEGTrigger OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
         "B2DEG is trigger of MSP or not."
     ::= { cmMSPGroupEntry 6 }

cmMSPGroupDirection OBJECT-TYPE
    SYNTAX     CmProtSwitchDirection 
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
         "Supported Protection Group Switch direction.
          This object is not applicable for cmMSPGroupSwitchMode 'dualactiverx'."
     ::= { cmMSPGroupEntry 7 }

cmMSPGroupWorkPort OBJECT-TYPE
    SYNTAX     VariablePointer 
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
         "Multiplex Section Protection Group exists between 2 facilities (ports). 
          This object represents the WORKING facility Port."
     ::= { cmMSPGroupEntry 8 }

cmMSPGroupProtPort OBJECT-TYPE
    SYNTAX     VariablePointer 
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
         "This object
          represents the PROTECT facility Network Element Port when
          cmMSPGroupSwitchMode is oneplusone.  In the case of
          dualactiverx, this represents the second active port."
     ::= { cmMSPGroupEntry 9 }

cmMSPGroupStatus   OBJECT-TYPE
    SYNTAX    CmProtGroupStatus
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
         "This object represents the PROTECTION group status."
     ::= { cmMSPGroupEntry 10 }

cmMSPGroupAction OBJECT-TYPE
    SYNTAX     CmProtSwitchAction
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "User initiated protection switch action."
    ::= { cmMSPGroupEntry 11 }

cmMSPGroupStorageType OBJECT-TYPE
    SYNTAX     StorageType
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The type of storage configured for this entry."
    ::= { cmMSPGroupEntry 12 }

cmMSPGroupRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
           "The status of this row.  An entry MUST NOT exist in the 
            active state unless all objects in the entry have an 
            appropriate value, as described
            in the description clause for each writable object.

            The values of cmMSPGroupRowStatus supported are
            createAndGo(4) and destroy(6).  All mandatory attributes
            must be specified in a single SNMP SET request with
            cmMSPGroupRowStatus value as createAndGo(4).
            Upon successful row creation, this object has a
            value of active(1).

            The cmMSPGroupRowStatus object may be modified if
            the associated instance of this object is equal to active(1)."
    ::= { cmMSPGroupEntry 13 }

cmMSPGroupMacAddress OBJECT-TYPE
    SYNTAX     MacAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
             "This object allows retrieval of the Mac Address of the PROTECTION group."
     ::= { cmMSPGroupEntry 14 }


--
-- Multiplex Section Protection Unit Table 
--
cmMSPUnitTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CmMSPUnitEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "A list of entries corresponding to the Multiplex Section Protection 
             Units."
    ::= { cmProtObjects 4 }

cmMSPUnitEntry OBJECT-TYPE
    SYNTAX     CmMSPUnitEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry containing information applicable to a particular
             Protection Unit."
    INDEX { neIndex, cmMSPGroupIndex, cmMSPUnitIndex }
    ::= { cmMSPUnitTable 1 }

CmMSPUnitEntry ::= SEQUENCE {
    cmMSPUnitIndex    Integer32,
    cmMSPUnitType     CmProtUnitType,
    cmMSPUnitState    CmProtUnitState,
    cmMSPUnitPort     VariablePointer
}

cmMSPUnitIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
         "Unique index value associated with the Multiplex Section Protection Unit."
     ::= { cmMSPUnitEntry 1 }

cmMSPUnitType OBJECT-TYPE
    SYNTAX     CmProtUnitType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
         "Multiplex Section Protection Unit's Type, i.e. whether working or protect."
     ::= { cmMSPUnitEntry 2 }

cmMSPUnitState OBJECT-TYPE
    SYNTAX     CmProtUnitState
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
         "Multiplex Section Protection Unit's State, i.e. whether active or standby."
     ::= { cmMSPUnitEntry 3 }

cmMSPUnitPort OBJECT-TYPE
    SYNTAX     VariablePointer 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
         "Facility Protection Unit's points to a facility (port). 
          This object represents the facility Network Element port."
     ::= { cmMSPUnitEntry 4 }


--
-- Conformance
--
cmProtCompliances OBJECT IDENTIFIER ::= {cmProtConformance 1}
cmProtGroups      OBJECT IDENTIFIER ::= {cmProtConformance 2}

cmProtCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "Describes the requirements for conformance to the CM Prot
             group."
    MODULE  -- this module
        MANDATORY-GROUPS {
              cmProtObjectGroup, cmMSProtObjectGroup
        }
    ::= { cmProtCompliances 1 }

cmProtObjectGroup OBJECT-GROUP
    OBJECTS {
        cmFacProtGroupIndex, cmFacProtGroupUserLabel, cmFacProtGroupSwitchMode,
        cmFacProtGroupRevertive, cmFacProtGroupWaitToRestore,
        cmFacProtGroupDirection, cmFacProtGroupWorkPort,
        cmFacProtGroupProtPort, cmFacProtGroupStatus, cmFacProtGroupAction,
        cmFacProtGroupStorageType, cmFacProtGroupRowStatus,
        cmFacProtGroupMacAddress,
    
        cmFacProtUnitIndex, cmFacProtUnitType, cmFacProtUnitState,
        cmFacProtUnitPort
    }
    STATUS  current
    DESCRIPTION
        "A collection of objects used to manage the Protection Object group."
    ::= { cmProtGroups 1 }

cmMSProtObjectGroup OBJECT-GROUP
    OBJECTS {
        cmMSPGroupIndex, cmMSPGroupUserLabel,
        cmMSPGroupSwitchMode, cmMSPGroupRevertive,
        cmMSPGroupWaitToRestore, cmMSPGroupB2DEGTrigger,
        cmMSPGroupDirection, cmMSPGroupWorkPort,
        cmMSPGroupProtPort, cmMSPGroupStatus,
        cmMSPGroupAction, cmMSPGroupStorageType,
        cmMSPGroupRowStatus, cmMSPGroupMacAddress,
        
        cmMSPUnitIndex, cmMSPUnitType,
        cmMSPUnitState, cmMSPUnitPort
    }
    STATUS  current
    DESCRIPTION
        "A collection of objects used to manage the Multiplex 
              Section Protection Object group."
    ::= { cmProtGroups 2 }

END