-- extracted from rfc2851.txt
-- at Wed Jun 14 07:07:27 2000

INET-ADDRESS-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        mib-2
                FROM SNMPv2-SMI
        TEXTUAL-CONVENTION
                FROM SNMPv2-TC;

inetAddressMIB MODULE-IDENTITY
        LAST-UPDATED "200006080000Z"       -- Jun 8, 2000 12:00:00 AM
        ORGANIZATION "IETF Operations and Management Area"
        CONTACT-INFO
               "Mike Daniele
                Compaq Computer Corporation
                110 Spit Brook Rd
                Nashua, NH  03062, USA

                Phone: +1 603 884-1423
                EMail: daniele@zk3.dec.com

                Brian Haberman
                Nortel Networks
                4039 Emperor Blvd., Suite 200
                Durham, NC  27703, USA

                Phone: +1 919 992-4439
                EMail: haberman@nortelnetworks.com

                Shawn A. Routhier
                Wind River Systems, Inc.
                1 Tara Blvd, Suite 403
                Nashua, NH  03062, USA

                Phone: +1 603 897-2000
                EMail: sar@epilogue.com
                Juergen Schoenwaelder
                TU Braunschweig
                Bueltenweg 74/75
                38106 Braunschweig, Germany

                Phone: +49 531 391-3289
                EMail: schoenw@ibr.cs.tu-bs.de

                Send comments to mibs@ops.ietf.org."
        DESCRIPTION
               "This MIB module defines textual conventions for
                representing Internet addresses. An Internet
                address can be an IPv4 address, an IPv6 address
                or a DNS domain name."
        REVISION "200006080000Z"   -- Jun 8, 2000 12:00:00 AM
        DESCRIPTION
               "Initial version, published as RFC 2851."
 -- 1.3.6.1.2.1.76 --  ::= { mib-2 76 }


InetAddressType ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
               "A value that represents a type of Internet address.

                unknown(0)  An unknown address type. This value MUST
                            be used if the value of the corresponding
                            InetAddress object is a zero-length string.
                            It may also be used to indicate an IP address
                            which is not in one of the formats defined
                            below.

                ipv4(1)     An IPv4 address as defined by the
                            InetAddressIPv4 textual convention.

                ipv6(2)     An IPv6 address as defined by the
                            InetAddressIPv6 textual convention.

                dns(16)     A DNS domain name as defined by the
                            InetAddressDNS textual convention.

                Each definition of a concrete InetAddressType value must be
                accompanied by a definition of a textual convention for use
                with that InetAddressType.

                The InetAddressType textual convention SHOULD NOT be subtyped
                in object type definitions to support future extensions. It
                MAY be subtyped in compliance statements in order to require
                only a subset of these address types for a compliant
                implementation."
        SYNTAX INTEGER {
                        unknown(0),
                        ipv4(1),     -- these named numbers are aligned
                        ipv6(2),     -- with AddressFamilyNumbers from
                        dns(16)      -- IANA-ADDRESS-FAMILY-NUMBERS-MIB
                        }


InetAddress ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
               "Denotes a generic Internet address.

                An InetAddress value is always interpreted within the
                context of an InetAddressType value. The InetAddressType
                object which defines the context must be registered
                immediately before the object which uses the InetAddress
                textual convention. In other words, the object identifiers
                for the InetAddressType object and the InetAddress object
                MUST have the same length and the last sub-identifier of
                the InetAddressType object MUST be 1 less than the last
                sub-identifier of the InetAddress object.

                When this textual convention is used as the syntax of an
                index object, there may be issues with the limit of 128
                sub-identifiers specified in SMIv2, STD 58. In this case,
                the OBJECT-TYPE declaration MUST include a 'SIZE' clause
                to limit the number of potential instance sub-identifiers."
        SYNTAX OCTET STRING (SIZE (0..255))


InetAddressIPv4 ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "1d.1d.1d.1d"
        STATUS current
        DESCRIPTION
               "Represents an IPv4 network address:

                  octets   contents         encoding
                   1-4     IP address       network-byte order

                The corresponding InetAddressType value is ipv4(1)."
        SYNTAX OCTET STRING (SIZE (4))


InetAddressIPv6 ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x%4d"
        STATUS current
        DESCRIPTION
               "Represents an IPv6 network address:

                  octets   contents         encoding
                   1-16    IPv6 address     network-byte order
                  17-20    scope identifier network-byte order

                The corresponding InetAddressType value is ipv6(2).

                The scope identifier (bytes 17-20) MUST NOT be present
                for global IPv6 addresses. For non-global IPv6 addresses
                (e.g. link-local or site-local addresses), the scope
                identifier MUST always be present. It contains a link
                identifier for link-local and a site identifier for
                site-local IPv6 addresses.

                The scope identifier MUST disambiguate identical address
                values. For link-local addresses, the scope identifier will
                typically be the interface index (ifIndex as defined in the
                IF-MIB, RFC 2233) of the interface on which the address is
                configured.

                The scope identifier may contain the special value 0
                which refers to the default scope. The default scope
                may be used in cases where the valid scope identifier
                is not known (e.g., a management application needs to
                write a site-local InetAddressIPv6 address without
                knowing the site identifier value). The default scope
                SHOULD NOT be used as an easy way out in cases where
                the scope identifier for a non-global IPv6 is known."
        SYNTAX OCTET STRING (SIZE (16 | 20))


InetAddressDNS ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "255a"
        STATUS current
        DESCRIPTION
               "Represents a DNS domain name. The name SHOULD be
                fully qualified whenever possible.

                The corresponding InetAddressType is dns(16).

                The DESCRIPTION clause of InetAddress objects that
                may have InetAddressDNS values must fully describe
                how (and when) such names are to be resolved to IP
                addresses."
        SYNTAX OCTET STRING (SIZE (1..255))


END
-- 
--    Copyright (C) The Internet Society (2000).  All Rights Reserved.
-- 
--    This document and translations of it may be copied and furnished to
--    others, and derivative works that comment on or otherwise explain it
--    or assist in its implementation may be prepared, copied, published
--    and distributed, in whole or in part, without restriction of any
--    kind, provided that the above copyright notice and this paragraph are
--    included on all such copies and derivative works.  However, this
--    document itself may not be modified in any way, such as by removing
--    the copyright notice or references to the Internet Society or other
--    Internet organizations, except as needed for the purpose of
--    developing Internet standards in which case the procedures for
--    copyrights defined in the Internet Standards process must be
--    followed, or as required to translate it into languages other than
--    English.
-- 
--    The limited permissions granted above are perpetual and will not be
--    revoked by the Internet Society or its successors or assigns.
-- 
--    This document and the information contained herein is provided on an
--    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
--    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
--    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
--    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
--    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
--