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,421 @@
1
+ TRANSPORT-ADDRESS-MIB DEFINITIONS ::= BEGIN
2
+
3
+ IMPORTS
4
+ MODULE-IDENTITY, OBJECT-IDENTITY, mib-2 FROM SNMPv2-SMI
5
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
6
+
7
+ transportAddressMIB MODULE-IDENTITY
8
+ LAST-UPDATED "200211010000Z"
9
+ ORGANIZATION
10
+ "IETF Operations and Management Area"
11
+ CONTACT-INFO
12
+ "Juergen Schoenwaelder (Editor)
13
+ TU Braunschweig
14
+ Bueltenweg 74/75
15
+ 38106 Braunschweig, Germany
16
+
17
+ Phone: +49 531 391-3289
18
+ EMail: schoenw@ibr.cs.tu-bs.de
19
+
20
+ Send comments to <mibs@ops.ietf.org>."
21
+ DESCRIPTION
22
+ "This MIB module provides commonly used transport
23
+ address definitions.
24
+
25
+ Copyright (C) The Internet Society (2002). This version of
26
+ this MIB module is part of RFC 3419; see the RFC itself for
27
+ full legal notices."
28
+
29
+ -- Revision log
30
+
31
+ REVISION "200211010000Z"
32
+ DESCRIPTION
33
+ "Initial version, published as RFC 3419."
34
+ ::= { mib-2 100 }
35
+
36
+ transportDomains OBJECT IDENTIFIER ::= { transportAddressMIB 1 }
37
+
38
+ transportDomainUdpIpv4 OBJECT-IDENTITY
39
+ STATUS current
40
+ DESCRIPTION
41
+ "The UDP over IPv4 transport domain. The corresponding
42
+ transport address is of type TransportAddressIPv4 for
43
+ global IPv4 addresses."
44
+ ::= { transportDomains 1 }
45
+
46
+ transportDomainUdpIpv6 OBJECT-IDENTITY
47
+ STATUS current
48
+ DESCRIPTION
49
+ "The UDP over IPv6 transport domain. The corresponding
50
+ transport address is of type TransportAddressIPv6 for
51
+ global IPv6 addresses."
52
+ ::= { transportDomains 2 }
53
+
54
+ transportDomainUdpIpv4z OBJECT-IDENTITY
55
+ STATUS current
56
+ DESCRIPTION
57
+ "The UDP over IPv4 transport domain. The corresponding
58
+ transport address is of type TransportAddressIPv4z for
59
+ scoped IPv4 addresses with a zone index."
60
+ ::= { transportDomains 3 }
61
+
62
+ transportDomainUdpIpv6z OBJECT-IDENTITY
63
+ STATUS current
64
+ DESCRIPTION
65
+ "The UDP over IPv6 transport domain. The corresponding
66
+ transport address is of type TransportAddressIPv6z for
67
+ scoped IPv6 addresses with a zone index."
68
+ ::= { transportDomains 4 }
69
+
70
+ transportDomainTcpIpv4 OBJECT-IDENTITY
71
+ STATUS current
72
+ DESCRIPTION
73
+ "The TCP over IPv4 transport domain. The corresponding
74
+ transport address is of type TransportAddressIPv4 for
75
+ global IPv4 addresses."
76
+ ::= { transportDomains 5 }
77
+
78
+ transportDomainTcpIpv6 OBJECT-IDENTITY
79
+ STATUS current
80
+ DESCRIPTION
81
+ "The TCP over IPv6 transport domain. The corresponding
82
+ transport address is of type TransportAddressIPv6 for
83
+ global IPv6 addresses."
84
+ ::= { transportDomains 6 }
85
+
86
+ transportDomainTcpIpv4z OBJECT-IDENTITY
87
+ STATUS current
88
+ DESCRIPTION
89
+ "The TCP over IPv4 transport domain. The corresponding
90
+ transport address is of type TransportAddressIPv4z for
91
+ scoped IPv4 addresses with a zone index."
92
+ ::= { transportDomains 7 }
93
+
94
+ transportDomainTcpIpv6z OBJECT-IDENTITY
95
+ STATUS current
96
+ DESCRIPTION
97
+ "The TCP over IPv6 transport domain. The corresponding
98
+ transport address is of type TransportAddressIPv6z for
99
+ scoped IPv6 addresses with a zone index."
100
+ ::= { transportDomains 8 }
101
+
102
+ transportDomainSctpIpv4 OBJECT-IDENTITY
103
+ STATUS current
104
+ DESCRIPTION
105
+ "The SCTP over IPv4 transport domain. The corresponding
106
+ transport address is of type TransportAddressIPv4 for
107
+ global IPv4 addresses. This transport domain usually
108
+ represents the primary address on multihomed SCTP
109
+ endpoints."
110
+ ::= { transportDomains 9 }
111
+
112
+ transportDomainSctpIpv6 OBJECT-IDENTITY
113
+ STATUS current
114
+ DESCRIPTION
115
+ "The SCTP over IPv6 transport domain. The corresponding
116
+ transport address is of type TransportAddressIPv6 for
117
+ global IPv6 addresses. This transport domain usually
118
+ represents the primary address on multihomed SCTP
119
+ endpoints."
120
+ ::= { transportDomains 10 }
121
+
122
+ transportDomainSctpIpv4z OBJECT-IDENTITY
123
+ STATUS current
124
+ DESCRIPTION
125
+ "The SCTP over IPv4 transport domain. The corresponding
126
+ transport address is of type TransportAddressIPv4z for
127
+ scoped IPv4 addresses with a zone index. This transport
128
+ domain usually represents the primary address on
129
+ multihomed SCTP endpoints."
130
+ ::= { transportDomains 11 }
131
+
132
+ transportDomainSctpIpv6z OBJECT-IDENTITY
133
+ STATUS current
134
+ DESCRIPTION
135
+ "The SCTP over IPv6 transport domain. The corresponding
136
+ transport address is of type TransportAddressIPv6z for
137
+ scoped IPv6 addresses with a zone index. This transport
138
+ domain usually represents the primary address on
139
+ multihomed SCTP endpoints."
140
+ ::= { transportDomains 12 }
141
+
142
+ transportDomainLocal OBJECT-IDENTITY
143
+ STATUS current
144
+ DESCRIPTION
145
+ "The Posix Local IPC transport domain. The corresponding
146
+ transport address is of type TransportAddressLocal.
147
+
148
+ The Posix Local IPC transport domain incorporates the
149
+ well-known UNIX domain sockets."
150
+ ::= { transportDomains 13 }
151
+
152
+ transportDomainUdpDns OBJECT-IDENTITY
153
+ STATUS current
154
+ DESCRIPTION
155
+ "The UDP transport domain using fully qualified domain
156
+ names. The corresponding transport address is of type
157
+ TransportAddressDns."
158
+ ::= { transportDomains 14 }
159
+
160
+ transportDomainTcpDns OBJECT-IDENTITY
161
+ STATUS current
162
+ DESCRIPTION
163
+ "The TCP transport domain using fully qualified domain
164
+ names. The corresponding transport address is of type
165
+ TransportAddressDns."
166
+ ::= { transportDomains 15 }
167
+
168
+ transportDomainSctpDns OBJECT-IDENTITY
169
+ STATUS current
170
+ DESCRIPTION
171
+ "The SCTP transport domain using fully qualified domain
172
+ names. The corresponding transport address is of type
173
+ TransportAddressDns."
174
+ ::= { transportDomains 16 }
175
+
176
+ TransportDomain ::= TEXTUAL-CONVENTION
177
+ STATUS current
178
+ DESCRIPTION
179
+ "A value that represents a transport domain.
180
+
181
+ Some possible values, such as transportDomainUdpIpv4, are
182
+ defined in this module. Other possible values can be
183
+ defined in other MIB modules."
184
+ SYNTAX OBJECT IDENTIFIER
185
+
186
+ --
187
+ -- The enumerated values of the textual convention below should
188
+ -- be identical to the last sub-identifier of the OID registered
189
+ -- for the same domain.
190
+ --
191
+
192
+ TransportAddressType ::= TEXTUAL-CONVENTION
193
+ STATUS current
194
+ DESCRIPTION
195
+ "A value that represents a transport domain. This is the
196
+ enumerated version of the transport domain registrations
197
+ in this MIB module. The enumerated values have the
198
+ following meaning:
199
+
200
+ unknown(0) unknown transport address type
201
+ udpIpv4(1) transportDomainUdpIpv4
202
+ udpIpv6(2) transportDomainUdpIpv6
203
+ udpIpv4z(3) transportDomainUdpIpv4z
204
+ udpIpv6z(4) transportDomainUdpIpv6z
205
+ tcpIpv4(5) transportDomainTcpIpv4
206
+ tcpIpv6(6) transportDomainTcpIpv6
207
+ tcpIpv4z(7) transportDomainTcpIpv4z
208
+
209
+ tcpIpv6z(8) transportDomainTcpIpv6z
210
+ sctpIpv4(9) transportDomainSctpIpv4
211
+ sctpIpv6(10) transportDomainSctpIpv6
212
+ sctpIpv4z(11) transportDomainSctpIpv4z
213
+ sctpIpv6z(12) transportDomainSctpIpv6z
214
+ local(13) transportDomainLocal
215
+ udpDns(14) transportDomainUdpDns
216
+ tcpDns(15) transportDomainTcpDns
217
+ sctpDns(16) transportDomainSctpDns
218
+
219
+ This textual convention can be used to represent transport
220
+ domains in situations where a syntax of TransportDomain is
221
+ unwieldy (for example, when used as an index).
222
+
223
+ The usage of this textual convention implies that additional
224
+ transport domains can only be supported by updating this MIB
225
+ module. This extensibility restriction does not apply for the
226
+ TransportDomain textual convention which allows MIB authors
227
+ to define additional transport domains independently in
228
+ other MIB modules."
229
+ SYNTAX INTEGER {
230
+ unknown(0),
231
+ udpIpv4(1),
232
+ udpIpv6(2),
233
+ udpIpv4z(3),
234
+ udpIpv6z(4),
235
+ tcpIpv4(5),
236
+ tcpIpv6(6),
237
+ tcpIpv4z(7),
238
+ tcpIpv6z(8),
239
+ sctpIpv4(9),
240
+ sctpIpv6(10),
241
+ sctpIpv4z(11),
242
+ sctpIpv6z(12),
243
+ local(13),
244
+ udpDns(14),
245
+ tcpDns(15),
246
+ sctpDns(16)
247
+ }
248
+
249
+ TransportAddress ::= TEXTUAL-CONVENTION
250
+ STATUS current
251
+ DESCRIPTION
252
+ "Denotes a generic transport address.
253
+
254
+ A TransportAddress value is always interpreted within the
255
+ context of a TransportAddressType or TransportDomain value.
256
+ Every usage of the TransportAddress textual convention MUST
257
+
258
+ specify the TransportAddressType or TransportDomain object
259
+ which provides the context. Furthermore, MIB authors SHOULD
260
+ define a separate TransportAddressType or TransportDomain
261
+ object for each TransportAddress object. It is suggested that
262
+ the TransportAddressType or TransportDomain is logically
263
+ registered before the object(s) which use the
264
+ TransportAddress textual convention if they appear in the
265
+ same logical row.
266
+
267
+ The value of a TransportAddress object must always be
268
+ consistent with the value of the associated
269
+ TransportAddressType or TransportDomain object. Attempts
270
+ to set a TransportAddress object to a value which is
271
+ inconsistent with the associated TransportAddressType or
272
+ TransportDomain must fail with an inconsistentValue error.
273
+
274
+ When this textual convention is used as a syntax of an
275
+ index object, there may be issues with the limit of 128
276
+ sub-identifiers specified in SMIv2, STD 58. In this case,
277
+ the OBJECT-TYPE declaration MUST include a 'SIZE' clause
278
+ to limit the number of potential instance sub-identifiers."
279
+ SYNTAX OCTET STRING (SIZE (0..255))
280
+
281
+ TransportAddressIPv4 ::= TEXTUAL-CONVENTION
282
+ DISPLAY-HINT "1d.1d.1d.1d:2d"
283
+ STATUS current
284
+ DESCRIPTION
285
+ "Represents a transport address consisting of an IPv4
286
+ address and a port number (as used for example by UDP,
287
+ TCP and SCTP):
288
+
289
+ octets contents encoding
290
+ 1-4 IPv4 address network-byte order
291
+ 5-6 port number network-byte order
292
+
293
+ This textual convention SHOULD NOT be used directly in object
294
+ definitions since it restricts addresses to a specific format.
295
+ However, if it is used, it MAY be used either on its own or
296
+ in conjunction with TransportAddressType or TransportDomain
297
+ as a pair."
298
+ SYNTAX OCTET STRING (SIZE (6))
299
+
300
+ TransportAddressIPv6 ::= TEXTUAL-CONVENTION
301
+ DISPLAY-HINT "0a[2x:2x:2x:2x:2x:2x:2x:2x]0a:2d"
302
+ STATUS current
303
+ DESCRIPTION
304
+ "Represents a transport address consisting of an IPv6
305
+ address and a port number (as used for example by UDP,
306
+ TCP and SCTP):
307
+
308
+ octets contents encoding
309
+ 1-16 IPv6 address network-byte order
310
+ 17-18 port number network-byte order
311
+
312
+ This textual convention SHOULD NOT be used directly in object
313
+ definitions since it restricts addresses to a specific format.
314
+ However, if it is used, it MAY be used either on its own or
315
+ in conjunction with TransportAddressType or TransportDomain
316
+ as a pair."
317
+ SYNTAX OCTET STRING (SIZE (18))
318
+
319
+ TransportAddressIPv4z ::= TEXTUAL-CONVENTION
320
+ DISPLAY-HINT "1d.1d.1d.1d%4d:2d"
321
+ STATUS current
322
+ DESCRIPTION
323
+ "Represents a transport address consisting of an IPv4
324
+ address, a zone index and a port number (as used for
325
+ example by UDP, TCP and SCTP):
326
+
327
+ octets contents encoding
328
+ 1-4 IPv4 address network-byte order
329
+ 5-8 zone index network-byte order
330
+ 9-10 port number network-byte order
331
+
332
+ This textual convention SHOULD NOT be used directly in object
333
+ definitions since it restricts addresses to a specific format.
334
+ However, if it is used, it MAY be used either on its own or
335
+ in conjunction with TransportAddressType or TransportDomain
336
+ as a pair."
337
+ SYNTAX OCTET STRING (SIZE (10))
338
+
339
+ TransportAddressIPv6z ::= TEXTUAL-CONVENTION
340
+ DISPLAY-HINT "0a[2x:2x:2x:2x:2x:2x:2x:2x%4d]0a:2d"
341
+ STATUS current
342
+ DESCRIPTION
343
+ "Represents a transport address consisting of an IPv6
344
+ address, a zone index and a port number (as used for
345
+ example by UDP, TCP and SCTP):
346
+
347
+ octets contents encoding
348
+ 1-16 IPv6 address network-byte order
349
+ 17-20 zone index network-byte order
350
+ 21-22 port number network-byte order
351
+
352
+ This textual convention SHOULD NOT be used directly in object
353
+ definitions since it restricts addresses to a specific format.
354
+
355
+ However, if it is used, it MAY be used either on its own or
356
+ in conjunction with TransportAddressType or TransportDomain
357
+ as a pair."
358
+ SYNTAX OCTET STRING (SIZE (22))
359
+
360
+ TransportAddressLocal ::= TEXTUAL-CONVENTION
361
+ DISPLAY-HINT "1a"
362
+ STATUS current
363
+ DESCRIPTION
364
+ "Represents a POSIX Local IPC transport address:
365
+
366
+ octets contents encoding
367
+ all POSIX Local IPC address string
368
+
369
+ The Posix Local IPC transport domain subsumes UNIX domain
370
+ sockets.
371
+
372
+ This textual convention SHOULD NOT be used directly in object
373
+ definitions since it restricts addresses to a specific format.
374
+ However, if it is used, it MAY be used either on its own or
375
+ in conjunction with TransportAddressType or TransportDomain
376
+ as a pair.
377
+
378
+ When this textual convention is used as a syntax of an
379
+ index object, there may be issues with the limit of 128
380
+ sub-identifiers specified in SMIv2, STD 58. In this case,
381
+ the OBJECT-TYPE declaration MUST include a 'SIZE' clause
382
+ to limit the number of potential instance sub-identifiers."
383
+ REFERENCE
384
+ "Protocol Independent Interfaces (IEEE POSIX 1003.1g)"
385
+ SYNTAX OCTET STRING (SIZE (1..255))
386
+
387
+ TransportAddressDns ::= TEXTUAL-CONVENTION
388
+ DISPLAY-HINT "1a"
389
+ STATUS current
390
+ DESCRIPTION
391
+ "Represents a DNS domain name followed by a colon ':'
392
+ (ASCII character 0x3A) and a port number in ASCII.
393
+ The name SHOULD be fully qualified whenever possible.
394
+
395
+ Values of this textual convention are not directly useable as
396
+ transport-layer addressing information, and require runtime
397
+ resolution. As such, applications that write them must be
398
+ prepared for handling errors if such values are not
399
+ supported, or cannot be resolved (if resolution occurs at the
400
+ time of the management operation).
401
+
402
+ The DESCRIPTION clause of TransportAddress objects that may
403
+
404
+ have TransportAddressDns values must fully describe how (and
405
+ when) such names are to be resolved to IP addresses and vice
406
+ versa.
407
+
408
+ This textual convention SHOULD NOT be used directly in object
409
+ definitions since it restricts addresses to a specific format.
410
+ However, if it is used, it MAY be used either on its own or
411
+ in conjunction with TransportAddressType or TransportDomain
412
+ as a pair.
413
+
414
+ When this textual convention is used as a syntax of an
415
+ index object, there may be issues with the limit of 128
416
+ sub-identifiers specified in SMIv2, STD 58. In this case,
417
+ the OBJECT-TYPE declaration MUST include a 'SIZE' clause
418
+ to limit the number of potential instance sub-identifiers."
419
+ SYNTAX OCTET STRING (SIZE (1..255))
420
+
421
+ END
@@ -0,0 +1,738 @@
1
+ TUNNEL-MIB DEFINITIONS ::= BEGIN
2
+
3
+ IMPORTS
4
+ MODULE-IDENTITY, OBJECT-TYPE, transmission,
5
+ Integer32, IpAddress FROM SNMPv2-SMI -- [RFC2578]
6
+
7
+ RowStatus, StorageType FROM SNMPv2-TC -- [RFC2579]
8
+
9
+ MODULE-COMPLIANCE,
10
+ OBJECT-GROUP FROM SNMPv2-CONF -- [RFC2580]
11
+
12
+ InetAddressType,
13
+ InetAddress FROM INET-ADDRESS-MIB -- [RFC4001]
14
+
15
+ IPv6FlowLabelOrAny FROM IPV6-FLOW-LABEL-MIB -- [RFC3595]
16
+
17
+ ifIndex,
18
+ InterfaceIndexOrZero FROM IF-MIB -- [RFC2863]
19
+
20
+ IANAtunnelType FROM IANAifType-MIB; -- [IFTYPE]
21
+
22
+ tunnelMIB MODULE-IDENTITY
23
+ LAST-UPDATED "200505160000Z" -- May 16, 2005
24
+ ORGANIZATION "IETF IP Version 6 (IPv6) Working Group"
25
+ CONTACT-INFO
26
+ " Dave Thaler
27
+ Microsoft Corporation
28
+ One Microsoft Way
29
+ Redmond, WA 98052-6399
30
+ EMail: dthaler@microsoft.com"
31
+ DESCRIPTION
32
+ "The MIB module for management of IP Tunnels,
33
+ independent of the specific encapsulation scheme in
34
+ use.
35
+
36
+ Copyright (C) The Internet Society (2005). This
37
+ version of this MIB module is part of RFC 4087; see
38
+ the RFC itself for full legal notices."
39
+
40
+ REVISION "200505160000Z" -- May 16, 2005
41
+ DESCRIPTION
42
+ "IPv4-specific objects were deprecated, including
43
+ tunnelIfLocalAddress, tunnelIfRemoteAddress, the
44
+ tunnelConfigTable, and the tunnelMIBBasicGroup.
45
+
46
+ Added IP version-agnostic objects that should be used
47
+ instead, including tunnelIfAddressType,
48
+ tunnelIfLocalInetAddress, tunnelIfRemoteInetAddress,
49
+ the tunnelInetConfigTable, and the
50
+ tunnelIMIBInetGroup.
51
+
52
+ The new tunnelIfLocalInetAddress and
53
+ tunnelIfRemoteInetAddress objects are read-write,
54
+ rather than read-only.
55
+
56
+ Updated DESCRIPTION clauses of existing version-
57
+ agnostic objects (e.g., tunnelIfTOS) that contained
58
+ IPv4-specific text to cover IPv6 as well.
59
+
60
+ Added tunnelIfFlowLabel for tunnels over IPv6.
61
+
62
+ The encapsulation method was previously an INTEGER
63
+ type, and is now an IANA-maintained textual
64
+ convention.
65
+
66
+ Published as RFC 4087."
67
+ REVISION "199908241200Z" -- August 24, 1999
68
+ DESCRIPTION
69
+ "Initial version, published as RFC 2667."
70
+ ::= { transmission 131 }
71
+
72
+ tunnelMIBObjects OBJECT IDENTIFIER ::= { tunnelMIB 1 }
73
+
74
+ tunnel OBJECT IDENTIFIER ::= { tunnelMIBObjects 1 }
75
+
76
+ -- the IP Tunnel MIB-Group
77
+ --
78
+ -- a collection of objects providing information about
79
+ -- IP Tunnels
80
+
81
+ tunnelIfTable OBJECT-TYPE
82
+ SYNTAX SEQUENCE OF TunnelIfEntry
83
+ MAX-ACCESS not-accessible
84
+ STATUS current
85
+ DESCRIPTION
86
+ "The (conceptual) table containing information on
87
+ configured tunnels."
88
+ ::= { tunnel 1 }
89
+
90
+ tunnelIfEntry OBJECT-TYPE
91
+ SYNTAX TunnelIfEntry
92
+ MAX-ACCESS not-accessible
93
+ STATUS current
94
+ DESCRIPTION
95
+ "An entry (conceptual row) containing the information
96
+ on a particular configured tunnel."
97
+ INDEX { ifIndex }
98
+ ::= { tunnelIfTable 1 }
99
+
100
+ TunnelIfEntry ::= SEQUENCE {
101
+ tunnelIfLocalAddress IpAddress, -- deprecated
102
+ tunnelIfRemoteAddress IpAddress, -- deprecated
103
+ tunnelIfEncapsMethod IANAtunnelType,
104
+ tunnelIfHopLimit Integer32,
105
+ tunnelIfSecurity INTEGER,
106
+ tunnelIfTOS Integer32,
107
+ tunnelIfFlowLabel IPv6FlowLabelOrAny,
108
+ tunnelIfAddressType InetAddressType,
109
+ tunnelIfLocalInetAddress InetAddress,
110
+ tunnelIfRemoteInetAddress InetAddress,
111
+ tunnelIfEncapsLimit Integer32
112
+ }
113
+
114
+ tunnelIfLocalAddress OBJECT-TYPE
115
+ SYNTAX IpAddress
116
+ MAX-ACCESS read-only
117
+ STATUS deprecated
118
+ DESCRIPTION
119
+ "The address of the local endpoint of the tunnel
120
+ (i.e., the source address used in the outer IP
121
+ header), or 0.0.0.0 if unknown or if the tunnel is
122
+ over IPv6.
123
+
124
+ Since this object does not support IPv6, it is
125
+ deprecated in favor of tunnelIfLocalInetAddress."
126
+ ::= { tunnelIfEntry 1 }
127
+
128
+ tunnelIfRemoteAddress OBJECT-TYPE
129
+ SYNTAX IpAddress
130
+ MAX-ACCESS read-only
131
+ STATUS deprecated
132
+ DESCRIPTION
133
+ "The address of the remote endpoint of the tunnel
134
+ (i.e., the destination address used in the outer IP
135
+ header), or 0.0.0.0 if unknown, or an IPv6 address, or
136
+
137
+ the tunnel is not a point-to-point link (e.g., if it
138
+ is a 6to4 tunnel).
139
+
140
+ Since this object does not support IPv6, it is
141
+ deprecated in favor of tunnelIfRemoteInetAddress."
142
+ ::= { tunnelIfEntry 2 }
143
+
144
+ tunnelIfEncapsMethod OBJECT-TYPE
145
+ SYNTAX IANAtunnelType
146
+ MAX-ACCESS read-only
147
+ STATUS current
148
+ DESCRIPTION
149
+ "The encapsulation method used by the tunnel."
150
+ ::= { tunnelIfEntry 3 }
151
+
152
+ tunnelIfHopLimit OBJECT-TYPE
153
+ SYNTAX Integer32 (0 | 1..255)
154
+ MAX-ACCESS read-write
155
+ STATUS current
156
+ DESCRIPTION
157
+ "The IPv4 TTL or IPv6 Hop Limit to use in the outer IP
158
+ header. A value of 0 indicates that the value is
159
+ copied from the payload's header."
160
+ ::= { tunnelIfEntry 4 }
161
+
162
+ tunnelIfSecurity OBJECT-TYPE
163
+ SYNTAX INTEGER {
164
+ none(1), -- no security
165
+ ipsec(2), -- IPsec security
166
+ other(3)
167
+ }
168
+ MAX-ACCESS read-only
169
+ STATUS current
170
+ DESCRIPTION
171
+ "The method used by the tunnel to secure the outer IP
172
+ header. The value ipsec indicates that IPsec is used
173
+ between the tunnel endpoints for authentication or
174
+ encryption or both. More specific security-related
175
+ information may be available in a MIB module for the
176
+ security protocol in use."
177
+ ::= { tunnelIfEntry 5 }
178
+
179
+ tunnelIfTOS OBJECT-TYPE
180
+ SYNTAX Integer32 (-2..63)
181
+ MAX-ACCESS read-write
182
+ STATUS current
183
+ DESCRIPTION
184
+ "The method used to set the high 6 bits (the
185
+
186
+ differentiated services codepoint) of the IPv4 TOS or
187
+ IPv6 Traffic Class in the outer IP header. A value of
188
+ -1 indicates that the bits are copied from the
189
+ payload's header. A value of -2 indicates that a
190
+ traffic conditioner is invoked and more information
191
+ may be available in a traffic conditioner MIB module.
192
+ A value between 0 and 63 inclusive indicates that the
193
+ bit field is set to the indicated value.
194
+
195
+ Note: instead of the name tunnelIfTOS, a better name
196
+ would have been tunnelIfDSCPMethod, but the existing
197
+ name appeared in RFC 2667 and existing objects cannot
198
+ be renamed."
199
+ ::= { tunnelIfEntry 6 }
200
+
201
+ tunnelIfFlowLabel OBJECT-TYPE
202
+ SYNTAX IPv6FlowLabelOrAny
203
+ MAX-ACCESS read-write
204
+ STATUS current
205
+ DESCRIPTION
206
+ "The method used to set the IPv6 Flow Label value.
207
+ This object need not be present in rows where
208
+ tunnelIfAddressType indicates the tunnel is not over
209
+ IPv6. A value of -1 indicates that a traffic
210
+ conditioner is invoked and more information may be
211
+ available in a traffic conditioner MIB. Any other
212
+ value indicates that the Flow Label field is set to
213
+ the indicated value."
214
+ ::= { tunnelIfEntry 7 }
215
+
216
+ tunnelIfAddressType OBJECT-TYPE
217
+ SYNTAX InetAddressType
218
+ MAX-ACCESS read-write
219
+ STATUS current
220
+ DESCRIPTION
221
+ "The type of address in the corresponding
222
+ tunnelIfLocalInetAddress and tunnelIfRemoteInetAddress
223
+ objects."
224
+ ::= { tunnelIfEntry 8 }
225
+
226
+ tunnelIfLocalInetAddress OBJECT-TYPE
227
+ SYNTAX InetAddress
228
+ MAX-ACCESS read-write
229
+ STATUS current
230
+ DESCRIPTION
231
+ "The address of the local endpoint of the tunnel
232
+ (i.e., the source address used in the outer IP
233
+ header). If the address is unknown, the value is
234
+
235
+ 0.0.0.0 for IPv4 or :: for IPv6. The type of this
236
+ object is given by tunnelIfAddressType."
237
+ ::= { tunnelIfEntry 9 }
238
+
239
+ tunnelIfRemoteInetAddress OBJECT-TYPE
240
+ SYNTAX InetAddress
241
+ MAX-ACCESS read-write
242
+ STATUS current
243
+ DESCRIPTION
244
+ "The address of the remote endpoint of the tunnel
245
+ (i.e., the destination address used in the outer IP
246
+ header). If the address is unknown or the tunnel is
247
+ not a point-to-point link (e.g., if it is a 6to4
248
+ tunnel), the value is 0.0.0.0 for tunnels over IPv4 or
249
+ :: for tunnels over IPv6. The type of this object is
250
+ given by tunnelIfAddressType."
251
+ ::= { tunnelIfEntry 10 }
252
+
253
+ tunnelIfEncapsLimit OBJECT-TYPE
254
+ SYNTAX Integer32 (-1 | 0..255)
255
+ MAX-ACCESS read-write
256
+ STATUS current
257
+ DESCRIPTION
258
+ "The maximum number of additional encapsulations
259
+ permitted for packets undergoing encapsulation at this
260
+ node. A value of -1 indicates that no limit is
261
+ present (except as a result of the packet size)."
262
+ REFERENCE "RFC 2473, section 4.1.1"
263
+ ::= { tunnelIfEntry 11 }
264
+
265
+ tunnelConfigTable OBJECT-TYPE
266
+ SYNTAX SEQUENCE OF TunnelConfigEntry
267
+ MAX-ACCESS not-accessible
268
+ STATUS deprecated
269
+ DESCRIPTION
270
+ "The (conceptual) table containing information on
271
+ configured tunnels. This table can be used to map a
272
+ set of tunnel endpoints to the associated ifIndex
273
+ value. It can also be used for row creation. Note
274
+ that every row in the tunnelIfTable with a fixed IPv4
275
+ destination address should have a corresponding row in
276
+ the tunnelConfigTable, regardless of whether it was
277
+ created via SNMP.
278
+
279
+ Since this table does not support IPv6, it is
280
+ deprecated in favor of tunnelInetConfigTable."
281
+ ::= { tunnel 2 }
282
+
283
+ tunnelConfigEntry OBJECT-TYPE
284
+ SYNTAX TunnelConfigEntry
285
+ MAX-ACCESS not-accessible
286
+ STATUS deprecated
287
+ DESCRIPTION
288
+ "An entry (conceptual row) containing the information
289
+ on a particular configured tunnel.
290
+
291
+ Since this entry does not support IPv6, it is
292
+ deprecated in favor of tunnelInetConfigEntry."
293
+ INDEX { tunnelConfigLocalAddress,
294
+ tunnelConfigRemoteAddress,
295
+ tunnelConfigEncapsMethod,
296
+ tunnelConfigID }
297
+ ::= { tunnelConfigTable 1 }
298
+
299
+ TunnelConfigEntry ::= SEQUENCE {
300
+ tunnelConfigLocalAddress IpAddress,
301
+ tunnelConfigRemoteAddress IpAddress,
302
+ tunnelConfigEncapsMethod IANAtunnelType,
303
+ tunnelConfigID Integer32,
304
+ tunnelConfigIfIndex InterfaceIndexOrZero,
305
+ tunnelConfigStatus RowStatus
306
+ }
307
+
308
+ tunnelConfigLocalAddress OBJECT-TYPE
309
+ SYNTAX IpAddress
310
+ MAX-ACCESS not-accessible
311
+ STATUS deprecated
312
+ DESCRIPTION
313
+ "The address of the local endpoint of the tunnel, or
314
+ 0.0.0.0 if the device is free to choose any of its
315
+ addresses at tunnel establishment time.
316
+
317
+ Since this object does not support IPv6, it is
318
+ deprecated in favor of tunnelInetConfigLocalAddress."
319
+ ::= { tunnelConfigEntry 1 }
320
+
321
+ tunnelConfigRemoteAddress OBJECT-TYPE
322
+ SYNTAX IpAddress
323
+ MAX-ACCESS not-accessible
324
+ STATUS deprecated
325
+ DESCRIPTION
326
+ "The address of the remote endpoint of the tunnel.
327
+
328
+ Since this object does not support IPv6, it is
329
+ deprecated in favor of tunnelInetConfigRemoteAddress."
330
+ ::= { tunnelConfigEntry 2 }
331
+
332
+ tunnelConfigEncapsMethod OBJECT-TYPE
333
+ SYNTAX IANAtunnelType
334
+ MAX-ACCESS not-accessible
335
+ STATUS deprecated
336
+ DESCRIPTION
337
+ "The encapsulation method used by the tunnel.
338
+
339
+ Since this object does not support IPv6, it is
340
+ deprecated in favor of tunnelInetConfigEncapsMethod."
341
+ ::= { tunnelConfigEntry 3 }
342
+
343
+ tunnelConfigID OBJECT-TYPE
344
+ SYNTAX Integer32 (1..2147483647)
345
+ MAX-ACCESS not-accessible
346
+ STATUS deprecated
347
+ DESCRIPTION
348
+ "An identifier used to distinguish between multiple
349
+ tunnels of the same encapsulation method, with the
350
+ same endpoints. If the encapsulation protocol only
351
+ allows one tunnel per set of endpoint addresses (such
352
+ as for GRE or IP-in-IP), the value of this object is
353
+ 1. For encapsulation methods (such as L2F) which
354
+ allow multiple parallel tunnels, the manager is
355
+ responsible for choosing any ID which does not
356
+ conflict with an existing row, such as choosing a
357
+ random number.
358
+
359
+ Since this object does not support IPv6, it is
360
+ deprecated in favor of tunnelInetConfigID."
361
+ ::= { tunnelConfigEntry 4 }
362
+
363
+ tunnelConfigIfIndex OBJECT-TYPE
364
+ SYNTAX InterfaceIndexOrZero
365
+ MAX-ACCESS read-only
366
+ STATUS deprecated
367
+ DESCRIPTION
368
+ "If the value of tunnelConfigStatus for this row is
369
+ active, then this object contains the value of ifIndex
370
+ corresponding to the tunnel interface. A value of 0
371
+ is not legal in the active state, and means that the
372
+ interface index has not yet been assigned.
373
+
374
+ Since this object does not support IPv6, it is
375
+ deprecated in favor of tunnelInetConfigIfIndex."
376
+ ::= { tunnelConfigEntry 5 }
377
+
378
+ tunnelConfigStatus OBJECT-TYPE
379
+ SYNTAX RowStatus
380
+ MAX-ACCESS read-create
381
+ STATUS deprecated
382
+ DESCRIPTION
383
+ "The status of this row, by which new entries may be
384
+ created, or old entries deleted from this table. The
385
+ agent need not support setting this object to
386
+ createAndWait or notInService since there are no other
387
+ writable objects in this table, and writable objects
388
+ in rows of corresponding tables such as the
389
+ tunnelIfTable may be modified while this row is
390
+ active.
391
+
392
+ To create a row in this table for an encapsulation
393
+ method which does not support multiple parallel
394
+ tunnels with the same endpoints, the management
395
+ station should simply use a tunnelConfigID of 1, and
396
+ set tunnelConfigStatus to createAndGo. For
397
+ encapsulation methods such as L2F which allow multiple
398
+ parallel tunnels, the management station may select a
399
+ pseudo-random number to use as the tunnelConfigID and
400
+ set tunnelConfigStatus to createAndGo. In the event
401
+ that this ID is already in use and an
402
+ inconsistentValue is returned in response to the set
403
+ operation, the management station should simply select
404
+ a new pseudo-random number and retry the operation.
405
+
406
+ Creating a row in this table will cause an interface
407
+ index to be assigned by the agent in an
408
+ implementation-dependent manner, and corresponding
409
+ rows will be instantiated in the ifTable and the
410
+ tunnelIfTable. The status of this row will become
411
+ active as soon as the agent assigns the interface
412
+ index, regardless of whether the interface is
413
+ operationally up.
414
+
415
+ Deleting a row in this table will likewise delete the
416
+ corresponding row in the ifTable and in the
417
+ tunnelIfTable.
418
+
419
+ Since this object does not support IPv6, it is
420
+ deprecated in favor of tunnelInetConfigStatus."
421
+ ::= { tunnelConfigEntry 6 }
422
+
423
+ tunnelInetConfigTable OBJECT-TYPE
424
+ SYNTAX SEQUENCE OF TunnelInetConfigEntry
425
+ MAX-ACCESS not-accessible
426
+ STATUS current
427
+ DESCRIPTION
428
+ "The (conceptual) table containing information on
429
+ configured tunnels. This table can be used to map a
430
+ set of tunnel endpoints to the associated ifIndex
431
+ value. It can also be used for row creation. Note
432
+ that every row in the tunnelIfTable with a fixed
433
+ destination address should have a corresponding row in
434
+ the tunnelInetConfigTable, regardless of whether it
435
+ was created via SNMP."
436
+ ::= { tunnel 3 }
437
+
438
+ tunnelInetConfigEntry OBJECT-TYPE
439
+ SYNTAX TunnelInetConfigEntry
440
+ MAX-ACCESS not-accessible
441
+ STATUS current
442
+ DESCRIPTION
443
+ "An entry (conceptual row) containing the information
444
+ on a particular configured tunnel. Note that there is
445
+ a 128 subid maximum for object OIDs. Implementers
446
+ need to be aware that if the total number of octets in
447
+ tunnelInetConfigLocalAddress and
448
+ tunnelInetConfigRemoteAddress exceeds 110 then OIDs of
449
+ column instances in this table will have more than 128
450
+ sub-identifiers and cannot be accessed using SNMPv1,
451
+ SNMPv2c, or SNMPv3. In practice this is not expected
452
+ to be a problem since IPv4 and IPv6 addresses will not
453
+ cause the limit to be reached, but if other types are
454
+ supported by an agent, care must be taken to ensure
455
+ that the sum of the lengths do not cause the limit to
456
+ be exceeded."
457
+ INDEX { tunnelInetConfigAddressType,
458
+ tunnelInetConfigLocalAddress,
459
+ tunnelInetConfigRemoteAddress,
460
+ tunnelInetConfigEncapsMethod,
461
+ tunnelInetConfigID }
462
+ ::= { tunnelInetConfigTable 1 }
463
+
464
+ TunnelInetConfigEntry ::= SEQUENCE {
465
+ tunnelInetConfigAddressType InetAddressType,
466
+ tunnelInetConfigLocalAddress InetAddress,
467
+ tunnelInetConfigRemoteAddress InetAddress,
468
+ tunnelInetConfigEncapsMethod IANAtunnelType,
469
+ tunnelInetConfigID Integer32,
470
+ tunnelInetConfigIfIndex InterfaceIndexOrZero,
471
+ tunnelInetConfigStatus RowStatus,
472
+ tunnelInetConfigStorageType StorageType
473
+ }
474
+
475
+ tunnelInetConfigAddressType OBJECT-TYPE
476
+ SYNTAX InetAddressType
477
+ MAX-ACCESS not-accessible
478
+ STATUS current
479
+ DESCRIPTION
480
+ "The address type over which the tunnel encapsulates
481
+ packets."
482
+ ::= { tunnelInetConfigEntry 1 }
483
+
484
+ tunnelInetConfigLocalAddress OBJECT-TYPE
485
+ SYNTAX InetAddress
486
+ MAX-ACCESS not-accessible
487
+ STATUS current
488
+ DESCRIPTION
489
+ "The address of the local endpoint of the tunnel, or
490
+ 0.0.0.0 (for IPv4) or :: (for IPv6) if the device is
491
+ free to choose any of its addresses at tunnel
492
+ establishment time."
493
+ ::= { tunnelInetConfigEntry 2 }
494
+
495
+ tunnelInetConfigRemoteAddress OBJECT-TYPE
496
+ SYNTAX InetAddress
497
+ MAX-ACCESS not-accessible
498
+ STATUS current
499
+ DESCRIPTION
500
+ "The address of the remote endpoint of the tunnel."
501
+ ::= { tunnelInetConfigEntry 3 }
502
+
503
+ tunnelInetConfigEncapsMethod OBJECT-TYPE
504
+ SYNTAX IANAtunnelType
505
+ MAX-ACCESS not-accessible
506
+ STATUS current
507
+ DESCRIPTION
508
+ "The encapsulation method used by the tunnel."
509
+ ::= { tunnelInetConfigEntry 4 }
510
+
511
+ tunnelInetConfigID OBJECT-TYPE
512
+ SYNTAX Integer32 (1..2147483647)
513
+ MAX-ACCESS not-accessible
514
+ STATUS current
515
+ DESCRIPTION
516
+ "An identifier used to distinguish between multiple
517
+ tunnels of the same encapsulation method, with the
518
+ same endpoints. If the encapsulation protocol only
519
+ allows one tunnel per set of endpoint addresses (such
520
+ as for GRE or IP-in-IP), the value of this object is
521
+ 1. For encapsulation methods (such as L2F) which
522
+ allow multiple parallel tunnels, the manager is
523
+ responsible for choosing any ID which does not
524
+
525
+ conflict with an existing row, such as choosing a
526
+ random number."
527
+ ::= { tunnelInetConfigEntry 5 }
528
+
529
+ tunnelInetConfigIfIndex OBJECT-TYPE
530
+ SYNTAX InterfaceIndexOrZero
531
+ MAX-ACCESS read-only
532
+ STATUS current
533
+ DESCRIPTION
534
+ "If the value of tunnelInetConfigStatus for this row
535
+ is active, then this object contains the value of
536
+ ifIndex corresponding to the tunnel interface. A
537
+ value of 0 is not legal in the active state, and means
538
+ that the interface index has not yet been assigned."
539
+ ::= { tunnelInetConfigEntry 6 }
540
+
541
+ tunnelInetConfigStatus OBJECT-TYPE
542
+ SYNTAX RowStatus
543
+ MAX-ACCESS read-create
544
+ STATUS current
545
+ DESCRIPTION
546
+ "The status of this row, by which new entries may be
547
+ created, or old entries deleted from this table. The
548
+ agent need not support setting this object to
549
+ createAndWait or notInService since there are no other
550
+ writable objects in this table, and writable objects
551
+ in rows of corresponding tables such as the
552
+ tunnelIfTable may be modified while this row is
553
+ active.
554
+
555
+ To create a row in this table for an encapsulation
556
+ method which does not support multiple parallel
557
+ tunnels with the same endpoints, the management
558
+ station should simply use a tunnelInetConfigID of 1,
559
+ and set tunnelInetConfigStatus to createAndGo. For
560
+ encapsulation methods such as L2F which allow multiple
561
+ parallel tunnels, the management station may select a
562
+ pseudo-random number to use as the tunnelInetConfigID
563
+ and set tunnelInetConfigStatus to createAndGo. In the
564
+ event that this ID is already in use and an
565
+ inconsistentValue is returned in response to the set
566
+ operation, the management station should simply select
567
+ a new pseudo-random number and retry the operation.
568
+
569
+ Creating a row in this table will cause an interface
570
+ index to be assigned by the agent in an
571
+ implementation-dependent manner, and corresponding
572
+ rows will be instantiated in the ifTable and the
573
+
574
+ tunnelIfTable. The status of this row will become
575
+ active as soon as the agent assigns the interface
576
+ index, regardless of whether the interface is
577
+ operationally up.
578
+
579
+ Deleting a row in this table will likewise delete the
580
+ corresponding row in the ifTable and in the
581
+ tunnelIfTable."
582
+ ::= { tunnelInetConfigEntry 7 }
583
+
584
+ tunnelInetConfigStorageType OBJECT-TYPE
585
+ SYNTAX StorageType
586
+ MAX-ACCESS read-create
587
+ STATUS current
588
+ DESCRIPTION
589
+ "The storage type of this row. If the row is
590
+ permanent(4), no objects in the row need be writable."
591
+ ::= { tunnelInetConfigEntry 8 }
592
+
593
+ -- conformance information
594
+
595
+ tunnelMIBConformance
596
+ OBJECT IDENTIFIER ::= { tunnelMIB 2 }
597
+ tunnelMIBCompliances
598
+ OBJECT IDENTIFIER ::= { tunnelMIBConformance 1 }
599
+ tunnelMIBGroups OBJECT IDENTIFIER ::= { tunnelMIBConformance 2 }
600
+
601
+ -- compliance statements
602
+
603
+ tunnelMIBCompliance MODULE-COMPLIANCE
604
+ STATUS deprecated
605
+ DESCRIPTION
606
+ "The (deprecated) IPv4-only compliance statement for
607
+ the IP Tunnel MIB.
608
+
609
+ This is deprecated in favor of
610
+ tunnelMIBInetFullCompliance and
611
+ tunnelMIBInetReadOnlyCompliance."
612
+ MODULE -- this module
613
+ MANDATORY-GROUPS { tunnelMIBBasicGroup }
614
+
615
+ OBJECT tunnelIfHopLimit
616
+ MIN-ACCESS read-only
617
+ DESCRIPTION
618
+ "Write access is not required."
619
+
620
+ OBJECT tunnelIfTOS
621
+ MIN-ACCESS read-only
622
+ DESCRIPTION
623
+ "Write access is not required."
624
+
625
+ OBJECT tunnelConfigStatus
626
+ MIN-ACCESS read-only
627
+ DESCRIPTION
628
+ "Write access is not required."
629
+ ::= { tunnelMIBCompliances 1 }
630
+
631
+ tunnelMIBInetFullCompliance MODULE-COMPLIANCE
632
+ STATUS current
633
+ DESCRIPTION
634
+ "The full compliance statement for the IP Tunnel MIB."
635
+ MODULE -- this module
636
+ MANDATORY-GROUPS { tunnelMIBInetGroup }
637
+
638
+ OBJECT tunnelIfAddressType
639
+ SYNTAX InetAddressType { ipv4(1), ipv6(2),
640
+ ipv4z(3), ipv6z(4) }
641
+ DESCRIPTION
642
+ "An implementation is only required to support IPv4
643
+ and/or IPv6 addresses. An implementation only needs to
644
+ support the addresses it actually supports on the
645
+ device."
646
+ ::= { tunnelMIBCompliances 2 }
647
+
648
+ tunnelMIBInetReadOnlyCompliance MODULE-COMPLIANCE
649
+ STATUS current
650
+ DESCRIPTION
651
+ "The read-only compliance statement for the IP Tunnel
652
+ MIB."
653
+ MODULE -- this module
654
+ MANDATORY-GROUPS { tunnelMIBInetGroup }
655
+
656
+ OBJECT tunnelIfHopLimit
657
+ MIN-ACCESS read-only
658
+ DESCRIPTION
659
+ "Write access is not required."
660
+
661
+ OBJECT tunnelIfTOS
662
+ MIN-ACCESS read-only
663
+ DESCRIPTION
664
+ "Write access is not required."
665
+
666
+ OBJECT tunnelIfFlowLabel
667
+ MIN-ACCESS read-only
668
+ DESCRIPTION
669
+ "Write access is not required."
670
+
671
+ OBJECT tunnelIfAddressType
672
+ SYNTAX InetAddressType { ipv4(1), ipv6(2),
673
+ ipv4z(3), ipv6z(4) }
674
+ MIN-ACCESS read-only
675
+ DESCRIPTION
676
+ "Write access is not required.
677
+
678
+ An implementation is only required to support IPv4
679
+ and/or IPv6 addresses. An implementation only needs to
680
+ support the addresses it actually supports on the
681
+ device."
682
+
683
+ OBJECT tunnelIfLocalInetAddress
684
+ MIN-ACCESS read-only
685
+ DESCRIPTION
686
+ "Write access is not required."
687
+
688
+ OBJECT tunnelIfRemoteInetAddress
689
+ MIN-ACCESS read-only
690
+ DESCRIPTION
691
+ "Write access is not required."
692
+
693
+ OBJECT tunnelIfEncapsLimit
694
+ MIN-ACCESS read-only
695
+ DESCRIPTION
696
+ "Write access is not required."
697
+
698
+ OBJECT tunnelInetConfigStatus
699
+ MIN-ACCESS read-only
700
+ DESCRIPTION
701
+ "Write access is not required, and active is the only
702
+ status that needs to be supported."
703
+
704
+ OBJECT tunnelInetConfigStorageType
705
+ MIN-ACCESS read-only
706
+ DESCRIPTION
707
+ "Write access is not required."
708
+ ::= { tunnelMIBCompliances 3 }
709
+
710
+ -- units of conformance
711
+
712
+ tunnelMIBBasicGroup OBJECT-GROUP
713
+ OBJECTS { tunnelIfLocalAddress, tunnelIfRemoteAddress,
714
+ tunnelIfEncapsMethod, tunnelIfHopLimit, tunnelIfTOS,
715
+ tunnelIfSecurity, tunnelConfigIfIndex, tunnelConfigStatus }
716
+ STATUS deprecated
717
+ DESCRIPTION
718
+ "A collection of objects to support basic management
719
+
720
+ of IPv4 Tunnels. Since this group cannot support
721
+ IPv6, it is deprecated in favor of
722
+ tunnelMIBInetGroup."
723
+ ::= { tunnelMIBGroups 1 }
724
+
725
+ tunnelMIBInetGroup OBJECT-GROUP
726
+ OBJECTS { tunnelIfAddressType, tunnelIfLocalInetAddress,
727
+ tunnelIfRemoteInetAddress, tunnelIfEncapsMethod,
728
+ tunnelIfEncapsLimit,
729
+ tunnelIfHopLimit, tunnelIfTOS, tunnelIfFlowLabel,
730
+ tunnelIfSecurity, tunnelInetConfigIfIndex,
731
+ tunnelInetConfigStatus, tunnelInetConfigStorageType }
732
+ STATUS current
733
+ DESCRIPTION
734
+ "A collection of objects to support basic management
735
+ of IPv4 and IPv6 Tunnels."
736
+ ::= { tunnelMIBGroups 2 }
737
+
738
+ END