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,526 @@
1
+ SNMP-FRAMEWORK-MIB DEFINITIONS ::= BEGIN
2
+
3
+ IMPORTS
4
+ MODULE-IDENTITY, OBJECT-TYPE,
5
+ OBJECT-IDENTITY,
6
+ snmpModules FROM SNMPv2-SMI
7
+ TEXTUAL-CONVENTION FROM SNMPv2-TC
8
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;
9
+
10
+ snmpFrameworkMIB MODULE-IDENTITY
11
+ LAST-UPDATED "200210140000Z"
12
+ ORGANIZATION "SNMPv3 Working Group"
13
+ CONTACT-INFO "WG-EMail: snmpv3@lists.tislabs.com
14
+ Subscribe: snmpv3-request@lists.tislabs.com
15
+
16
+ Co-Chair: Russ Mundy
17
+ Network Associates Laboratories
18
+ postal: 15204 Omega Drive, Suite 300
19
+ Rockville, MD 20850-4601
20
+ USA
21
+ EMail: mundy@tislabs.com
22
+ phone: +1 301-947-7107
23
+
24
+ Co-Chair &
25
+ Co-editor: David Harrington
26
+ Enterasys Networks
27
+ postal: 35 Industrial Way
28
+ P. O. Box 5005
29
+ Rochester, New Hampshire 03866-5005
30
+ USA
31
+ EMail: dbh@enterasys.com
32
+ phone: +1 603-337-2614
33
+
34
+ Co-editor: Randy Presuhn
35
+ BMC Software, Inc.
36
+ postal: 2141 North First Street
37
+ San Jose, California 95131
38
+ USA
39
+ EMail: randy_presuhn@bmc.com
40
+ phone: +1 408-546-1006
41
+
42
+ Co-editor: Bert Wijnen
43
+ Lucent Technologies
44
+ postal: Schagen 33
45
+ 3461 GL Linschoten
46
+ Netherlands
47
+
48
+ EMail: bwijnen@lucent.com
49
+ phone: +31 348-680-485
50
+ "
51
+ DESCRIPTION "The SNMP Management Architecture MIB
52
+
53
+ Copyright (C) The Internet Society (2002). This
54
+ version of this MIB module is part of RFC 3411;
55
+ see the RFC itself for full legal notices.
56
+ "
57
+
58
+ REVISION "200210140000Z" -- 14 October 2002
59
+ DESCRIPTION "Changes in this revision:
60
+ - Updated various administrative information.
61
+ - Corrected some typos.
62
+ - Corrected typo in description of SnmpEngineID
63
+ that led to range overlap for 127.
64
+ - Changed '255a' to '255t' in definition of
65
+ SnmpAdminString to align with current SMI.
66
+ - Reworded 'reserved' for value zero in
67
+ DESCRIPTION of SnmpSecurityModel.
68
+ - The algorithm for allocating security models
69
+ should give 256 per enterprise block, rather
70
+ than 255.
71
+ - The example engine ID of 'abcd' is not
72
+ legal. Replaced with '800002b804616263'H based
73
+ on example enterprise 696, string 'abc'.
74
+ - Added clarification that engineID should
75
+ persist across re-initializations.
76
+ This revision published as RFC 3411.
77
+ "
78
+ REVISION "199901190000Z" -- 19 January 1999
79
+ DESCRIPTION "Updated editors' addresses, fixed typos.
80
+ Published as RFC 2571.
81
+ "
82
+ REVISION "199711200000Z" -- 20 November 1997
83
+ DESCRIPTION "The initial version, published in RFC 2271.
84
+ "
85
+ ::= { snmpModules 10 }
86
+
87
+ -- Textual Conventions used in the SNMP Management Architecture ***
88
+
89
+ SnmpEngineID ::= TEXTUAL-CONVENTION
90
+ STATUS current
91
+ DESCRIPTION "An SNMP engine's administratively-unique identifier.
92
+ Objects of this type are for identification, not for
93
+ addressing, even though it is possible that an
94
+ address may have been used in the generation of
95
+ a specific value.
96
+
97
+ The value for this object may not be all zeros or
98
+ all 'ff'H or the empty (zero length) string.
99
+
100
+ The initial value for this object may be configured
101
+ via an operator console entry or via an algorithmic
102
+ function. In the latter case, the following
103
+ example algorithm is recommended.
104
+
105
+ In cases where there are multiple engines on the
106
+ same system, the use of this algorithm is NOT
107
+ appropriate, as it would result in all of those
108
+ engines ending up with the same ID value.
109
+
110
+ 1) The very first bit is used to indicate how the
111
+ rest of the data is composed.
112
+
113
+ 0 - as defined by enterprise using former methods
114
+ that existed before SNMPv3. See item 2 below.
115
+
116
+ 1 - as defined by this architecture, see item 3
117
+ below.
118
+
119
+ Note that this allows existing uses of the
120
+ engineID (also known as AgentID [RFC1910]) to
121
+ co-exist with any new uses.
122
+
123
+ 2) The snmpEngineID has a length of 12 octets.
124
+
125
+ The first four octets are set to the binary
126
+ equivalent of the agent's SNMP management
127
+ private enterprise number as assigned by the
128
+ Internet Assigned Numbers Authority (IANA).
129
+ For example, if Acme Networks has been assigned
130
+ { enterprises 696 }, the first four octets would
131
+ be assigned '000002b8'H.
132
+
133
+ The remaining eight octets are determined via
134
+ one or more enterprise-specific methods. Such
135
+ methods must be designed so as to maximize the
136
+ possibility that the value of this object will
137
+ be unique in the agent's administrative domain.
138
+ For example, it may be the IP address of the SNMP
139
+ entity, or the MAC address of one of the
140
+ interfaces, with each address suitably padded
141
+ with random octets. If multiple methods are
142
+ defined, then it is recommended that the first
143
+ octet indicate the method being used and the
144
+ remaining octets be a function of the method.
145
+
146
+ 3) The length of the octet string varies.
147
+
148
+ The first four octets are set to the binary
149
+ equivalent of the agent's SNMP management
150
+ private enterprise number as assigned by the
151
+ Internet Assigned Numbers Authority (IANA).
152
+ For example, if Acme Networks has been assigned
153
+ { enterprises 696 }, the first four octets would
154
+ be assigned '000002b8'H.
155
+
156
+ The very first bit is set to 1. For example, the
157
+ above value for Acme Networks now changes to be
158
+ '800002b8'H.
159
+
160
+ The fifth octet indicates how the rest (6th and
161
+ following octets) are formatted. The values for
162
+ the fifth octet are:
163
+
164
+ 0 - reserved, unused.
165
+
166
+ 1 - IPv4 address (4 octets)
167
+ lowest non-special IP address
168
+
169
+ 2 - IPv6 address (16 octets)
170
+ lowest non-special IP address
171
+
172
+ 3 - MAC address (6 octets)
173
+ lowest IEEE MAC address, canonical
174
+ order
175
+
176
+ 4 - Text, administratively assigned
177
+ Maximum remaining length 27
178
+
179
+ 5 - Octets, administratively assigned
180
+ Maximum remaining length 27
181
+
182
+ 6-127 - reserved, unused
183
+
184
+ 128-255 - as defined by the enterprise
185
+ Maximum remaining length 27
186
+ "
187
+ SYNTAX OCTET STRING (SIZE(5..32))
188
+
189
+ SnmpSecurityModel ::= TEXTUAL-CONVENTION
190
+ STATUS current
191
+ DESCRIPTION "An identifier that uniquely identifies a
192
+ Security Model of the Security Subsystem within
193
+ this SNMP Management Architecture.
194
+
195
+ The values for securityModel are allocated as
196
+ follows:
197
+
198
+ - The zero value does not identify any particular
199
+ security model.
200
+
201
+ - Values between 1 and 255, inclusive, are reserved
202
+ for standards-track Security Models and are
203
+ managed by the Internet Assigned Numbers Authority
204
+ (IANA).
205
+ - Values greater than 255 are allocated to
206
+ enterprise-specific Security Models. An
207
+ enterprise-specific securityModel value is defined
208
+ to be:
209
+
210
+ enterpriseID * 256 + security model within
211
+ enterprise
212
+
213
+ For example, the fourth Security Model defined by
214
+ the enterprise whose enterpriseID is 1 would be
215
+ 259.
216
+
217
+ This scheme for allocation of securityModel
218
+ values allows for a maximum of 255 standards-
219
+ based Security Models, and for a maximum of
220
+ 256 Security Models per enterprise.
221
+
222
+ It is believed that the assignment of new
223
+ securityModel values will be rare in practice
224
+ because the larger the number of simultaneously
225
+ utilized Security Models, the larger the
226
+ chance that interoperability will suffer.
227
+ Consequently, it is believed that such a range
228
+ will be sufficient. In the unlikely event that
229
+ the standards committee finds this number to be
230
+ insufficient over time, an enterprise number
231
+ can be allocated to obtain an additional 256
232
+ possible values.
233
+
234
+ Note that the most significant bit must be zero;
235
+ hence, there are 23 bits allocated for various
236
+ organizations to design and define non-standard
237
+
238
+ securityModels. This limits the ability to
239
+ define new proprietary implementations of Security
240
+ Models to the first 8,388,608 enterprises.
241
+
242
+ It is worthwhile to note that, in its encoded
243
+ form, the securityModel value will normally
244
+ require only a single byte since, in practice,
245
+ the leftmost bits will be zero for most messages
246
+ and sign extension is suppressed by the encoding
247
+ rules.
248
+
249
+ As of this writing, there are several values
250
+ of securityModel defined for use with SNMP or
251
+ reserved for use with supporting MIB objects.
252
+ They are as follows:
253
+
254
+ 0 reserved for 'any'
255
+ 1 reserved for SNMPv1
256
+ 2 reserved for SNMPv2c
257
+ 3 User-Based Security Model (USM)
258
+ "
259
+ SYNTAX INTEGER(0 .. 2147483647)
260
+
261
+ SnmpMessageProcessingModel ::= TEXTUAL-CONVENTION
262
+ STATUS current
263
+ DESCRIPTION "An identifier that uniquely identifies a Message
264
+ Processing Model of the Message Processing
265
+ Subsystem within this SNMP Management Architecture.
266
+
267
+ The values for messageProcessingModel are
268
+ allocated as follows:
269
+
270
+ - Values between 0 and 255, inclusive, are
271
+ reserved for standards-track Message Processing
272
+ Models and are managed by the Internet Assigned
273
+ Numbers Authority (IANA).
274
+
275
+ - Values greater than 255 are allocated to
276
+ enterprise-specific Message Processing Models.
277
+ An enterprise messageProcessingModel value is
278
+ defined to be:
279
+
280
+ enterpriseID * 256 +
281
+ messageProcessingModel within enterprise
282
+
283
+ For example, the fourth Message Processing Model
284
+ defined by the enterprise whose enterpriseID
285
+
286
+ is 1 would be 259.
287
+
288
+ This scheme for allocating messageProcessingModel
289
+ values allows for a maximum of 255 standards-
290
+ based Message Processing Models, and for a
291
+ maximum of 256 Message Processing Models per
292
+ enterprise.
293
+
294
+ It is believed that the assignment of new
295
+ messageProcessingModel values will be rare
296
+ in practice because the larger the number of
297
+ simultaneously utilized Message Processing Models,
298
+ the larger the chance that interoperability
299
+ will suffer. It is believed that such a range
300
+ will be sufficient. In the unlikely event that
301
+ the standards committee finds this number to be
302
+ insufficient over time, an enterprise number
303
+ can be allocated to obtain an additional 256
304
+ possible values.
305
+
306
+ Note that the most significant bit must be zero;
307
+ hence, there are 23 bits allocated for various
308
+ organizations to design and define non-standard
309
+ messageProcessingModels. This limits the ability
310
+ to define new proprietary implementations of
311
+ Message Processing Models to the first 8,388,608
312
+ enterprises.
313
+
314
+ It is worthwhile to note that, in its encoded
315
+ form, the messageProcessingModel value will
316
+ normally require only a single byte since, in
317
+ practice, the leftmost bits will be zero for
318
+ most messages and sign extension is suppressed
319
+ by the encoding rules.
320
+
321
+ As of this writing, there are several values of
322
+ messageProcessingModel defined for use with SNMP.
323
+ They are as follows:
324
+
325
+ 0 reserved for SNMPv1
326
+ 1 reserved for SNMPv2c
327
+ 2 reserved for SNMPv2u and SNMPv2*
328
+ 3 reserved for SNMPv3
329
+ "
330
+ SYNTAX INTEGER(0 .. 2147483647)
331
+
332
+ SnmpSecurityLevel ::= TEXTUAL-CONVENTION
333
+ STATUS current
334
+ DESCRIPTION "A Level of Security at which SNMP messages can be
335
+ sent or with which operations are being processed;
336
+ in particular, one of:
337
+
338
+ noAuthNoPriv - without authentication and
339
+ without privacy,
340
+ authNoPriv - with authentication but
341
+ without privacy,
342
+ authPriv - with authentication and
343
+ with privacy.
344
+
345
+ These three values are ordered such that
346
+ noAuthNoPriv is less than authNoPriv and
347
+ authNoPriv is less than authPriv.
348
+ "
349
+ SYNTAX INTEGER { noAuthNoPriv(1),
350
+ authNoPriv(2),
351
+ authPriv(3)
352
+ }
353
+
354
+ SnmpAdminString ::= TEXTUAL-CONVENTION
355
+ DISPLAY-HINT "255t"
356
+ STATUS current
357
+ DESCRIPTION "An octet string containing administrative
358
+ information, preferably in human-readable form.
359
+
360
+ To facilitate internationalization, this
361
+ information is represented using the ISO/IEC
362
+ IS 10646-1 character set, encoded as an octet
363
+ string using the UTF-8 transformation format
364
+ described in [RFC2279].
365
+
366
+ Since additional code points are added by
367
+ amendments to the 10646 standard from time
368
+ to time, implementations must be prepared to
369
+ encounter any code point from 0x00000000 to
370
+ 0x7fffffff. Byte sequences that do not
371
+ correspond to the valid UTF-8 encoding of a
372
+ code point or are outside this range are
373
+ prohibited.
374
+
375
+ The use of control codes should be avoided.
376
+
377
+ When it is necessary to represent a newline,
378
+ the control code sequence CR LF should be used.
379
+
380
+ The use of leading or trailing white space should
381
+ be avoided.
382
+
383
+ For code points not directly supported by user
384
+ interface hardware or software, an alternative
385
+ means of entry and display, such as hexadecimal,
386
+ may be provided.
387
+
388
+ For information encoded in 7-bit US-ASCII,
389
+ the UTF-8 encoding is identical to the
390
+ US-ASCII encoding.
391
+
392
+ UTF-8 may require multiple bytes to represent a
393
+ single character / code point; thus the length
394
+ of this object in octets may be different from
395
+ the number of characters encoded. Similarly,
396
+ size constraints refer to the number of encoded
397
+ octets, not the number of characters represented
398
+ by an encoding.
399
+
400
+ Note that when this TC is used for an object that
401
+ is used or envisioned to be used as an index, then
402
+ a SIZE restriction MUST be specified so that the
403
+ number of sub-identifiers for any object instance
404
+ does not exceed the limit of 128, as defined by
405
+ [RFC3416].
406
+
407
+ Note that the size of an SnmpAdminString object is
408
+ measured in octets, not characters.
409
+ "
410
+ SYNTAX OCTET STRING (SIZE (0..255))
411
+
412
+ -- Administrative assignments ***************************************
413
+
414
+ snmpFrameworkAdmin
415
+ OBJECT IDENTIFIER ::= { snmpFrameworkMIB 1 }
416
+ snmpFrameworkMIBObjects
417
+ OBJECT IDENTIFIER ::= { snmpFrameworkMIB 2 }
418
+ snmpFrameworkMIBConformance
419
+ OBJECT IDENTIFIER ::= { snmpFrameworkMIB 3 }
420
+
421
+ -- the snmpEngine Group ********************************************
422
+
423
+ snmpEngine OBJECT IDENTIFIER ::= { snmpFrameworkMIBObjects 1 }
424
+
425
+ snmpEngineID OBJECT-TYPE
426
+ SYNTAX SnmpEngineID
427
+ MAX-ACCESS read-only
428
+ STATUS current
429
+ DESCRIPTION "An SNMP engine's administratively-unique identifier.
430
+
431
+ This information SHOULD be stored in non-volatile
432
+ storage so that it remains constant across
433
+ re-initializations of the SNMP engine.
434
+ "
435
+ ::= { snmpEngine 1 }
436
+
437
+ snmpEngineBoots OBJECT-TYPE
438
+ SYNTAX INTEGER (1..2147483647)
439
+ MAX-ACCESS read-only
440
+ STATUS current
441
+ DESCRIPTION "The number of times that the SNMP engine has
442
+ (re-)initialized itself since snmpEngineID
443
+ was last configured.
444
+ "
445
+ ::= { snmpEngine 2 }
446
+
447
+ snmpEngineTime OBJECT-TYPE
448
+ SYNTAX INTEGER (0..2147483647)
449
+ UNITS "seconds"
450
+ MAX-ACCESS read-only
451
+ STATUS current
452
+ DESCRIPTION "The number of seconds since the value of
453
+ the snmpEngineBoots object last changed.
454
+ When incrementing this object's value would
455
+ cause it to exceed its maximum,
456
+ snmpEngineBoots is incremented as if a
457
+ re-initialization had occurred, and this
458
+ object's value consequently reverts to zero.
459
+ "
460
+ ::= { snmpEngine 3 }
461
+
462
+ snmpEngineMaxMessageSize OBJECT-TYPE
463
+ SYNTAX INTEGER (484..2147483647)
464
+ MAX-ACCESS read-only
465
+ STATUS current
466
+ DESCRIPTION "The maximum length in octets of an SNMP message
467
+ which this SNMP engine can send or receive and
468
+ process, determined as the minimum of the maximum
469
+ message size values supported among all of the
470
+ transports available to and supported by the engine.
471
+ "
472
+ ::= { snmpEngine 4 }
473
+
474
+ -- Registration Points for Authentication and Privacy Protocols **
475
+
476
+ snmpAuthProtocols OBJECT-IDENTITY
477
+ STATUS current
478
+ DESCRIPTION "Registration point for standards-track
479
+ authentication protocols used in SNMP Management
480
+ Frameworks.
481
+ "
482
+ ::= { snmpFrameworkAdmin 1 }
483
+
484
+ snmpPrivProtocols OBJECT-IDENTITY
485
+ STATUS current
486
+ DESCRIPTION "Registration point for standards-track privacy
487
+ protocols used in SNMP Management Frameworks.
488
+ "
489
+ ::= { snmpFrameworkAdmin 2 }
490
+
491
+ -- Conformance information ******************************************
492
+
493
+ snmpFrameworkMIBCompliances
494
+ OBJECT IDENTIFIER ::= {snmpFrameworkMIBConformance 1}
495
+ snmpFrameworkMIBGroups
496
+ OBJECT IDENTIFIER ::= {snmpFrameworkMIBConformance 2}
497
+
498
+ -- compliance statements
499
+
500
+ snmpFrameworkMIBCompliance MODULE-COMPLIANCE
501
+ STATUS current
502
+ DESCRIPTION "The compliance statement for SNMP engines which
503
+ implement the SNMP Management Framework MIB.
504
+ "
505
+ MODULE -- this module
506
+ MANDATORY-GROUPS { snmpEngineGroup }
507
+ ::= { snmpFrameworkMIBCompliances 1 }
508
+
509
+ -- units of conformance
510
+
511
+ snmpEngineGroup OBJECT-GROUP
512
+ OBJECTS {
513
+ snmpEngineID,
514
+ snmpEngineBoots,
515
+ snmpEngineTime,
516
+ snmpEngineMaxMessageSize
517
+ }
518
+ STATUS current
519
+ DESCRIPTION "A collection of objects for identifying and
520
+ determining the configuration and current timeliness
521
+
522
+ values of an SNMP engine.
523
+ "
524
+ ::= { snmpFrameworkMIBGroups 1 }
525
+
526
+ END