summaryrefslogtreecommitdiff
path: root/MIBS/dlink/DLINKSW-L2FDB-MIB
blob: d22088ae2a5f9f00fb1ac683ca5757d57fcbda9d (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
--  *****************************************************************
--  DLINKSW-L2FDB-MIB.mib : L2 FDB MIB
--
--  Copyright (c) 2012 D-Link Corporation, all rights reserved.
--
--  *****************************************************************
DLINKSW-L2FDB-MIB DEFINITIONS ::= BEGIN

	IMPORTS
   		MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,Unsigned32,
   		Integer32
       		FROM SNMPv2-SMI
   		RowStatus,DisplayString,TruthValue,MacAddress
       		FROM SNMPv2-TC
   		MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
       		FROM SNMPv2-CONF
       	ifIndex, InterfaceIndex, InterfaceIndexOrZero
            FROM IF-MIB  
        dot1qFdbId, dot1qStaticUnicastAddress, 
        VlanId, PortList			
    		FROM Q-BRIDGE-MIB    		
        dlinkIndustrialCommon		
            FROM DLINK-ID-REC-MIB;
   
    dlinkSwL2FdbMIB	MODULE-IDENTITY
   		LAST-UPDATED "201212260000Z"
   		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 L2FDB."
            
        REVISION "201212260000Z"
        DESCRIPTION
            "This is the first version of the MIB file for 'L2FDB'
            functionality."
      ::= { dlinkIndustrialCommon 3 } 

-- 
--	MIB OBJECTS     
--      
	dL2FdbMIBNotifications 		OBJECT IDENTIFIER ::= { dlinkSwL2FdbMIB 0 }
	dL2FdbMIBObjects 			OBJECT IDENTIFIER ::= { dlinkSwL2FdbMIB 1 }
	dL2FdbMIBConformance		OBJECT IDENTIFIER ::= { dlinkSwL2FdbMIB 2 }


-- -----------------------------------------------------------------------------     
    dL2FdbGblCtrl			OBJECT IDENTIFIER ::= { dL2FdbMIBObjects 1 }
    
    dL2FdbClearCtrl			OBJECT IDENTIFIER ::= { dL2FdbGblCtrl 1 }
    dL2FdbClearMacAddrByMacAddr 	OBJECT-TYPE
        SYNTAX          MacAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object specifies a MAC address which will be cleared.
            When read, a value of '000000000000'H is returned."  
        ::= { dL2FdbClearCtrl 1 }
         
    dL2FdbClearMacAddrByIf 	OBJECT-TYPE
        SYNTAX          InterfaceIndexOrZero
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object indicates the ifIndex of the physical 
            port/port-channel/vlan interface on which
            the dynamic MAC address(es) will be cleared.            
            When read, a value of 0 is returned."                      
        ::= { dL2FdbClearCtrl 2 }
    
    dL2FdbClearAllMacAddr OBJECT-TYPE
        SYNTAX  INTEGER{
                clear(1),
                noOp(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object clears all of the dynamic FDB entries, when set to 'clear'. 
            No action is taken if this object is set to 'noOp'.
            When read, the value 'noOp' is returned."
        ::= { dL2FdbClearCtrl 3 }  
                         	    
    dL2FdbAgingTime		OBJECT-TYPE
    	SYNTAX			    Unsigned32 ( 0 | 5..1000000 )
    	UNITS				"second"
    	MAX-ACCESS			read-write
    	STATUS				current
    	DESCRIPTION
    		"Specify the aging time in seconds. 
    		 The valid range is 5 to 1000000 seconds.
    		 The special valie of 0 indicates the ging out function is disabled.
    		 "
    	DEFVAL { 300 }
    	::= {  dL2FdbGblCtrl 2 }
    	    
    dL2FdbMacChangeEnabled	OBJECT-TYPE
    	SYNTAX			    TruthValue
    	MAX-ACCESS			read-write
    	STATUS				current
    	DESCRIPTION
    		"This object indicates the status of  MAC address notification feature  
    		on the Switch."
    	DEFVAL { false }
    	::= {  dL2FdbGblCtrl 3 }

    dL2FdbMacChangeNotifInterval		OBJECT-TYPE
    	SYNTAX			    Unsigned32 ( 1..2147483647 )
    	UNITS				"second"
    	MAX-ACCESS			read-write
    	STATUS				current
    	DESCRIPTION 
    		"Specifies the interval between two consecutive MAC address change notifications."    		 
    	DEFVAL { 1 }
    	::= {  dL2FdbGblCtrl 4 }
   
    dL2FdbMacChangeNotifyEnabled	OBJECT-TYPE
    	SYNTAX			    TruthValue
    	MAX-ACCESS			read-write
    	STATUS				current
    	DESCRIPTION
    	  "Indicates whether cmnMacChangedNotification notifications
          will or will not be sent when there are MAC addresses
          learnt or removed from the forwarding table. 
          "
    	DEFVAL { false }
    	::= {  dL2FdbGblCtrl 5 }
    	 	
    dL2FdbMacChangeHistorySize	OBJECT-TYPE
    	SYNTAX			    Unsigned32 ( 0..500 )
    	MAX-ACCESS			read-write
    	STATUS				current
    	DESCRIPTION
    		"Specifies the maximum number of the entries in the MAC history
    		notification table."    		
    	DEFVAL { 1 }
    	::= {  dL2FdbGblCtrl 6 }
      
    dL2FdbDestHitEnabled		OBJECT-TYPE
    	SYNTAX			    TruthValue
    	MAX-ACCESS			read-write
    	STATUS				current
    	DESCRIPTION
    		"This object indicates the state whether the destination MAC
    		address will trigger update function."
    	DEFVAL {false }    	
    	::= {  dL2FdbGblCtrl 7 }
  
-- -----------------------------------------------------------------------------  	
	dL2FdbStaticUnicastTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF DL2FdbStaticUnicastEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This table contains a list of configuration for 
            static unicast MAC addresses."
        ::= { dL2FdbMIBObjects 2 }

    dL2FdbStaticUnicastEntry OBJECT-TYPE
        SYNTAX          DL2FdbStaticUnicastEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A table entry represents configuration for a static
            unicast MAC address information."
        INDEX    {         
            dL2FdbStaticUnicastVlanID,
            dL2FdbStaticUnicastMacAddr                             
        }
        ::= { dL2FdbStaticUnicastTable 1 }

    DL2FdbStaticUnicastEntry ::= SEQUENCE {        
        dL2FdbStaticUnicastVlanID       VlanId,
        dL2FdbStaticUnicastMacAddr      MacAddress,               
        dL2FdbStaticUnicastType     	INTEGER,     
        dL2FdbStaticUnicastPortNum      Integer32,
        dL2FdbStaticUnicastRowStatus    RowStatus
    }
                                            
    dL2FdbStaticUnicastVlanID           OBJECT-TYPE
        SYNTAX          VlanId
        MAX-ACCESS      not-accessible
        STATUS      current
        DESCRIPTION
                "The VLAN ID of the entry."
        ::= { dL2FdbStaticUnicastEntry 1 }
                        
    dL2FdbStaticUnicastMacAddr            OBJECT-TYPE
        SYNTAX          MacAddress 
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "The MAC address of the entry."
        ::= { dL2FdbStaticUnicastEntry 2 }  
                                     
    dL2FdbStaticUnicastType            OBJECT-TYPE
        SYNTAX      INTEGER {
        	self(1),
            permanent(2),
			permanentDrop(3)
        }
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "This object indicates the status of this entry.
            		
            self(1) - This entry is currently in use by the device's
                      MAC address.
                                  		            		
            permanent(2) - This entry is currently in use and will remain so
                     until after the next reset of the device.
                     
            permanentDrop(3) - This entry will filter the packet with the specified
                    MAC address as the source MAC or as the destination MAC.
		            The entry is currently in use and will remain so after the 
		            next reboot of the device. 
            		         
                The value of this object MUST be retained across
                reinitializations of the management system."
        ::= { dL2FdbStaticUnicastEntry 3 }
                
    dL2FdbStaticUnicastPortNum            OBJECT-TYPE
        SYNTAX          Integer32 
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "The port number of the static unicast address. 
            The value of 0 indicates the CPU port.
            The value of -1 indicates mac filter entry with permanentDrop type."
        ::= { dL2FdbStaticUnicastEntry 4 }
            
    dL2FdbStaticUnicastRowStatus            OBJECT-TYPE
        SYNTAX          RowStatus 
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "This object indicates the RowStatus of this entry."
        ::= { dL2FdbStaticUnicastEntry 5 }
                       	   
-- -----------------------------------------------------------------------------
	dL2FdbIfCtrlTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF DL2FdbIfCtrlEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This table contains a list of interface-specific configuration for 
            L2 FDB."
        ::= { dL2FdbMIBObjects 3 }

    dL2FdbIfCtrlEntry OBJECT-TYPE
        SYNTAX          DL2FdbIfCtrlEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "An entry represents interface L2 FDB configuration."
        INDEX    { ifIndex }
        ::= { dL2FdbIfCtrlTable 1 }

    DL2FdbIfCtrlEntry ::= SEQUENCE {            
        dL2FdbIfCtrlNotifyEnable 	    BITS,           
        dL2FdbIfMacLearningEnabled      TruthValue               
    }
            
    dL2FdbIfCtrlNotifyEnable OBJECT-TYPE
        SYNTAX          BITS {
            added(0),
            removed(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.

            added(0)   - the MAC change notification when a MAC address is added
                         on the interface.
            removed(1) - the MAC change notification when a MAC address is removed
                         from the interface.               
            "
    ::= { dL2FdbIfCtrlEntry 1 }
    
  
	dL2FdbIfMacLearningEnabled OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write 
        STATUS          current
        DESCRIPTION
            "This object indicates whether the MAC-address learning is enabled or not
            on the physical interface."
        ::= { dL2FdbIfCtrlEntry 2 }        
                

-- -----------------------------------------------------------------------------         
	dL2FdbMulticastFilterModeTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF DL2FdbMulticastFilterModeEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This table contains a list of multicast filter mode configuration  
            of interfaces.
            Only applicable interfaces will present on this table.
            "
        ::= { dL2FdbMIBObjects 4 }

    dL2FdbMulticastFilterModeEntry OBJECT-TYPE
        SYNTAX          DL2FdbMulticastFilterModeEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "An entry represents multicast filter mode on an interface."
        INDEX    { dL2FdbMcastFilterModeIfIndex }
        ::= { dL2FdbMulticastFilterModeTable 1 }

    DL2FdbMulticastFilterModeEntry ::= SEQUENCE {    
        dL2FdbMcastFilterModeIfIndex        InterfaceIndex,             
        dL2FdbMcastFilterMode               INTEGER               
    }
            
    dL2FdbMcastFilterModeIfIndex OBJECT-TYPE
        SYNTAX          InterfaceIndex
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object indicates the ifIndex of the interface.
            If support vlan-based filtering mode: The valid interfaces are VLANs.
            If support port-based filtering mode: The valid interfaces are physical
            port.           
            "
    ::= { dL2FdbMulticastFilterModeEntry 1 }
    
  
	dL2FdbMcastFilterMode OBJECT-TYPE
        SYNTAX      INTEGER {
             forwardAll(1),
             forwardUnregistered(2),
             filterUnregistered(3)
        }
        MAX-ACCESS      read-write 
        STATUS          current
        DESCRIPTION
            "This object indicates the handling method for multicast packets 
            on the corresponding interface."
        ::= { dL2FdbMulticastFilterModeEntry 2 }        
                

-- -----------------------------------------------------------------------------           
    dL2FdbMacChangeHistoryTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF DL2FdbMacChangeHistoryEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This table contains a list of MAC address change history."
        ::= { dL2FdbMIBObjects 5 }

    dL2FdbMacChangeHistoryEntry OBJECT-TYPE
        SYNTAX          DL2FdbMacChangeHistoryEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "An entry represents a MAC address change."
        INDEX    { dL2FdbMacChangeHistoryIndex }
        ::= { dL2FdbMacChangeHistoryTable 1 }

    DL2FdbMacChangeHistoryEntry ::= SEQUENCE {            
        dL2FdbMacChangeHistoryIndex 	    Unsigned32,           
        dL2FdbMacChangeHistoryOp            INTEGER,
        dL2FdbMacChangeHistoryVlanID        VlanId,               
        dL2FdbMacChangeHistoryMacAddr       MacAddress,           
        dL2FdbMacChangeHistoryPortNum       Integer32
    } 
    
    dL2FdbMacChangeHistoryIndex   OBJECT-TYPE
        SYNTAX          Unsigned32 ( 1..500 )
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object is history index."
        ::= { dL2FdbMacChangeHistoryEntry 1 }
        
    dL2FdbMacChangeHistoryOp   OBJECT-TYPE
        SYNTAX          INTEGER {
            added(1),
            removed(2)
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
             "mac notify change operation
            1 - learned a new MAC address
            2 - deleted an old MAC address
            "
        ::= { dL2FdbMacChangeHistoryEntry 2 }
        
    dL2FdbMacChangeHistoryVlanID           OBJECT-TYPE
        SYNTAX          VlanId
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The VLAN ID of the entry."
        ::= { dL2FdbMacChangeHistoryEntry 3 }
        
    dL2FdbMacChangeHistoryMacAddr            OBJECT-TYPE
        SYNTAX          MacAddress 
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The MAC address of the entry."
        ::= { dL2FdbMacChangeHistoryEntry 4 }  
        
    dL2FdbMacChangeHistoryPortNum            OBJECT-TYPE
        SYNTAX          Integer32 
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The port number of the unicast address."
        ::= { dL2FdbMacChangeHistoryEntry 5 }
   
-- ----------------------------------------------------------------------------- 
    dL2FdbNotifyInfo  OBJECT IDENTIFIER ::= {  dL2FdbMIBObjects 6 } 

    dL2FdbMacChangeNotifyInfo   OBJECT-TYPE
        SYNTAX          OCTET STRING(SIZE (1..1024))
        MAX-ACCESS      accessible-for-notify
        STATUS          current
        DESCRIPTION
            "This object indicates the information for the device MAC address
            changes. And the detailed information include:
            Operation Code + MAC address + Box ID (or slot ID) + Port Number + Zero...
		
            Operation Code: 1, 2
                 1 means learned a new MAC address
                 2 means deleted an old MAC address.
            Box ID: The switch box ID, for standalone device, it always 1.
            Port Number: The hysical port/port-channellearned or deleted for
                 the box,if port-channel, the box id is invalid
            Zero: Used to separate each message(Operate Code + MAC address + 
                 Box ID + Port Number)."
        ::= { dL2FdbNotifyInfo 1 }


   
--  ***************************************************************************	
--  Notifications
--  ***************************************************************************        
     dL2FdbMacNotification NOTIFICATION-TYPE
        OBJECTS { dL2FdbMacChangeNotifyInfo }
        STATUS  current        		
        DESCRIPTION
            "This trap indicates a MAC address is added to or removed from the
            address table. "            
        ::= { dL2FdbMIBNotifications 1 }	
            
--  ***************************************************************************	
--  Conformance
--  ***************************************************************************			   		
	dL2FdbCompliances OBJECT IDENTIFIER ::= { dL2FdbMIBConformance 1 }
		
	dL2FdbCompliance MODULE-COMPLIANCE
		STATUS current
		DESCRIPTION 
			"The compliance statement for entities which implement the 
			DLINKSW-L2FDB-MIB."
		MODULE -- this module
		MANDATORY-GROUPS { 
		    dL2FdbGlobalGroup,
		    dL2FdbMacAddrTableGroup, 
		    dL2FdbInterfaceGroup,
		    dL2FdbMcastFilterModeCfgGroup		   
		}
		GROUP       dL2FdbMacChangeNotifyCfgGroup 
           DESCRIPTION 
              "This group is required only if the MAC change notification is
              implemented by the agent."
              
        GROUP       dL2FdbMacChangeNotifyGroup 
           DESCRIPTION 
              "This group is required only if the MAC change notification is
              implemented by the agent."
        GROUP       dL2FdbMacChgNotificationGroup 
           DESCRIPTION 
              "This group is required only if the MAC change notification is
              implemented by the agent."      
		::= { dL2FdbCompliances 1 }
		
	dL2FdbGroups OBJECT IDENTIFIER ::= { dL2FdbMIBConformance 2 }
		
	dL2FdbGlobalGroup OBJECT-GROUP
		OBJECTS {
		    dL2FdbClearMacAddrByMacAddr,
		    dL2FdbClearMacAddrByIf,		   
		    dL2FdbClearAllMacAddr, 
		    dL2FdbAgingTime,		   
		    dL2FdbDestHitEnabled
		}
		STATUS current
		DESCRIPTION 
			"A collection of objects providing the gloal configuration for L2FDB"
		::= { dL2FdbGroups 1 }

	dL2FdbMacAddrTableGroup OBJECT-GROUP
		OBJECTS {
		    dL2FdbStaticUnicastType,
		    dL2FdbStaticUnicastPortNum,
		    dL2FdbStaticUnicastRowStatus		   		     	   
		}
		STATUS current
		DESCRIPTION 
			"A collection of objects providing the information of MAC-Address-Table for L2FDB"
		::= { dL2FdbGroups 2 }
	        
	dL2FdbInterfaceGroup OBJECT-GROUP
		OBJECTS {		        
		        dL2FdbIfMacLearningEnabled  		        		        		        		        
		}
		STATUS current
		DESCRIPTION 
			"A collection of objects providing the information of Interface Table for L2FDB"
		::= { dL2FdbGroups 3 }	        
		
	dL2FdbMacChangeNotifyCfgGroup OBJECT-GROUP
		OBJECTS {   
		    dL2FdbMacChangeEnabled, 
            dL2FdbMacChangeNotifInterval,
            dL2FdbMacChangeNotifyEnabled,
            dL2FdbMacChangeHistorySize,
		    dL2FdbMacChangeNotifyInfo,
		    dL2FdbIfCtrlNotifyEnable
		}
		STATUS current
		DESCRIPTION 
			"A collection of objects about the information for L2FDB notification. 
			"
		::= { dL2FdbGroups 4 }
		
	dL2FdbMcastFilterModeCfgGroup OBJECT-GROUP
		OBJECTS {   
		    dL2FdbMcastFilterMode
		}
		STATUS current
		DESCRIPTION 
			"A collection of objects about the configuration for multicast
			filter mode. 
			"
		::= { dL2FdbGroups 5 }
			
    dL2FdbMacChangeNotifyGroup OBJECT-GROUP
            OBJECTS {   
            dL2FdbMacChangeHistoryOp, 
            dL2FdbMacChangeHistoryVlanID,
            dL2FdbMacChangeHistoryMacAddr,
            dL2FdbMacChangeHistoryPortNum
		}
		STATUS current
		DESCRIPTION 
			"The notifications information used for the change of 
            MAC address table. 
			"
		::= { dL2FdbGroups 6 }
		
    dL2FdbMacChgNotificationGroup NOTIFICATION-GROUP
        NOTIFICATIONS { 
           dL2FdbMacNotification
        }
        STATUS current
        DESCRIPTION
            "The collection of notifications used for monitoring the change of 
            MAC address table."
        ::= { dL2FdbGroups 7 }   
        	
END