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,294 @@
1
+ SNMP-PROXY-MIB DEFINITIONS ::= BEGIN
2
+
3
+ IMPORTS
4
+ MODULE-IDENTITY,
5
+ OBJECT-TYPE,
6
+ snmpModules
7
+ FROM SNMPv2-SMI
8
+
9
+ RowStatus,
10
+ StorageType
11
+ FROM SNMPv2-TC
12
+
13
+ SnmpEngineID,
14
+ SnmpAdminString
15
+ FROM SNMP-FRAMEWORK-MIB
16
+
17
+ SnmpTagValue
18
+ FROM SNMP-TARGET-MIB
19
+
20
+ MODULE-COMPLIANCE,
21
+ OBJECT-GROUP
22
+ FROM SNMPv2-CONF;
23
+
24
+ snmpProxyMIB MODULE-IDENTITY
25
+ LAST-UPDATED "200210140000Z"
26
+ ORGANIZATION "IETF SNMPv3 Working Group"
27
+ CONTACT-INFO
28
+ "WG-email: snmpv3@lists.tislabs.com
29
+ Subscribe: majordomo@lists.tislabs.com
30
+ In message body: subscribe snmpv3
31
+
32
+ Co-Chair: Russ Mundy
33
+ Network Associates Laboratories
34
+ Postal: 15204 Omega Drive, Suite 300
35
+ Rockville, MD 20850-4601
36
+ USA
37
+ EMail: mundy@tislabs.com
38
+ Phone: +1 301-947-7107
39
+
40
+ Co-Chair: David Harrington
41
+ Enterasys Networks
42
+ Postal: 35 Industrial Way
43
+ P. O. Box 5004
44
+ Rochester, New Hampshire 03866-5005
45
+ USA
46
+ EMail: dbh@enterasys.com
47
+ Phone: +1 603-337-2614
48
+
49
+ Co-editor: David B. Levi
50
+ Nortel Networks
51
+ Postal: 3505 Kesterwood Drive
52
+ Knoxville, Tennessee 37918
53
+ EMail: dlevi@nortelnetworks.com
54
+ Phone: +1 865 686 0432
55
+
56
+ Co-editor: Paul Meyer
57
+ Secure Computing Corporation
58
+ Postal: 2675 Long Lake Road
59
+ Roseville, Minnesota 55113
60
+ EMail: paul_meyer@securecomputing.com
61
+ Phone: +1 651 628 1592
62
+
63
+ Co-editor: Bob Stewart
64
+ Retired"
65
+ DESCRIPTION
66
+ "This MIB module defines MIB objects which provide
67
+ mechanisms to remotely configure the parameters
68
+ used by a proxy forwarding application.
69
+
70
+ Copyright (C) The Internet Society (2002). This
71
+ version of this MIB module is part of RFC 3413;
72
+ see the RFC itself for full legal notices.
73
+ "
74
+ REVISION "200210140000Z" -- 14 October 2002
75
+ DESCRIPTION "Clarifications, published as
76
+ RFC 3413."
77
+ REVISION "199808040000Z" -- 4 August 1998
78
+ DESCRIPTION "Clarifications, published as
79
+ RFC 2573."
80
+ REVISION "199707140000Z" -- 14 July 1997
81
+ DESCRIPTION "The initial revision, published as RFC2273."
82
+ ::= { snmpModules 14 }
83
+
84
+ snmpProxyObjects OBJECT IDENTIFIER ::= { snmpProxyMIB 1 }
85
+ snmpProxyConformance OBJECT IDENTIFIER ::= { snmpProxyMIB 3 }
86
+
87
+ --
88
+
89
+ --
90
+ -- The snmpProxyObjects group
91
+ --
92
+ --
93
+
94
+ snmpProxyTable OBJECT-TYPE
95
+ SYNTAX SEQUENCE OF SnmpProxyEntry
96
+ MAX-ACCESS not-accessible
97
+ STATUS current
98
+ DESCRIPTION
99
+ "The table of translation parameters used by proxy forwarder
100
+ applications for forwarding SNMP messages."
101
+ ::= { snmpProxyObjects 2 }
102
+
103
+ snmpProxyEntry OBJECT-TYPE
104
+ SYNTAX SnmpProxyEntry
105
+ MAX-ACCESS not-accessible
106
+ STATUS current
107
+ DESCRIPTION
108
+ "A set of translation parameters used by a proxy forwarder
109
+ application for forwarding SNMP messages.
110
+
111
+ Entries in the snmpProxyTable are created and deleted
112
+ using the snmpProxyRowStatus object."
113
+ INDEX { IMPLIED snmpProxyName }
114
+ ::= { snmpProxyTable 1 }
115
+
116
+ SnmpProxyEntry ::= SEQUENCE {
117
+ snmpProxyName SnmpAdminString,
118
+ snmpProxyType INTEGER,
119
+ snmpProxyContextEngineID SnmpEngineID,
120
+ snmpProxyContextName SnmpAdminString,
121
+ snmpProxyTargetParamsIn SnmpAdminString,
122
+ snmpProxySingleTargetOut SnmpAdminString,
123
+ snmpProxyMultipleTargetOut SnmpTagValue,
124
+ snmpProxyStorageType StorageType,
125
+ snmpProxyRowStatus RowStatus
126
+ }
127
+
128
+ snmpProxyName OBJECT-TYPE
129
+ SYNTAX SnmpAdminString (SIZE(1..32))
130
+ MAX-ACCESS not-accessible
131
+ STATUS current
132
+ DESCRIPTION
133
+ "The locally arbitrary, but unique identifier associated
134
+ with this snmpProxyEntry."
135
+ ::= { snmpProxyEntry 1 }
136
+
137
+ snmpProxyType OBJECT-TYPE
138
+ SYNTAX INTEGER {
139
+ read(1),
140
+ write(2),
141
+ trap(3),
142
+ inform(4)
143
+ }
144
+ MAX-ACCESS read-create
145
+ STATUS current
146
+ DESCRIPTION
147
+ "The type of message that may be forwarded using
148
+ the translation parameters defined by this entry."
149
+ ::= { snmpProxyEntry 2 }
150
+
151
+ snmpProxyContextEngineID OBJECT-TYPE
152
+ SYNTAX SnmpEngineID
153
+ MAX-ACCESS read-create
154
+ STATUS current
155
+ DESCRIPTION
156
+ "The contextEngineID contained in messages that
157
+ may be forwarded using the translation parameters
158
+ defined by this entry."
159
+ ::= { snmpProxyEntry 3 }
160
+
161
+ snmpProxyContextName OBJECT-TYPE
162
+ SYNTAX SnmpAdminString
163
+ MAX-ACCESS read-create
164
+ STATUS current
165
+ DESCRIPTION
166
+ "The contextName contained in messages that may be
167
+ forwarded using the translation parameters defined
168
+ by this entry.
169
+
170
+ This object is optional, and if not supported, the
171
+ contextName contained in a message is ignored when
172
+ selecting an entry in the snmpProxyTable."
173
+ ::= { snmpProxyEntry 4 }
174
+
175
+ snmpProxyTargetParamsIn OBJECT-TYPE
176
+ SYNTAX SnmpAdminString
177
+ MAX-ACCESS read-create
178
+ STATUS current
179
+ DESCRIPTION
180
+ "This object selects an entry in the snmpTargetParamsTable.
181
+ The selected entry is used to determine which row of the
182
+ snmpProxyTable to use for forwarding received messages."
183
+ ::= { snmpProxyEntry 5 }
184
+
185
+ snmpProxySingleTargetOut OBJECT-TYPE
186
+ SYNTAX SnmpAdminString
187
+ MAX-ACCESS read-create
188
+ STATUS current
189
+ DESCRIPTION
190
+ "This object selects a management target defined in the
191
+ snmpTargetAddrTable (in the SNMP-TARGET-MIB). The
192
+ selected target is defined by an entry in the
193
+ snmpTargetAddrTable whose index value (snmpTargetAddrName)
194
+ is equal to this object.
195
+
196
+ This object is only used when selection of a single
197
+ target is required (i.e. when forwarding an incoming
198
+ read or write request)."
199
+ ::= { snmpProxyEntry 6 }
200
+
201
+ snmpProxyMultipleTargetOut OBJECT-TYPE
202
+ SYNTAX SnmpTagValue
203
+ MAX-ACCESS read-create
204
+ STATUS current
205
+ DESCRIPTION
206
+ "This object selects a set of management targets defined
207
+ in the snmpTargetAddrTable (in the SNMP-TARGET-MIB).
208
+
209
+ This object is only used when selection of multiple
210
+ targets is required (i.e. when forwarding an incoming
211
+ notification)."
212
+ ::= { snmpProxyEntry 7 }
213
+
214
+ snmpProxyStorageType OBJECT-TYPE
215
+ SYNTAX StorageType
216
+ MAX-ACCESS read-create
217
+ STATUS current
218
+ DESCRIPTION
219
+ "The storage type of this conceptual row.
220
+ Conceptual rows having the value 'permanent' need not
221
+ allow write-access to any columnar objects in the row."
222
+ DEFVAL { nonVolatile }
223
+ ::= { snmpProxyEntry 8 }
224
+
225
+ snmpProxyRowStatus OBJECT-TYPE
226
+ SYNTAX RowStatus
227
+ MAX-ACCESS read-create
228
+ STATUS current
229
+ DESCRIPTION
230
+ "The status of this conceptual row.
231
+
232
+ To create a row in this table, a manager must
233
+
234
+ set this object to either createAndGo(4) or
235
+ createAndWait(5).
236
+
237
+ The following objects may not be modified while the
238
+ value of this object is active(1):
239
+ - snmpProxyType
240
+ - snmpProxyContextEngineID
241
+ - snmpProxyContextName
242
+ - snmpProxyTargetParamsIn
243
+ - snmpProxySingleTargetOut
244
+ - snmpProxyMultipleTargetOut"
245
+ ::= { snmpProxyEntry 9 }
246
+
247
+ --
248
+ --
249
+ -- Conformance information
250
+ --
251
+ --
252
+
253
+ snmpProxyCompliances OBJECT IDENTIFIER ::=
254
+ { snmpProxyConformance 1 }
255
+ snmpProxyGroups OBJECT IDENTIFIER ::=
256
+ { snmpProxyConformance 2 }
257
+
258
+ --
259
+ --
260
+ -- Compliance statements
261
+ --
262
+ --
263
+
264
+ snmpProxyCompliance MODULE-COMPLIANCE
265
+ STATUS current
266
+ DESCRIPTION
267
+ "The compliance statement for SNMP entities which include
268
+ a proxy forwarding application."
269
+ MODULE SNMP-TARGET-MIB
270
+ MANDATORY-GROUPS { snmpTargetBasicGroup,
271
+ snmpTargetResponseGroup }
272
+ MODULE -- This Module
273
+ MANDATORY-GROUPS { snmpProxyGroup }
274
+ ::= { snmpProxyCompliances 1 }
275
+
276
+ snmpProxyGroup OBJECT-GROUP
277
+ OBJECTS {
278
+ snmpProxyType,
279
+ snmpProxyContextEngineID,
280
+ snmpProxyContextName,
281
+ snmpProxyTargetParamsIn,
282
+ snmpProxySingleTargetOut,
283
+ snmpProxyMultipleTargetOut,
284
+ snmpProxyStorageType,
285
+ snmpProxyRowStatus
286
+ }
287
+ STATUS current
288
+ DESCRIPTION
289
+ "A collection of objects providing remote configuration of
290
+ management target translation parameters for use by
291
+ proxy forwarder applications."
292
+ ::= { snmpProxyGroups 3 }
293
+
294
+ END
@@ -0,0 +1,660 @@
1
+ SNMP-TARGET-MIB DEFINITIONS ::= BEGIN
2
+
3
+ IMPORTS
4
+ MODULE-IDENTITY,
5
+ OBJECT-TYPE,
6
+ snmpModules,
7
+ Counter32,
8
+ Integer32
9
+ FROM SNMPv2-SMI
10
+
11
+ TEXTUAL-CONVENTION,
12
+ TDomain,
13
+ TAddress,
14
+ TimeInterval,
15
+ RowStatus,
16
+ StorageType,
17
+ TestAndIncr
18
+ FROM SNMPv2-TC
19
+
20
+ SnmpSecurityModel,
21
+ SnmpMessageProcessingModel,
22
+ SnmpSecurityLevel,
23
+ SnmpAdminString
24
+ FROM SNMP-FRAMEWORK-MIB
25
+
26
+ MODULE-COMPLIANCE,
27
+ OBJECT-GROUP
28
+ FROM SNMPv2-CONF;
29
+
30
+ snmpTargetMIB MODULE-IDENTITY
31
+ LAST-UPDATED "200210140000Z"
32
+ ORGANIZATION "IETF SNMPv3 Working Group"
33
+ CONTACT-INFO
34
+ "WG-email: snmpv3@lists.tislabs.com
35
+ Subscribe: majordomo@lists.tislabs.com
36
+ In message body: subscribe snmpv3
37
+
38
+ Co-Chair: Russ Mundy
39
+ Network Associates Laboratories
40
+ Postal: 15204 Omega Drive, Suite 300
41
+ Rockville, MD 20850-4601
42
+ USA
43
+ EMail: mundy@tislabs.com
44
+ Phone: +1 301-947-7107
45
+
46
+ Co-Chair: David Harrington
47
+ Enterasys Networks
48
+ Postal: 35 Industrial Way
49
+ P. O. Box 5004
50
+ Rochester, New Hampshire 03866-5005
51
+ USA
52
+ EMail: dbh@enterasys.com
53
+ Phone: +1 603-337-2614
54
+
55
+ Co-editor: David B. Levi
56
+ Nortel Networks
57
+ Postal: 3505 Kesterwood Drive
58
+ Knoxville, Tennessee 37918
59
+ EMail: dlevi@nortelnetworks.com
60
+ Phone: +1 865 686 0432
61
+
62
+ Co-editor: Paul Meyer
63
+ Secure Computing Corporation
64
+ Postal: 2675 Long Lake Road
65
+
66
+ Roseville, Minnesota 55113
67
+ EMail: paul_meyer@securecomputing.com
68
+ Phone: +1 651 628 1592
69
+
70
+ Co-editor: Bob Stewart
71
+ Retired"
72
+ DESCRIPTION
73
+ "This MIB module defines MIB objects which provide
74
+ mechanisms to remotely configure the parameters used
75
+ by an SNMP entity for the generation of SNMP messages.
76
+
77
+ Copyright (C) The Internet Society (2002). This
78
+ version of this MIB module is part of RFC 3413;
79
+ see the RFC itself for full legal notices.
80
+ "
81
+ REVISION "200210140000Z" -- 14 October 2002
82
+ DESCRIPTION "Fixed DISPLAY-HINTS for UTF-8 strings, fixed hex
83
+ value of LF characters, clarified meaning of zero
84
+ length tag values, improved tag list examples.
85
+ Published as RFC 3413."
86
+ REVISION "199808040000Z" -- 4 August 1998
87
+ DESCRIPTION "Clarifications, published as
88
+ RFC 2573."
89
+ REVISION "199707140000Z" -- 14 July 1997
90
+ DESCRIPTION "The initial revision, published as RFC2273."
91
+ ::= { snmpModules 12 }
92
+
93
+ snmpTargetObjects OBJECT IDENTIFIER ::= { snmpTargetMIB 1 }
94
+ snmpTargetConformance OBJECT IDENTIFIER ::= { snmpTargetMIB 3 }
95
+
96
+ SnmpTagValue ::= TEXTUAL-CONVENTION
97
+ DISPLAY-HINT "255t"
98
+ STATUS current
99
+ DESCRIPTION
100
+ "An octet string containing a tag value.
101
+ Tag values are preferably in human-readable form.
102
+
103
+ To facilitate internationalization, this information
104
+ is represented using the ISO/IEC IS 10646-1 character
105
+ set, encoded as an octet string using the UTF-8
106
+ character encoding scheme described in RFC 2279.
107
+
108
+ Since additional code points are added by amendments
109
+ to the 10646 standard from time to time,
110
+ implementations must be prepared to encounter any code
111
+ point from 0x00000000 to 0x7fffffff.
112
+
113
+ The use of control codes should be avoided, and certain
114
+
115
+ control codes are not allowed as described below.
116
+
117
+ For code points not directly supported by user
118
+ interface hardware or software, an alternative means
119
+ of entry and display, such as hexadecimal, may be
120
+ provided.
121
+
122
+ For information encoded in 7-bit US-ASCII, the UTF-8
123
+ representation is identical to the US-ASCII encoding.
124
+
125
+ Note that when this TC is used for an object that
126
+ is used or envisioned to be used as an index, then a
127
+ SIZE restriction must be specified so that the number
128
+ of sub-identifiers for any object instance does not
129
+ exceed the limit of 128, as defined by [RFC1905].
130
+
131
+ An object of this type contains a single tag value
132
+ which is used to select a set of entries in a table.
133
+
134
+ A tag value is an arbitrary string of octets, but
135
+ may not contain a delimiter character. Delimiter
136
+ characters are defined to be one of the following:
137
+
138
+ - An ASCII space character (0x20).
139
+
140
+ - An ASCII TAB character (0x09).
141
+
142
+ - An ASCII carriage return (CR) character (0x0D).
143
+
144
+ - An ASCII line feed (LF) character (0x0A).
145
+
146
+ Delimiter characters are used to separate tag values
147
+ in a tag list. An object of this type may only
148
+ contain a single tag value, and so delimiter
149
+ characters are not allowed in a value of this type.
150
+
151
+ Note that a tag value of 0 length means that no tag is
152
+ defined. In other words, a tag value of 0 length would
153
+ never match anything in a tag list, and would never
154
+ select any table entries.
155
+
156
+ Some examples of valid tag values are:
157
+
158
+ - 'acme'
159
+
160
+ - 'router'
161
+
162
+ - 'host'
163
+
164
+ The use of a tag value to select table entries is
165
+ application and MIB specific."
166
+ SYNTAX OCTET STRING (SIZE (0..255))
167
+
168
+ SnmpTagList ::= TEXTUAL-CONVENTION
169
+ DISPLAY-HINT "255t"
170
+ STATUS current
171
+ DESCRIPTION
172
+ "An octet string containing a list of tag values.
173
+ Tag values are preferably in human-readable form.
174
+
175
+ To facilitate internationalization, this information
176
+ is represented using the ISO/IEC IS 10646-1 character
177
+ set, encoded as an octet string using the UTF-8
178
+ character encoding scheme described in RFC 2279.
179
+
180
+ Since additional code points are added by amendments
181
+ to the 10646 standard from time to time,
182
+ implementations must be prepared to encounter any code
183
+ point from 0x00000000 to 0x7fffffff.
184
+
185
+ The use of control codes should be avoided, except as
186
+ described below.
187
+
188
+ For code points not directly supported by user
189
+ interface hardware or software, an alternative means
190
+ of entry and display, such as hexadecimal, may be
191
+ provided.
192
+
193
+ For information encoded in 7-bit US-ASCII, the UTF-8
194
+ representation is identical to the US-ASCII encoding.
195
+
196
+ An object of this type contains a list of tag values
197
+ which are used to select a set of entries in a table.
198
+
199
+ A tag value is an arbitrary string of octets, but
200
+ may not contain a delimiter character. Delimiter
201
+ characters are defined to be one of the following:
202
+
203
+ - An ASCII space character (0x20).
204
+
205
+ - An ASCII TAB character (0x09).
206
+
207
+ - An ASCII carriage return (CR) character (0x0D).
208
+
209
+ - An ASCII line feed (LF) character (0x0A).
210
+
211
+ Delimiter characters are used to separate tag values
212
+
213
+ in a tag list. Only a single delimiter character may
214
+ occur between two tag values. A tag value may not
215
+ have a zero length. These constraints imply certain
216
+ restrictions on the contents of this object:
217
+
218
+ - There cannot be a leading or trailing delimiter
219
+ character.
220
+
221
+ - There cannot be multiple adjacent delimiter
222
+ characters.
223
+
224
+ Some examples of valid tag lists are:
225
+
226
+ - '' -- an empty list
227
+
228
+ - 'acme' -- list of one tag
229
+
230
+ - 'host router bridge' -- list of several tags
231
+
232
+ Note that although a tag value may not have a length of
233
+ zero, an empty string is still valid. This indicates
234
+ an empty list (i.e. there are no tag values in the list).
235
+
236
+ The use of the tag list to select table entries is
237
+ application and MIB specific. Typically, an application
238
+ will provide one or more tag values, and any entry
239
+ which contains some combination of these tag values
240
+ will be selected."
241
+ SYNTAX OCTET STRING (SIZE (0..255))
242
+
243
+ --
244
+ --
245
+ -- The snmpTargetObjects group
246
+ --
247
+ --
248
+
249
+ snmpTargetSpinLock OBJECT-TYPE
250
+ SYNTAX TestAndIncr
251
+ MAX-ACCESS read-write
252
+ STATUS current
253
+ DESCRIPTION
254
+ "This object is used to facilitate modification of table
255
+ entries in the SNMP-TARGET-MIB module by multiple
256
+ managers. In particular, it is useful when modifying
257
+ the value of the snmpTargetAddrTagList object.
258
+
259
+ The procedure for modifying the snmpTargetAddrTagList
260
+ object is as follows:
261
+
262
+ 1. Retrieve the value of snmpTargetSpinLock and
263
+ of snmpTargetAddrTagList.
264
+
265
+ 2. Generate a new value for snmpTargetAddrTagList.
266
+
267
+ 3. Set the value of snmpTargetSpinLock to the
268
+ retrieved value, and the value of
269
+ snmpTargetAddrTagList to the new value. If
270
+ the set fails for the snmpTargetSpinLock
271
+ object, go back to step 1."
272
+ ::= { snmpTargetObjects 1 }
273
+
274
+ snmpTargetAddrTable OBJECT-TYPE
275
+ SYNTAX SEQUENCE OF SnmpTargetAddrEntry
276
+ MAX-ACCESS not-accessible
277
+ STATUS current
278
+ DESCRIPTION
279
+ "A table of transport addresses to be used in the generation
280
+ of SNMP messages."
281
+ ::= { snmpTargetObjects 2 }
282
+
283
+ snmpTargetAddrEntry OBJECT-TYPE
284
+ SYNTAX SnmpTargetAddrEntry
285
+ MAX-ACCESS not-accessible
286
+ STATUS current
287
+ DESCRIPTION
288
+ "A transport address to be used in the generation
289
+ of SNMP operations.
290
+
291
+ Entries in the snmpTargetAddrTable are created and
292
+ deleted using the snmpTargetAddrRowStatus object."
293
+ INDEX { IMPLIED snmpTargetAddrName }
294
+ ::= { snmpTargetAddrTable 1 }
295
+
296
+ SnmpTargetAddrEntry ::= SEQUENCE {
297
+ snmpTargetAddrName SnmpAdminString,
298
+ snmpTargetAddrTDomain TDomain,
299
+ snmpTargetAddrTAddress TAddress,
300
+ snmpTargetAddrTimeout TimeInterval,
301
+ snmpTargetAddrRetryCount Integer32,
302
+ snmpTargetAddrTagList SnmpTagList,
303
+ snmpTargetAddrParams SnmpAdminString,
304
+ snmpTargetAddrStorageType StorageType,
305
+ snmpTargetAddrRowStatus RowStatus
306
+ }
307
+
308
+ snmpTargetAddrName OBJECT-TYPE
309
+ SYNTAX SnmpAdminString (SIZE(1..32))
310
+ MAX-ACCESS not-accessible
311
+ STATUS current
312
+ DESCRIPTION
313
+ "The locally arbitrary, but unique identifier associated
314
+ with this snmpTargetAddrEntry."
315
+ ::= { snmpTargetAddrEntry 1 }
316
+
317
+ snmpTargetAddrTDomain OBJECT-TYPE
318
+ SYNTAX TDomain
319
+ MAX-ACCESS read-create
320
+ STATUS current
321
+ DESCRIPTION
322
+ "This object indicates the transport type of the address
323
+ contained in the snmpTargetAddrTAddress object."
324
+ ::= { snmpTargetAddrEntry 2 }
325
+
326
+ snmpTargetAddrTAddress OBJECT-TYPE
327
+ SYNTAX TAddress
328
+ MAX-ACCESS read-create
329
+ STATUS current
330
+ DESCRIPTION
331
+ "This object contains a transport address. The format of
332
+ this address depends on the value of the
333
+ snmpTargetAddrTDomain object."
334
+ ::= { snmpTargetAddrEntry 3 }
335
+
336
+ snmpTargetAddrTimeout OBJECT-TYPE
337
+ SYNTAX TimeInterval
338
+ MAX-ACCESS read-create
339
+ STATUS current
340
+ DESCRIPTION
341
+ "This object should reflect the expected maximum round
342
+ trip time for communicating with the transport address
343
+ defined by this row. When a message is sent to this
344
+ address, and a response (if one is expected) is not
345
+ received within this time period, an implementation
346
+ may assume that the response will not be delivered.
347
+
348
+ Note that the time interval that an application waits
349
+ for a response may actually be derived from the value
350
+ of this object. The method for deriving the actual time
351
+ interval is implementation dependent. One such method
352
+ is to derive the expected round trip time based on a
353
+ particular retransmission algorithm and on the number
354
+ of timeouts which have occurred. The type of message may
355
+ also be considered when deriving expected round trip
356
+ times for retransmissions. For example, if a message is
357
+ being sent with a securityLevel that indicates both
358
+
359
+ authentication and privacy, the derived value may be
360
+ increased to compensate for extra processing time spent
361
+ during authentication and encryption processing."
362
+ DEFVAL { 1500 }
363
+ ::= { snmpTargetAddrEntry 4 }
364
+
365
+ snmpTargetAddrRetryCount OBJECT-TYPE
366
+ SYNTAX Integer32 (0..255)
367
+ MAX-ACCESS read-create
368
+ STATUS current
369
+ DESCRIPTION
370
+ "This object specifies a default number of retries to be
371
+ attempted when a response is not received for a generated
372
+ message. An application may provide its own retry count,
373
+ in which case the value of this object is ignored."
374
+ DEFVAL { 3 }
375
+ ::= { snmpTargetAddrEntry 5 }
376
+
377
+ snmpTargetAddrTagList OBJECT-TYPE
378
+ SYNTAX SnmpTagList
379
+ MAX-ACCESS read-create
380
+ STATUS current
381
+ DESCRIPTION
382
+ "This object contains a list of tag values which are
383
+ used to select target addresses for a particular
384
+ operation."
385
+ DEFVAL { "" }
386
+ ::= { snmpTargetAddrEntry 6 }
387
+
388
+ snmpTargetAddrParams OBJECT-TYPE
389
+ SYNTAX SnmpAdminString (SIZE(1..32))
390
+ MAX-ACCESS read-create
391
+ STATUS current
392
+ DESCRIPTION
393
+ "The value of this object identifies an entry in the
394
+ snmpTargetParamsTable. The identified entry
395
+ contains SNMP parameters to be used when generating
396
+ messages to be sent to this transport address."
397
+ ::= { snmpTargetAddrEntry 7 }
398
+
399
+ snmpTargetAddrStorageType OBJECT-TYPE
400
+ SYNTAX StorageType
401
+ MAX-ACCESS read-create
402
+ STATUS current
403
+ DESCRIPTION
404
+ "The storage type for this conceptual row.
405
+ Conceptual rows having the value 'permanent' need not
406
+ allow write-access to any columnar objects in the row."
407
+ DEFVAL { nonVolatile }
408
+ ::= { snmpTargetAddrEntry 8 }
409
+
410
+ snmpTargetAddrRowStatus OBJECT-TYPE
411
+ SYNTAX RowStatus
412
+ MAX-ACCESS read-create
413
+ STATUS current
414
+ DESCRIPTION
415
+ "The status of this conceptual row.
416
+
417
+ To create a row in this table, a manager must
418
+ set this object to either createAndGo(4) or
419
+ createAndWait(5).
420
+
421
+ Until instances of all corresponding columns are
422
+ appropriately configured, the value of the
423
+ corresponding instance of the snmpTargetAddrRowStatus
424
+ column is 'notReady'.
425
+
426
+ In particular, a newly created row cannot be made
427
+ active until the corresponding instances of
428
+ snmpTargetAddrTDomain, snmpTargetAddrTAddress, and
429
+ snmpTargetAddrParams have all been set.
430
+
431
+ The following objects may not be modified while the
432
+ value of this object is active(1):
433
+ - snmpTargetAddrTDomain
434
+ - snmpTargetAddrTAddress
435
+ An attempt to set these objects while the value of
436
+ snmpTargetAddrRowStatus is active(1) will result in
437
+ an inconsistentValue error."
438
+ ::= { snmpTargetAddrEntry 9 }
439
+
440
+ snmpTargetParamsTable OBJECT-TYPE
441
+ SYNTAX SEQUENCE OF SnmpTargetParamsEntry
442
+ MAX-ACCESS not-accessible
443
+ STATUS current
444
+ DESCRIPTION
445
+ "A table of SNMP target information to be used
446
+ in the generation of SNMP messages."
447
+ ::= { snmpTargetObjects 3 }
448
+
449
+ snmpTargetParamsEntry OBJECT-TYPE
450
+ SYNTAX SnmpTargetParamsEntry
451
+ MAX-ACCESS not-accessible
452
+ STATUS current
453
+ DESCRIPTION
454
+ "A set of SNMP target information.
455
+
456
+ Entries in the snmpTargetParamsTable are created and
457
+ deleted using the snmpTargetParamsRowStatus object."
458
+ INDEX { IMPLIED snmpTargetParamsName }
459
+ ::= { snmpTargetParamsTable 1 }
460
+
461
+ SnmpTargetParamsEntry ::= SEQUENCE {
462
+ snmpTargetParamsName SnmpAdminString,
463
+ snmpTargetParamsMPModel SnmpMessageProcessingModel,
464
+ snmpTargetParamsSecurityModel SnmpSecurityModel,
465
+ snmpTargetParamsSecurityName SnmpAdminString,
466
+ snmpTargetParamsSecurityLevel SnmpSecurityLevel,
467
+ snmpTargetParamsStorageType StorageType,
468
+ snmpTargetParamsRowStatus RowStatus
469
+ }
470
+
471
+ snmpTargetParamsName OBJECT-TYPE
472
+ SYNTAX SnmpAdminString (SIZE(1..32))
473
+ MAX-ACCESS not-accessible
474
+ STATUS current
475
+ DESCRIPTION
476
+ "The locally arbitrary, but unique identifier associated
477
+ with this snmpTargetParamsEntry."
478
+ ::= { snmpTargetParamsEntry 1 }
479
+
480
+ snmpTargetParamsMPModel OBJECT-TYPE
481
+ SYNTAX SnmpMessageProcessingModel
482
+ MAX-ACCESS read-create
483
+ STATUS current
484
+ DESCRIPTION
485
+ "The Message Processing Model to be used when generating
486
+ SNMP messages using this entry."
487
+ ::= { snmpTargetParamsEntry 2 }
488
+
489
+ snmpTargetParamsSecurityModel OBJECT-TYPE
490
+ SYNTAX SnmpSecurityModel (1..2147483647)
491
+ MAX-ACCESS read-create
492
+ STATUS current
493
+ DESCRIPTION
494
+ "The Security Model to be used when generating SNMP
495
+ messages using this entry. An implementation may
496
+ choose to return an inconsistentValue error if an
497
+ attempt is made to set this variable to a value
498
+ for a security model which the implementation does
499
+ not support."
500
+ ::= { snmpTargetParamsEntry 3 }
501
+
502
+ snmpTargetParamsSecurityName OBJECT-TYPE
503
+ SYNTAX SnmpAdminString
504
+ MAX-ACCESS read-create
505
+ STATUS current
506
+ DESCRIPTION
507
+ "The securityName which identifies the Principal on
508
+ whose behalf SNMP messages will be generated using
509
+ this entry."
510
+ ::= { snmpTargetParamsEntry 4 }
511
+
512
+ snmpTargetParamsSecurityLevel OBJECT-TYPE
513
+ SYNTAX SnmpSecurityLevel
514
+ MAX-ACCESS read-create
515
+ STATUS current
516
+ DESCRIPTION
517
+ "The Level of Security to be used when generating
518
+ SNMP messages using this entry."
519
+ ::= { snmpTargetParamsEntry 5 }
520
+
521
+ snmpTargetParamsStorageType OBJECT-TYPE
522
+ SYNTAX StorageType
523
+ MAX-ACCESS read-create
524
+ STATUS current
525
+ DESCRIPTION
526
+ "The storage type for this conceptual row.
527
+ Conceptual rows having the value 'permanent' need not
528
+ allow write-access to any columnar objects in the row."
529
+ DEFVAL { nonVolatile }
530
+ ::= { snmpTargetParamsEntry 6 }
531
+
532
+ snmpTargetParamsRowStatus OBJECT-TYPE
533
+ SYNTAX RowStatus
534
+ MAX-ACCESS read-create
535
+ STATUS current
536
+ DESCRIPTION
537
+ "The status of this conceptual row.
538
+
539
+ To create a row in this table, a manager must
540
+ set this object to either createAndGo(4) or
541
+ createAndWait(5).
542
+
543
+ Until instances of all corresponding columns are
544
+ appropriately configured, the value of the
545
+ corresponding instance of the snmpTargetParamsRowStatus
546
+ column is 'notReady'.
547
+
548
+ In particular, a newly created row cannot be made
549
+ active until the corresponding
550
+ snmpTargetParamsMPModel,
551
+ snmpTargetParamsSecurityModel,
552
+ snmpTargetParamsSecurityName,
553
+ and snmpTargetParamsSecurityLevel have all been set.
554
+
555
+ The following objects may not be modified while the
556
+ value of this object is active(1):
557
+ - snmpTargetParamsMPModel
558
+ - snmpTargetParamsSecurityModel
559
+ - snmpTargetParamsSecurityName
560
+ - snmpTargetParamsSecurityLevel
561
+ An attempt to set these objects while the value of
562
+ snmpTargetParamsRowStatus is active(1) will result in
563
+ an inconsistentValue error."
564
+ ::= { snmpTargetParamsEntry 7 }
565
+
566
+ snmpUnavailableContexts OBJECT-TYPE
567
+ SYNTAX Counter32
568
+ MAX-ACCESS read-only
569
+ STATUS current
570
+ DESCRIPTION
571
+ "The total number of packets received by the SNMP
572
+ engine which were dropped because the context
573
+ contained in the message was unavailable."
574
+ ::= { snmpTargetObjects 4 }
575
+
576
+ snmpUnknownContexts OBJECT-TYPE
577
+ SYNTAX Counter32
578
+ MAX-ACCESS read-only
579
+ STATUS current
580
+ DESCRIPTION
581
+ "The total number of packets received by the SNMP
582
+ engine which were dropped because the context
583
+ contained in the message was unknown."
584
+ ::= { snmpTargetObjects 5 }
585
+
586
+ --
587
+ --
588
+ -- Conformance information
589
+ --
590
+ --
591
+
592
+ snmpTargetCompliances OBJECT IDENTIFIER ::=
593
+ { snmpTargetConformance 1 }
594
+ snmpTargetGroups OBJECT IDENTIFIER ::=
595
+ { snmpTargetConformance 2 }
596
+
597
+ --
598
+ --
599
+ -- Compliance statements
600
+
601
+ --
602
+ --
603
+
604
+ snmpTargetCommandResponderCompliance MODULE-COMPLIANCE
605
+ STATUS current
606
+ DESCRIPTION
607
+ "The compliance statement for SNMP entities which include
608
+ a command responder application."
609
+ MODULE -- This Module
610
+ MANDATORY-GROUPS { snmpTargetCommandResponderGroup }
611
+ ::= { snmpTargetCompliances 1 }
612
+
613
+ snmpTargetBasicGroup OBJECT-GROUP
614
+ OBJECTS {
615
+ snmpTargetSpinLock,
616
+ snmpTargetAddrTDomain,
617
+ snmpTargetAddrTAddress,
618
+ snmpTargetAddrTagList,
619
+ snmpTargetAddrParams,
620
+ snmpTargetAddrStorageType,
621
+ snmpTargetAddrRowStatus,
622
+ snmpTargetParamsMPModel,
623
+ snmpTargetParamsSecurityModel,
624
+ snmpTargetParamsSecurityName,
625
+ snmpTargetParamsSecurityLevel,
626
+ snmpTargetParamsStorageType,
627
+ snmpTargetParamsRowStatus
628
+ }
629
+ STATUS current
630
+ DESCRIPTION
631
+ "A collection of objects providing basic remote
632
+ configuration of management targets."
633
+ ::= { snmpTargetGroups 1 }
634
+
635
+ snmpTargetResponseGroup OBJECT-GROUP
636
+ OBJECTS {
637
+ snmpTargetAddrTimeout,
638
+ snmpTargetAddrRetryCount
639
+ }
640
+ STATUS current
641
+ DESCRIPTION
642
+ "A collection of objects providing remote configuration
643
+ of management targets for applications which generate
644
+ SNMP messages for which a response message would be
645
+ expected."
646
+ ::= { snmpTargetGroups 2 }
647
+
648
+ snmpTargetCommandResponderGroup OBJECT-GROUP
649
+
650
+ OBJECTS {
651
+ snmpUnavailableContexts,
652
+ snmpUnknownContexts
653
+ }
654
+ STATUS current
655
+ DESCRIPTION
656
+ "A collection of objects required for command responder
657
+ applications, used for counting error conditions."
658
+ ::= { snmpTargetGroups 3 }
659
+
660
+ END