telemetry-snmp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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