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,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