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
|
-- *****************************************************************
-- gbnServiceMAC-NOTIFICATION-MIB.mi2: MAC Notification MIB
-- *****************************************************************
MAC-NOTIFICATION-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Counter32, NOTIFICATION-TYPE,
Unsigned32, Integer32
FROM SNMPv2-SMI
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF
TruthValue, TimeStamp, MacAddress, TEXTUAL-CONVENTION
FROM SNMPv2-TC
ifIndex
FROM IF-MIB
VlanId
FROM Q-BRIDGE-MIB
gbnServiceMACNotification
FROM ADMIN-MASTER-MIB;
macNotificationMIB MODULE-IDENTITY
LAST-UPDATED "201204080000Z"
ORGANIZATION "New admin, Inc."
CONTACT-INFO "http://www.admin.com"
DESCRIPTION
"This MIB module is for configuration of the MAC notification
feature. MAC notification is a mechanism to inform monitoring
devices when there are MAC addresses learnt or removed from
the forwarding database of the monitored devices."
REVISION "201204080000Z"
DESCRIPTION
"Initial version of this MIB module."
::= { gbnServiceMACNotification 1 }
-- Textual Conventions
Percent ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"An integer that is in the range of a percent value."
SYNTAX Integer32 (1..100)
PhysicalIndex ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"An arbitrary value that uniquely identifies the physical
entity. The value should be a small, positive integer.
Index values for different physical entities are not
necessarily contiguous."
SYNTAX Integer32 (1..2147483647)
-- MAC Notification MIB object definitions
macNotificationMIBObjects OBJECT IDENTIFIER
::= { macNotificationMIB 1 }
-- MAC Notification MIB consists of the following groups
-- [1] Mac Notification Global Group (mnGlobalObjects).
-- [2] Mac Notification Interface Group (mnInterfaceObjects).
mnGlobalObjects OBJECT IDENTIFIER
::= { macNotificationMIBObjects 1 }
mnInterfaceObjects OBJECT IDENTIFIER
::= { macNotificationMIBObjects 2 }
--**********************************************************************
-- Mac Notification Global Group
--**********************************************************************
mnGlobalFeatureEnabled OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Indicates whether the MAC notification feature is currently
running in the device.
Setting this object to false(2) disables the MAC notification
feature globally thus disabling the feature at each interface.
Setting this object to true(1) will start the MAC notification
feature running in the device. If the feature is already
running, setting to true(1) has no effect. Once the MAC
notification is enabled, whether the feature is running at each
interface is controlled by the mnIfConfigTable."
::= { mnGlobalObjects 1 }
mnNotificationInterval OBJECT-TYPE
SYNTAX Unsigned32 (0..4294967295)
UNITS "seconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object specifies the maximum interval of time between
mnMacChangedNotifications being generated by the device.
If the value of mnNotificationsEnabled is true(1), the
device will send out the generated mnMacChangedNotifications
and archive the MAC change notification events in the
mnHistoryTable. If the value of mnNotificationsEnabled is
false(2), the device will not send out the generated
mnMacChangedNotifications but it will archive these events
in the mnHistoryTable.
If the value of this object is equal to 0, the device will
generate mnMacChangedNotifications and archive the MAC
change notification events in the mnHistoryTable as soon as
there is MAC address learnt or removed by the device.
If the value of this object is greater than 0, the device will
wait for a period of time equal to the value of this object
before generate the mnMacChangedNotifications and archive
the MAC change notification events in the mnHistoryTable."
::= { mnGlobalObjects 2 }
mnMacAddressesLearnt OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the number of MAC addresses learnt by the
device."
::= { mnGlobalObjects 3 }
mnMacAddressesRemoved OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the number of MAC addresses removed from the
forwarding database."
::= { mnGlobalObjects 4 }
mnNotificationsEnabled OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Indicates whether mnMacChangedNotification notifications
will or will not be sent when there are MAC addresses
learnt or removed from the device's forwarding database.
Disabling notifications does not prevent the MAC address
info from being added to the mnHistoryTable."
DEFVAL { false }
::= { mnGlobalObjects 5 }
mnNotificationsSent OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the number of mnMacChangedNotifications sent out
by the device."
::= { mnGlobalObjects 6 }
mnHistTableMaxLength OBJECT-TYPE
SYNTAX Unsigned32 (0..500)
UNITS "entries"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The upper limit on the number of entries that the
mnHistoryTable may contain. A value of 0 will
prevent any history from being retained. When this
table is full, the oldest entry will be deleted and
a new one will be created."
DEFVAL { 1 }
::= { mnGlobalObjects 7 }
mnHistoryTable OBJECT-TYPE
SYNTAX SEQUENCE OF MnHistoryEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table will archive the MAC change notification events
generated by this device. The MAC change notification
events are archived here even if mnMacChangesNotifications
are not actually sent."
::= { mnGlobalObjects 8 }
mnHistoryEntry OBJECT-TYPE
SYNTAX MnHistoryEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A MAC change notification message that was previously
generated by this device. Each entry is indexed by a message
index."
INDEX { mnHistIndex }
::= { mnHistoryTable 1 }
MnHistoryEntry ::=
SEQUENCE {
mnHistIndex
Unsigned32,
mnHistMacChangedMsg
OCTET STRING,
mnHistTimestamp
TimeStamp
}
mnHistIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An index that uniquely identifies a MAC change notification
event previously generated by the device. This index starts at
1 and increases by one when a MAC change notification is
generated. When it reaches the maximum value, the agent wraps
the value back to 1."
::= { mnHistoryEntry 1 }
mnHistMacChangedMsg OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(1..254))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains the information of a MAC change
notification event. It consists of several tuples packed
together in the format of '<tuple1><tuple2>...'.
Each tuple consist of 11 octets in the format of
'<operation><VLAN><MAC><dot1dBasePort>' where
<operation> is of size 1 octet and supports the following values
0 - End of MIB object.
1 - MAC learnt.
2 - MAC removed.
<VLAN> is VLAN number of the VLAN which the MAC address is
belonged to and has size of 2 octet.
<MAC> is the Layer2 Mac Address and has size of 6 octets.
<dot1dBasePort> is the value of dot1dBasePort for the
interface from which the MAC address is learnt and has size
of 2 octets."
::= { mnHistoryEntry 2 }
mnHistTimestamp OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the mnMacChangedNotification
containing the information denoted by the mnHistMacChangedMsg
object in this entry was generated."
::= { mnHistoryEntry 3 }
--*********************************************************************
-- Mac Notification Interface Group
--*********************************************************************
--
-- mnIfConfigTable
--
mnIfConfigTable OBJECT-TYPE
SYNTAX SEQUENCE OF MnIfConfigEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table enables or disables the generation of notification
at each interface when MAC address is learnt or removed."
::= { mnInterfaceObjects 1 }
mnIfConfigEntry OBJECT-TYPE
SYNTAX MnIfConfigEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry contains the configuration for enabling the
MAC notification at each interface that supports this
feature."
INDEX { ifIndex }
::= { mnIfConfigTable 1 }
MnIfConfigEntry ::= SEQUENCE {
mnMacAddrLearntEnable TruthValue,
mnMacAddrRemovedEnable TruthValue
}
mnMacAddrLearntEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Indicates whether this interface is enabled to send
mnMacChangedNotification when it learns a new MAC address. This
variable has no effect when the value of mnGlobalFeatureEnabled
object is false(2).
Setting this object to true(1) enables the sending of
mnMacChangedNotification when this interface learns a
new MAC address.
Setting this object to false(2) disables the sending
of mnMacChangedNotification when this interface learns
a new MAC address."
DEFVAL { false }
::= { mnIfConfigEntry 1 }
mnMacAddrRemovedEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Indicates whether this interface is enabled to send
mnMacChangedNotification when a MAC address which it learnt
previously is removed from the forwarding table. This variable
has no effect when the value of mnGlobalFeatureEnabled object
is false(2).
Setting this object to true(1) enables the sending of
mnMacChangedNotification when a MAC address which this
interface learnt previously is removed from the forwarding
table.
Setting this object to false(2) disables the sending of
mnMacChangedNotification when a MAC address which this
interface learnt previously is removed from the forwarding
table."
DEFVAL { false }
::= { mnIfConfigEntry 2 }
--
--
-- Notification
--
mnMIBNotificationPrefix OBJECT IDENTIFIER
::= { macNotificationMIB 2 }
mnMIBNotifications
OBJECT IDENTIFIER ::= { mnMIBNotificationPrefix 0 }
mnMacChangedNotification NOTIFICATION-TYPE
OBJECTS { mnHistMacChangedMsg, mnHistTimestamp }
STATUS current
DESCRIPTION
"This notification is generated when there is enough MAC
address information to fully occupy a maximum size SNMP trap
message. This notification is also generated when there
is at least one MAC address changed or removed and the amount
of time elapsed from the previous notification is greater
than the maximum wait time denoted by
mnNotificationInterval object.
If there are more MAC addresses information than can fit into
one mmHistTrapContent object, then multiple notifications
will be generated."
::= { mnMIBNotifications 1 }
--
-- Conformance
--
mnMIBConformance OBJECT IDENTIFIER ::= { macNotificationMIB 3 }
mnMIBCompliances OBJECT IDENTIFIER
::= { mnMIBConformance 1 }
mnMIBGroups OBJECT IDENTIFIER
::= { mnMIBConformance 2 }
-- Compliance
mnMIBCompliance MODULE-COMPLIANCE
STATUS deprecated
DESCRIPTION
"The compliance statement for the MAC-NOTIFICATION-MIB."
MODULE
MANDATORY-GROUPS { mnGlobalGroup,
mnInterfaceGroup,
mnNotificationGroup }
::= { mnMIBCompliances 1 }
mnMIBComplianceVer1 MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for the MAC-NOTIFICATION-MIB."
MODULE
MANDATORY-GROUPS { mnGlobalGroup,
mnInterfaceGroup,
mnNotificationGroup
}
::= { mnMIBCompliances 2 }
--
-- Units of Conformance
--
-- Units of Conformance
--
mnGlobalGroup OBJECT-GROUP
OBJECTS {
mnGlobalFeatureEnabled,
mnNotificationInterval,
mnMacAddressesLearnt,
mnMacAddressesRemoved,
mnNotificationsEnabled,
mnHistTableMaxLength,
mnHistMacChangedMsg,
mnHistTimestamp,
mnNotificationsSent
}
STATUS current
DESCRIPTION
"A collection of objects providing the global configuration
and information for MAC notification."
::= { mnMIBGroups 1 }
mnInterfaceGroup OBJECT-GROUP
OBJECTS {
mnMacAddrLearntEnable,
mnMacAddrRemovedEnable
}
STATUS current
DESCRIPTION
"A collection of objects providing the configuration information
for MAC notification at each interface."
::= { mnMIBGroups 2 }
mnNotificationGroup NOTIFICATION-GROUP
NOTIFICATIONS { mnMacChangedNotification }
STATUS current
DESCRIPTION
"The notification generated by the MAC-NOTIFICATION-MIB."
::= { mnMIBGroups 3 }
END
|