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,145 @@
1
+ SNMP-MPD-MIB DEFINITIONS ::= BEGIN
2
+
3
+ IMPORTS
4
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
5
+ MODULE-IDENTITY, OBJECT-TYPE,
6
+ snmpModules, Counter32 FROM SNMPv2-SMI;
7
+
8
+ snmpMPDMIB MODULE-IDENTITY
9
+ LAST-UPDATED "200210140000Z"
10
+ ORGANIZATION "SNMPv3 Working Group"
11
+ CONTACT-INFO "WG-EMail: snmpv3@lists.tislabs.com
12
+ Subscribe: snmpv3-request@lists.tislabs.com
13
+
14
+ Co-Chair: Russ Mundy
15
+ Network Associates Laboratories
16
+ postal: 15204 Omega Drive, Suite 300
17
+ Rockville, MD 20850-4601
18
+ USA
19
+
20
+ EMail: mundy@tislabs.com
21
+ phone: +1 301-947-7107
22
+
23
+ Co-Chair &
24
+ Co-editor: David Harrington
25
+ Enterasys Networks
26
+ postal: 35 Industrial Way
27
+ P. O. Box 5005
28
+ Rochester NH 03866-5005
29
+ USA
30
+ EMail: dbh@enterasys.com
31
+ phone: +1 603-337-2614
32
+
33
+ Co-editor: Jeffrey Case
34
+ SNMP Research, Inc.
35
+ postal: 3001 Kimberlin Heights Road
36
+ Knoxville, TN 37920-9716
37
+ USA
38
+ EMail: case@snmp.com
39
+ phone: +1 423-573-1434
40
+
41
+ Co-editor: Randy Presuhn
42
+ BMC Software, Inc.
43
+ postal: 2141 North First Street
44
+ San Jose, CA 95131
45
+ USA
46
+ EMail: randy_presuhn@bmc.com
47
+ phone: +1 408-546-1006
48
+
49
+ Co-editor: Bert Wijnen
50
+ Lucent Technologies
51
+ postal: Schagen 33
52
+ 3461 GL Linschoten
53
+ Netherlands
54
+ EMail: bwijnen@lucent.com
55
+ phone: +31 348-680-485
56
+ "
57
+ DESCRIPTION "The MIB for Message Processing and Dispatching
58
+
59
+ Copyright (C) The Internet Society (2002). This
60
+ version of this MIB module is part of RFC 3412;
61
+ see the RFC itself for full legal notices.
62
+ "
63
+ REVISION "200210140000Z" -- 14 October 2002
64
+ DESCRIPTION "Updated addresses, published as RFC 3412."
65
+ REVISION "199905041636Z" -- 4 May 1999
66
+ DESCRIPTION "Updated addresses, published as RFC 2572."
67
+
68
+ REVISION "199709300000Z" -- 30 September 1997
69
+ DESCRIPTION "Original version, published as RFC 2272."
70
+ ::= { snmpModules 11 }
71
+
72
+ -- Administrative assignments ***************************************
73
+
74
+ snmpMPDAdmin OBJECT IDENTIFIER ::= { snmpMPDMIB 1 }
75
+ snmpMPDMIBObjects OBJECT IDENTIFIER ::= { snmpMPDMIB 2 }
76
+ snmpMPDMIBConformance OBJECT IDENTIFIER ::= { snmpMPDMIB 3 }
77
+
78
+ -- Statistics for SNMP Messages *************************************
79
+
80
+ snmpMPDStats OBJECT IDENTIFIER ::= { snmpMPDMIBObjects 1 }
81
+
82
+ snmpUnknownSecurityModels OBJECT-TYPE
83
+ SYNTAX Counter32
84
+ MAX-ACCESS read-only
85
+ STATUS current
86
+ DESCRIPTION "The total number of packets received by the SNMP
87
+ engine which were dropped because they referenced a
88
+ securityModel that was not known to or supported by
89
+ the SNMP engine.
90
+ "
91
+ ::= { snmpMPDStats 1 }
92
+
93
+ snmpInvalidMsgs OBJECT-TYPE
94
+ SYNTAX Counter32
95
+ MAX-ACCESS read-only
96
+ STATUS current
97
+ DESCRIPTION "The total number of packets received by the SNMP
98
+ engine which were dropped because there were invalid
99
+ or inconsistent components in the SNMP message.
100
+ "
101
+ ::= { snmpMPDStats 2 }
102
+
103
+ snmpUnknownPDUHandlers OBJECT-TYPE
104
+ SYNTAX Counter32
105
+ MAX-ACCESS read-only
106
+ STATUS current
107
+ DESCRIPTION "The total number of packets received by the SNMP
108
+ engine which were dropped because the PDU contained
109
+ in the packet could not be passed to an application
110
+ responsible for handling the pduType, e.g. no SNMP
111
+ application had registered for the proper
112
+ combination of the contextEngineID and the pduType.
113
+ "
114
+ ::= { snmpMPDStats 3 }
115
+
116
+ -- Conformance information ******************************************
117
+
118
+ snmpMPDMIBCompliances OBJECT IDENTIFIER ::= {snmpMPDMIBConformance 1}
119
+ snmpMPDMIBGroups OBJECT IDENTIFIER ::= {snmpMPDMIBConformance 2}
120
+
121
+ -- Compliance statements
122
+
123
+ snmpMPDCompliance MODULE-COMPLIANCE
124
+ STATUS current
125
+ DESCRIPTION "The compliance statement for SNMP entities which
126
+ implement the SNMP-MPD-MIB.
127
+ "
128
+ MODULE -- this module
129
+ MANDATORY-GROUPS { snmpMPDGroup }
130
+ ::= { snmpMPDMIBCompliances 1 }
131
+
132
+ snmpMPDGroup OBJECT-GROUP
133
+ OBJECTS {
134
+ snmpUnknownSecurityModels,
135
+ snmpInvalidMsgs,
136
+ snmpUnknownPDUHandlers
137
+ }
138
+ STATUS current
139
+ DESCRIPTION "A collection of objects providing for remote
140
+ monitoring of the SNMP Message Processing and
141
+ Dispatching process.
142
+ "
143
+ ::= { snmpMPDMIBGroups 1 }
144
+
145
+ END
@@ -0,0 +1,589 @@
1
+ SNMP-NOTIFICATION-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
+ SnmpAdminString
14
+ FROM SNMP-FRAMEWORK-MIB
15
+
16
+ SnmpTagValue,
17
+ snmpTargetParamsName
18
+ FROM SNMP-TARGET-MIB
19
+
20
+ MODULE-COMPLIANCE,
21
+ OBJECT-GROUP
22
+ FROM SNMPv2-CONF;
23
+
24
+ snmpNotificationMIB 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 an SNMP entity for the generation of
69
+ notifications.
70
+
71
+ Copyright (C) The Internet Society (2002). This
72
+ version of this MIB module is part of RFC 3413;
73
+ see the RFC itself for full legal notices.
74
+ "
75
+ REVISION "200210140000Z" -- 14 October 2002
76
+ DESCRIPTION "Clarifications, published as
77
+ RFC 3413."
78
+ REVISION "199808040000Z" -- 4 August 1998
79
+ DESCRIPTION "Clarifications, published as
80
+ RFC 2573."
81
+ REVISION "199707140000Z" -- 14 July 1997
82
+ DESCRIPTION "The initial revision, published as RFC2273."
83
+ ::= { snmpModules 13 }
84
+
85
+ snmpNotifyObjects OBJECT IDENTIFIER ::=
86
+ { snmpNotificationMIB 1 }
87
+ snmpNotifyConformance OBJECT IDENTIFIER ::=
88
+ { snmpNotificationMIB 3 }
89
+
90
+ --
91
+ --
92
+ -- The snmpNotifyObjects group
93
+ --
94
+ --
95
+
96
+ snmpNotifyTable OBJECT-TYPE
97
+ SYNTAX SEQUENCE OF SnmpNotifyEntry
98
+ MAX-ACCESS not-accessible
99
+ STATUS current
100
+ DESCRIPTION
101
+ "This table is used to select management targets which should
102
+ receive notifications, as well as the type of notification
103
+ which should be sent to each selected management target."
104
+ ::= { snmpNotifyObjects 1 }
105
+
106
+ snmpNotifyEntry OBJECT-TYPE
107
+ SYNTAX SnmpNotifyEntry
108
+ MAX-ACCESS not-accessible
109
+ STATUS current
110
+ DESCRIPTION
111
+ "An entry in this table selects a set of management targets
112
+ which should receive notifications, as well as the type of
113
+
114
+ notification which should be sent to each selected
115
+ management target.
116
+
117
+ Entries in the snmpNotifyTable are created and
118
+ deleted using the snmpNotifyRowStatus object."
119
+ INDEX { IMPLIED snmpNotifyName }
120
+ ::= { snmpNotifyTable 1 }
121
+
122
+ SnmpNotifyEntry ::= SEQUENCE {
123
+ snmpNotifyName SnmpAdminString,
124
+ snmpNotifyTag SnmpTagValue,
125
+ snmpNotifyType INTEGER,
126
+ snmpNotifyStorageType StorageType,
127
+ snmpNotifyRowStatus RowStatus
128
+ }
129
+
130
+ snmpNotifyName OBJECT-TYPE
131
+ SYNTAX SnmpAdminString (SIZE(1..32))
132
+ MAX-ACCESS not-accessible
133
+ STATUS current
134
+ DESCRIPTION
135
+ "The locally arbitrary, but unique identifier associated
136
+ with this snmpNotifyEntry."
137
+ ::= { snmpNotifyEntry 1 }
138
+
139
+ snmpNotifyTag OBJECT-TYPE
140
+ SYNTAX SnmpTagValue
141
+ MAX-ACCESS read-create
142
+ STATUS current
143
+ DESCRIPTION
144
+ "This object contains a single tag value which is used
145
+ to select entries in the snmpTargetAddrTable. Any entry
146
+ in the snmpTargetAddrTable which contains a tag value
147
+ which is equal to the value of an instance of this
148
+ object is selected. If this object contains a value
149
+ of zero length, no entries are selected."
150
+ DEFVAL { "" }
151
+ ::= { snmpNotifyEntry 2 }
152
+
153
+ snmpNotifyType OBJECT-TYPE
154
+ SYNTAX INTEGER {
155
+ trap(1),
156
+ inform(2)
157
+ }
158
+ MAX-ACCESS read-create
159
+ STATUS current
160
+ DESCRIPTION
161
+ "This object determines the type of notification to
162
+
163
+ be generated for entries in the snmpTargetAddrTable
164
+ selected by the corresponding instance of
165
+ snmpNotifyTag. This value is only used when
166
+ generating notifications, and is ignored when
167
+ using the snmpTargetAddrTable for other purposes.
168
+
169
+ If the value of this object is trap(1), then any
170
+ messages generated for selected rows will contain
171
+ Unconfirmed-Class PDUs.
172
+
173
+ If the value of this object is inform(2), then any
174
+ messages generated for selected rows will contain
175
+ Confirmed-Class PDUs.
176
+
177
+ Note that if an SNMP entity only supports
178
+ generation of Unconfirmed-Class PDUs (and not
179
+ Confirmed-Class PDUs), then this object may be
180
+ read-only."
181
+ DEFVAL { trap }
182
+ ::= { snmpNotifyEntry 3 }
183
+
184
+ snmpNotifyStorageType OBJECT-TYPE
185
+ SYNTAX StorageType
186
+ MAX-ACCESS read-create
187
+ STATUS current
188
+ DESCRIPTION
189
+ "The storage type for this conceptual row.
190
+ Conceptual rows having the value 'permanent' need not
191
+ allow write-access to any columnar objects in the row."
192
+ DEFVAL { nonVolatile }
193
+ ::= { snmpNotifyEntry 4 }
194
+
195
+ snmpNotifyRowStatus OBJECT-TYPE
196
+ SYNTAX RowStatus
197
+ MAX-ACCESS read-create
198
+ STATUS current
199
+ DESCRIPTION
200
+ "The status of this conceptual row.
201
+
202
+ To create a row in this table, a manager must
203
+ set this object to either createAndGo(4) or
204
+ createAndWait(5)."
205
+ ::= { snmpNotifyEntry 5 }
206
+
207
+ snmpNotifyFilterProfileTable OBJECT-TYPE
208
+ SYNTAX SEQUENCE OF SnmpNotifyFilterProfileEntry
209
+ MAX-ACCESS not-accessible
210
+ STATUS current
211
+ DESCRIPTION
212
+ "This table is used to associate a notification filter
213
+ profile with a particular set of target parameters."
214
+ ::= { snmpNotifyObjects 2 }
215
+
216
+ snmpNotifyFilterProfileEntry OBJECT-TYPE
217
+ SYNTAX SnmpNotifyFilterProfileEntry
218
+ MAX-ACCESS not-accessible
219
+ STATUS current
220
+ DESCRIPTION
221
+ "An entry in this table indicates the name of the filter
222
+ profile to be used when generating notifications using
223
+ the corresponding entry in the snmpTargetParamsTable.
224
+
225
+ Entries in the snmpNotifyFilterProfileTable are created
226
+ and deleted using the snmpNotifyFilterProfileRowStatus
227
+ object."
228
+ INDEX { IMPLIED snmpTargetParamsName }
229
+ ::= { snmpNotifyFilterProfileTable 1 }
230
+
231
+ SnmpNotifyFilterProfileEntry ::= SEQUENCE {
232
+ snmpNotifyFilterProfileName SnmpAdminString,
233
+ snmpNotifyFilterProfileStorType StorageType,
234
+ snmpNotifyFilterProfileRowStatus RowStatus
235
+ }
236
+
237
+ snmpNotifyFilterProfileName OBJECT-TYPE
238
+ SYNTAX SnmpAdminString (SIZE(1..32))
239
+ MAX-ACCESS read-create
240
+ STATUS current
241
+ DESCRIPTION
242
+ "The name of the filter profile to be used when generating
243
+ notifications using the corresponding entry in the
244
+ snmpTargetAddrTable."
245
+ ::= { snmpNotifyFilterProfileEntry 1 }
246
+
247
+ snmpNotifyFilterProfileStorType OBJECT-TYPE
248
+ SYNTAX StorageType
249
+ MAX-ACCESS read-create
250
+ STATUS current
251
+ DESCRIPTION
252
+ "The storage type for this conceptual row.
253
+ Conceptual rows having the value 'permanent' need not
254
+ allow write-access to any columnar objects in the row."
255
+ DEFVAL { nonVolatile }
256
+ ::= { snmpNotifyFilterProfileEntry 2 }
257
+
258
+ snmpNotifyFilterProfileRowStatus OBJECT-TYPE
259
+ SYNTAX RowStatus
260
+ MAX-ACCESS read-create
261
+ STATUS current
262
+ DESCRIPTION
263
+ "The status of this conceptual row.
264
+
265
+ To create a row in this table, a manager must
266
+ set this object to either createAndGo(4) or
267
+ createAndWait(5).
268
+
269
+ Until instances of all corresponding columns are
270
+ appropriately configured, the value of the
271
+ corresponding instance of the
272
+ snmpNotifyFilterProfileRowStatus column is 'notReady'.
273
+
274
+ In particular, a newly created row cannot be made
275
+ active until the corresponding instance of
276
+ snmpNotifyFilterProfileName has been set."
277
+ ::= { snmpNotifyFilterProfileEntry 3 }
278
+
279
+ snmpNotifyFilterTable OBJECT-TYPE
280
+ SYNTAX SEQUENCE OF SnmpNotifyFilterEntry
281
+ MAX-ACCESS not-accessible
282
+ STATUS current
283
+ DESCRIPTION
284
+ "The table of filter profiles. Filter profiles are used
285
+ to determine whether particular management targets should
286
+ receive particular notifications.
287
+
288
+ When a notification is generated, it must be compared
289
+ with the filters associated with each management target
290
+ which is configured to receive notifications, in order to
291
+ determine whether it may be sent to each such management
292
+ target.
293
+
294
+ A more complete discussion of notification filtering
295
+ can be found in section 6. of [SNMP-APPL]."
296
+ ::= { snmpNotifyObjects 3 }
297
+
298
+ snmpNotifyFilterEntry OBJECT-TYPE
299
+ SYNTAX SnmpNotifyFilterEntry
300
+ MAX-ACCESS not-accessible
301
+ STATUS current
302
+ DESCRIPTION
303
+ "An element of a filter profile.
304
+
305
+ Entries in the snmpNotifyFilterTable are created and
306
+ deleted using the snmpNotifyFilterRowStatus object."
307
+ INDEX { snmpNotifyFilterProfileName,
308
+ IMPLIED snmpNotifyFilterSubtree }
309
+ ::= { snmpNotifyFilterTable 1 }
310
+
311
+ SnmpNotifyFilterEntry ::= SEQUENCE {
312
+ snmpNotifyFilterSubtree OBJECT IDENTIFIER,
313
+ snmpNotifyFilterMask OCTET STRING,
314
+ snmpNotifyFilterType INTEGER,
315
+ snmpNotifyFilterStorageType StorageType,
316
+ snmpNotifyFilterRowStatus RowStatus
317
+ }
318
+
319
+ snmpNotifyFilterSubtree OBJECT-TYPE
320
+ SYNTAX OBJECT IDENTIFIER
321
+ MAX-ACCESS not-accessible
322
+ STATUS current
323
+ DESCRIPTION
324
+ "The MIB subtree which, when combined with the corresponding
325
+ instance of snmpNotifyFilterMask, defines a family of
326
+ subtrees which are included in or excluded from the
327
+ filter profile."
328
+ ::= { snmpNotifyFilterEntry 1 }
329
+
330
+ snmpNotifyFilterMask OBJECT-TYPE
331
+ SYNTAX OCTET STRING (SIZE(0..16))
332
+ MAX-ACCESS read-create
333
+ STATUS current
334
+ DESCRIPTION
335
+ "The bit mask which, in combination with the corresponding
336
+ instance of snmpNotifyFilterSubtree, defines a family of
337
+ subtrees which are included in or excluded from the
338
+ filter profile.
339
+
340
+ Each bit of this bit mask corresponds to a
341
+ sub-identifier of snmpNotifyFilterSubtree, with the
342
+ most significant bit of the i-th octet of this octet
343
+ string value (extended if necessary, see below)
344
+ corresponding to the (8*i - 7)-th sub-identifier, and
345
+ the least significant bit of the i-th octet of this
346
+ octet string corresponding to the (8*i)-th
347
+ sub-identifier, where i is in the range 1 through 16.
348
+
349
+ Each bit of this bit mask specifies whether or not
350
+ the corresponding sub-identifiers must match when
351
+ determining if an OBJECT IDENTIFIER matches this
352
+ family of filter subtrees; a '1' indicates that an
353
+ exact match must occur; a '0' indicates 'wild card',
354
+ i.e., any sub-identifier value matches.
355
+
356
+ Thus, the OBJECT IDENTIFIER X of an object instance
357
+ is contained in a family of filter subtrees if, for
358
+ each sub-identifier of the value of
359
+ snmpNotifyFilterSubtree, either:
360
+
361
+ the i-th bit of snmpNotifyFilterMask is 0, or
362
+
363
+ the i-th sub-identifier of X is equal to the i-th
364
+ sub-identifier of the value of
365
+ snmpNotifyFilterSubtree.
366
+
367
+ If the value of this bit mask is M bits long and
368
+ there are more than M sub-identifiers in the
369
+ corresponding instance of snmpNotifyFilterSubtree,
370
+ then the bit mask is extended with 1's to be the
371
+ required length.
372
+
373
+ Note that when the value of this object is the
374
+ zero-length string, this extension rule results in
375
+ a mask of all-1's being used (i.e., no 'wild card'),
376
+ and the family of filter subtrees is the one
377
+ subtree uniquely identified by the corresponding
378
+ instance of snmpNotifyFilterSubtree."
379
+ DEFVAL { ''H }
380
+ ::= { snmpNotifyFilterEntry 2 }
381
+
382
+ snmpNotifyFilterType OBJECT-TYPE
383
+ SYNTAX INTEGER {
384
+ included(1),
385
+ excluded(2)
386
+ }
387
+ MAX-ACCESS read-create
388
+ STATUS current
389
+ DESCRIPTION
390
+ "This object indicates whether the family of filter subtrees
391
+ defined by this entry are included in or excluded from a
392
+ filter. A more detailed discussion of the use of this
393
+ object can be found in section 6. of [SNMP-APPL]."
394
+ DEFVAL { included }
395
+ ::= { snmpNotifyFilterEntry 3 }
396
+
397
+ snmpNotifyFilterStorageType OBJECT-TYPE
398
+ SYNTAX StorageType
399
+ MAX-ACCESS read-create
400
+ STATUS current
401
+ DESCRIPTION
402
+ "The storage type for this conceptual row.
403
+ Conceptual rows having the value 'permanent' need not
404
+
405
+ allow write-access to any columnar objects in the row."
406
+ DEFVAL { nonVolatile }
407
+ ::= { snmpNotifyFilterEntry 4 }
408
+
409
+ snmpNotifyFilterRowStatus OBJECT-TYPE
410
+ SYNTAX RowStatus
411
+ MAX-ACCESS read-create
412
+ STATUS current
413
+ DESCRIPTION
414
+ "The status of this conceptual row.
415
+
416
+ To create a row in this table, a manager must
417
+ set this object to either createAndGo(4) or
418
+ createAndWait(5)."
419
+ ::= { snmpNotifyFilterEntry 5 }
420
+
421
+ --
422
+ --
423
+ -- Conformance information
424
+ --
425
+ --
426
+
427
+ snmpNotifyCompliances OBJECT IDENTIFIER ::=
428
+ { snmpNotifyConformance 1 }
429
+ snmpNotifyGroups OBJECT IDENTIFIER ::=
430
+ { snmpNotifyConformance 2 }
431
+
432
+ --
433
+ --
434
+ -- Compliance statements
435
+ --
436
+ --
437
+
438
+ snmpNotifyBasicCompliance MODULE-COMPLIANCE
439
+ STATUS current
440
+ DESCRIPTION
441
+ "The compliance statement for minimal SNMP entities which
442
+ implement only SNMP Unconfirmed-Class notifications and
443
+ read-create operations on only the snmpTargetAddrTable."
444
+ MODULE SNMP-TARGET-MIB
445
+ MANDATORY-GROUPS { snmpTargetBasicGroup }
446
+
447
+ OBJECT snmpTargetParamsMPModel
448
+ MIN-ACCESS read-only
449
+ DESCRIPTION
450
+ "Create/delete/modify access is not required."
451
+
452
+ OBJECT snmpTargetParamsSecurityModel
453
+ MIN-ACCESS read-only
454
+ DESCRIPTION
455
+ "Create/delete/modify access is not required."
456
+
457
+ OBJECT snmpTargetParamsSecurityName
458
+ MIN-ACCESS read-only
459
+ DESCRIPTION
460
+ "Create/delete/modify access is not required."
461
+
462
+ OBJECT snmpTargetParamsSecurityLevel
463
+ MIN-ACCESS read-only
464
+ DESCRIPTION
465
+ "Create/delete/modify access is not required."
466
+
467
+ OBJECT snmpTargetParamsStorageType
468
+ SYNTAX INTEGER {
469
+ readOnly(5)
470
+ }
471
+ MIN-ACCESS read-only
472
+ DESCRIPTION
473
+ "Create/delete/modify access is not required.
474
+ Support of the values other(1), volatile(2),
475
+ nonVolatile(3), and permanent(4) is not required."
476
+
477
+ OBJECT snmpTargetParamsRowStatus
478
+ SYNTAX INTEGER {
479
+ active(1)
480
+ }
481
+ MIN-ACCESS read-only
482
+ DESCRIPTION
483
+ "Create/delete/modify access to the
484
+ snmpTargetParamsTable is not required.
485
+ Support of the values notInService(2), notReady(3),
486
+ createAndGo(4), createAndWait(5), and destroy(6) is
487
+ not required."
488
+
489
+ MODULE -- This Module
490
+ MANDATORY-GROUPS { snmpNotifyGroup }
491
+
492
+ OBJECT snmpNotifyTag
493
+ MIN-ACCESS read-only
494
+ DESCRIPTION
495
+ "Create/delete/modify access is not required."
496
+
497
+ OBJECT snmpNotifyType
498
+ SYNTAX INTEGER {
499
+ trap(1)
500
+ }
501
+ MIN-ACCESS read-only
502
+ DESCRIPTION
503
+ "Create/delete/modify access is not required.
504
+ Support of the value notify(2) is not required."
505
+
506
+ OBJECT snmpNotifyStorageType
507
+ SYNTAX INTEGER {
508
+ readOnly(5)
509
+ }
510
+ MIN-ACCESS read-only
511
+ DESCRIPTION
512
+ "Create/delete/modify access is not required.
513
+ Support of the values other(1), volatile(2),
514
+ nonVolatile(3), and permanent(4) is not required."
515
+
516
+ OBJECT snmpNotifyRowStatus
517
+ SYNTAX INTEGER {
518
+ active(1)
519
+ }
520
+ MIN-ACCESS read-only
521
+ DESCRIPTION
522
+ "Create/delete/modify access to the
523
+ snmpNotifyTable is not required.
524
+ Support of the values notInService(2), notReady(3),
525
+ createAndGo(4), createAndWait(5), and destroy(6) is
526
+ not required."
527
+ ::= { snmpNotifyCompliances 1 }
528
+
529
+ snmpNotifyBasicFiltersCompliance MODULE-COMPLIANCE
530
+ STATUS current
531
+ DESCRIPTION
532
+ "The compliance statement for SNMP entities which implement
533
+ SNMP Unconfirmed-Class notifications with filtering, and
534
+ read-create operations on all related tables."
535
+ MODULE SNMP-TARGET-MIB
536
+ MANDATORY-GROUPS { snmpTargetBasicGroup }
537
+ MODULE -- This Module
538
+ MANDATORY-GROUPS { snmpNotifyGroup,
539
+ snmpNotifyFilterGroup }
540
+ ::= { snmpNotifyCompliances 2 }
541
+
542
+ snmpNotifyFullCompliance MODULE-COMPLIANCE
543
+ STATUS current
544
+ DESCRIPTION
545
+ "The compliance statement for SNMP entities which either
546
+ implement only SNMP Confirmed-Class notifications, or both
547
+ SNMP Unconfirmed-Class and Confirmed-Class notifications,
548
+ plus filtering and read-create operations on all related
549
+ tables."
550
+ MODULE SNMP-TARGET-MIB
551
+ MANDATORY-GROUPS { snmpTargetBasicGroup,
552
+ snmpTargetResponseGroup }
553
+ MODULE -- This Module
554
+ MANDATORY-GROUPS { snmpNotifyGroup,
555
+ snmpNotifyFilterGroup }
556
+ ::= { snmpNotifyCompliances 3 }
557
+
558
+ snmpNotifyGroup OBJECT-GROUP
559
+ OBJECTS {
560
+ snmpNotifyTag,
561
+ snmpNotifyType,
562
+ snmpNotifyStorageType,
563
+ snmpNotifyRowStatus
564
+ }
565
+ STATUS current
566
+ DESCRIPTION
567
+ "A collection of objects for selecting which management
568
+ targets are used for generating notifications, and the
569
+ type of notification to be generated for each selected
570
+ management target."
571
+ ::= { snmpNotifyGroups 1 }
572
+
573
+ snmpNotifyFilterGroup OBJECT-GROUP
574
+ OBJECTS {
575
+ snmpNotifyFilterProfileName,
576
+ snmpNotifyFilterProfileStorType,
577
+ snmpNotifyFilterProfileRowStatus,
578
+ snmpNotifyFilterMask,
579
+ snmpNotifyFilterType,
580
+ snmpNotifyFilterStorageType,
581
+ snmpNotifyFilterRowStatus
582
+ }
583
+ STATUS current
584
+ DESCRIPTION
585
+ "A collection of objects providing remote configuration
586
+ of notification filters."
587
+ ::= { snmpNotifyGroups 2 }
588
+
589
+ END