Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / mibs / ietf / INET-ADDRESS-MIB
1 INET-ADDRESS-MIB DEFINITIONS ::= BEGIN
2
3 IMPORTS
4     MODULE-IDENTITY, mib-2, Unsigned32 FROM SNMPv2-SMI
5     TEXTUAL-CONVENTION                 FROM SNMPv2-TC;
6
7 inetAddressMIB MODULE-IDENTITY
8     LAST-UPDATED "200502040000Z"
9     ORGANIZATION
10         "IETF Operations and Management Area"
11     CONTACT-INFO
12         "Juergen Schoenwaelder (Editor)
13          International University Bremen
14          P.O. Box 750 561
15          28725 Bremen, Germany
16
17          Phone: +49 421 200-3587
18          EMail: j.schoenwaelder@iu-bremen.de
19
20          Send comments to <ietfmibs@ops.ietf.org>."
21     DESCRIPTION
22         "This MIB module defines textual conventions for
23          representing Internet addresses.  An Internet
24          address can be an IPv4 address, an IPv6 address,
25          or a DNS domain name.  This module also defines
26          textual conventions for Internet port numbers,
27          autonomous system numbers, and the length of an
28          Internet address prefix.
29
30          Copyright (C) The Internet Society (2005).  This version
31          of this MIB module is part of RFC 4001, see the RFC
32          itself for full legal notices."
33     REVISION     "200502040000Z"
34     DESCRIPTION
35         "Third version, published as RFC 4001.  This revision
36          introduces the InetZoneIndex, InetScopeType, and
37          InetVersion textual conventions."
38     REVISION     "200205090000Z"
39     DESCRIPTION
40         "Second version, published as RFC 3291.  This
41          revision contains several clarifications and
42          introduces several new textual conventions:
43          InetAddressPrefixLength, InetPortNumber,
44          InetAutonomousSystemNumber, InetAddressIPv4z,
45          and InetAddressIPv6z."
46     REVISION     "200006080000Z"
47
48
49
50     DESCRIPTION
51         "Initial version, published as RFC 2851."
52     ::= { mib-2 76 }
53
54 InetAddressType ::= TEXTUAL-CONVENTION
55     STATUS      current
56     DESCRIPTION
57         "A value that represents a type of Internet address.
58
59          unknown(0)  An unknown address type.  This value MUST
60                      be used if the value of the corresponding
61                      InetAddress object is a zero-length string.
62                      It may also be used to indicate an IP address
63                      that is not in one of the formats defined
64                      below.
65
66          ipv4(1)     An IPv4 address as defined by the
67                      InetAddressIPv4 textual convention.
68
69          ipv6(2)     An IPv6 address as defined by the
70                      InetAddressIPv6 textual convention.
71
72          ipv4z(3)    A non-global IPv4 address including a zone
73                      index as defined by the InetAddressIPv4z
74                      textual convention.
75
76          ipv6z(4)    A non-global IPv6 address including a zone
77                      index as defined by the InetAddressIPv6z
78                      textual convention.
79
80          dns(16)     A DNS domain name as defined by the
81                      InetAddressDNS textual convention.
82
83          Each definition of a concrete InetAddressType value must be
84          accompanied by a definition of a textual convention for use
85          with that InetAddressType.
86
87          To support future extensions, the InetAddressType textual
88          convention SHOULD NOT be sub-typed in object type definitions.
89          It MAY be sub-typed in compliance statements in order to
90          require only a subset of these address types for a compliant
91          implementation.
92
93          Implementations must ensure that InetAddressType objects
94          and any dependent objects (e.g., InetAddress objects) are
95          consistent.  An inconsistentValue error must be generated
96          if an attempt to change an InetAddressType object would,
97          for example, lead to an undefined InetAddress value.  In
98
99
100
101          particular, InetAddressType/InetAddress pairs must be
102          changed together if the address type changes (e.g., from
103          ipv6(2) to ipv4(1))."
104     SYNTAX       INTEGER {
105                      unknown(0),
106                      ipv4(1),
107                      ipv6(2),
108                      ipv4z(3),
109                      ipv6z(4),
110                      dns(16)
111                  }
112
113 InetAddress ::= TEXTUAL-CONVENTION
114     STATUS      current
115     DESCRIPTION
116         "Denotes a generic Internet address.
117
118          An InetAddress value is always interpreted within the context
119          of an InetAddressType value.  Every usage of the InetAddress
120          textual convention is required to specify the InetAddressType
121          object that provides the context.  It is suggested that the
122          InetAddressType object be logically registered before the
123          object(s) that use the InetAddress textual convention, if
124          they appear in the same logical row.
125
126          The value of an InetAddress object must always be
127          consistent with the value of the associated InetAddressType
128          object.  Attempts to set an InetAddress object to a value
129          inconsistent with the associated InetAddressType
130          must fail with an inconsistentValue error.
131
132          When this textual convention is used as the syntax of an
133          index object, there may be issues with the limit of 128
134          sub-identifiers specified in SMIv2, STD 58.  In this case,
135          the object definition MUST include a 'SIZE' clause to
136          limit the number of potential instance sub-identifiers;
137          otherwise the applicable constraints MUST be stated in
138          the appropriate conceptual row DESCRIPTION clauses, or
139          in the surrounding documentation if there is no single
140          DESCRIPTION clause that is appropriate."
141     SYNTAX       OCTET STRING (SIZE (0..255))
142
143 InetAddressIPv4 ::= TEXTUAL-CONVENTION
144     DISPLAY-HINT "1d.1d.1d.1d"
145     STATUS       current
146     DESCRIPTION
147         "Represents an IPv4 network address:
148
149
150
151
152            Octets   Contents         Encoding
153             1-4     IPv4 address     network-byte order
154
155          The corresponding InetAddressType value is ipv4(1).
156
157          This textual convention SHOULD NOT be used directly in object
158          definitions, as it restricts addresses to a specific format.
159          However, if it is used, it MAY be used either on its own or in
160          conjunction with InetAddressType, as a pair."
161     SYNTAX       OCTET STRING (SIZE (4))
162
163 InetAddressIPv6 ::= TEXTUAL-CONVENTION
164     DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x"
165     STATUS       current
166     DESCRIPTION
167         "Represents an IPv6 network address:
168
169            Octets   Contents         Encoding
170             1-16    IPv6 address     network-byte order
171
172          The corresponding InetAddressType value is ipv6(2).
173
174          This textual convention SHOULD NOT be used directly in object
175          definitions, as it restricts addresses to a specific format.
176          However, if it is used, it MAY be used either on its own or in
177          conjunction with InetAddressType, as a pair."
178     SYNTAX       OCTET STRING (SIZE (16))
179
180 InetAddressIPv4z ::= TEXTUAL-CONVENTION
181     DISPLAY-HINT "1d.1d.1d.1d%4d"
182     STATUS       current
183     DESCRIPTION
184         "Represents a non-global IPv4 network address, together
185          with its zone index:
186
187            Octets   Contents         Encoding
188             1-4     IPv4 address     network-byte order
189             5-8     zone index       network-byte order
190
191          The corresponding InetAddressType value is ipv4z(3).
192
193          The zone index (bytes 5-8) is used to disambiguate identical
194          address values on nodes that have interfaces attached to
195          different zones of the same scope.  The zone index may contain
196          the special value 0, which refers to the default zone for each
197          scope.
198
199          This textual convention SHOULD NOT be used directly in object
200
201
202
203          definitions, as it restricts addresses to a specific format.
204          However, if it is used, it MAY be used either on its own or in
205          conjunction with InetAddressType, as a pair."
206     SYNTAX       OCTET STRING (SIZE (8))
207
208 InetAddressIPv6z ::= TEXTUAL-CONVENTION
209     DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x%4d"
210     STATUS       current
211     DESCRIPTION
212         "Represents a non-global IPv6 network address, together
213          with its zone index:
214
215            Octets   Contents         Encoding
216             1-16    IPv6 address     network-byte order
217            17-20    zone index       network-byte order
218
219          The corresponding InetAddressType value is ipv6z(4).
220
221          The zone index (bytes 17-20) is used to disambiguate
222          identical address values on nodes that have interfaces
223          attached to different zones of the same scope.  The zone index
224          may contain the special value 0, which refers to the default
225          zone for each scope.
226
227          This textual convention SHOULD NOT be used directly in object
228          definitions, as it restricts addresses to a specific format.
229          However, if it is used, it MAY be used either on its own or in
230          conjunction with InetAddressType, as a pair."
231     SYNTAX       OCTET STRING (SIZE (20))
232
233 InetAddressDNS ::= TEXTUAL-CONVENTION
234     DISPLAY-HINT "255a"
235     STATUS       current
236     DESCRIPTION
237         "Represents a DNS domain name.  The name SHOULD be fully
238          qualified whenever possible.
239
240          The corresponding InetAddressType is dns(16).
241
242          The DESCRIPTION clause of InetAddress objects that may have
243          InetAddressDNS values MUST fully describe how (and when)
244          these names are to be resolved to IP addresses.
245
246          The resolution of an InetAddressDNS value may require to
247          query multiple DNS records (e.g., A for IPv4 and AAAA for
248          IPv6).  The order of the resolution process and which DNS
249          record takes precedence depends on the configuration of the
250          resolver.
251
252
253
254          This textual convention SHOULD NOT be used directly in object
255          definitions, as it restricts addresses to a specific format.
256          However, if it is used, it MAY be used either on its own or in
257          conjunction with InetAddressType, as a pair."
258     SYNTAX       OCTET STRING (SIZE (1..255))
259
260 InetAddressPrefixLength ::= TEXTUAL-CONVENTION
261     DISPLAY-HINT "d"
262     STATUS       current
263     DESCRIPTION
264         "Denotes the length of a generic Internet network address
265          prefix.  A value of n corresponds to an IP address mask
266          that has n contiguous 1-bits from the most significant
267          bit (MSB), with all other bits set to 0.
268
269          An InetAddressPrefixLength value is always interpreted within
270          the context of an InetAddressType value.  Every usage of the
271          InetAddressPrefixLength textual convention is required to
272          specify the InetAddressType object that provides the
273          context.  It is suggested that the InetAddressType object be
274          logically registered before the object(s) that use the
275          InetAddressPrefixLength textual convention, if they appear
276          in the same logical row.
277
278          InetAddressPrefixLength values larger than
279          the maximum length of an IP address for a specific
280          InetAddressType are treated as the maximum significant
281          value applicable for the InetAddressType.  The maximum
282          significant value is 32 for the InetAddressType
283          'ipv4(1)' and 'ipv4z(3)' and 128 for the InetAddressType
284          'ipv6(2)' and 'ipv6z(4)'.  The maximum significant value
285          for the InetAddressType 'dns(16)' is 0.
286
287          The value zero is object-specific and must be defined as
288          part of the description of any object that uses this
289          syntax.  Examples of the usage of zero might include
290          situations where the Internet network address prefix
291          is unknown or does not apply.
292
293          The upper bound of the prefix length has been chosen to
294          be consistent with the maximum size of an InetAddress."
295     SYNTAX       Unsigned32 (0..2040)
296
297 InetPortNumber ::= TEXTUAL-CONVENTION
298     DISPLAY-HINT "d"
299     STATUS       current
300     DESCRIPTION
301         "Represents a 16 bit port number of an Internet transport
302
303
304
305          layer protocol.  Port numbers are assigned by IANA.  A
306          current list of all assignments is available from
307          <http://www.iana.org/>.
308
309          The value zero is object-specific and must be defined as
310          part of the description of any object that uses this
311          syntax.  Examples of the usage of zero might include
312          situations where a port number is unknown, or when the
313          value zero is used as a wildcard in a filter."
314     REFERENCE   "STD 6 (RFC 768), STD 7 (RFC 793) and RFC 2960"
315     SYNTAX       Unsigned32 (0..65535)
316
317 InetAutonomousSystemNumber ::= TEXTUAL-CONVENTION
318     DISPLAY-HINT "d"
319     STATUS       current
320     DESCRIPTION
321         "Represents an autonomous system number that identifies an
322          Autonomous System (AS).  An AS is a set of routers under a
323          single technical administration, using an interior gateway
324          protocol and common metrics to route packets within the AS,
325          and using an exterior gateway protocol to route packets to
326          other ASes'.  IANA maintains the AS number space and has
327          delegated large parts to the regional registries.
328
329          Autonomous system numbers are currently limited to 16 bits
330          (0..65535).  There is, however, work in progress to enlarge the
331          autonomous system number space to 32 bits.  Therefore, this
332          textual convention uses an Unsigned32 value without a
333          range restriction in order to support a larger autonomous
334          system number space."
335     REFERENCE   "RFC 1771, RFC 1930"
336     SYNTAX       Unsigned32
337
338 InetScopeType ::= TEXTUAL-CONVENTION
339     STATUS       current
340     DESCRIPTION
341         "Represents a scope type.  This textual convention can be used
342          in cases where a MIB has to represent different scope types
343          and there is no context information, such as an InetAddress
344          object, that implicitly defines the scope type.
345
346          Note that not all possible values have been assigned yet, but
347          they may be assigned in future revisions of this specification.
348          Applications should therefore be able to deal with values
349          not yet assigned."
350     REFERENCE   "RFC 3513"
351     SYNTAX       INTEGER {
352                      -- reserved(0),
353
354
355
356                      interfaceLocal(1),
357                      linkLocal(2),
358                      subnetLocal(3),
359                      adminLocal(4),
360                      siteLocal(5), -- site-local unicast addresses
361                                    -- have been deprecated by RFC 3879
362                      -- unassigned(6),
363                      -- unassigned(7),
364                      organizationLocal(8),
365                      -- unassigned(9),
366                      -- unassigned(10),
367                      -- unassigned(11),
368                      -- unassigned(12),
369                      -- unassigned(13),
370                      global(14)
371                      -- reserved(15)
372                  }
373
374 InetZoneIndex ::= TEXTUAL-CONVENTION
375     DISPLAY-HINT "d"
376     STATUS       current
377     DESCRIPTION
378         "A zone index identifies an instance of a zone of a
379          specific scope.
380
381          The zone index MUST disambiguate identical address
382          values.  For link-local addresses, the zone index will
383          typically be the interface index (ifIndex as defined in the
384          IF-MIB) of the interface on which the address is configured.
385
386          The zone index may contain the special value 0, which refers
387          to the default zone.  The default zone may be used in cases
388          where the valid zone index is not known (e.g., when a
389          management application has to write a link-local IPv6
390          address without knowing the interface index value).  The
391          default zone SHOULD NOT be used as an easy way out in
392          cases where the zone index for a non-global IPv6 address
393          is known."
394     REFERENCE   "RFC4007"
395     SYNTAX       Unsigned32
396
397 InetVersion ::= TEXTUAL-CONVENTION
398     STATUS  current
399     DESCRIPTION
400         "A value representing a version of the IP protocol.
401
402          unknown(0)  An unknown or unspecified version of the IP
403                      protocol.
404
405
406
407          ipv4(1)     The IPv4 protocol as defined in RFC 791 (STD 5).
408
409          ipv6(2)     The IPv6 protocol as defined in RFC 2460.
410
411          Note that this textual convention SHOULD NOT be used to
412          distinguish different address types associated with IP
413          protocols.  The InetAddressType has been designed for this
414          purpose."
415     REFERENCE   "RFC 791, RFC 2460"
416     SYNTAX       INTEGER {
417                      unknown(0),
418                      ipv4(1),
419                      ipv6(2)
420                  }
421 END