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
|
-- *****************************************************************
-- DLINKSW-CPU-PROTECT-MIB.mib : CPU Protection MIB
--
-- Copyright (c) 2012 D-Link Corporation, all rights reserved.
--
-- *****************************************************************
DLINKSW-CPU-PROTECT-MIB DEFINITIONS ::= BEGIN
IMPORTS
OBJECT-GROUP, MODULE-COMPLIANCE
FROM SNMPv2-CONF
Integer32, Counter64, OBJECT-TYPE, MODULE-IDENTITY
FROM SNMPv2-SMI
TEXTUAL-CONVENTION
FROM SNMPv2-TC
dlinkIndustrialCommon
FROM DLINK-ID-REC-MIB;
dlinkSwCpuProtectMIB MODULE-IDENTITY
LAST-UPDATED "201208080000Z"
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
"The MIB module for managing CPU protection."
REVISION "201208080000Z"
DESCRIPTION
"Initial version of this MIB module."
::= { dlinkIndustrialCommon 19 }
--
-- Textual conventions
--
CpuProtectProtocolType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Represents a protocol type.
Note that a particular agent may support only certain protocol
types. Thus, the valid values of this object are project
dependent.
An agent may respond with an error (e.g., 'inconsistentValue ')
to a management SET operation which attempts to modify
the value to one which is not supported by the managed device.
arp(1) indicates IP Address Resolution Protocol (ARP).
bgp(2) indicates Border Gateway Protocol.
dhcp(3) indicates Dynamic Host Configuration Protocol.
dhcpv6(4) indicates Dynamic Host Configuration Protocol for IPv6.
dns(5) indicates Domain Name Services.
dot1x(6) indicates IEEE 802.1X (Port Based Network Access Control).
dvmrp(7) indicates Distance Vector Multicast Routing Protocol.
gvrp(8) indicates GARP VLAN Registration Protocol.
icmp(9) indicates IPv4 Internet Control Message Protocol.
icmpv6Ndp(10) indicates IPv6 ICMP Neighbor Discover Protocol (NS/NA/RS/RA).
icmpv6Other(11) indicates IPv6 ICMP except NDP NS/NA/RS/RA.
igmp(12) indicates Internet Group Management Protocol.
lacp(13), indicates Link Aggregation Control Protocol.
ntp(14), indicates Network Time Protocol.
ospf(15), indicates Open Shortest Path First.
ospfv3(16), indicates OSPF for IPv6.
pim(17), indicates Protocol Independent Multicast.
pppoe(18), indicates Point-to-Point Protocol over Ethernet.
rip(19), indicates Routing Information Protocol.
ripng(20), indicates Routing Information Protocol for IPv6.
snmp(21), indicates Simple Network Management Protocol.
ssh(22), indicates Secured shell.
stp(23), indicates Spanning Tree Protocol (IEEE 802.1D).
telnet(24), indicates Telnet.
tftp(25), indicates Trivial File Transfer Protocol.
vrrp(26), indicates Virtual Router Redundancy Protocol.
web(27) indicates HTTP and HTTPS.
"
SYNTAX INTEGER
{
arp(1),
bgp(2),
dhcp(3),
dhcpv6(4),
dns(5),
dot1x(6),
dvmrp(7),
gvrp(8),
icmp(9),
icmpv6Ndp(10),
icmpv6Other(11),
igmp(12),
lacp(13),
ntp(14),
ospf(15),
ospfv3(16),
pim(17),
pppoe(18),
rip(19),
ripng(20),
snmp(21),
ssh(22),
stp(23),
telnet(24),
tftp(25),
vrrp(26),
web(27)
}
MaxRate ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The range for configuring rate-limit in packet per second (pps).
Note that a particular agent may support different rate range.
Thus, the valid values are project dependent.
An agent may respond with an error (e.g., 'inconsistentValue ')
to a management SET operation which attempts to modify
the value to one which is not supported by the managed device.
The value -1 has a special meaning. When this object is
set to -1, there is no rate-limit of the entry."
SYNTAX Integer32 (-1 | 0..65535)
UnitID ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This object indicates the slot (for a chassis device) or
unit number (for stacking device).
For a standalone device, 0 is used for UnitID.
Note that a particular agent may support different range
of unit/slot ID.
Thus, the valid values are project dependent.
An agent may respond with an error (e.g., 'inconsistentValue ')
to a management SET operation which attempts to modify
the value to one which is not supported by the managed device.
"
SYNTAX Integer32 (0 | 1..64)
--
-- Node definitions
--
dCpuProtectMIBNotifications OBJECT IDENTIFIER ::= { dlinkSwCpuProtectMIB 0 }
dCpuProtectMIBObjects OBJECT IDENTIFIER ::= { dlinkSwCpuProtectMIB 1 }
dCpuProtectMIBConformance OBJECT IDENTIFIER ::= { dlinkSwCpuProtectMIB 2 }
dCpuProtectMIBObjectsCtrl OBJECT IDENTIFIER ::= { dCpuProtectMIBObjects 2 }
-- ***************************************************************************
-- dCpuProtectProtoRateLimitTable
-- ***************************************************************************
dCpuProtectProtoRateLimitTable OBJECT-TYPE
SYNTAX SEQUENCE OF DCpuProtectProtoRateLimitEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The object configure the rate-limit of traffic destined to CPU
based on protocol type."
::= { dCpuProtectMIBObjectsCtrl 1 }
dCpuProtectProtoRateLimitEntry OBJECT-TYPE
SYNTAX DCpuProtectProtoRateLimitEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The object configures rate-limit control based on a specific
protocol type."
INDEX { dCpuProtectProtoRLType }
::= { dCpuProtectProtoRateLimitTable 1 }
DCpuProtectProtoRateLimitEntry ::=
SEQUENCE {
dCpuProtectProtoRLType CpuProtectProtocolType,
dCpuProtectProtoRLRate MaxRate,
dCpuProtectProtoRLClearCounter INTEGER
}
dCpuProtectProtoRLType OBJECT-TYPE
SYNTAX CpuProtectProtocolType
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object indicates the protocol type."
::= { dCpuProtectProtoRateLimitEntry 1 }
dCpuProtectProtoRLRate OBJECT-TYPE
SYNTAX MaxRate
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object indicates the rate-limit of the specific
protocol type.
The value of -1 has the special meaning of identifying
that there is no rate-limit of the specific protocol type."
DEFVAL { -1 }
::= { dCpuProtectProtoRateLimitEntry 2 }
dCpuProtectProtoRLClearCounter OBJECT-TYPE
SYNTAX INTEGER
{ clear(1),
noOp(2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object is used to reset the counter of the specific
protocol type when set to 'clear'.
No action is taken if this object is set to 'noOp'.
When read, the value 'noOp' is returned."
DEFVAL { noOp }
::= { dCpuProtectProtoRateLimitEntry 3 }
-- ***************************************************************************
-- dCpuProtectSubIntfRLTable
-- ***************************************************************************
dCpuProtectSubIntfRLTable OBJECT-TYPE
SYNTAX SEQUENCE OF DCpuProtectSubIntfRLEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table consists of the rate-limit information of the
sub-interface."
::= { dCpuProtectMIBObjectsCtrl 2 }
dCpuProtectSubIntfRLEntry OBJECT-TYPE
SYNTAX DCpuProtectSubIntfRLEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The object configure rate-limit control based on a specific
sub-interface."
INDEX { dCpuProtectSubIntfRLType }
::= { dCpuProtectSubIntfRLTable 1 }
DCpuProtectSubIntfRLEntry ::=
SEQUENCE {
dCpuProtectSubIntfRLType INTEGER,
dCpuProtectSubIntfRLRate MaxRate,
dCpuProtectSubIntfRLClearCounter INTEGER
}
dCpuProtectSubIntfRLType OBJECT-TYPE
SYNTAX INTEGER
{ manage(1),
protocol(2),
route(3)
}
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object indicates the type of sub-interface."
::= { dCpuProtectSubIntfRLEntry 1 }
dCpuProtectSubIntfRLRate OBJECT-TYPE
SYNTAX MaxRate
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object indicates the rate-limit of the specific
sub-interface.
The value of -1 has the special meaning of identifying
that there is no rate-limit of the specific sub-interface."
DEFVAL { -1 }
::= { dCpuProtectSubIntfRLEntry 2 }
dCpuProtectSubIntfRLClearCounter OBJECT-TYPE
SYNTAX INTEGER
{ clear(1),
noOp(2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object is used to reset the counter of the specific
sub-interface when set to 'clear'.
No action is taken if this object is set to 'noOp'.
When read, the value 'noOp' is returned."
DEFVAL { noOp }
::= { dCpuProtectSubIntfRLEntry 3 }
dCpuProtectMIBObjectsCounters OBJECT IDENTIFIER
::= { dCpuProtectMIBObjects 3 }
-- ***************************************************************************
-- dCpuProtectProtoRLCntTable
-- ***************************************************************************
dCpuProtectProtoRLCntTable OBJECT-TYPE
SYNTAX SEQUENCE OF DCpuProtectProtoRLCntEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table consists of the traffic statistics by protocol type."
::= { dCpuProtectMIBObjectsCounters 1 }
dCpuProtectProtoRLCntEntry OBJECT-TYPE
SYNTAX DCpuProtectProtoRLCntEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The per unit/slot traffic statistics about a protocol type.
Objects in this table are read-only and appear
automatically whenever the value of dCpuProtectProtoRLRate of a row
in the dCpuProtectProtoRateLimitTable is not -1 (no-limit)."
INDEX { dCpuProtectProtoRLCntType, dCpuProtectProtoRLCntUnitID }
::= { dCpuProtectProtoRLCntTable 1 }
DCpuProtectProtoRLCntEntry ::=
SEQUENCE {
dCpuProtectProtoRLCntType CpuProtectProtocolType,
dCpuProtectProtoRLCntUnitID UnitID,
dCpuProtectProtoRLCntTotalCnt Counter64,
dCpuProtectProtoRLCntDropCnt Counter64
}
dCpuProtectProtoRLCntType OBJECT-TYPE
SYNTAX CpuProtectProtocolType
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object indicates the Protocol type."
::= { dCpuProtectProtoRLCntEntry 1 }
dCpuProtectProtoRLCntUnitID OBJECT-TYPE
SYNTAX UnitID
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object indicates the unit/slot ID (for a chassis device)
or unit number (for stacking device). For a standalone device,
0 is used for UnitID."
::= { dCpuProtectProtoRLCntEntry 2 }
dCpuProtectProtoRLCntTotalCnt OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the counter which counts the packets
received by CPU (per unit/slot) for the protocol type."
::= { dCpuProtectProtoRLCntEntry 3 }
dCpuProtectProtoRLCntDropCnt OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the counter which counts the dropped
packets due to exceeding the configured rate-limit."
::= { dCpuProtectProtoRLCntEntry 4 }
-- ***************************************************************************
-- dCpuProtectSubIntfRLCounterTable
-- ***************************************************************************
dCpuProtectSubIntfRLCounterTable OBJECT-TYPE
SYNTAX SEQUENCE OF DCpuProtectSubIntfRLCounterEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table consists of the traffic statistics by sub-interface."
::= { dCpuProtectMIBObjectsCounters 2 }
dCpuProtectSubIntfRLCounterEntry OBJECT-TYPE
SYNTAX DCpuProtectSubIntfRLCounterEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The per unit traffic statistics about a sub-interface.
Objects in this table are read-only and appear
automatically whenever the value of dCpuProtectSubIntfRLRate of a row
in the dCpuProtectSubIntfRLTable is not -1 (no-limit)."
INDEX { dCpuProtectSubIntfRLCntType, dCpuProtectSubIntfRLCntUnitID }
::= { dCpuProtectSubIntfRLCounterTable 1 }
DCpuProtectSubIntfRLCounterEntry ::=
SEQUENCE {
dCpuProtectSubIntfRLCntType INTEGER,
dCpuProtectSubIntfRLCntUnitID UnitID,
dCpuProtectSubIntfRLCntTotalCnt Counter64,
dCpuProtectSubIntfRLCntDropCnt Counter64
}
dCpuProtectSubIntfRLCntType OBJECT-TYPE
SYNTAX INTEGER
{ manage(1),
protocol(2),
route(3)
}
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object indicates the type of sub-interface."
::= { dCpuProtectSubIntfRLCounterEntry 1 }
dCpuProtectSubIntfRLCntUnitID OBJECT-TYPE
SYNTAX UnitID
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object indicates the slot (for a chassis device) or
unit number (for stacking device). For a standalone device,
0 is used for UnitID."
::= { dCpuProtectSubIntfRLCounterEntry 2 }
dCpuProtectSubIntfRLCntTotalCnt OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the counter which counts the packets
received by CPU (per unit/slot) for the subinterface."
::= { dCpuProtectSubIntfRLCounterEntry 3 }
dCpuProtectSubIntfRLCntDropCnt OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the counter which counts the dropped
packets due to exceeding the configured rate-limit."
::= { dCpuProtectSubIntfRLCounterEntry 4 }
-- ***************************************************************************
-- Conformance
-- ***************************************************************************
dCpuProtectMIBCompliances OBJECT IDENTIFIER ::= { dCpuProtectMIBConformance 1 }
dCpuProtectMIBCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for entities which implement the
DLINKSW-CPU-PROTECT-MIB."
MODULE -- this module
MANDATORY-GROUPS { dCpuProtectProtoGroup }
GROUP dCpuProtectSubIntfGroup
DESCRIPTION
"This group is required only if the agent implements
the rate-limit for traffic destined to CPU by sub-interface type."
::= { dCpuProtectMIBCompliances 1 }
dCpuProtectMIBGroups OBJECT IDENTIFIER ::= { dCpuProtectMIBConformance 2 }
dCpuProtectProtoGroup OBJECT-GROUP
OBJECTS
{ dCpuProtectProtoRLRate,
dCpuProtectProtoRLClearCounter,
dCpuProtectProtoRLCntTotalCnt,
dCpuProtectProtoRLCntDropCnt
}
STATUS current
DESCRIPTION
"A collection of objects providing the configuration or
statistics about the rate-limit of traffic destined to
CPU by protocol type."
::= { dCpuProtectMIBGroups 1 }
dCpuProtectSubIntfGroup OBJECT-GROUP
OBJECTS
{ dCpuProtectSubIntfRLRate,
dCpuProtectSubIntfRLClearCounter,
dCpuProtectSubIntfRLCntTotalCnt,
dCpuProtectSubIntfRLCntDropCnt
}
STATUS current
DESCRIPTION
"A collection of objects providing the configuration or
statistics about the rate-limit of traffic destined to
CPU by sub-interface type."
::= { dCpuProtectMIBGroups 2 }
END
|