telemetry-snmp 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/rspec.yml +44 -0
  3. data/.github/workflows/rubocop.yml +28 -0
  4. data/.github/workflows/sourcehawk-scan.yml +20 -0
  5. data/.gitignore +14 -0
  6. data/.rspec +4 -0
  7. data/.rubocop.yml +26 -0
  8. data/CHANGELOG.md +4 -0
  9. data/CODE_OF_CONDUCT.md +75 -0
  10. data/CONTRIBUTING.md +54 -0
  11. data/Gemfile +10 -0
  12. data/INDIVIDUAL_CONTRIBUTOR_LICENSE.md +30 -0
  13. data/LICENSE +201 -0
  14. data/NOTICE.txt +9 -0
  15. data/README.md +54 -0
  16. data/attribution.txt +1 -0
  17. data/config.ru +15 -0
  18. data/exe/snmp_collector +55 -0
  19. data/lib/telemetry/snmp.rb +23 -0
  20. data/lib/telemetry/snmp/api.rb +55 -0
  21. data/lib/telemetry/snmp/auth.rb +54 -0
  22. data/lib/telemetry/snmp/auth/defaults.rb +41 -0
  23. data/lib/telemetry/snmp/client.rb +104 -0
  24. data/lib/telemetry/snmp/controllers/device_creds.rb +105 -0
  25. data/lib/telemetry/snmp/controllers/devices.rb +94 -0
  26. data/lib/telemetry/snmp/controllers/oid_groups.rb +71 -0
  27. data/lib/telemetry/snmp/controllers/oids.rb +80 -0
  28. data/lib/telemetry/snmp/controllers/users.rb +81 -0
  29. data/lib/telemetry/snmp/controllers/walks.rb +89 -0
  30. data/lib/telemetry/snmp/data.rb +69 -0
  31. data/lib/telemetry/snmp/data/default_opts.rb +73 -0
  32. data/lib/telemetry/snmp/data/migrations/001_device_creds.rb +19 -0
  33. data/lib/telemetry/snmp/data/migrations/002_create_devices_table.rb +31 -0
  34. data/lib/telemetry/snmp/data/migrations/003_create_oids_tables.rb +16 -0
  35. data/lib/telemetry/snmp/data/migrations/004_create_oid_groups.rb +15 -0
  36. data/lib/telemetry/snmp/data/migrations/005_create_oids_oid_groups.rb +17 -0
  37. data/lib/telemetry/snmp/data/migrations/006_device_to_oid_group.rb +15 -0
  38. data/lib/telemetry/snmp/data/migrations/007_create_users.rb +20 -0
  39. data/lib/telemetry/snmp/data/migrations/008_create_walks_table.rb +14 -0
  40. data/lib/telemetry/snmp/data/migrations/009_create_tag_name_column.rb +7 -0
  41. data/lib/telemetry/snmp/data/migrations/010_create_user_audit_table.rb +18 -0
  42. data/lib/telemetry/snmp/data/models/device.rb +11 -0
  43. data/lib/telemetry/snmp/data/models/device_cred.rb +11 -0
  44. data/lib/telemetry/snmp/data/models/oid.rb +10 -0
  45. data/lib/telemetry/snmp/data/models/oid_group.rb +10 -0
  46. data/lib/telemetry/snmp/data/models/oid_oid_groups.rb +10 -0
  47. data/lib/telemetry/snmp/data/models/oid_walk.rb +10 -0
  48. data/lib/telemetry/snmp/data/models/user.rb +10 -0
  49. data/lib/telemetry/snmp/data/models/user_audit_log.rb +19 -0
  50. data/lib/telemetry/snmp/mibs/AGENTX-MIB.txt +527 -0
  51. data/lib/telemetry/snmp/mibs/AIRPORT-BASESTATION-3-MIB.txt +461 -0
  52. data/lib/telemetry/snmp/mibs/BRIDGE-MIB.txt +1472 -0
  53. data/lib/telemetry/snmp/mibs/DISMAN-EVENT-MIB.txt +1882 -0
  54. data/lib/telemetry/snmp/mibs/DISMAN-SCHEDULE-MIB.txt +699 -0
  55. data/lib/telemetry/snmp/mibs/DISMAN-SCRIPT-MIB.txt +1764 -0
  56. data/lib/telemetry/snmp/mibs/EtherLike-MIB.txt +1862 -0
  57. data/lib/telemetry/snmp/mibs/HCNUM-TC.txt +118 -0
  58. data/lib/telemetry/snmp/mibs/HOST-RESOURCES-MIB.txt +1540 -0
  59. data/lib/telemetry/snmp/mibs/HOST-RESOURCES-TYPES.txt +389 -0
  60. data/lib/telemetry/snmp/mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt +123 -0
  61. data/lib/telemetry/snmp/mibs/IANA-LANGUAGE-MIB.txt +123 -0
  62. data/lib/telemetry/snmp/mibs/IANA-RTPROTO-MIB.txt +91 -0
  63. data/lib/telemetry/snmp/mibs/IANAifType-MIB.txt +619 -0
  64. data/lib/telemetry/snmp/mibs/IF-INVERTED-STACK-MIB.txt +149 -0
  65. data/lib/telemetry/snmp/mibs/IF-MIB.txt +1814 -0
  66. data/lib/telemetry/snmp/mibs/INET-ADDRESS-MIB.txt +402 -0
  67. data/lib/telemetry/snmp/mibs/IP-FORWARD-MIB.txt +1277 -0
  68. data/lib/telemetry/snmp/mibs/IP-MIB.txt +4993 -0
  69. data/lib/telemetry/snmp/mibs/IPV6-FLOW-LABEL-MIB.txt +58 -0
  70. data/lib/telemetry/snmp/mibs/IPV6-ICMP-MIB.txt +529 -0
  71. data/lib/telemetry/snmp/mibs/IPV6-MIB.txt +1443 -0
  72. data/lib/telemetry/snmp/mibs/IPV6-TC.txt +67 -0
  73. data/lib/telemetry/snmp/mibs/IPV6-TCP-MIB.txt +211 -0
  74. data/lib/telemetry/snmp/mibs/IPV6-UDP-MIB.txt +141 -0
  75. data/lib/telemetry/snmp/mibs/NET-SNMP-AGENT-MIB.txt +554 -0
  76. data/lib/telemetry/snmp/mibs/NET-SNMP-EXAMPLES-MIB.txt +285 -0
  77. data/lib/telemetry/snmp/mibs/NET-SNMP-EXTEND-MIB.txt +325 -0
  78. data/lib/telemetry/snmp/mibs/NET-SNMP-MIB.txt +67 -0
  79. data/lib/telemetry/snmp/mibs/NET-SNMP-PASS-MIB.txt +124 -0
  80. data/lib/telemetry/snmp/mibs/NET-SNMP-TC.txt +128 -0
  81. data/lib/telemetry/snmp/mibs/NET-SNMP-VACM-MIB.txt +154 -0
  82. data/lib/telemetry/snmp/mibs/NOTIFICATION-LOG-MIB.txt +753 -0
  83. data/lib/telemetry/snmp/mibs/PAN-COMMON-MIB.md5 +1 -0
  84. data/lib/telemetry/snmp/mibs/PAN-COMMON-MIB.my +2293 -0
  85. data/lib/telemetry/snmp/mibs/PAN-ENTITY-EXT-MIB.md5 +1 -0
  86. data/lib/telemetry/snmp/mibs/PAN-ENTITY-EXT-MIB.my +293 -0
  87. data/lib/telemetry/snmp/mibs/PAN-GLOBAL-REG-MIB.md5 +1 -0
  88. data/lib/telemetry/snmp/mibs/PAN-GLOBAL-REG-MIB.my +84 -0
  89. data/lib/telemetry/snmp/mibs/PAN-GLOBAL-TC-MIB.md5 +1 -0
  90. data/lib/telemetry/snmp/mibs/PAN-GLOBAL-TC-MIB.my +68 -0
  91. data/lib/telemetry/snmp/mibs/PAN-LC-MIB.md5 +1 -0
  92. data/lib/telemetry/snmp/mibs/PAN-LC-MIB.my +204 -0
  93. data/lib/telemetry/snmp/mibs/PAN-PRODUCT-MIB.md5 +1 -0
  94. data/lib/telemetry/snmp/mibs/PAN-PRODUCT-MIB.my +305 -0
  95. data/lib/telemetry/snmp/mibs/PAN-TRAPS.md5 +1 -0
  96. data/lib/telemetry/snmp/mibs/PAN-TRAPS.my +7809 -0
  97. data/lib/telemetry/snmp/mibs/RFC-1215.txt +38 -0
  98. data/lib/telemetry/snmp/mibs/RFC1155-SMI.txt +119 -0
  99. data/lib/telemetry/snmp/mibs/RFC1213-MIB.txt +2613 -0
  100. data/lib/telemetry/snmp/mibs/RMON-MIB.txt +3980 -0
  101. data/lib/telemetry/snmp/mibs/SCTP-MIB.txt +1342 -0
  102. data/lib/telemetry/snmp/mibs/SMUX-MIB.txt +160 -0
  103. data/lib/telemetry/snmp/mibs/SNMP-COMMUNITY-MIB.txt +429 -0
  104. data/lib/telemetry/snmp/mibs/SNMP-FRAMEWORK-MIB.txt +526 -0
  105. data/lib/telemetry/snmp/mibs/SNMP-MPD-MIB.txt +145 -0
  106. data/lib/telemetry/snmp/mibs/SNMP-NOTIFICATION-MIB.txt +589 -0
  107. data/lib/telemetry/snmp/mibs/SNMP-PROXY-MIB.txt +294 -0
  108. data/lib/telemetry/snmp/mibs/SNMP-TARGET-MIB.txt +660 -0
  109. data/lib/telemetry/snmp/mibs/SNMP-USER-BASED-SM-MIB.txt +912 -0
  110. data/lib/telemetry/snmp/mibs/SNMP-USM-AES-MIB.txt +62 -0
  111. data/lib/telemetry/snmp/mibs/SNMP-USM-DH-OBJECTS-MIB.txt +532 -0
  112. data/lib/telemetry/snmp/mibs/SNMP-VIEW-BASED-ACM-MIB.txt +830 -0
  113. data/lib/telemetry/snmp/mibs/SNMPv2-CONF.txt +322 -0
  114. data/lib/telemetry/snmp/mibs/SNMPv2-MIB.txt +854 -0
  115. data/lib/telemetry/snmp/mibs/SNMPv2-SMI.txt +344 -0
  116. data/lib/telemetry/snmp/mibs/SNMPv2-TC.txt +772 -0
  117. data/lib/telemetry/snmp/mibs/SNMPv2-TM.txt +176 -0
  118. data/lib/telemetry/snmp/mibs/TCP-MIB.txt +785 -0
  119. data/lib/telemetry/snmp/mibs/TRANSPORT-ADDRESS-MIB.txt +421 -0
  120. data/lib/telemetry/snmp/mibs/TUNNEL-MIB.txt +738 -0
  121. data/lib/telemetry/snmp/mibs/UCD-DEMO-MIB.txt +74 -0
  122. data/lib/telemetry/snmp/mibs/UCD-DISKIO-MIB.txt +171 -0
  123. data/lib/telemetry/snmp/mibs/UCD-DLMOD-MIB.txt +124 -0
  124. data/lib/telemetry/snmp/mibs/UCD-IPFWACC-MIB.txt +327 -0
  125. data/lib/telemetry/snmp/mibs/UCD-SNMP-MIB.txt +1712 -0
  126. data/lib/telemetry/snmp/mibs/UDP-MIB.txt +549 -0
  127. data/lib/telemetry/snmp/publisher.rb +130 -0
  128. data/lib/telemetry/snmp/version.rb +7 -0
  129. data/sourcehawk.yml +4 -0
  130. data/telemetry-snmp.gemspec +48 -0
  131. metadata +456 -0
@@ -0,0 +1,1443 @@
1
+ IPV6-MIB DEFINITIONS ::= BEGIN
2
+
3
+ IMPORTS
4
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
5
+ mib-2, Counter32, Unsigned32, Integer32,
6
+ Gauge32 FROM SNMPv2-SMI
7
+ DisplayString, PhysAddress, TruthValue, TimeStamp,
8
+ VariablePointer, RowPointer FROM SNMPv2-TC
9
+ MODULE-COMPLIANCE, OBJECT-GROUP,
10
+ NOTIFICATION-GROUP FROM SNMPv2-CONF
11
+ Ipv6IfIndex, Ipv6Address, Ipv6AddressPrefix,
12
+ Ipv6AddressIfIdentifier,
13
+ Ipv6IfIndexOrZero FROM IPV6-TC;
14
+
15
+ ipv6MIB MODULE-IDENTITY
16
+ LAST-UPDATED "9802052155Z"
17
+ ORGANIZATION "IETF IPv6 Working Group"
18
+ CONTACT-INFO
19
+ " Dimitry Haskin
20
+
21
+ Postal: Bay Networks, Inc.
22
+ 660 Techology Park Drive.
23
+ Billerica, MA 01821
24
+
25
+ US
26
+
27
+ Tel: +1-978-916-8124
28
+ E-mail: dhaskin@baynetworks.com
29
+
30
+ Steve Onishi
31
+
32
+ Postal: Bay Networks, Inc.
33
+ 3 Federal Street
34
+ Billerica, MA 01821
35
+ US
36
+
37
+ Tel: +1-978-916-3816
38
+ E-mail: sonishi@baynetworks.com"
39
+ DESCRIPTION
40
+ "The MIB module for entities implementing the IPv6
41
+ protocol."
42
+ ::= { mib-2 55 }
43
+
44
+ -- the IPv6 general group
45
+
46
+ ipv6MIBObjects OBJECT IDENTIFIER ::= { ipv6MIB 1 }
47
+
48
+ ipv6Forwarding OBJECT-TYPE
49
+ SYNTAX INTEGER {
50
+ forwarding(1), -- acting as a router
51
+
52
+ -- NOT acting as
53
+ notForwarding(2) -- a router
54
+ }
55
+ MAX-ACCESS read-write
56
+ STATUS current
57
+ DESCRIPTION
58
+ "The indication of whether this entity is acting
59
+ as an IPv6 router in respect to the forwarding of
60
+ datagrams received by, but not addressed to, this
61
+ entity. IPv6 routers forward datagrams. IPv6
62
+ hosts do not (except those source-routed via the
63
+ host).
64
+
65
+ Note that for some managed nodes, this object may
66
+ take on only a subset of the values possible.
67
+ Accordingly, it is appropriate for an agent to
68
+ return a `wrongValue' response if a management
69
+ station attempts to change this object to an
70
+ inappropriate value."
71
+ ::= { ipv6MIBObjects 1 }
72
+
73
+ ipv6DefaultHopLimit OBJECT-TYPE
74
+ SYNTAX INTEGER(0..255)
75
+ MAX-ACCESS read-write
76
+ STATUS current
77
+ DESCRIPTION
78
+ "The default value inserted into the Hop Limit
79
+ field of the IPv6 header of datagrams originated
80
+ at this entity, whenever a Hop Limit value is not
81
+ supplied by the transport layer protocol."
82
+ DEFVAL { 64 }
83
+ ::= { ipv6MIBObjects 2 }
84
+
85
+ ipv6Interfaces OBJECT-TYPE
86
+ SYNTAX Unsigned32
87
+ MAX-ACCESS read-only
88
+ STATUS current
89
+ DESCRIPTION
90
+ "The number of IPv6 interfaces (regardless of
91
+ their current state) present on this system."
92
+ ::= { ipv6MIBObjects 3 }
93
+
94
+ ipv6IfTableLastChange OBJECT-TYPE
95
+ SYNTAX TimeStamp
96
+ MAX-ACCESS read-only
97
+ STATUS current
98
+ DESCRIPTION
99
+ "The value of sysUpTime at the time of the last
100
+ insertion or removal of an entry in the
101
+ ipv6IfTable. If the number of entries has been
102
+ unchanged since the last re-initialization of
103
+ the local network management subsystem, then this
104
+ object contains a zero value."
105
+ ::= { ipv6MIBObjects 4 }
106
+
107
+ -- the IPv6 Interfaces table
108
+
109
+ ipv6IfTable OBJECT-TYPE
110
+ SYNTAX SEQUENCE OF Ipv6IfEntry
111
+ MAX-ACCESS not-accessible
112
+ STATUS current
113
+ DESCRIPTION
114
+ "The IPv6 Interfaces table contains information
115
+ on the entity's internetwork-layer interfaces.
116
+ An IPv6 interface constitutes a logical network
117
+ layer attachment to the layer immediately below
118
+
119
+ IPv6 including internet layer 'tunnels', such as
120
+ tunnels over IPv4 or IPv6 itself."
121
+ ::= { ipv6MIBObjects 5 }
122
+
123
+ ipv6IfEntry OBJECT-TYPE
124
+ SYNTAX Ipv6IfEntry
125
+ MAX-ACCESS not-accessible
126
+ STATUS current
127
+ DESCRIPTION
128
+ "An interface entry containing objects
129
+ about a particular IPv6 interface."
130
+ INDEX { ipv6IfIndex }
131
+ ::= { ipv6IfTable 1 }
132
+
133
+ Ipv6IfEntry ::= SEQUENCE {
134
+ ipv6IfIndex Ipv6IfIndex,
135
+ ipv6IfDescr DisplayString,
136
+ ipv6IfLowerLayer VariablePointer,
137
+ ipv6IfEffectiveMtu Unsigned32,
138
+ ipv6IfReasmMaxSize Unsigned32,
139
+ ipv6IfIdentifier Ipv6AddressIfIdentifier,
140
+ ipv6IfIdentifierLength INTEGER,
141
+ ipv6IfPhysicalAddress PhysAddress,
142
+ ipv6IfAdminStatus INTEGER,
143
+ ipv6IfOperStatus INTEGER,
144
+ ipv6IfLastChange TimeStamp
145
+ }
146
+
147
+ ipv6IfIndex OBJECT-TYPE
148
+ SYNTAX Ipv6IfIndex
149
+ MAX-ACCESS not-accessible
150
+ STATUS current
151
+ DESCRIPTION
152
+ "A unique non-zero value identifying
153
+ the particular IPv6 interface."
154
+ ::= { ipv6IfEntry 1 }
155
+
156
+ ipv6IfDescr OBJECT-TYPE
157
+ SYNTAX DisplayString
158
+ MAX-ACCESS read-write
159
+ STATUS current
160
+ DESCRIPTION
161
+ "A textual string containing information about the
162
+ interface. This string may be set by the network
163
+ management system."
164
+ ::= { ipv6IfEntry 2 }
165
+
166
+ ipv6IfLowerLayer OBJECT-TYPE
167
+ SYNTAX VariablePointer
168
+ MAX-ACCESS read-only
169
+ STATUS current
170
+ DESCRIPTION
171
+ "This object identifies the protocol layer over
172
+ which this network interface operates. If this
173
+ network interface operates over the data-link
174
+ layer, then the value of this object refers to an
175
+ instance of ifIndex [6]. If this network interface
176
+ operates over an IPv4 interface, the value of this
177
+ object refers to an instance of ipAdEntAddr [3].
178
+
179
+ If this network interface operates over another
180
+ IPv6 interface, the value of this object refers to
181
+ an instance of ipv6IfIndex. If this network
182
+ interface is not currently operating over an active
183
+ protocol layer, then the value of this object
184
+ should be set to the OBJECT ID { 0 0 }."
185
+ ::= { ipv6IfEntry 3 }
186
+
187
+ ipv6IfEffectiveMtu OBJECT-TYPE
188
+ SYNTAX Unsigned32
189
+ UNITS "octets"
190
+ MAX-ACCESS read-only
191
+ STATUS current
192
+ DESCRIPTION
193
+ "The size of the largest IPv6 packet which can be
194
+ sent/received on the interface, specified in
195
+ octets."
196
+ ::= { ipv6IfEntry 4 }
197
+
198
+ ipv6IfReasmMaxSize OBJECT-TYPE
199
+ SYNTAX Unsigned32 (0..65535)
200
+ UNITS "octets"
201
+ MAX-ACCESS read-only
202
+ STATUS current
203
+ DESCRIPTION
204
+ "The size of the largest IPv6 datagram which this
205
+ entity can re-assemble from incoming IPv6 fragmented
206
+ datagrams received on this interface."
207
+ ::= { ipv6IfEntry 5 }
208
+
209
+ ipv6IfIdentifier OBJECT-TYPE
210
+ SYNTAX Ipv6AddressIfIdentifier
211
+ MAX-ACCESS read-write
212
+ STATUS current
213
+ DESCRIPTION
214
+ "The Interface Identifier for this interface that
215
+
216
+ is (at least) unique on the link this interface is
217
+ attached to. The Interface Identifier is combined
218
+ with an address prefix to form an interface address.
219
+
220
+ By default, the Interface Identifier is autoconfigured
221
+ according to the rules of the link type this
222
+ interface is attached to."
223
+ ::= { ipv6IfEntry 6 }
224
+
225
+ ipv6IfIdentifierLength OBJECT-TYPE
226
+ SYNTAX INTEGER (0..64)
227
+ UNITS "bits"
228
+ MAX-ACCESS read-write
229
+ STATUS current
230
+ DESCRIPTION
231
+ "The length of the Interface Identifier in bits."
232
+ ::= { ipv6IfEntry 7 }
233
+
234
+ ipv6IfPhysicalAddress OBJECT-TYPE
235
+ SYNTAX PhysAddress
236
+ MAX-ACCESS read-only
237
+ STATUS current
238
+ DESCRIPTION
239
+ "The interface's physical address. For example, for
240
+ an IPv6 interface attached to an 802.x link, this
241
+ object normally contains a MAC address. Note that
242
+ in some cases this address may differ from the
243
+ address of the interface's protocol sub-layer. The
244
+ interface's media-specific MIB must define the bit
245
+ and byte ordering and the format of the value of
246
+ this object. For interfaces which do not have such
247
+ an address (e.g., a serial line), this object should
248
+ contain an octet string of zero length."
249
+ ::= { ipv6IfEntry 8 }
250
+
251
+ ipv6IfAdminStatus OBJECT-TYPE
252
+ SYNTAX INTEGER {
253
+ up(1), -- ready to pass packets
254
+ down(2)
255
+ }
256
+ MAX-ACCESS read-write
257
+ STATUS current
258
+ DESCRIPTION
259
+ "The desired state of the interface. When a managed
260
+ system initializes, all IPv6 interfaces start with
261
+ ipv6IfAdminStatus in the down(2) state. As a result
262
+ of either explicit management action or per
263
+ configuration information retained by the managed
264
+
265
+ system, ipv6IfAdminStatus is then changed to
266
+ the up(1) state (or remains in the down(2) state)."
267
+ ::= { ipv6IfEntry 9 }
268
+
269
+ ipv6IfOperStatus OBJECT-TYPE
270
+ SYNTAX INTEGER {
271
+ up(1), -- ready to pass packets
272
+
273
+ down(2),
274
+ noIfIdentifier(3), -- no interface identifier
275
+
276
+ -- status can not be
277
+ -- determined for some
278
+ unknown(4), -- reason
279
+
280
+ -- some component is
281
+ notPresent(5) -- missing
282
+ }
283
+ MAX-ACCESS read-only
284
+ STATUS current
285
+ DESCRIPTION
286
+ "The current operational state of the interface.
287
+ The noIfIdentifier(3) state indicates that no valid
288
+ Interface Identifier is assigned to the interface.
289
+ This state usually indicates that the link-local
290
+ interface address failed Duplicate Address Detection.
291
+ If ipv6IfAdminStatus is down(2) then ipv6IfOperStatus
292
+ should be down(2). If ipv6IfAdminStatus is changed
293
+ to up(1) then ipv6IfOperStatus should change to up(1)
294
+ if the interface is ready to transmit and receive
295
+ network traffic; it should remain in the down(2) or
296
+ noIfIdentifier(3) state if and only if there is a
297
+ fault that prevents it from going to the up(1) state;
298
+ it should remain in the notPresent(5) state if
299
+ the interface has missing (typically, lower layer)
300
+ components."
301
+ ::= { ipv6IfEntry 10 }
302
+
303
+ ipv6IfLastChange OBJECT-TYPE
304
+ SYNTAX TimeStamp
305
+ MAX-ACCESS read-only
306
+ STATUS current
307
+ DESCRIPTION
308
+ "The value of sysUpTime at the time the interface
309
+ entered its current operational state. If the
310
+ current state was entered prior to the last
311
+ re-initialization of the local network management
312
+
313
+ subsystem, then this object contains a zero
314
+ value."
315
+ ::= { ipv6IfEntry 11 }
316
+
317
+ -- IPv6 Interface Statistics table
318
+
319
+ ipv6IfStatsTable OBJECT-TYPE
320
+ SYNTAX SEQUENCE OF Ipv6IfStatsEntry
321
+ MAX-ACCESS not-accessible
322
+ STATUS current
323
+ DESCRIPTION
324
+ "IPv6 interface traffic statistics."
325
+ ::= { ipv6MIBObjects 6 }
326
+
327
+ ipv6IfStatsEntry OBJECT-TYPE
328
+ SYNTAX Ipv6IfStatsEntry
329
+ MAX-ACCESS not-accessible
330
+ STATUS current
331
+ DESCRIPTION
332
+ "An interface statistics entry containing objects
333
+ at a particular IPv6 interface."
334
+ AUGMENTS { ipv6IfEntry }
335
+ ::= { ipv6IfStatsTable 1 }
336
+
337
+ Ipv6IfStatsEntry ::= SEQUENCE {
338
+ ipv6IfStatsInReceives
339
+ Counter32,
340
+ ipv6IfStatsInHdrErrors
341
+ Counter32,
342
+ ipv6IfStatsInTooBigErrors
343
+ Counter32,
344
+ ipv6IfStatsInNoRoutes
345
+ Counter32,
346
+ ipv6IfStatsInAddrErrors
347
+ Counter32,
348
+ ipv6IfStatsInUnknownProtos
349
+ Counter32,
350
+ ipv6IfStatsInTruncatedPkts
351
+ Counter32,
352
+ ipv6IfStatsInDiscards
353
+ Counter32,
354
+ ipv6IfStatsInDelivers
355
+ Counter32,
356
+ ipv6IfStatsOutForwDatagrams
357
+ Counter32,
358
+ ipv6IfStatsOutRequests
359
+ Counter32,
360
+ ipv6IfStatsOutDiscards
361
+
362
+ Counter32,
363
+ ipv6IfStatsOutFragOKs
364
+ Counter32,
365
+ ipv6IfStatsOutFragFails
366
+ Counter32,
367
+ ipv6IfStatsOutFragCreates
368
+ Counter32,
369
+ ipv6IfStatsReasmReqds
370
+ Counter32,
371
+ ipv6IfStatsReasmOKs
372
+ Counter32,
373
+ ipv6IfStatsReasmFails
374
+ Counter32,
375
+ ipv6IfStatsInMcastPkts
376
+ Counter32,
377
+ ipv6IfStatsOutMcastPkts
378
+ Counter32
379
+ }
380
+
381
+ ipv6IfStatsInReceives OBJECT-TYPE
382
+ SYNTAX Counter32
383
+ MAX-ACCESS read-only
384
+ STATUS current
385
+ DESCRIPTION
386
+ "The total number of input datagrams received by
387
+ the interface, including those received in error."
388
+ ::= { ipv6IfStatsEntry 1 }
389
+
390
+ ipv6IfStatsInHdrErrors OBJECT-TYPE
391
+ SYNTAX Counter32
392
+ MAX-ACCESS read-only
393
+ STATUS current
394
+ DESCRIPTION
395
+ "The number of input datagrams discarded due to
396
+ errors in their IPv6 headers, including version
397
+ number mismatch, other format errors, hop count
398
+ exceeded, errors discovered in processing their
399
+ IPv6 options, etc."
400
+ ::= { ipv6IfStatsEntry 2 }
401
+
402
+ ipv6IfStatsInTooBigErrors OBJECT-TYPE
403
+ SYNTAX Counter32
404
+ MAX-ACCESS read-only
405
+ STATUS current
406
+ DESCRIPTION
407
+ "The number of input datagrams that could not be
408
+ forwarded because their size exceeded the link MTU
409
+ of outgoing interface."
410
+ ::= { ipv6IfStatsEntry 3 }
411
+
412
+ ipv6IfStatsInNoRoutes OBJECT-TYPE
413
+ SYNTAX Counter32
414
+ MAX-ACCESS read-only
415
+ STATUS current
416
+ DESCRIPTION
417
+ "The number of input datagrams discarded because no
418
+ route could be found to transmit them to their
419
+ destination."
420
+ ::= { ipv6IfStatsEntry 4 }
421
+
422
+ ipv6IfStatsInAddrErrors OBJECT-TYPE
423
+ SYNTAX Counter32
424
+ MAX-ACCESS read-only
425
+ STATUS current
426
+ DESCRIPTION
427
+ "The number of input datagrams discarded because
428
+ the IPv6 address in their IPv6 header's destination
429
+ field was not a valid address to be received at
430
+ this entity. This count includes invalid
431
+ addresses (e.g., ::0) and unsupported addresses
432
+ (e.g., addresses with unallocated prefixes). For
433
+ entities which are not IPv6 routers and therefore
434
+ do not forward datagrams, this counter includes
435
+ datagrams discarded because the destination address
436
+ was not a local address."
437
+ ::= { ipv6IfStatsEntry 5 }
438
+
439
+ ipv6IfStatsInUnknownProtos OBJECT-TYPE
440
+ SYNTAX Counter32
441
+ MAX-ACCESS read-only
442
+ STATUS current
443
+ DESCRIPTION
444
+ "The number of locally-addressed datagrams
445
+ received successfully but discarded because of an
446
+ unknown or unsupported protocol. This counter is
447
+ incremented at the interface to which these
448
+ datagrams were addressed which might not be
449
+ necessarily the input interface for some of
450
+ the datagrams."
451
+ ::= { ipv6IfStatsEntry 6 }
452
+
453
+ ipv6IfStatsInTruncatedPkts OBJECT-TYPE
454
+ SYNTAX Counter32
455
+ MAX-ACCESS read-only
456
+ STATUS current
457
+ DESCRIPTION
458
+ "The number of input datagrams discarded because
459
+ datagram frame didn't carry enough data."
460
+ ::= { ipv6IfStatsEntry 7 }
461
+
462
+ ipv6IfStatsInDiscards OBJECT-TYPE
463
+ SYNTAX Counter32
464
+ MAX-ACCESS read-only
465
+ STATUS current
466
+ DESCRIPTION
467
+ "The number of input IPv6 datagrams for which no
468
+ problems were encountered to prevent their
469
+ continued processing, but which were discarded
470
+ (e.g., for lack of buffer space). Note that this
471
+ counter does not include any datagrams discarded
472
+ while awaiting re-assembly."
473
+ ::= { ipv6IfStatsEntry 8 }
474
+
475
+ ipv6IfStatsInDelivers OBJECT-TYPE
476
+ SYNTAX Counter32
477
+ MAX-ACCESS read-only
478
+ STATUS current
479
+ DESCRIPTION
480
+ "The total number of datagrams successfully
481
+ delivered to IPv6 user-protocols (including ICMP).
482
+ This counter is incremented at the interface to
483
+ which these datagrams were addressed which might
484
+ not be necessarily the input interface for some of
485
+ the datagrams."
486
+ ::= { ipv6IfStatsEntry 9 }
487
+
488
+ ipv6IfStatsOutForwDatagrams OBJECT-TYPE
489
+ SYNTAX Counter32
490
+ MAX-ACCESS read-only
491
+ STATUS current
492
+ DESCRIPTION
493
+ "The number of output datagrams which this
494
+ entity received and forwarded to their final
495
+ destinations. In entities which do not act
496
+ as IPv6 routers, this counter will include
497
+ only those packets which were Source-Routed
498
+ via this entity, and the Source-Route
499
+ processing was successful. Note that for
500
+ a successfully forwarded datagram the counter
501
+ of the outgoing interface is incremented."
502
+ ::= { ipv6IfStatsEntry 10 }
503
+
504
+ ipv6IfStatsOutRequests OBJECT-TYPE
505
+ SYNTAX Counter32
506
+ MAX-ACCESS read-only
507
+ STATUS current
508
+ DESCRIPTION
509
+ "The total number of IPv6 datagrams which local IPv6
510
+ user-protocols (including ICMP) supplied to IPv6 in
511
+ requests for transmission. Note that this counter
512
+ does not include any datagrams counted in
513
+ ipv6IfStatsOutForwDatagrams."
514
+ ::= { ipv6IfStatsEntry 11 }
515
+
516
+ ipv6IfStatsOutDiscards OBJECT-TYPE
517
+ SYNTAX Counter32
518
+ MAX-ACCESS read-only
519
+ STATUS current
520
+ DESCRIPTION
521
+ "The number of output IPv6 datagrams for which no
522
+ problem was encountered to prevent their
523
+ transmission to their destination, but which were
524
+ discarded (e.g., for lack of buffer space). Note
525
+ that this counter would include datagrams counted
526
+ in ipv6IfStatsOutForwDatagrams if any such packets
527
+ met this (discretionary) discard criterion."
528
+ ::= { ipv6IfStatsEntry 12 }
529
+
530
+ ipv6IfStatsOutFragOKs OBJECT-TYPE
531
+ SYNTAX Counter32
532
+ MAX-ACCESS read-only
533
+ STATUS current
534
+ DESCRIPTION
535
+ "The number of IPv6 datagrams that have been
536
+ successfully fragmented at this output interface."
537
+ ::= { ipv6IfStatsEntry 13 }
538
+
539
+ ipv6IfStatsOutFragFails OBJECT-TYPE
540
+ SYNTAX Counter32
541
+ MAX-ACCESS read-only
542
+ STATUS current
543
+ DESCRIPTION
544
+ "The number of IPv6 datagrams that have been
545
+ discarded because they needed to be fragmented
546
+ at this output interface but could not be."
547
+ ::= { ipv6IfStatsEntry 14 }
548
+
549
+ ipv6IfStatsOutFragCreates OBJECT-TYPE
550
+ SYNTAX Counter32
551
+ MAX-ACCESS read-only
552
+ STATUS current
553
+ DESCRIPTION
554
+ "The number of output datagram fragments that have
555
+ been generated as a result of fragmentation at
556
+ this output interface."
557
+ ::= { ipv6IfStatsEntry 15 }
558
+
559
+ ipv6IfStatsReasmReqds OBJECT-TYPE
560
+ SYNTAX Counter32
561
+ MAX-ACCESS read-only
562
+ STATUS current
563
+ DESCRIPTION
564
+ "The number of IPv6 fragments received which needed
565
+ to be reassembled at this interface. Note that this
566
+ counter is incremented at the interface to which
567
+ these fragments were addressed which might not
568
+ be necessarily the input interface for some of
569
+ the fragments."
570
+ ::= { ipv6IfStatsEntry 16 }
571
+
572
+ ipv6IfStatsReasmOKs OBJECT-TYPE
573
+ SYNTAX Counter32
574
+ MAX-ACCESS read-only
575
+ STATUS current
576
+ DESCRIPTION
577
+ "The number of IPv6 datagrams successfully
578
+ reassembled. Note that this counter is incremented
579
+ at the interface to which these datagrams were
580
+ addressed which might not be necessarily the input
581
+ interface for some of the fragments."
582
+ ::= { ipv6IfStatsEntry 17 }
583
+
584
+ ipv6IfStatsReasmFails OBJECT-TYPE
585
+ SYNTAX Counter32
586
+ MAX-ACCESS read-only
587
+ STATUS current
588
+ DESCRIPTION
589
+ "The number of failures detected by the IPv6 re-
590
+ assembly algorithm (for whatever reason: timed
591
+ out, errors, etc.). Note that this is not
592
+ necessarily a count of discarded IPv6 fragments
593
+ since some algorithms (notably the algorithm in
594
+ RFC 815) can lose track of the number of fragments
595
+ by combining them as they are received.
596
+ This counter is incremented at the interface to which
597
+ these fragments were addressed which might not be
598
+ necessarily the input interface for some of the
599
+ fragments."
600
+ ::= { ipv6IfStatsEntry 18 }
601
+
602
+ ipv6IfStatsInMcastPkts OBJECT-TYPE
603
+ SYNTAX Counter32
604
+ MAX-ACCESS read-only
605
+ STATUS current
606
+ DESCRIPTION
607
+ "The number of multicast packets received
608
+ by the interface"
609
+ ::= { ipv6IfStatsEntry 19 }
610
+
611
+ ipv6IfStatsOutMcastPkts OBJECT-TYPE
612
+ SYNTAX Counter32
613
+ MAX-ACCESS read-only
614
+ STATUS current
615
+ DESCRIPTION
616
+ "The number of multicast packets transmitted
617
+ by the interface"
618
+ ::= { ipv6IfStatsEntry 20 }
619
+
620
+ -- Address Prefix table
621
+
622
+ -- The IPv6 Address Prefix table contains information on
623
+ -- the entity's IPv6 Address Prefixes that are associated
624
+ -- with IPv6 interfaces.
625
+
626
+ ipv6AddrPrefixTable OBJECT-TYPE
627
+ SYNTAX SEQUENCE OF Ipv6AddrPrefixEntry
628
+ MAX-ACCESS not-accessible
629
+ STATUS current
630
+ DESCRIPTION
631
+ "The list of IPv6 address prefixes of
632
+ IPv6 interfaces."
633
+ ::= { ipv6MIBObjects 7 }
634
+
635
+ ipv6AddrPrefixEntry OBJECT-TYPE
636
+ SYNTAX Ipv6AddrPrefixEntry
637
+ MAX-ACCESS not-accessible
638
+ STATUS current
639
+ DESCRIPTION
640
+ "An interface entry containing objects of
641
+ a particular IPv6 address prefix."
642
+ INDEX { ipv6IfIndex,
643
+ ipv6AddrPrefix,
644
+ ipv6AddrPrefixLength }
645
+ ::= { ipv6AddrPrefixTable 1 }
646
+
647
+ Ipv6AddrPrefixEntry ::= SEQUENCE {
648
+
649
+ ipv6AddrPrefix Ipv6AddressPrefix,
650
+ ipv6AddrPrefixLength INTEGER (0..128),
651
+ ipv6AddrPrefixOnLinkFlag TruthValue,
652
+ ipv6AddrPrefixAutonomousFlag TruthValue,
653
+ ipv6AddrPrefixAdvPreferredLifetime Unsigned32,
654
+ ipv6AddrPrefixAdvValidLifetime Unsigned32
655
+ }
656
+
657
+ ipv6AddrPrefix OBJECT-TYPE
658
+ SYNTAX Ipv6AddressPrefix
659
+ MAX-ACCESS not-accessible
660
+ STATUS current
661
+ DESCRIPTION
662
+ "The prefix associated with the this interface."
663
+ ::= { ipv6AddrPrefixEntry 1 }
664
+
665
+ ipv6AddrPrefixLength OBJECT-TYPE
666
+ SYNTAX INTEGER (0..128)
667
+ UNITS "bits"
668
+ MAX-ACCESS not-accessible
669
+ STATUS current
670
+ DESCRIPTION
671
+ "The length of the prefix (in bits)."
672
+ ::= { ipv6AddrPrefixEntry 2 }
673
+
674
+ ipv6AddrPrefixOnLinkFlag OBJECT-TYPE
675
+ SYNTAX TruthValue
676
+ MAX-ACCESS read-only
677
+ STATUS current
678
+ DESCRIPTION
679
+ "This object has the value 'true(1)', if this
680
+ prefix can be used for on-link determination
681
+ and the value 'false(2)' otherwise."
682
+ ::= { ipv6AddrPrefixEntry 3 }
683
+
684
+ ipv6AddrPrefixAutonomousFlag OBJECT-TYPE
685
+ SYNTAX TruthValue
686
+ MAX-ACCESS read-only
687
+ STATUS current
688
+ DESCRIPTION
689
+ "Autonomous address configuration flag. When
690
+ true(1), indicates that this prefix can be used
691
+ for autonomous address configuration (i.e. can
692
+ be used to form a local interface address).
693
+ If false(2), it is not used to autoconfigure
694
+ a local interface address."
695
+ ::= { ipv6AddrPrefixEntry 4 }
696
+
697
+ ipv6AddrPrefixAdvPreferredLifetime OBJECT-TYPE
698
+ SYNTAX Unsigned32
699
+ UNITS "seconds"
700
+ MAX-ACCESS read-only
701
+ STATUS current
702
+ DESCRIPTION
703
+ "It is the length of time in seconds that this
704
+ prefix will remain preferred, i.e. time until
705
+ deprecation. A value of 4,294,967,295 represents
706
+ infinity.
707
+
708
+ The address generated from a deprecated prefix
709
+ should no longer be used as a source address in
710
+ new communications, but packets received on such
711
+ an interface are processed as expected."
712
+ ::= { ipv6AddrPrefixEntry 5 }
713
+
714
+ ipv6AddrPrefixAdvValidLifetime OBJECT-TYPE
715
+ SYNTAX Unsigned32
716
+ UNITS "seconds"
717
+ MAX-ACCESS read-only
718
+ STATUS current
719
+ DESCRIPTION
720
+ "It is the length of time in seconds that this
721
+ prefix will remain valid, i.e. time until
722
+ invalidation. A value of 4,294,967,295 represents
723
+ infinity.
724
+
725
+ The address generated from an invalidated prefix
726
+ should not appear as the destination or source
727
+ address of a packet."
728
+ ::= { ipv6AddrPrefixEntry 6 }
729
+
730
+ -- the IPv6 Address table
731
+
732
+ -- The IPv6 address table contains this node's IPv6
733
+ -- addressing information.
734
+
735
+ ipv6AddrTable OBJECT-TYPE
736
+ SYNTAX SEQUENCE OF Ipv6AddrEntry
737
+ MAX-ACCESS not-accessible
738
+ STATUS current
739
+ DESCRIPTION
740
+ "The table of addressing information relevant to
741
+ this node's interface addresses."
742
+ ::= { ipv6MIBObjects 8 }
743
+
744
+ ipv6AddrEntry OBJECT-TYPE
745
+ SYNTAX Ipv6AddrEntry
746
+ MAX-ACCESS not-accessible
747
+ STATUS current
748
+ DESCRIPTION
749
+ "The addressing information for one of this
750
+ node's interface addresses."
751
+ INDEX { ipv6IfIndex, ipv6AddrAddress }
752
+ ::= { ipv6AddrTable 1 }
753
+
754
+ Ipv6AddrEntry ::=
755
+ SEQUENCE {
756
+ ipv6AddrAddress Ipv6Address,
757
+ ipv6AddrPfxLength INTEGER,
758
+ ipv6AddrType INTEGER,
759
+ ipv6AddrAnycastFlag TruthValue,
760
+ ipv6AddrStatus INTEGER
761
+ }
762
+
763
+ ipv6AddrAddress OBJECT-TYPE
764
+ SYNTAX Ipv6Address
765
+ MAX-ACCESS not-accessible
766
+ STATUS current
767
+ DESCRIPTION
768
+ "The IPv6 address to which this entry's addressing
769
+ information pertains."
770
+ ::= { ipv6AddrEntry 1 }
771
+
772
+ ipv6AddrPfxLength OBJECT-TYPE
773
+ SYNTAX INTEGER(0..128)
774
+ UNITS "bits"
775
+ MAX-ACCESS read-only
776
+ STATUS current
777
+ DESCRIPTION
778
+ "The length of the prefix (in bits) associated with
779
+ the IPv6 address of this entry."
780
+ ::= { ipv6AddrEntry 2 }
781
+
782
+ ipv6AddrType OBJECT-TYPE
783
+ SYNTAX INTEGER {
784
+ -- address has been formed
785
+ -- using stateless
786
+ stateless(1), -- autoconfiguration
787
+
788
+ -- address has been acquired
789
+ -- by stateful means
790
+ -- (e.g. DHCPv6, manual
791
+ stateful(2), -- configuration)
792
+
793
+ -- type can not be determined
794
+ unknown(3) -- for some reason.
795
+ }
796
+ MAX-ACCESS read-only
797
+ STATUS current
798
+ DESCRIPTION
799
+ "The type of address. Note that 'stateless(1)'
800
+ refers to an address that was statelessly
801
+ autoconfigured; 'stateful(2)' refers to a address
802
+ which was acquired by via a stateful protocol
803
+ (e.g. DHCPv6, manual configuration)."
804
+ ::= { ipv6AddrEntry 3 }
805
+
806
+ ipv6AddrAnycastFlag OBJECT-TYPE
807
+ SYNTAX TruthValue
808
+ MAX-ACCESS read-only
809
+ STATUS current
810
+ DESCRIPTION
811
+ "This object has the value 'true(1)', if this
812
+ address is an anycast address and the value
813
+ 'false(2)' otherwise."
814
+ ::= { ipv6AddrEntry 4 }
815
+
816
+ ipv6AddrStatus OBJECT-TYPE
817
+ SYNTAX INTEGER {
818
+ preferred(1),
819
+ deprecated(2),
820
+ invalid(3),
821
+ inaccessible(4),
822
+ unknown(5) -- status can not be determined
823
+ -- for some reason.
824
+ }
825
+ MAX-ACCESS read-only
826
+ STATUS current
827
+ DESCRIPTION
828
+ "Address status. The preferred(1) state indicates
829
+ that this is a valid address that can appear as
830
+ the destination or source address of a packet.
831
+ The deprecated(2) state indicates that this is
832
+ a valid but deprecated address that should no longer
833
+ be used as a source address in new communications,
834
+ but packets addressed to such an address are
835
+ processed as expected. The invalid(3) state indicates
836
+ that this is not valid address which should not
837
+
838
+ appear as the destination or source address of
839
+ a packet. The inaccessible(4) state indicates that
840
+ the address is not accessible because the interface
841
+ to which this address is assigned is not operational."
842
+ ::= { ipv6AddrEntry 5 }
843
+
844
+ -- IPv6 Routing objects
845
+
846
+ ipv6RouteNumber OBJECT-TYPE
847
+ SYNTAX Gauge32
848
+ MAX-ACCESS read-only
849
+ STATUS current
850
+ DESCRIPTION
851
+ "The number of current ipv6RouteTable entries.
852
+ This is primarily to avoid having to read
853
+ the table in order to determine this number."
854
+ ::= { ipv6MIBObjects 9 }
855
+
856
+ ipv6DiscardedRoutes OBJECT-TYPE
857
+ SYNTAX Counter32
858
+ MAX-ACCESS read-only
859
+ STATUS current
860
+ DESCRIPTION
861
+ "The number of routing entries which were chosen
862
+ to be discarded even though they are valid. One
863
+ possible reason for discarding such an entry could
864
+ be to free-up buffer space for other routing
865
+ entries."
866
+ ::= { ipv6MIBObjects 10 }
867
+
868
+ -- IPv6 Routing table
869
+
870
+ ipv6RouteTable OBJECT-TYPE
871
+ SYNTAX SEQUENCE OF Ipv6RouteEntry
872
+ MAX-ACCESS not-accessible
873
+ STATUS current
874
+ DESCRIPTION
875
+ "IPv6 Routing table. This table contains
876
+ an entry for each valid IPv6 unicast route
877
+ that can be used for packet forwarding
878
+ determination."
879
+ ::= { ipv6MIBObjects 11 }
880
+
881
+ ipv6RouteEntry OBJECT-TYPE
882
+ SYNTAX Ipv6RouteEntry
883
+ MAX-ACCESS not-accessible
884
+ STATUS current
885
+ DESCRIPTION
886
+ "A routing entry."
887
+ INDEX { ipv6RouteDest,
888
+ ipv6RoutePfxLength,
889
+ ipv6RouteIndex }
890
+ ::= { ipv6RouteTable 1 }
891
+
892
+ Ipv6RouteEntry ::= SEQUENCE {
893
+ ipv6RouteDest Ipv6Address,
894
+ ipv6RoutePfxLength INTEGER,
895
+ ipv6RouteIndex Unsigned32,
896
+ ipv6RouteIfIndex Ipv6IfIndexOrZero,
897
+ ipv6RouteNextHop Ipv6Address,
898
+ ipv6RouteType INTEGER,
899
+ ipv6RouteProtocol INTEGER,
900
+ ipv6RoutePolicy Integer32,
901
+ ipv6RouteAge Unsigned32,
902
+ ipv6RouteNextHopRDI Unsigned32,
903
+ ipv6RouteMetric Unsigned32,
904
+ ipv6RouteWeight Unsigned32,
905
+ ipv6RouteInfo RowPointer,
906
+ ipv6RouteValid TruthValue
907
+ }
908
+
909
+ ipv6RouteDest OBJECT-TYPE
910
+ SYNTAX Ipv6Address
911
+ MAX-ACCESS not-accessible
912
+ STATUS current
913
+ DESCRIPTION
914
+ "The destination IPv6 address of this route.
915
+ This object may not take a Multicast address
916
+ value."
917
+ ::= { ipv6RouteEntry 1 }
918
+
919
+ ipv6RoutePfxLength OBJECT-TYPE
920
+ SYNTAX INTEGER(0..128)
921
+ UNITS "bits"
922
+ MAX-ACCESS not-accessible
923
+ STATUS current
924
+ DESCRIPTION
925
+ "Indicates the prefix length of the destination
926
+ address."
927
+ ::= { ipv6RouteEntry 2 }
928
+
929
+ ipv6RouteIndex OBJECT-TYPE
930
+ SYNTAX Unsigned32
931
+ MAX-ACCESS not-accessible
932
+ STATUS current
933
+ DESCRIPTION
934
+ "The value which uniquely identifies the route
935
+ among the routes to the same network layer
936
+ destination. The way this value is chosen is
937
+ implementation specific but it must be unique for
938
+ ipv6RouteDest/ipv6RoutePfxLength pair and remain
939
+ constant for the life of the route."
940
+ ::= { ipv6RouteEntry 3 }
941
+
942
+ ipv6RouteIfIndex OBJECT-TYPE
943
+ SYNTAX Ipv6IfIndexOrZero
944
+ MAX-ACCESS read-only
945
+ STATUS current
946
+ DESCRIPTION
947
+ "The index value which uniquely identifies the local
948
+ interface through which the next hop of this
949
+ route should be reached. The interface identified
950
+ by a particular value of this index is the same
951
+ interface as identified by the same value of
952
+ ipv6IfIndex. For routes of the discard type this
953
+ value can be zero."
954
+ ::= { ipv6RouteEntry 4 }
955
+
956
+ ipv6RouteNextHop OBJECT-TYPE
957
+ SYNTAX Ipv6Address
958
+ MAX-ACCESS read-only
959
+ STATUS current
960
+ DESCRIPTION
961
+ "On remote routes, the address of the next
962
+ system en route; otherwise, ::0
963
+ ('00000000000000000000000000000000'H in ASN.1
964
+ string representation)."
965
+ ::= { ipv6RouteEntry 5 }
966
+
967
+ ipv6RouteType OBJECT-TYPE
968
+ SYNTAX INTEGER {
969
+ other(1), -- none of the following
970
+
971
+ -- an route indicating that
972
+ -- packets to destinations
973
+ -- matching this route are
974
+ discard(2), -- to be discarded
975
+
976
+ -- route to directly
977
+ local(3), -- connected (sub-)network
978
+
979
+ -- route to a remote
980
+
981
+ remote(4) -- destination
982
+
983
+ }
984
+ MAX-ACCESS read-only
985
+ STATUS current
986
+ DESCRIPTION
987
+ "The type of route. Note that 'local(3)' refers
988
+ to a route for which the next hop is the final
989
+ destination; 'remote(4)' refers to a route for
990
+ which the next hop is not the final
991
+ destination; 'discard(2)' refers to a route
992
+ indicating that packets to destinations matching
993
+ this route are to be discarded (sometimes called
994
+ black-hole route)."
995
+ ::= { ipv6RouteEntry 6 }
996
+
997
+ ipv6RouteProtocol OBJECT-TYPE
998
+ SYNTAX INTEGER {
999
+ other(1), -- none of the following
1000
+
1001
+ -- non-protocol information,
1002
+ -- e.g., manually configured
1003
+ local(2), -- entries
1004
+
1005
+ netmgmt(3), -- static route
1006
+
1007
+ -- obtained via Neighbor
1008
+ -- Discovery protocol,
1009
+ ndisc(4), -- e.g., result of Redirect
1010
+
1011
+ -- the following are all
1012
+ -- dynamic routing protocols
1013
+ rip(5), -- RIPng
1014
+ ospf(6), -- Open Shortest Path First
1015
+ bgp(7), -- Border Gateway Protocol
1016
+ idrp(8), -- InterDomain Routing Protocol
1017
+ igrp(9) -- InterGateway Routing Protocol
1018
+ }
1019
+ MAX-ACCESS read-only
1020
+ STATUS current
1021
+ DESCRIPTION
1022
+ "The routing mechanism via which this route was
1023
+ learned."
1024
+ ::= { ipv6RouteEntry 7 }
1025
+
1026
+ ipv6RoutePolicy OBJECT-TYPE
1027
+ SYNTAX Integer32
1028
+ MAX-ACCESS read-only
1029
+ STATUS current
1030
+ DESCRIPTION
1031
+ "The general set of conditions that would cause the
1032
+ selection of one multipath route (set of next hops
1033
+ for a given destination) is referred to as 'policy'.
1034
+ Unless the mechanism indicated by ipv6RouteProtocol
1035
+ specified otherwise, the policy specifier is the
1036
+ 8-bit Traffic Class field of the IPv6 packet header
1037
+ that is zero extended at the left to a 32-bit value.
1038
+
1039
+ Protocols defining 'policy' otherwise must either
1040
+ define a set of values which are valid for
1041
+ this object or must implement an integer-
1042
+ instanced policy table for which this object's
1043
+ value acts as an index."
1044
+ ::= { ipv6RouteEntry 8 }
1045
+
1046
+ ipv6RouteAge OBJECT-TYPE
1047
+ SYNTAX Unsigned32
1048
+ UNITS "seconds"
1049
+ MAX-ACCESS read-only
1050
+ STATUS current
1051
+ DESCRIPTION
1052
+ "The number of seconds since this route was last
1053
+ updated or otherwise determined to be correct.
1054
+ Note that no semantics of `too old' can be implied
1055
+ except through knowledge of the routing protocol
1056
+ by which the route was learned."
1057
+ ::= { ipv6RouteEntry 9 }
1058
+
1059
+ ipv6RouteNextHopRDI OBJECT-TYPE
1060
+ SYNTAX Unsigned32
1061
+ MAX-ACCESS read-only
1062
+ STATUS current
1063
+ DESCRIPTION
1064
+ "The Routing Domain ID of the Next Hop.
1065
+ The semantics of this object are determined by
1066
+ the routing-protocol specified in the route's
1067
+ ipv6RouteProtocol value. When this object is
1068
+ unknown or not relevant its value should be set
1069
+ to zero."
1070
+ ::= { ipv6RouteEntry 10 }
1071
+
1072
+ ipv6RouteMetric OBJECT-TYPE
1073
+ SYNTAX Unsigned32
1074
+ MAX-ACCESS read-only
1075
+ STATUS current
1076
+ DESCRIPTION
1077
+ "The routing metric for this route. The
1078
+ semantics of this metric are determined by the
1079
+ routing protocol specified in the route's
1080
+ ipv6RouteProtocol value. When this is unknown
1081
+ or not relevant to the protocol indicated by
1082
+ ipv6RouteProtocol, the object value should be
1083
+ set to its maximum value (4,294,967,295)."
1084
+ ::= { ipv6RouteEntry 11 }
1085
+
1086
+ ipv6RouteWeight OBJECT-TYPE
1087
+ SYNTAX Unsigned32
1088
+ MAX-ACCESS read-only
1089
+ STATUS current
1090
+ DESCRIPTION
1091
+ "The system internal weight value for this route.
1092
+ The semantics of this value are determined by
1093
+ the implementation specific rules. Generally,
1094
+ within routes with the same ipv6RoutePolicy value,
1095
+ the lower the weight value the more preferred is
1096
+ the route."
1097
+ ::= { ipv6RouteEntry 12 }
1098
+
1099
+ ipv6RouteInfo OBJECT-TYPE
1100
+ SYNTAX RowPointer
1101
+ MAX-ACCESS read-only
1102
+ STATUS current
1103
+ DESCRIPTION
1104
+ "A reference to MIB definitions specific to the
1105
+ particular routing protocol which is responsible
1106
+ for this route, as determined by the value
1107
+ specified in the route's ipv6RouteProto value.
1108
+ If this information is not present, its value
1109
+ should be set to the OBJECT ID { 0 0 },
1110
+ which is a syntactically valid object identifier,
1111
+ and any implementation conforming to ASN.1
1112
+ and the Basic Encoding Rules must be able to
1113
+ generate and recognize this value."
1114
+ ::= { ipv6RouteEntry 13 }
1115
+
1116
+ ipv6RouteValid OBJECT-TYPE
1117
+ SYNTAX TruthValue
1118
+ MAX-ACCESS read-write
1119
+ STATUS current
1120
+ DESCRIPTION
1121
+ "Setting this object to the value 'false(2)' has
1122
+ the effect of invalidating the corresponding entry
1123
+ in the ipv6RouteTable object. That is, it
1124
+ effectively disassociates the destination
1125
+
1126
+ identified with said entry from the route
1127
+ identified with said entry. It is an
1128
+ implementation-specific matter as to whether the
1129
+ agent removes an invalidated entry from the table.
1130
+ Accordingly, management stations must be prepared
1131
+ to receive tabular information from agents that
1132
+ corresponds to entries not currently in use.
1133
+ Proper interpretation of such entries requires
1134
+ examination of the relevant ipv6RouteValid
1135
+ object."
1136
+ DEFVAL { true }
1137
+ ::= { ipv6RouteEntry 14 }
1138
+
1139
+ -- IPv6 Address Translation table
1140
+
1141
+ ipv6NetToMediaTable OBJECT-TYPE
1142
+ SYNTAX SEQUENCE OF Ipv6NetToMediaEntry
1143
+ MAX-ACCESS not-accessible
1144
+ STATUS current
1145
+ DESCRIPTION
1146
+ "The IPv6 Address Translation table used for
1147
+ mapping from IPv6 addresses to physical addresses.
1148
+
1149
+ The IPv6 address translation table contain the
1150
+ Ipv6Address to `physical' address equivalencies.
1151
+ Some interfaces do not use translation tables
1152
+ for determining address equivalencies; if all
1153
+ interfaces are of this type, then the Address
1154
+ Translation table is empty, i.e., has zero
1155
+ entries."
1156
+ ::= { ipv6MIBObjects 12 }
1157
+
1158
+ ipv6NetToMediaEntry OBJECT-TYPE
1159
+ SYNTAX Ipv6NetToMediaEntry
1160
+ MAX-ACCESS not-accessible
1161
+ STATUS current
1162
+ DESCRIPTION
1163
+ "Each entry contains one IPv6 address to `physical'
1164
+ address equivalence."
1165
+ INDEX { ipv6IfIndex,
1166
+ ipv6NetToMediaNetAddress }
1167
+ ::= { ipv6NetToMediaTable 1 }
1168
+
1169
+ Ipv6NetToMediaEntry ::= SEQUENCE {
1170
+ ipv6NetToMediaNetAddress
1171
+ Ipv6Address,
1172
+ ipv6NetToMediaPhysAddress
1173
+
1174
+ PhysAddress,
1175
+ ipv6NetToMediaType
1176
+ INTEGER,
1177
+ ipv6IfNetToMediaState
1178
+ INTEGER,
1179
+ ipv6IfNetToMediaLastUpdated
1180
+ TimeStamp,
1181
+ ipv6NetToMediaValid
1182
+ TruthValue
1183
+ }
1184
+
1185
+ ipv6NetToMediaNetAddress OBJECT-TYPE
1186
+ SYNTAX Ipv6Address
1187
+ MAX-ACCESS not-accessible
1188
+ STATUS current
1189
+ DESCRIPTION
1190
+ "The IPv6 Address corresponding to
1191
+ the media-dependent `physical' address."
1192
+ ::= { ipv6NetToMediaEntry 1 }
1193
+
1194
+ ipv6NetToMediaPhysAddress OBJECT-TYPE
1195
+ SYNTAX PhysAddress
1196
+ MAX-ACCESS read-only
1197
+ STATUS current
1198
+ DESCRIPTION
1199
+ "The media-dependent `physical' address."
1200
+ ::= { ipv6NetToMediaEntry 2 }
1201
+
1202
+ ipv6NetToMediaType OBJECT-TYPE
1203
+ SYNTAX INTEGER {
1204
+ other(1), -- none of the following
1205
+ dynamic(2), -- dynamically resolved
1206
+ static(3), -- statically configured
1207
+ local(4) -- local interface
1208
+ }
1209
+ MAX-ACCESS read-only
1210
+ STATUS current
1211
+ DESCRIPTION
1212
+ "The type of the mapping. The 'dynamic(2)' type
1213
+ indicates that the IPv6 address to physical
1214
+ addresses mapping has been dynamically
1215
+ resolved using the IPv6 Neighbor Discovery
1216
+ protocol. The static(3)' types indicates that
1217
+ the mapping has been statically configured.
1218
+ The local(4) indicates that the mapping is
1219
+ provided for an entity's own interface address."
1220
+ ::= { ipv6NetToMediaEntry 3 }
1221
+
1222
+ ipv6IfNetToMediaState OBJECT-TYPE
1223
+ SYNTAX INTEGER {
1224
+ reachable(1), -- confirmed reachability
1225
+
1226
+ stale(2), -- unconfirmed reachability
1227
+
1228
+ delay(3), -- waiting for reachability
1229
+ -- confirmation before entering
1230
+ -- the probe state
1231
+
1232
+ probe(4), -- actively probing
1233
+
1234
+ invalid(5), -- an invalidated mapping
1235
+
1236
+ unknown(6) -- state can not be determined
1237
+ -- for some reason.
1238
+ }
1239
+ MAX-ACCESS read-only
1240
+ STATUS current
1241
+ DESCRIPTION
1242
+ "The Neighbor Unreachability Detection [8] state
1243
+ for the interface when the address mapping in
1244
+ this entry is used."
1245
+ ::= { ipv6NetToMediaEntry 4 }
1246
+
1247
+ ipv6IfNetToMediaLastUpdated OBJECT-TYPE
1248
+ SYNTAX TimeStamp
1249
+ MAX-ACCESS read-only
1250
+ STATUS current
1251
+ DESCRIPTION
1252
+ "The value of sysUpTime at the time this entry
1253
+ was last updated. If this entry was updated prior
1254
+ to the last re-initialization of the local network
1255
+ management subsystem, then this object contains
1256
+ a zero value."
1257
+ ::= { ipv6NetToMediaEntry 5 }
1258
+
1259
+ ipv6NetToMediaValid OBJECT-TYPE
1260
+ SYNTAX TruthValue
1261
+ MAX-ACCESS read-write
1262
+ STATUS current
1263
+ DESCRIPTION
1264
+ "Setting this object to the value 'false(2)' has
1265
+ the effect of invalidating the corresponding entry
1266
+ in the ipv6NetToMediaTable. That is, it effectively
1267
+ disassociates the interface identified with said
1268
+ entry from the mapping identified with said entry.
1269
+ It is an implementation-specific matter as to
1270
+
1271
+ whether the agent removes an invalidated entry
1272
+ from the table. Accordingly, management stations
1273
+ must be prepared to receive tabular information
1274
+ from agents that corresponds to entries not
1275
+ currently in use. Proper interpretation of such
1276
+ entries requires examination of the relevant
1277
+ ipv6NetToMediaValid object."
1278
+ DEFVAL { true }
1279
+ ::= { ipv6NetToMediaEntry 6 }
1280
+
1281
+ -- definition of IPv6-related notifications.
1282
+ -- Note that we need ipv6NotificationPrefix with the 0
1283
+ -- sub-identifier to make this MIB to translate to
1284
+ -- an SNMPv1 format in a reversible way. For example
1285
+ -- it is needed for proxies that convert SNMPv1 traps
1286
+ -- to SNMPv2 notifications without MIB knowledge.
1287
+
1288
+ ipv6Notifications OBJECT IDENTIFIER
1289
+ ::= { ipv6MIB 2 }
1290
+ ipv6NotificationPrefix OBJECT IDENTIFIER
1291
+ ::= { ipv6Notifications 0 }
1292
+
1293
+ ipv6IfStateChange NOTIFICATION-TYPE
1294
+ OBJECTS {
1295
+ ipv6IfDescr,
1296
+ ipv6IfOperStatus -- the new state of the If.
1297
+ }
1298
+ STATUS current
1299
+ DESCRIPTION
1300
+ "An ipv6IfStateChange notification signifies
1301
+ that there has been a change in the state of
1302
+ an ipv6 interface. This notification should
1303
+ be generated when the interface's operational
1304
+ status transitions to or from the up(1) state."
1305
+ ::= { ipv6NotificationPrefix 1 }
1306
+
1307
+ -- conformance information
1308
+
1309
+ ipv6Conformance OBJECT IDENTIFIER ::= { ipv6MIB 3 }
1310
+
1311
+ ipv6Compliances OBJECT IDENTIFIER ::= { ipv6Conformance 1 }
1312
+ ipv6Groups OBJECT IDENTIFIER ::= { ipv6Conformance 2 }
1313
+
1314
+ -- compliance statements
1315
+
1316
+ ipv6Compliance MODULE-COMPLIANCE
1317
+ STATUS current
1318
+ DESCRIPTION
1319
+ "The compliance statement for SNMPv2 entities which
1320
+ implement ipv6 MIB."
1321
+ MODULE -- this module
1322
+ MANDATORY-GROUPS { ipv6GeneralGroup,
1323
+ ipv6NotificationGroup }
1324
+ OBJECT ipv6Forwarding
1325
+ MIN-ACCESS read-only
1326
+ DESCRIPTION
1327
+ "An agent is not required to provide write
1328
+ access to this object"
1329
+ OBJECT ipv6DefaultHopLimit
1330
+ MIN-ACCESS read-only
1331
+ DESCRIPTION
1332
+ "An agent is not required to provide write
1333
+ access to this object"
1334
+ OBJECT ipv6IfDescr
1335
+ MIN-ACCESS read-only
1336
+ DESCRIPTION
1337
+ "An agent is not required to provide write
1338
+ access to this object"
1339
+ OBJECT ipv6IfIdentifier
1340
+ MIN-ACCESS read-only
1341
+ DESCRIPTION
1342
+ "An agent is not required to provide write
1343
+ access to this object"
1344
+ OBJECT ipv6IfIdentifierLength
1345
+ MIN-ACCESS read-only
1346
+ DESCRIPTION
1347
+ "An agent is not required to provide write
1348
+ access to this object"
1349
+
1350
+ OBJECT ipv6IfAdminStatus
1351
+ MIN-ACCESS read-only
1352
+ DESCRIPTION
1353
+ "An agent is not required to provide write
1354
+ access to this object"
1355
+ OBJECT ipv6RouteValid
1356
+ MIN-ACCESS read-only
1357
+ DESCRIPTION
1358
+ "An agent is not required to provide write
1359
+ access to this object"
1360
+ OBJECT ipv6NetToMediaValid
1361
+ MIN-ACCESS read-only
1362
+ DESCRIPTION
1363
+ "An agent is not required to provide write
1364
+
1365
+ access to this object"
1366
+ ::= { ipv6Compliances 1 }
1367
+
1368
+ ipv6GeneralGroup OBJECT-GROUP
1369
+ OBJECTS { ipv6Forwarding,
1370
+ ipv6DefaultHopLimit,
1371
+ ipv6Interfaces,
1372
+ ipv6IfTableLastChange,
1373
+ ipv6IfDescr,
1374
+ ipv6IfLowerLayer,
1375
+ ipv6IfEffectiveMtu,
1376
+ ipv6IfReasmMaxSize,
1377
+ ipv6IfIdentifier,
1378
+ ipv6IfIdentifierLength,
1379
+ ipv6IfPhysicalAddress,
1380
+ ipv6IfAdminStatus,
1381
+ ipv6IfOperStatus,
1382
+ ipv6IfLastChange,
1383
+ ipv6IfStatsInReceives,
1384
+ ipv6IfStatsInHdrErrors,
1385
+ ipv6IfStatsInTooBigErrors,
1386
+ ipv6IfStatsInNoRoutes,
1387
+ ipv6IfStatsInAddrErrors,
1388
+ ipv6IfStatsInUnknownProtos,
1389
+ ipv6IfStatsInTruncatedPkts,
1390
+ ipv6IfStatsInDiscards,
1391
+ ipv6IfStatsInDelivers,
1392
+ ipv6IfStatsOutForwDatagrams,
1393
+ ipv6IfStatsOutRequests,
1394
+ ipv6IfStatsOutDiscards,
1395
+ ipv6IfStatsOutFragOKs,
1396
+ ipv6IfStatsOutFragFails,
1397
+ ipv6IfStatsOutFragCreates,
1398
+ ipv6IfStatsReasmReqds,
1399
+ ipv6IfStatsReasmOKs,
1400
+ ipv6IfStatsReasmFails,
1401
+ ipv6IfStatsInMcastPkts,
1402
+ ipv6IfStatsOutMcastPkts,
1403
+ ipv6AddrPrefixOnLinkFlag,
1404
+ ipv6AddrPrefixAutonomousFlag,
1405
+ ipv6AddrPrefixAdvPreferredLifetime,
1406
+ ipv6AddrPrefixAdvValidLifetime,
1407
+ ipv6AddrPfxLength,
1408
+ ipv6AddrType,
1409
+ ipv6AddrAnycastFlag,
1410
+ ipv6AddrStatus,
1411
+ ipv6RouteNumber,
1412
+ ipv6DiscardedRoutes,
1413
+ ipv6RouteIfIndex,
1414
+ ipv6RouteNextHop,
1415
+ ipv6RouteType,
1416
+ ipv6RouteProtocol,
1417
+ ipv6RoutePolicy,
1418
+ ipv6RouteAge,
1419
+ ipv6RouteNextHopRDI,
1420
+ ipv6RouteMetric,
1421
+ ipv6RouteWeight,
1422
+ ipv6RouteInfo,
1423
+ ipv6RouteValid,
1424
+ ipv6NetToMediaPhysAddress,
1425
+ ipv6NetToMediaType,
1426
+ ipv6IfNetToMediaState,
1427
+ ipv6IfNetToMediaLastUpdated,
1428
+ ipv6NetToMediaValid }
1429
+ STATUS current
1430
+ DESCRIPTION
1431
+ "The IPv6 group of objects providing for basic
1432
+ management of IPv6 entities."
1433
+ ::= { ipv6Groups 1 }
1434
+
1435
+ ipv6NotificationGroup NOTIFICATION-GROUP
1436
+ NOTIFICATIONS { ipv6IfStateChange }
1437
+ STATUS current
1438
+ DESCRIPTION
1439
+ "The notification that an IPv6 entity is required
1440
+ to implement."
1441
+ ::= { ipv6Groups 2 }
1442
+
1443
+ END