summaryrefslogtreecommitdiff
path: root/MIBS/dlink/DLINKSW-DDM-MIB
blob: 2fc0397f7180533e419f9e2a6127f8bf1110de45 (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
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
--  *****************************************************************
--  DLINKSW-DDM-MIB.mib : Digital Diagnostics Monitoring (DDM) MIB
--
--  Copyright (c) 2013 D-Link Corporation, all rights reserved.
--
--  *****************************************************************
DLINKSW-DDM-MIB DEFINITIONS ::= BEGIN
    IMPORTS
        DisplayString,TruthValue,RowStatus
            FROM SNMPv2-TC
        MODULE-IDENTITY,OBJECT-TYPE,Integer32
            FROM SNMPv2-SMI
        MODULE-COMPLIANCE,OBJECT-GROUP
		    FROM SNMPv2-CONF
        SnmpAdminString					
            FROM SNMP-FRAMEWORK-MIB
        ifIndex, InterfaceIndex
            FROM IF-MIB    
        dlinkIndustrialCommon		
            FROM DLINK-ID-REC-MIB;
   
    dlinkSwDdmMIB	MODULE-IDENTITY
   		LAST-UPDATED "201302040000Z"
   		ORGANIZATION "D-Link Corp."
        CONTACT-INFO
            "        D-Link Corporation

             Postal: No. 289, Sinhu 3rd Rd., Neihu District,
                     Taipei City 114, Taiwan, R.O.C
             Tel:     +886-2-66000123
             E-mail: tsd@dlink.com.tw
            "
        DESCRIPTION
            "This MIB module defines objects for DDM."
            
        REVISION "201302040000Z"
        DESCRIPTION
		    "The structure of DDM for the proprietary enterprise."
		    
        REVISION "201309050000Z"
        DESCRIPTION
            "Modified the object dDdmAlarmTrap and dDdmWarningTrap to
            support to send traps when transceiver monitoring recovers from an
            abnormal warning/alarm situation to normal status."
        ::={ dlinkIndustrialCommon 72 } 


    DlinkThresholdState ::= TEXTUAL-CONVENTION
        STATUS  current
        DESCRIPTION
            "Represents the state of a current monitoring value.
             Valid values are:
            
            normal(0): the current value is within normal range.

            higherAlarm(1):  the current value is higher than the high alarm threshold.

            higherWarning(2): the current value is higher than the high warning threshold.       

            lowerWarning(3):  the current value is lower than the low warning threshold.   

            lowerAlarm(4): the current value is lower than the low alarm threshold.       
            "
        SYNTAX  INTEGER {
            normal(0),
            higherAlarm(1),
            higherWarning(2),
            lowerWarning(3),
            lowerAlarm(4)                      
        }
                
	dDdmMIBNotifications 		OBJECT IDENTIFIER ::= { dlinkSwDdmMIB 0 }
	dDdmMIBObjects 			    OBJECT IDENTIFIER ::= { dlinkSwDdmMIB 1 }
	dDdmMIBConformance		    OBJECT IDENTIFIER ::= { dlinkSwDdmMIB 2 }

-- -------------------------------------------------------------------------- 
    dDdmCtrl			OBJECT IDENTIFIER ::= { dDdmMIBObjects 1 }
    
    dDdmNotifyEnable OBJECT-TYPE
        SYNTAX          BITS {
            alarm(0),
            warning(1)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates whether a specified notification is enabled or not.
            If a bit corresponding to a notification is set to 1, then 
            the specified notification can be generated.

            alarm(0)   - sending an alarm level notification. 
            warning(1) - sending an warning level notification.              
            "
        ::= { dDdmCtrl 1 }
        

-- -------------------------------------------------------------------------- 		
     dDdmIfCtrl			OBJECT IDENTIFIER ::= { dDdmMIBObjects 2 }
            
     dDdmIfCfgTable	OBJECT-TYPE
		SYNTAX          SEQUENCE OF DDdmIfCfgEntry
		MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This table contains a list of interface-specific DDM configuration."
        ::= {dDdmIfCtrl 1}
      
    dDdmIfCfgEntry	OBJECT-TYPE
		SYNTAX	        DDdmIfCfgEntry
		MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "An entry manages DDM state and action on an interface."
        INDEX  {  ifIndex }
      ::= {dDdmIfCfgTable 1}
      
    DDdmIfCfgEntry ::=
        SEQUENCE {
            dDdmIfCfgEnabled     TruthValue,
            dDdmShutdownLevel    INTEGER     
        }  
             
    dDdmIfCfgEnabled OBJECT-TYPE
		SYNTAX          TruthValue 	 	 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object indicates the status of optical transceiver-monitoring
            function for a SFP port.
            When a SFP with transceiver-monitoring capability is plugged in a
            port but the transceiver-monitoring function of the port is
            disabled, system will not detect the SFP's abnormal status but user
            still can check the current status via dDdmIfInfoTable."
        ::= {dDdmIfCfgEntry 1} 
    
    dDdmShutdownLevel OBJECT-TYPE
		SYNTAX  INTEGER {					
            none(1),
            alarm(2),
            warning(3)
        }
        MAX-ACCESS      read-write
        STATUS           current
        DESCRIPTION
             "This object indicates the abnormal level which causes a port
             enter into errDisabled state.
             A value of 'none' indicates the shutdown action is disabled.
             "
        ::= {dDdmIfCfgEntry 2}    
              
-- --------------------------------------------------------------------------
    dDdmThresholdMgmt			OBJECT IDENTIFIER ::= { dDdmMIBObjects 3 }
    
    dDdmThresholdCfgTable	OBJECT-TYPE
		SYNTAX          SEQUENCE OF DDdmThresholdCfgEntry
		MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This table contains a list of interface-specific threshold configuration for
            DDM."
        ::= {dDdmThresholdMgmt 1}
        
    dDdmThresholdCfgEntry OBJECT-TYPE
		SYNTAX          DDdmThresholdCfgEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "An entry in this table conists of one threshold configuration on an interface.
            An entry is created/removed when a configuration is added/deleted.
            "
        INDEX  { 
            ifIndex,
            dDdmThresholdComponent,
            dDmThresholdAbnormalLevel
        }
        ::= { dDdmThresholdCfgTable 1 }

    DDdmThresholdCfgEntry	::=
        SEQUENCE {
            dDdmThresholdComponent          INTEGER,
            dDmThresholdAbnormalLevel       INTEGER,
  		    dDdmThresholdCfgValue           Integer32,
  		    dDdmThresholdCfgRowStatus       RowStatus
  	    }
        		             
    dDdmThresholdComponent	OBJECT-TYPE
		SYNTAX	INTEGER {
            temperature(1),
            voltage(2),
            biasCurrent(3),
            txPowerMw(4),
            txPowerDbm(5),            
            rxPowerMw(6),
            rxPowerDbm(7)
        }  
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object indicates the monitoring type.
            Note:
            Either txPowerMw(4) or txPowerDbm(5) can be configured on an interface.
            Either rxPowerMw(6) or rxPowerDbm(7) can be configured on an interface.
            In the above two cases, the existed entry will be deleted when the 
            other new entry is created.
            "
        ::= {dDdmThresholdCfgEntry 1}  
            
    dDmThresholdAbnormalLevel	OBJECT-TYPE
		SYNTAX	INTEGER {
            highAlarm(1),
            highWarning(2),
            lowWarning(3),
            lowAlarm(4)       
        }  
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This object indicates the threshold type."
        ::= { dDdmThresholdCfgEntry 2 }      
        
   dDdmThresholdCfgValue	OBJECT-TYPE
		SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "This object indicates the configured threshold. The value is
            interpreted within the context of dDdmThresholdComponent and
            dDmThresholdAbnormalLevel in the same row. The unit and valid range
            are as follows:
            Threshold Type     Unit                           Valid Range
            =============      =====================          =================
            Temperature        milli-degrees Celsius          -128,000 ~ 127,996 
            voltage            centi-Volt                     0 ~ 655
            biasCurrent        milli-amperes                  0 ~ 131 
            txPowerMw          tenths of a microwatt            0 ~ 65,535
            txPowerDbm         ten-thousandths of DBM         -400,000 ~ 81,647
            rxPowerMw          tenths of a microwatt            0 ~ 65,535
            rxPowerDbm         ten-thousandths of DBM         -400,000 ~ 81,647            
            "
        ::= { dDdmThresholdCfgEntry 3 }  
        
    dDdmThresholdCfgRowStatus 	OBJECT-TYPE
		SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "The status of this conceptual row."
        ::= { dDdmThresholdCfgEntry 4 }  
                         
-- -------------------------------------------------------------------------- 
    dDdmInfo  OBJECT IDENTIFIER ::= {  dDdmMIBObjects 4 }

    dDdmIfInfoTable	OBJECT-TYPE
		SYNTAX	        SEQUENCE OF DDdmIfInfoEntry
		MAX-ACCESS      not-accessible
		STATUS          current
        DESCRIPTION
            "This table contains a list of information about current operating
            parameters of interfaces. Only the applicable interfaces (i.e.SFP
            module with DDM capability is plugged-in. ) will appear in this table.
            Note: 
            1. The threshold may be administratively configured or factory
               preset value defined by vendors. dDdmThresholdCfgTable provides
               the administrative threshold configuration.
            2. It doesn't necessarily means the DDM is enabled on the interface
               when an entry appears in this table. dDdmIfCfgTable provides such
               information."
        ::= {dDdmInfo 1}
        
    dDdmIfInfoEntry OBJECT-TYPE
		SYNTAX	        DDdmIfInfoEntry
		MAX-ACCESS      not-accessible
		STATUS	        current
		DESCRIPTION
			"An entry appears in this table contains current operating parameters
			for transceiver monitoring of a port."       
		INDEX  { ifIndex  }
		::= { dDdmIfInfoTable 1}
		
    DDdmIfInfoEntry ::=
		SEQUENCE {		    
		   dDdmIfInfoCurrentTemperature         Integer32,
		   dDdmIfInfoTemperatureState           DlinkThresholdState,
		   dDdmIfInfoHighAlarmTemperature       Integer32,
		   dDdmIfInfoHighWarnTemperature        Integer32,           
		   dDdmIfInfoLowWarnTemperature         Integer32,	
		   dDdmIfInfoLowAlarmTemperature        Integer32,	   
		   dDdmIfInfoCurrentVoltage             Integer32,
		   dDdmIfInfoVoltageState               DlinkThresholdState,
		   dDdmIfInfoHighAlarmVoltage           Integer32,
		   dDdmIfInfoHighWarnVoltage            Integer32,           
		   dDdmIfInfoLowWarnVoltage             Integer32,
		   dDdmIfInfoLowAlarmVoltage            Integer32,		   
		   dDdmIfInfoCurrentBiasCurrent         Integer32,
		   dDdmIfInfoBiasCurrentState           DlinkThresholdState,
		   dDdmIfInfoHighAlarmBiasCurrent       Integer32,
		   dDdmIfInfoHighWarnBiasCurrent        Integer32,
		   dDdmIfInfoLowWarnBiasCurrent         Integer32,   
           dDdmIfInfoLowAlarmBiasCurrent        Integer32,		  
		   dDdmIfInfoCurrentTxPower             Integer32,
		   dDdmIfInfoTxPowerState               DlinkThresholdState,
		   dDdmIfInfoHighAlarmTxPower           Integer32,
		   dDdmIfInfoHighWarnTxPower            Integer32,
		   dDdmIfInfoLowWarnTxPower             Integer32,
           dDdmIfInfoLowAlarmTxPower            Integer32,           
		   dDdmIfInfoCurrentRxPower             Integer32,
		   dDdmIfInfoRxPowerState               DlinkThresholdState,		   
		   dDdmIfInfoHighAlarmRxPower           Integer32,
		   dDdmIfInfoHighWarnRxPower            Integer32,           
		   dDdmIfInfoLowWarnRxPower             Integer32,
		   dDdmIfInfoLowAlarmRxPower            Integer32
        }
 
    dDdmIfInfoCurrentTemperature OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "milli-degrees Celsius"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the current temperature in unit of 
            'milli-degrees Celsius' on the interface."
        ::= { dDdmIfInfoEntry 1 }
        
    dDdmIfInfoTemperatureState OBJECT-TYPE
        SYNTAX          DlinkThresholdState   
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the state of current temperature."
        ::= { dDdmIfInfoEntry 2 }
    
    dDdmIfInfoHighAlarmTemperature OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "milli-degrees Celsius"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the high alarm threshold, when the operating
            temperature rises above this value, it indicates an alarm status.           
            The value is in unit of 'milli-degrees Celsius'."
        ::= { dDdmIfInfoEntry 3 }     
      
      
    dDdmIfInfoHighWarnTemperature OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "milli-degrees Celsius"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the high warning threshold, when the operating
            temperature rises above this value, it indicates a warning status.
            The value is in unit of 'milli-degrees Celsius'."
        ::= { dDdmIfInfoEntry 4 }       
    
    dDdmIfInfoLowWarnTemperature OBJECT-TYPE       
        SYNTAX          Integer32
        UNITS           "milli-degrees Celsius"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the low warning threshold, when the operating
            temperature falls below this value, it indicates a warning status.
            The value is in unit of 'milli-degrees Celsius'."
        ::= { dDdmIfInfoEntry 5 }     
      
    dDdmIfInfoLowAlarmTemperature OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "milli-degrees Celsius"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the low alarm threshold, when the operating
            temperature falls below this value, it indicates an alarm status.
            The value is in unit of 'milli-degrees Celsius'."
        ::= { dDdmIfInfoEntry 6 }            
   
    dDdmIfInfoCurrentVoltage OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "centi-Volt"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the current voltage in unit of 
            'centi-Volt' on the interface."
        ::= { dDdmIfInfoEntry 7 }
        
    dDdmIfInfoVoltageState OBJECT-TYPE
        SYNTAX          DlinkThresholdState             
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the state of current voltage."
        ::= { dDdmIfInfoEntry 8 }
    
    dDdmIfInfoHighAlarmVoltage OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "centi-Volt"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the high alarm threshold, when the operating
            voltage rises above this value, it indicates an alarm status.
            The value is in unit of 'centi-Volt'."
        ::= { dDdmIfInfoEntry 9 }     
      
    dDdmIfInfoHighWarnVoltage OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "centi-Volt"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the high warning threshold, when the operating
            voltage rises above this value, it indicates a warning status.
            The value is in unit of 'centi-Volt'."
        ::= { dDdmIfInfoEntry 10 }       
    
    dDdmIfInfoLowWarnVoltage OBJECT-TYPE       
        SYNTAX          Integer32
        UNITS           "centi-Volt"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the low warning threshold, when the operating
            voltage falls below this value, it indicates a warning status.
            The value is in unit of 'centi-Volt'."
        ::= { dDdmIfInfoEntry 11 }     
      
    dDdmIfInfoLowAlarmVoltage OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "centi-Volt"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the low alarm threshold, when the operating
            voltage falls below this value, it indicates an alarm status.
            The value is in unit of 'centi-Volt'."
        ::= { dDdmIfInfoEntry 12 }             
   
   dDdmIfInfoCurrentBiasCurrent OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "milli-amperes"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the current bias current in unit of 
            'milli-amperes' on the interface."
        ::= { dDdmIfInfoEntry 13 }
        
    dDdmIfInfoBiasCurrentState OBJECT-TYPE
        SYNTAX          DlinkThresholdState
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the state of current BiasCurrent."
        ::= { dDdmIfInfoEntry 14 }
    
    dDdmIfInfoHighAlarmBiasCurrent OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "milli-amperes"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the high alarm threshold, when the operating
            bias current rises above this value, it indicates an alarm status.
            The value is in unit of 'milli-amperes'."
        ::= { dDdmIfInfoEntry 15 }     
      
    dDdmIfInfoHighWarnBiasCurrent OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "milli-amperes"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the high warning threshold, when the operating
            bias current rises above this value, it indicates a warning status.
            The value is in unit of 'milli-amperes'."
        ::= { dDdmIfInfoEntry 16 }       
    
    dDdmIfInfoLowWarnBiasCurrent OBJECT-TYPE       
        SYNTAX          Integer32
        UNITS           "milli-amperes"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the low warning threshold, when the operating
            bias current falls below this value, it indicates a warning status.
            The value is in unit of 'milli-amperes'."
        ::= { dDdmIfInfoEntry 17 }     
      
    dDdmIfInfoLowAlarmBiasCurrent OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "milli-amperes"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the low alarm threshold, when the operating
            bias current falls below this value, it indicates an alarm status.
            The value is in unit of 'milli-amperes'."
        ::= { dDdmIfInfoEntry 18 }            

    dDdmIfInfoCurrentTxPower OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "tenths of a microwatt"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the current output power in unit of 
            'tenths of a microwatt' on the interface."
        ::= { dDdmIfInfoEntry 19 }
        
    dDdmIfInfoTxPowerState OBJECT-TYPE
        SYNTAX          DlinkThresholdState
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the state of current output power."
        ::= { dDdmIfInfoEntry 20 }
    
    dDdmIfInfoHighAlarmTxPower OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "tenths of a microwatt"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the high alarm threshold, when the operating
            output power rises above this value, it indicates an alarm status.
            The value is in unit of 'tenths of a microwatt'."
        ::= { dDdmIfInfoEntry 21 }     
      
    dDdmIfInfoHighWarnTxPower OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "tenths of a microwatt"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the high warning threshold, when the operating
            output power rises above this value, it indicates a warning status.
            The value is in unit of 'tenths of a microwatt'."
        ::= { dDdmIfInfoEntry 22 }       
    
    dDdmIfInfoLowWarnTxPower OBJECT-TYPE       
        SYNTAX          Integer32
        UNITS           "tenths of a microwatt"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the low warning threshold, when the operating
            output power falls below this value, it indicates a warning status.
            The value is in unit of 'tenths of a microwatt'."
        ::= { dDdmIfInfoEntry 23 }     
      
    dDdmIfInfoLowAlarmTxPower OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "tenths of a microwatt"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the low alarm threshold, when the operating
            output power falls below this value, it indicates an alarm status.
            The value is in unit of 'tenths of a microwatt'."
        ::= { dDdmIfInfoEntry 24 }  
        
    dDdmIfInfoCurrentRxPower OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "tenths of a microwatt"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the current input power in unit of 
            'tenths of a microwatt' on the interface."
        ::= { dDdmIfInfoEntry 25 }
        
    dDdmIfInfoRxPowerState OBJECT-TYPE
        SYNTAX          DlinkThresholdState
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the state of current input power."
        ::= { dDdmIfInfoEntry 26 }
    
    dDdmIfInfoHighAlarmRxPower OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "tenths of a microwatt"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the high alarm threshold, when the operating
            input power rises above this value, it indicates an alarm status.
            The value is in unit of 'tenths of a microwatt'."
        ::= { dDdmIfInfoEntry 27 }     
      
    dDdmIfInfoHighWarnRxPower OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "tenths of a microwatt"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the high warning threshold, when the operating
            input power rises above this value, it indicates a warning status.
            The value is in unit of 'tenths of a microwatt'."
        ::= { dDdmIfInfoEntry 28 }       
    
    dDdmIfInfoLowWarnRxPower OBJECT-TYPE       
        SYNTAX          Integer32
        UNITS           "tenths of a microwatt"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the low warning threshold, when the operating
            input power falls below this value, it indicates a warning status.
            The value is in unit of 'tenths of a microwatt'."
        ::= { dDdmIfInfoEntry 29 }     
      
    dDdmIfInfoLowAlarmRxPower OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "tenths of a microwatt"
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the low alarm threshold, when the operating
            input power falls below this value, it indicates an alarm status.
            The value is in unit of 'tenths of a microwatt'."
        ::= { dDdmIfInfoEntry 30 }  
        
-- --------------------------------------------------------------------------
   dDdmNotifyInfo  OBJECT IDENTIFIER ::= {  dDdmMIBObjects 5 }

   dDdmNotifyInfoIfIndex OBJECT-TYPE
		SYNTAX 	        InterfaceIndex
		MAX-ACCESS      accessible-for-notify
        STATUS          current
        DESCRIPTION
              "This object is used by dDdmAlarmTrap and dDdmWarningTrap to indicate 
              the ifIndex on which the monitoring value rises above or falls below
              the corresponding threshold."
              ::= { dDdmNotifyInfo 1 }
  
    dDdmNotifyInfoComponent OBJECT-TYPE
		SYNTAX 	INTEGER{
			temperature(1),
            voltage(2),
            biasCurrent(3),
            txPowerMw(4),                        
            rxPowerMw(5)           
	    }
		MAX-ACCESS      accessible-for-notify
        STATUS          current
        DESCRIPTION
              "This object is used by dDdmAlarmTrap and dDdmWarningTrap to indicate  
              the abnormal component."
        ::= { dDdmNotifyInfo 2 }
         
    dDdmNotifyInfoAbnormalLevel OBJECT-TYPE
		SYNTAX 	INTEGER{
			high(1),
			low(2)
		}
		MAX-ACCESS  accessible-for-notify
        STATUS  current
        DESCRIPTION
            "This object is used by dDdmAlarmTrap and dDdmWarningTrap to indicate  
            the abnormal level."
        ::= { dDdmNotifyInfo 3 }
        
    dDdmNotifyInfoThresholdExceedOrRecover OBJECT-TYPE
		SYNTAX 	INTEGER{
					exceed(1),
					recover(2)
			}
		MAX-ACCESS  accessible-for-notify
    STATUS  current
    DESCRIPTION
        "This object is used by dDdmAlarmTrap and dDdmWarningTrap to indicate the
        GBIC is exceeding its threshold or recover to
        normal status."
        ::= {dDdmNotifyInfo 4}
             
 
-- --------------------------------------------------------------------------

    dDdmAlarmTrap NOTIFICATION-TYPE
        OBJECTS  {
            dDdmNotifyInfoIfIndex,
            dDdmNotifyInfoComponent,
            dDdmNotifyInfoAbnormalLevel,
            dDdmNotifyInfoThresholdExceedOrRecover    					
        }        
        STATUS          current
        DESCRIPTION
            "The trap is sent when dDdmNotifyEnable is 'true' and an abnormal 
            alarm situation occurs or recovers from an abnormal alarm situation
            to normal status."
      ::= { dDdmMIBNotifications 1 }
      
    dDdmWarningTrap NOTIFICATION-TYPE
        OBJECTS         {
    	    dDdmNotifyInfoIfIndex,
    	    dDdmNotifyInfoComponent, 
    	    dDdmNotifyInfoAbnormalLevel,
            dDdmNotifyInfoThresholdExceedOrRecover   						  					
       }        
       STATUS              current
       DESCRIPTION
            "The trap is sent when dDdmNotifyEnable is 'true' and an abnormal 
            warning situation occurs or recovers from an abnormal warning
            situation to normal status."
      ::= { dDdmMIBNotifications 2 }

--  ***************************************************************************	
--  Conformance
--  ***************************************************************************			   		
	dDdmCompliances OBJECT IDENTIFIER ::= { dDdmMIBConformance 1 }
		
	dDdmCompliance MODULE-COMPLIANCE
		STATUS current
		DESCRIPTION 
			"The compliance statement for entities which implement the 
			DLINKSW-DDM-MIB."
		MODULE -- this module
		MANDATORY-GROUPS { 
		    dDdmInfoGroup,
		    dDdmCfgGroup,
		    dDdmNotifyGroup        		   
		}						
		::= { dDdmCompliances 1 }
		
	dDdmGroups OBJECT IDENTIFIER ::= { dDdmMIBConformance 2 }
	
	dDdmInfoGroup OBJECT-GROUP
		OBJECTS { 
             dDdmIfInfoCurrentTemperature, dDdmIfInfoTemperatureState,
             dDdmIfInfoHighAlarmTemperature, dDdmIfInfoHighWarnTemperature,              
             dDdmIfInfoLowWarnTemperature, dDdmIfInfoLowAlarmTemperature,              
             dDdmIfInfoCurrentVoltage, dDdmIfInfoVoltageState,        
             dDdmIfInfoHighAlarmVoltage, dDdmIfInfoHighWarnVoltage,                  
             dDdmIfInfoLowWarnVoltage, dDdmIfInfoLowAlarmVoltage,     
             dDdmIfInfoCurrentBiasCurrent, dDdmIfInfoBiasCurrentState,    
             dDdmIfInfoHighAlarmBiasCurrent, dDdmIfInfoHighWarnBiasCurrent, 
             dDdmIfInfoLowWarnBiasCurrent, dDdmIfInfoLowAlarmBiasCurrent, 
             dDdmIfInfoCurrentTxPower, dDdmIfInfoTxPowerState,
             dDdmIfInfoHighAlarmTxPower, dDdmIfInfoHighWarnTxPower,
             dDdmIfInfoLowWarnTxPower, dDdmIfInfoLowAlarmTxPower,
             dDdmIfInfoCurrentRxPower, dDdmIfInfoRxPowerState,
             dDdmIfInfoHighAlarmRxPower, dDdmIfInfoHighWarnRxPower,
             dDdmIfInfoLowWarnRxPower, dDdmIfInfoLowAlarmRxPower,
             dDdmNotifyInfoIfIndex, dDdmNotifyInfoComponent,
             dDdmNotifyInfoAbnormalLevel,
             dDdmNotifyInfoThresholdExceedOrRecover    						
		}
		STATUS current
		DESCRIPTION 
			"A collection of objects provides DDM operating information."
		::= { dDdmGroups 1 }
        
    dDdmCfgGroup OBJECT-GROUP
		OBJECTS { 
			dDdmNotifyEnable,
			dDdmIfCfgEnabled, dDdmShutdownLevel,
			dDdmThresholdCfgValue,	dDdmThresholdCfgRowStatus 
			
		}
		STATUS current
		DESCRIPTION 
			"A collection of objects provides DDM configuration."
		::= { dDdmGroups 2 }    
	
	dDdmNotifyGroup NOTIFICATION-GROUP
		NOTIFICATIONS { 
			dDdmAlarmTrap,
			dDdmWarningTrap
		}
		STATUS current
		DESCRIPTION 
			"The collection of notifications used for DDM."
		::= { dDdmGroups 3 }      
      
END