IPv6 Maintenance
Internet Engineering Task Force (IETF)                         B. Fenner
Internet-Draft
Request for Comments: 8096                         Arista Networks, Inc.
Obsoletes: 2452, 2454, 2465, 2466 (if                  November 14, 2016
           approved)
Intended status: Informational
Expires: May 18,                             April 2017

         Republishing the IPV6-specific
Category: Informational
ISSN: 2070-1721

               The IPv6-Specific MIB modules as obsolete
                 draft-ietf-6man-ipv6-mibs-obsolete-02 Modules Are Obsolete

Abstract

   In 2005, 2005-2006, the IPv6 MIB update group published updated versions of
   the IP-MIB, UDP-MIB, TCP-MIB TCP-MIB, and IP-FORWARD-MIB modules, which use
   the InetAddressType/InetAddress construct to handle IPv4 and IPv6 in
   the same table.  This document contains versions of the obsoleted
   IPV6-MIB, IPV6-TC, IPV6-ICMP-MIB, IPV6-TCP-MIB IPV6-TCP-MIB, and IPV6-UDP-MIB
   modules,
   modules for the purpose of updating MIB module repositories.  This
   document obsoletes RFCs 2452, 2454, 2465, and 2466 (i.e., the RFCs
   containing these MIBs) and reclassifies them as Historic.

Status of This Memo

   This Internet-Draft document is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents not an Internet Standards Track specification; it is
   published for informational purposes.

   This document is a product of the Internet Engineering Task Force
   (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list  It represents the consensus of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Not all documents
   approved by the IESG are a maximum candidate for any level of Internet
   Standard; see Section 2 of six months RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be updated, replaced, or obsoleted by other documents obtained at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on May 18, 2017.
   http://www.rfc-editor.org/info/rfc8096.

Copyright Notice

   Copyright (c) 2016 2017 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.

Table of Contents

   1. Motivation  . . . . . . . . . . . . . . . . . . . . . . . . .   2 ......................................................3
   2. Historic IPV6-TC  . . . . . . . . . . . . . . . . . . . . . .   3 ................................................4
   3. Historic IPV6-MIB . . . . . . . . . . . . . . . . . . . . . .   5 ...............................................6
   4. Historic IPV6-ICMP-MIB  . . . . . . . . . . . . . . . . . . .  39 .........................................40
   5. Historic IPV6-UDP-MIB . . . . . . . . . . . . . . . . . . . .  52 ..........................................54
   6. Historic IPV6-TCP-MIB . . . . . . . . . . . . . . . . . . . .  56 ..........................................58
   7. Reclassification  . . . . . . . . . . . . . . . . . . . . . .  61 ...............................................63
   8. Security Considerations . . . . . . . . . . . . . . . . . . .  61 ........................................63
   9. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  61 ............................................63
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  62 ....................................................64
      10.1. Normative References . . . . . . . . . . . . . . . . . .  62 .....................................64
      10.2. Informative References . . . . . . . . . . . . . . . . .  62
     10.3.  URIs . . . . . . . . . . . . . . . . . . . . . . . . . .  63
   Appendix A.  Change history . . . . . . . . . . . . . . . . . . .  63
     A.1.  Changes since draft-ietf-6man-ipv6-mibs-obsolete-01 . . .  63
     A.2.  Changes since draft-ietf-6man-ipv6-mibs-obsolete-00 . . .  63
     A.3.  Changes since draft-fenner-ipv6-mibs-obsolete-00  . . . .  63
     A.4.  Changes since draft-fenner-ipv6-mibs-obsolete-01  . . . .  64
     A.5.  Changes since draft-fenner-ipv6-mibs-obsolete-02  . . . .  64 ...................................64
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  64 ..................................................64

1.  Motivation

   In 2005, 2005-2006, the IPv6 MIB update group published updated versions of
   the IP-MIB [RFC4293], UDP-MIB [RFC4113], TCP-MIB [RFC4022] [RFC4022], and IP-
   FORWARD-MIB [RFC4292] modules, which use the InetAddressType/
   InetAddress construct to handle IPv4 and IPv6 in the same table.
   These documents were marked in the  The
   RFC Index Editor marked these documents as obsoleting the corresponding
   IPV6-MIBs, but the extracted content of these MIBs never changed in
   MIB repositories, and the original RFCs (as is normal IETF policy)
   never changed from being Proposed Standard.

   Note that the timeline of these MIB modules looks like is as shown below (and it
   is the added support for IPv6 in the later revision of the original
   modules that people often overlook).

                          IPv6-MIB--------X
                                           \
                 IP-MIB-------------------IP-MIB--->

   This causes an unclear situation when simply looking at MIB
   repositories, so we are simply republishing these MIB modules with
   the SMI syntax Structure of Management Information (SMI) status changed to
   obsolete.  This is an unusual step, and it is not the intended path
   with every obsolete MIB module; the special history of these modules lead
   led to this special step.

2.  Historic IPV6-TC

IPV6-TC DEFINITIONS ::= BEGIN

-- Copyright (c) 2017 IETF Trust and the persons identified as
-- authors of the code. All rights reserved.

--   Redistribution and use in source and binary forms, with or without
--   modification, is permitted pursuant to, and subject to the license
--   terms contained in, the Simplified BSD License set forth in Section
--   4.c of the IETF Trust's Legal Provisions Relating to IETF Documents
--   (http://trustee.ietf.org/license-info).

IMPORTS
     Integer32                FROM SNMPv2-SMI
     TEXTUAL-CONVENTION       FROM SNMPv2-TC;

-- definition of textual conventions
Ipv6Address ::= TEXTUAL-CONVENTION
     DISPLAY-HINT "2x:"
     STATUS       obsolete
     DESCRIPTION
       "This data type is used to model IPv6 addresses.
        This is a binary string of 16 octets in network
        byte-order.

        This object is obsoleted by INET-ADDRESS-MIB::InetAddress."
     SYNTAX       OCTET STRING (SIZE (16))

Ipv6AddressPrefix ::= TEXTUAL-CONVENTION
     DISPLAY-HINT "2x:"
     STATUS       obsolete
     DESCRIPTION
       "This data type is used to model IPv6 address
       prefixes.  This is a binary string of up to 16
       octets in network byte-order.
       This object is obsoleted by INET-ADDRESS-MIB::InetAddress."
     SYNTAX       OCTET STRING (SIZE (0..16))

Ipv6AddressIfIdentifier ::= TEXTUAL-CONVENTION
     DISPLAY-HINT "2x:"
     STATUS       obsolete
     DESCRIPTION
       "This data type is used to model IPv6 address
       interface identifiers.  This is a binary string
        of up to 8 octets in network byte-order.

       This object is obsoleted by IP-MIB::Ipv6AddressIfIdentifierTC."
     SYNTAX      OCTET STRING (SIZE (0..8))

Ipv6IfIndex ::= TEXTUAL-CONVENTION
     DISPLAY-HINT "d"
     STATUS       obsolete
     DESCRIPTION
       "A unique value, greater than zero for each
       internetwork-layer interface in the managed
       system.  It is recommended that values are assigned
       contiguously starting from 1.  The value for each
       internetwork-layer interface must remain constant
       at least from one re-initialization of the entity's
       network management system to the next
       re-initialization.

       This object is obsoleted by IF-MIB::InterfaceIndex."
     SYNTAX       Integer32 (1..2147483647)

Ipv6IfIndexOrZero ::= TEXTUAL-CONVENTION
     DISPLAY-HINT "d"
     STATUS       obsolete
     DESCRIPTION
         "This textual convention is an extension of the
         Ipv6IfIndex convention.  The latter defines
         a greater than zero value used to identify an IPv6
         interface in the managed system.  This extension
         permits the additional value of zero.  The value
         zero is object-specific and must therefore be
         defined as part of the description of any object
         which uses this syntax.  Examples of the usage of
         zero might include situations where interface was
         unknown, or when none or all interfaces need to be
         referenced.

         This object is obsoleted by IF-MIB::InterfaceIndexOrZero."
     SYNTAX       Integer32 (0..2147483647)

END

3.  Historic IPV6-MIB

 IPV6-MIB DEFINITIONS ::= BEGIN

 IMPORTS
     MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
     mib-2, Counter32, Unsigned32, Integer32,
     Gauge32                               FROM SNMPv2-SMI
     DisplayString, PhysAddress, TruthValue, TimeStamp,
     VariablePointer, RowPointer           FROM SNMPv2-TC
     MODULE-COMPLIANCE, OBJECT-GROUP,
     NOTIFICATION-GROUP                    FROM SNMPv2-CONF
     Ipv6IfIndex, Ipv6Address, Ipv6AddressPrefix,
     Ipv6AddressIfIdentifier,
     Ipv6IfIndexOrZero                     FROM IPV6-TC;

 ipv6MIB MODULE-IDENTITY
     LAST-UPDATED "201505282112Z" "201702220000Z"
     ORGANIZATION "IETF IPv6 Working Group"
     CONTACT-INFO
       "           Dimitry Haskin

           Postal: Bay Networks, Inc.
                   660 Techology Technology Park Drive.
                   Billerica, MA  01821

                   US

              Tel: +1-978-916-8124
           E-mail: dhaskin@baynetworks.com

                   Steve Onishi

           Postal: Bay Networks, Inc.
                   3 Federal Street
                   Billerica, MA 01821
                   US

              Tel: +1-978-916-3816
           E-mail: sonishi@baynetworks.com"
     DESCRIPTION
       "The obsolete MIB module for entities implementing the IPv6
        protocol.  Use the IP-MIB or IP-FORWARD-MIB instead." instead.

        Copyright (c) 2017 IETF Trust and the persons identified
        as authors of the code. All rights reserved.

        Redistribution and use in source and binary forms, with or
        without modification, is permitted pursuant to, and subject
        to the license terms contained in, the Simplified BSD License
        set forth in Section 4.c of the IETF Trust's Legal Provisions
        Relating to IETF Documents
        (http://trustee.ietf.org/license-info)."
     REVISION "201505282112Z" "201702220000Z"
     DESCRIPTION
       "Obsoleting this MIB module; it has been replaced by
       the revised IP-MIB (RFC4293) (RFC 4293) and IP-FORWARD-MIB
       (RFC4292)."
       (RFC 4292)."
     REVISION "9802052155Z"
     DESCRIPTION
       "First revision, published as RFC2465" RFC 2465"
     ::= { mib-2 55 }

 -- the IPv6 general group

 ipv6MIBObjects OBJECT IDENTIFIER   ::= { ipv6MIB 1 }

 ipv6Forwarding OBJECT-TYPE
     SYNTAX      INTEGER {
                  forwarding(1),    -- acting as a router

                                    -- NOT acting as
                  notForwarding(2)  -- a router
                 }
      MAX-ACCESS read-write
      STATUS     obsolete
      DESCRIPTION
        "The indication of whether this entity is acting
        as an IPv6 router in respect to the forwarding of
        datagrams received by, but not addressed to, this
        entity.  IPv6 routers forward datagrams.  IPv6
        hosts do not (except those source-routed via the
        host).

        Note that for some managed nodes, this object may
        take on only a subset of the values possible.
        Accordingly, it is appropriate for an agent to
        return a `wrongValue' response if a management
        station attempts to change this object to an
        inappropriate value.

        This object is obsoleted by IP-MIB::ipv6IpForwarding."
      ::= { ipv6MIBObjects 1 }
 ipv6DefaultHopLimit OBJECT-TYPE
     SYNTAX      INTEGER(0..255)
     MAX-ACCESS  read-write
      STATUS     obsolete
     DESCRIPTION
        "The default value inserted into the Hop Limit
        field of the IPv6 header of datagrams originated
        at this entity, whenever a Hop Limit value is not
        supplied by the transport layer protocol.

        This object is obsoleted by IP-MIB::ipv6IpDefaultHopLimit."
     DEFVAL  { 64 }
     ::= { ipv6MIBObjects 2 }

ipv6Interfaces OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
       "The number of IPv6 interfaces (regardless of
        their current state) present on this system.

        This object is obsolete; there is no direct replacement replacement,
        but its value can be derived from the number of rows
        in the IP-MIB::ipv6InterfaceTable."
     ::= { ipv6MIBObjects 3 }

ipv6IfTableLastChange OBJECT-TYPE
     SYNTAX      TimeStamp
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
       "The value of sysUpTime at the time of the last
       insertion or removal of an entry in the
       ipv6IfTable.  If the number of entries has been
       unchanged since the last re-initialization of
       the local network management subsystem, then this
       object contains a zero value.

       This object is obsoleted by
       IP-MIB::ipv6InterfaceTableLastChange."
     ::= { ipv6MIBObjects 4 }

-- the IPv6 Interfaces table

ipv6IfTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF Ipv6IfEntry
     MAX-ACCESS not-accessible
     STATUS     obsolete
     DESCRIPTION
       "The IPv6 Interfaces table contains information
       on the entity's internetwork-layer interfaces.
       An IPv6 interface constitutes a logical network
       layer attachment to the layer immediately below

       IPv6 including internet layer 'tunnels', such as
       tunnels over IPv4 or IPv6 itself.

       This table is obsoleted by IP-MIB::ipv6InterfaceTable."
     ::= { ipv6MIBObjects 5 }

 ipv6IfEntry OBJECT-TYPE
     SYNTAX     Ipv6IfEntry
     MAX-ACCESS not-accessible
     STATUS     obsolete
     DESCRIPTION
       "An interface entry containing objects
        about a particular IPv6 interface.

        This object is obsoleted by IP-MIB::ipv6InterfaceEntry."
     INDEX   { ipv6IfIndex }
     ::= { ipv6IfTable 1 }

 Ipv6IfEntry ::= SEQUENCE {
         ipv6IfIndex              Ipv6IfIndex,
         ipv6IfDescr              DisplayString,
         ipv6IfLowerLayer         VariablePointer,
         ipv6IfEffectiveMtu       Unsigned32,
         ipv6IfReasmMaxSize       Unsigned32,
         ipv6IfIdentifier         Ipv6AddressIfIdentifier,
         ipv6IfIdentifierLength   INTEGER,
         ipv6IfPhysicalAddress    PhysAddress,
         ipv6IfAdminStatus        INTEGER,
         ipv6IfOperStatus         INTEGER,
         ipv6IfLastChange         TimeStamp
     }

 ipv6IfIndex OBJECT-TYPE
     SYNTAX     Ipv6IfIndex
     MAX-ACCESS not-accessible
     STATUS     obsolete
     DESCRIPTION
       "A unique non-zero value identifying
        the particular IPv6 interface.

        This object is obsoleted.  In the IP-MIB,
        interfaces are simply identified by IfIndex."
     ::= { ipv6IfEntry 1 }

 ipv6IfDescr OBJECT-TYPE
     SYNTAX     DisplayString
     MAX-ACCESS read-write
     STATUS     obsolete
     DESCRIPTION
       "A textual string containing information about the
       interface.  This string may be set by the network
       management system.

       This object is obsoleted by IF-MIB::ifDescr."
     ::= { ipv6IfEntry 2 }

 ipv6IfLowerLayer OBJECT-TYPE
    SYNTAX      VariablePointer
    MAX-ACCESS  read-only
    STATUS      obsolete
    DESCRIPTION
      "This object identifies the protocol layer over
       which this network interface operates.  If this
       network interface operates over the data-link
       layer, then the value of this object refers to an
       instance of ifIndex [6]. [RFC1573].  If this network interface
       operates over an IPv4 interface, the value of this
       object refers to an instance of ipAdEntAddr [3]. [RFC1213].

       If this network interface operates over another
       IPv6 interface, the value of this object refers to
       an instance of ipv6IfIndex.  If this network
       interface is not currently operating over an active
       protocol layer, then the value of this object
       should be set to the OBJECT ID { 0 0 }.

       This object is obsolete.  The IF-STACK-TABLE may
       be used to express relationships between interfaces."
    ::= { ipv6IfEntry 3 }

 ipv6IfEffectiveMtu OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "octets"
    MAX-ACCESS  read-only
    STATUS      obsolete
    DESCRIPTION
      "The size of the largest IPv6 packet which can be
      sent/received on the interface, specified in
      octets.

      This object is obsolete.  The value of IF-MIB::ifMtu
      for the corresponding value of ifIndex represents the
      MTU of the interface."
 ::= { ipv6IfEntry 4 }

 ipv6IfReasmMaxSize OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    UNITS       "octets"
    MAX-ACCESS  read-only
    STATUS      obsolete
    DESCRIPTION
      "The size of the largest IPv6 datagram which this
      entity can re-assemble from incoming IPv6 fragmented
      datagrams received on this interface.

      This object is obsoleted by IP-MIB::ipv6InterfaceReasmMaxSize."
 ::= { ipv6IfEntry 5 }

 ipv6IfIdentifier OBJECT-TYPE
     SYNTAX      Ipv6AddressIfIdentifier
     MAX-ACCESS  read-write
     STATUS      obsolete
     DESCRIPTION
        "The Interface Identifier for this interface that
        is (at least) unique on the link this interface is
        attached to.  The Interface Identifier is combined
        with an address prefix to form an interface address.

        By default, the Interface Identifier is autoconfigured
        according to the rules of the link type this
        interface is attached to.

        This object is obsoleted by IP-MIB::ipv6InterfaceIdentifier."
     ::= { ipv6IfEntry 6 }

 ipv6IfIdentifierLength OBJECT-TYPE
     SYNTAX      INTEGER (0..64)
     UNITS       "bits"
     MAX-ACCESS  read-write
     STATUS      obsolete
     DESCRIPTION
       "The length of the Interface Identifier in bits.

       This object is obsolete.  It can be derived from the length
       of IP-MIB::ipv6InterfaceIdentifier; Interface Identifiers
       that are not an even number of octets are not supported."
     ::= { ipv6IfEntry 7 }
 ipv6IfPhysicalAddress OBJECT-TYPE
     SYNTAX      PhysAddress
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
       "The interface's physical address.  For example, for
       an IPv6 interface attached to an 802.x link, this
       object normally contains a MAC address.  Note that
       in some cases this address may differ from the
       address of the interface's protocol sub-layer.  The
       interface's media-specific MIB must define the bit
       and byte ordering and the format of the value of
       this object.  For interfaces which do not have such
       an address (e.g., a serial line), this object should
       contain an octet string of zero length.

       This object is obsoleted by IF-MIB::ifPhysAddress."
     ::= { ipv6IfEntry 8 }

ipv6IfAdminStatus OBJECT-TYPE
    SYNTAX  INTEGER {
             up(1),       -- ready to pass packets
             down(2)
            }
    MAX-ACCESS  read-write
    STATUS      obsolete
    DESCRIPTION
      "The desired state of the interface.  When a managed
      system initializes, all IPv6 interfaces start with
      ipv6IfAdminStatus in the down(2) state.  As a result
      of either explicit management action or per
      configuration information retained by the managed
      system, ipv6IfAdminStatus is then changed to
      the up(1) state (or remains in the down(2) state).

      This object is obsolete.  IPv6 does not have a
      separate admin status; the admin status of the
      interface is represented by IF-MIB::ifAdminStatus."
    ::= { ipv6IfEntry 9 }

ipv6IfOperStatus OBJECT-TYPE
    SYNTAX  INTEGER {
             up(1),             -- ready to pass packets

             down(2),
             noIfIdentifier(3), -- no interface identifier

                                -- status can not be
                                -- determined for some
             unknown(4),        -- reason

                                -- some component is
             notPresent(5)      -- missing
            }
    MAX-ACCESS  read-only
    STATUS      obsolete
    DESCRIPTION
      "The current operational state of the interface.
      The noIfIdentifier(3) state indicates that no valid
      Interface Identifier is assigned to the interface.
      This state usually indicates that the link-local
      interface address failed Duplicate Address Detection.
      If ipv6IfAdminStatus is down(2) then ipv6IfOperStatus
      should be down(2).  If ipv6IfAdminStatus is changed
      to up(1) then ipv6IfOperStatus should change to up(1)
      if the interface is ready to transmit and receive
      network traffic; it should remain in the down(2) or
      noIfIdentifier(3) state if and only if there is a
      fault that prevents it from going to the up(1) state;
      it should remain in the notPresent(5) state if
      the interface has missing (typically, lower layer)
      components.

      This object is obsolete.  IPv6 does not have a
      separate operational status; the operational status of the
      interface is represented by IF-MIB::ifOperStatus."
    ::= { ipv6IfEntry 10 }

ipv6IfLastChange OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      obsolete
    DESCRIPTION
        "The value of sysUpTime at the time the interface
        entered its current operational state.  If the
        current state was entered prior to the last
        re-initialization of the local network management
        subsystem, then this object contains a zero
        value.

        This object is obsolete.  The last change of
        IF-MIB::ifOperStatus is represented by IF-MIB::ifLastChange."
    ::= { ipv6IfEntry 11 }

 --  IPv6 Interface Statistics table
 ipv6IfStatsTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF Ipv6IfStatsEntry
     MAX-ACCESS not-accessible
     STATUS     obsolete
     DESCRIPTION
         "IPv6 interface traffic statistics.

         This table is obsoleted by the IP-MIB::ipIfStatsTable."
     ::= { ipv6MIBObjects 6 }

 ipv6IfStatsEntry OBJECT-TYPE
     SYNTAX     Ipv6IfStatsEntry
     MAX-ACCESS not-accessible
     STATUS     obsolete
     DESCRIPTION
         "An interface statistics entry containing objects
         at a particular IPv6 interface.

         This object is obsoleted by the IP-MIB::ipIfStatsEntry."
     AUGMENTS { ipv6IfEntry }
     ::= { ipv6IfStatsTable 1 }

 Ipv6IfStatsEntry ::= SEQUENCE {
         ipv6IfStatsInReceives
             Counter32,
         ipv6IfStatsInHdrErrors
             Counter32,
         ipv6IfStatsInTooBigErrors
             Counter32,
         ipv6IfStatsInNoRoutes
             Counter32,
         ipv6IfStatsInAddrErrors
             Counter32,
         ipv6IfStatsInUnknownProtos
             Counter32,
         ipv6IfStatsInTruncatedPkts
             Counter32,
         ipv6IfStatsInDiscards
             Counter32,
         ipv6IfStatsInDelivers
             Counter32,
         ipv6IfStatsOutForwDatagrams
             Counter32,
         ipv6IfStatsOutRequests
             Counter32,
         ipv6IfStatsOutDiscards
             Counter32,
         ipv6IfStatsOutFragOKs
             Counter32,
         ipv6IfStatsOutFragFails
             Counter32,
         ipv6IfStatsOutFragCreates
             Counter32,
         ipv6IfStatsReasmReqds
             Counter32,
         ipv6IfStatsReasmOKs
             Counter32,
         ipv6IfStatsReasmFails
             Counter32,
         ipv6IfStatsInMcastPkts
             Counter32,
         ipv6IfStatsOutMcastPkts
             Counter32
     }

 ipv6IfStatsInReceives OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
        "The total number of input datagrams received by
        the interface, including those received in error.

        This object is obsoleted by IP-MIB::ipIfStatsHCInReceives."
     ::= { ipv6IfStatsEntry 1 }

 ipv6IfStatsInHdrErrors OBJECT-TYPE
     SYNTAX     Counter32
     MAX-ACCESS read-only
     STATUS     obsolete
     DESCRIPTION
        "The number of input datagrams discarded due to
        errors in their IPv6 headers, including version
        number mismatch, other format errors, hop count
        exceeded, errors discovered in processing their
        IPv6 options, etc.

        This object is obsoleted by IP-MIB::ipIfStatsInHdrErrors."
     ::= { ipv6IfStatsEntry 2 }

 ipv6IfStatsInTooBigErrors OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
       "The number of input datagrams that could not be
       forwarded because their size exceeded the link MTU
       of outgoing interface.

       This object is obsoleted.  It was not replicated in the
       IP-MIB due to feedback that systems did not retain the
       incoming interface of a packet that failed fragmentation."
     ::= { ipv6IfStatsEntry 3 }

 ipv6IfStatsInNoRoutes OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
        "The number of input datagrams discarded because no
         route could be found to transmit them to their
         destination.

         This object is obsoleted by IP-MIB::ipIfStatsInNoRoutes."
     ::= { ipv6IfStatsEntry 4 }

 ipv6IfStatsInAddrErrors OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
        "The number of input datagrams discarded because
        the IPv6 address in their IPv6 header's destination
        field was not a valid address to be received at
        this entity.  This count includes invalid
        addresses (e.g., ::0) and unsupported addresses
        (e.g., addresses with unallocated prefixes).  For
        entities which are not IPv6 routers and therefore
        do not forward datagrams, this counter includes
        datagrams discarded because the destination address
        was not a local address.

        This object is obsoleted by IP-MIB::ipIfStatsInAddrErrors."
     ::= { ipv6IfStatsEntry 5 }

 ipv6IfStatsInUnknownProtos OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
        "The number of locally-addressed datagrams
        received successfully but discarded because of an
        unknown or unsupported protocol.  This counter is
        incremented at the interface to which these
        datagrams were addressed which might not be
        necessarily the input interface for some of
        the datagrams.

        This object is obsoleted by IP-MIB::ipIfStatsInUnknownProtos."
     ::= { ipv6IfStatsEntry 6 }

 ipv6IfStatsInTruncatedPkts OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
        "The number of input datagrams discarded because
         datagram frame didn't carry enough data.

         This object is obsoleted by IP-MIB::ipIfStatsInTruncatedPkts."
     ::= { ipv6IfStatsEntry 7 }

 ipv6IfStatsInDiscards OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
        "The number of input IPv6 datagrams for which no
        problems were encountered to prevent their
        continued processing, but which were discarded
        (e.g., for lack of buffer space).  Note that this
        counter does not include any datagrams discarded
        while awaiting re-assembly.

        This object is obsoleted by IP-MIB::ipIfStatsInDiscards."
     ::= { ipv6IfStatsEntry 8 }

 ipv6IfStatsInDelivers OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
      "The total number of datagrams successfully
      delivered to IPv6 user-protocols (including ICMP).
      This counter is incremented at the interface to
      which these datagrams were addressed which might
      not be necessarily the input interface for some of
      the datagrams.

      This object is obsoleted by IP-MIB::ipIfStatsHCInDelivers."
     ::= { ipv6IfStatsEntry 9 }
 ipv6IfStatsOutForwDatagrams OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
        "The number of output datagrams which this
        entity received and forwarded to their final
        destinations.  In entities which do not act
        as IPv6 routers, this counter will include
        only those packets which were Source-Routed
        via this entity, and the Source-Route
        processing was successful.  Note that for
        a successfully forwarded datagram the counter
        of the outgoing interface is incremented.

        This object is obsoleted by
        IP-MIB::ipIfStatsHCOutForwDatagrams."
     ::= { ipv6IfStatsEntry 10 }

 ipv6IfStatsOutRequests OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
      "The total number of IPv6 datagrams which local IPv6
      user-protocols (including ICMP) supplied to IPv6 in
      requests for transmission.  Note that this counter
      does not include any datagrams counted in
      ipv6IfStatsOutForwDatagrams.

      This object is obsoleted by IP-MIB::ipIfStatsHCOutRequests."
     ::= { ipv6IfStatsEntry 11 }

 ipv6IfStatsOutDiscards OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
         "The number of output IPv6 datagrams for which no
         problem was encountered to prevent their
         transmission to their destination, but which were
         discarded (e.g., for lack of buffer space).  Note
         that this counter would include datagrams counted
         in ipv6IfStatsOutForwDatagrams if any such packets
         met this (discretionary) discard criterion.

         This object is obsoleted by IP-MIB::ipIfStatsOutDiscards."
     ::= { ipv6IfStatsEntry 12 }
 ipv6IfStatsOutFragOKs OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
        "The number of IPv6 datagrams that have been
         successfully fragmented at this output interface.

         This object is obsoleted by IP-MIB::ipIfStatsOutFragOKs."
     ::= { ipv6IfStatsEntry 13 }

 ipv6IfStatsOutFragFails OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
        "The number of IPv6 datagrams that have been
         discarded because they needed to be fragmented
         at this output interface but could not be.

         This object is obsoleted by IP-MIB::ipIfStatsOutFragFails."
     ::= { ipv6IfStatsEntry 14 }

 ipv6IfStatsOutFragCreates OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
        "The number of output datagram fragments that have
         been generated as a result of fragmentation at
         this output interface.

         This object is obsoleted by IP-MIB::ipIfStatsOutFragCreates."
     ::= { ipv6IfStatsEntry 15 }

 ipv6IfStatsReasmReqds OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
        "The number of IPv6 fragments received which needed
         to be reassembled at this interface.  Note that this
         counter is incremented at the interface to which
         these fragments were addressed which might not
         be necessarily the input interface for some of
         the fragments.

         This object is obsoleted by IP-MIB::ipIfStatsReasmReqds."
     ::= { ipv6IfStatsEntry 16 }

 ipv6IfStatsReasmOKs OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
       "The number of IPv6 datagrams successfully
       reassembled.  Note that this counter is incremented
       at the interface to which these datagrams were
       addressed which might not be necessarily the input
       interface for some of the fragments.

       This object is obsoleted by IP-MIB::ipIfStatsReasmOKs."
     ::= { ipv6IfStatsEntry 17 }

 ipv6IfStatsReasmFails OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
        "The number of failures detected by the IPv6 re-
        assembly algorithm (for whatever reason: timed
        out, errors, etc.).  Note that this is not
        necessarily a count of discarded IPv6 fragments
        since some algorithms (notably the algorithm in
        RFC 815) can lose track of the number of fragments
        by combining them as they are received.
        This counter is incremented at the interface to which
        these fragments were addressed which might not be
        necessarily the input interface for some of the
        fragments.

        This object is obsoleted by IP-MIB::ipIfStatsReasmFails."
     ::= { ipv6IfStatsEntry 18 }

 ipv6IfStatsInMcastPkts OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS     obsolete
     DESCRIPTION
        "The number of multicast packets received
         by the interface

         This object is obsoleted by IP-MIB::ipIfStatsHCInMcastPkts."
     ::= { ipv6IfStatsEntry 19 }

 ipv6IfStatsOutMcastPkts OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
        "The number of multicast packets transmitted
         by the interface

         This object is obsoleted by IP-MIB::ipIfStatsHCOutMcastPkts."
     ::= { ipv6IfStatsEntry 20 }

 -- Address Prefix table

 -- The IPv6 Address Prefix table contains information on
 -- the entity's IPv6 Address Prefixes that are associated
 -- with IPv6 interfaces.

 ipv6AddrPrefixTable OBJECT-TYPE
     SYNTAX  SEQUENCE OF Ipv6AddrPrefixEntry
     MAX-ACCESS  not-accessible
     STATUS      obsolete
     DESCRIPTION
         "The list of IPv6 address prefixes of
         IPv6 interfaces.

         This table is obsoleted by IP-MIB::ipAddressPrefixTable."
     ::= { ipv6MIBObjects 7 }

 ipv6AddrPrefixEntry OBJECT-TYPE
     SYNTAX  Ipv6AddrPrefixEntry
     MAX-ACCESS  not-accessible
     STATUS      obsolete
     DESCRIPTION
         "An interface entry containing objects of
         a particular IPv6 address prefix.

         This entry is obsoleted by IP-MIB::ipAddressPrefixEntry."
     INDEX   { ipv6IfIndex,
               ipv6AddrPrefix,
               ipv6AddrPrefixLength }
     ::= { ipv6AddrPrefixTable 1 }

 Ipv6AddrPrefixEntry ::= SEQUENCE {
      ipv6AddrPrefix                     Ipv6AddressPrefix,
      ipv6AddrPrefixLength               INTEGER,
      ipv6AddrPrefixOnLinkFlag           TruthValue,
      ipv6AddrPrefixAutonomousFlag       TruthValue,
      ipv6AddrPrefixAdvPreferredLifetime Unsigned32,
      ipv6AddrPrefixAdvValidLifetime     Unsigned32
     }

 ipv6AddrPrefix OBJECT-TYPE
     SYNTAX      Ipv6AddressPrefix
     MAX-ACCESS  not-accessible
     STATUS      obsolete
     DESCRIPTION
       "The prefix associated with the this interface.

       This object is obsoleted by IP-MIB::ipAddressPrefixPrefix."
     ::= { ipv6AddrPrefixEntry 1 }

 ipv6AddrPrefixLength OBJECT-TYPE
     SYNTAX      INTEGER (0..128)
     UNITS       "bits"
     MAX-ACCESS  not-accessible
     STATUS      obsolete
     DESCRIPTION
       "The length of the prefix (in bits).

       This object is obsoleted by IP-MIB::ipAddressPrefixLength."
     ::= { ipv6AddrPrefixEntry 2 }

 ipv6AddrPrefixOnLinkFlag OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
       "This object has the value 'true(1)', if this
       prefix can be used for on-link determination
       and the value 'false(2)' otherwise.

       This object is obsoleted by IP-MIB::ipAddressPrefixOnLinkFlag."
     ::= { ipv6AddrPrefixEntry 3 }

 ipv6AddrPrefixAutonomousFlag OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
       "Autonomous address configuration flag.  When
       true(1), indicates that this prefix can be used
       for autonomous address configuration (i.e. can
       be used to form a local interface address).
       If false(2), it is not used to autoconfigure
       a local interface address.

       This object is obsoleted by
       IP-MIB::ipAddressPrefixAutonomousFlag."
     ::= { ipv6AddrPrefixEntry 4 }

 ipv6AddrPrefixAdvPreferredLifetime OBJECT-TYPE
     SYNTAX      Unsigned32
     UNITS       "seconds"
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
        "It is the length of time in seconds that this
        prefix will remain preferred, i.e. time until
        deprecation.  A value of 4,294,967,295 represents
        infinity.

        The address generated from a deprecated prefix
        should no longer be used as a source address in
        new communications, but packets received on such
        an interface are processed as expected.

        This object is obsoleted by
        IP-MIB::ipAddressPrefixAdvPreferredLifetime."
     ::= { ipv6AddrPrefixEntry 5 }

 ipv6AddrPrefixAdvValidLifetime OBJECT-TYPE
     SYNTAX      Unsigned32
     UNITS       "seconds"
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
       "It is the length of time in seconds that this
       prefix will remain valid, i.e. time until
       invalidation.  A value of 4,294,967,295 represents
       infinity.

       The address generated from an invalidated prefix
       should not appear as the destination or source
       address of a packet.

       This object is obsoleted by
       IP-MIB::ipAddressPrefixAdvValidLifetime."
     ::= { ipv6AddrPrefixEntry 6 }

 -- the IPv6 Address table

 -- The IPv6 address table contains this node's IPv6
 -- addressing information.

 ipv6AddrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Ipv6AddrEntry
    MAX-ACCESS  not-accessible
    STATUS      obsolete
    DESCRIPTION
      "The table of addressing information relevant to
      this node's interface addresses.

      This table is obsoleted by IP-MIB::ipAddressTable."
    ::= { ipv6MIBObjects 8 }

 ipv6AddrEntry OBJECT-TYPE
    SYNTAX      Ipv6AddrEntry
    MAX-ACCESS  not-accessible
    STATUS      obsolete
    DESCRIPTION
        "The addressing information for one of this
        node's interface addresses.

        This entry is obsoleted by IP-MIB::ipAddressEntry."
    INDEX   { ipv6IfIndex, ipv6AddrAddress }
    ::= { ipv6AddrTable 1 }

 Ipv6AddrEntry ::=
    SEQUENCE {
         ipv6AddrAddress        Ipv6Address,
         ipv6AddrPfxLength      INTEGER,
         ipv6AddrType           INTEGER,
         ipv6AddrAnycastFlag    TruthValue,
         ipv6AddrStatus         INTEGER
        }

 ipv6AddrAddress OBJECT-TYPE
    SYNTAX      Ipv6Address
    MAX-ACCESS  not-accessible
    STATUS      obsolete
    DESCRIPTION
      "The IPv6 address to which this entry's addressing
      information pertains.

      This object is obsoleted by IP-MIB::ipAddressAddr."
    ::= { ipv6AddrEntry 1 }

 ipv6AddrPfxLength OBJECT-TYPE
    SYNTAX      INTEGER(0..128)
    UNITS       "bits"
    MAX-ACCESS  read-only
    STATUS      obsolete
    DESCRIPTION
      "The length of the prefix (in bits) associated with
      the IPv6 address of this entry.

      This object is obsoleted by the IP-MIB::ipAddressPrefixLength
      in the row of the IP-MIB::ipAddressPrefixTable to which the
      IP-MIB::ipAddressPrefix points."
    ::= { ipv6AddrEntry 2 }

 ipv6AddrType OBJECT-TYPE
    SYNTAX      INTEGER {
                        -- address has been formed
                        -- using stateless
         stateless(1),  -- autoconfiguration

                        -- address has been acquired
                        -- by stateful means
                        -- (e.g. DHCPv6, manual
         stateful(2),   -- configuration)

                        -- type can not be determined
         unknown(3)     -- for some reason.
       }
    MAX-ACCESS  read-only
    STATUS      obsolete
    DESCRIPTION
       "The type of address.  Note that 'stateless(1)'
       refers to an address that was statelessly
       autoconfigured; 'stateful(2)' refers to a address
       which was acquired by via a stateful protocol
       (e.g. DHCPv6, manual configuration).

       This object is obsoleted by IP-MIB::ipAddressOrigin."
    ::= { ipv6AddrEntry 3 }

 ipv6AddrAnycastFlag OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
       "This object has the value 'true(1)', if this
       address is an anycast address and the value
       'false(2)' otherwise.

       This object is obsoleted by a value of 'anycast(2)'
       in IP-MIB::ipAddressType."
     ::= { ipv6AddrEntry 4 }

 ipv6AddrStatus OBJECT-TYPE
    SYNTAX      INTEGER {
             preferred(1),
             deprecated(2),
             invalid(3),
             inaccessible(4),
             unknown(5)   -- status can not be determined
                          -- for some reason.
            }
    MAX-ACCESS  read-only
    STATUS      obsolete
    DESCRIPTION
      "Address status.  The preferred(1) state indicates
      that this is a valid address that can appear as
      the destination or source address of a packet.
      The deprecated(2) state indicates that this is
      a valid but deprecated address that should no longer
      be used as a source address in new communications,
      but packets addressed to such an address are
      processed as expected.  The invalid(3) state indicates
      that this is not valid address which should not
      appear as the destination or source address of
      a packet.  The inaccessible(4) state indicates that
      the address is not accessible because the interface
      to which this address is assigned is not operational.

      This object is obsoleted by IP-MIB::ipAddressStatus."
    ::= { ipv6AddrEntry 5 }

 -- IPv6 Routing objects

 ipv6RouteNumber OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
       "The number of current ipv6RouteTable entries.
       This is primarily to avoid having to read
       the table in order to determine this number.

       This object is obsoleted by IP-FORWARD-MIB::inetCidrRouteNumber."
     ::= { ipv6MIBObjects 9 }

 ipv6DiscardedRoutes OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      obsolete
     DESCRIPTION
       "The number of routing entries which were chosen
        to be discarded even though they are valid.  One
        possible reason for discarding such an entry could
        be to free-up buffer space for other routing
        entries.

        This object is obsoleted by
        IP-FORWARD-MIB::inetCidrRouteDiscards."
     ::= { ipv6MIBObjects 10 }

 -- IPv6 Routing table

 ipv6RouteTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF Ipv6RouteEntry
     MAX-ACCESS not-accessible
     STATUS     obsolete
     DESCRIPTION
       "IPv6 Routing table.  This table contains
       an entry for each valid IPv6 unicast route
       that can be used for packet forwarding
       determination.

       This table is obsoleted by IP-FORWARD-MIB::inetCidrRouteTable."
     ::= { ipv6MIBObjects 11 }

 ipv6RouteEntry OBJECT-TYPE
     SYNTAX     Ipv6RouteEntry
     MAX-ACCESS not-accessible
     STATUS     obsolete
     DESCRIPTION
             "A routing entry.

             This entry is obsoleted by
             IP-FORWARD-MIB::inetCidrRouteEntry."
     INDEX   { ipv6RouteDest,
               ipv6RoutePfxLength,
               ipv6RouteIndex }
     ::= { ipv6RouteTable 1 }

 Ipv6RouteEntry ::= SEQUENCE {
         ipv6RouteDest           Ipv6Address,
         ipv6RoutePfxLength      INTEGER,
         ipv6RouteIndex          Unsigned32,
         ipv6RouteIfIndex        Ipv6IfIndexOrZero,
         ipv6RouteNextHop        Ipv6Address,
         ipv6RouteType           INTEGER,
         ipv6RouteProtocol       INTEGER,
         ipv6RoutePolicy         Integer32,
         ipv6RouteAge            Unsigned32,
         ipv6RouteNextHopRDI     Unsigned32,
         ipv6RouteMetric         Unsigned32,
         ipv6RouteWeight         Unsigned32,
         ipv6RouteInfo           RowPointer,
         ipv6RouteValid          TruthValue
     }

 ipv6RouteDest OBJECT-TYPE
     SYNTAX     Ipv6Address
     MAX-ACCESS not-accessible
     STATUS     obsolete
     DESCRIPTION
       "The destination IPv6 address of this route.
       This object may not take a Multicast address
       value.

       This object is obsoleted by IP-FORWARD-MIB::inetCidrRouteDest."
     ::= { ipv6RouteEntry 1 }

 ipv6RoutePfxLength OBJECT-TYPE
     SYNTAX     INTEGER(0..128)
     UNITS      "bits"
     MAX-ACCESS not-accessible
     STATUS     obsolete
     DESCRIPTION
       "Indicates the prefix length of the destination
       address.

       This object is obsoleted by IP-FORWARD-MIB::inetCidrRoutePfxLen."
     ::= { ipv6RouteEntry 2 }

 ipv6RouteIndex OBJECT-TYPE
     SYNTAX     Unsigned32
     MAX-ACCESS not-accessible
     STATUS     obsolete
     DESCRIPTION
       "The value which uniquely identifies the route
       among the routes to the same network layer
       destination.  The way this value is chosen is
       implementation specific but it must be unique for
       ipv6RouteDest/ipv6RoutePfxLength pair and remain
       constant for the life of the route.

       This object is obsoleted by IP-FORWARD-MIB::inetCidrRoutePolicy."
     ::= { ipv6RouteEntry 3 }

 ipv6RouteIfIndex OBJECT-TYPE
     SYNTAX     Ipv6IfIndexOrZero
     MAX-ACCESS read-only
     STATUS     obsolete
     DESCRIPTION
       "The index value which uniquely identifies the local
       interface through which the next hop of this
       route should be reached.  The interface identified
       by a particular value of this index is the same
       interface as identified by the same value of
       ipv6IfIndex.  For routes of the discard type this
       value can be zero.

       This object is obsoleted by
       IP-FORWARD-MIB::inetCidrRouteIfIndex."
     ::= { ipv6RouteEntry 4 }

 ipv6RouteNextHop OBJECT-TYPE
     SYNTAX     Ipv6Address
     MAX-ACCESS read-only
     STATUS     obsolete
     DESCRIPTION
       "On remote routes, the address of the next
       system en route;  otherwise, ::0
       ('00000000000000000000000000000000'H in ASN.1
       string representation).

       This object is obsoleted by
       IP-FORWARD-MIB::inetCidrRouteNextHop."
     ::= { ipv6RouteEntry 5 }

 ipv6RouteType OBJECT-TYPE
     SYNTAX     INTEGER {
        other(1),     -- none of the following

                      -- an route indicating that
                      -- packets to destinations
                      -- matching this route are
        discard(2),   -- to be discarded

                      -- route to directly
        local(3),     -- connected (sub-)network

                      -- route to a remote

        remote(4)     -- destination

     }
     MAX-ACCESS read-only
     STATUS     obsolete
     DESCRIPTION
        "The type of route.  Note that 'local(3)' refers
        to a route for which the next hop is the final
        destination; 'remote(4)' refers to a route for
        which the next hop is not the final
        destination; 'discard(2)' refers to a route
        indicating that packets to destinations matching
        this route are to be discarded (sometimes called
        black-hole route).

        This object is obsoleted by IP-FORWARD-MIB::inetCidrRouteType."
     ::= { ipv6RouteEntry 6 }

 ipv6RouteProtocol OBJECT-TYPE
     SYNTAX     INTEGER {
       other(1),   -- none of the following

                   -- non-protocol information,
                   -- e.g., manually configured
       local(2),   -- entries

       netmgmt(3), -- static route

                   -- obtained via Neighbor
                   -- Discovery protocol,
       ndisc(4),   -- e.g., result of Redirect

                   -- the following are all
                   -- dynamic routing protocols
       rip(5),     -- RIPng
       ospf(6),    -- Open Shortest Path First
       bgp(7),     -- Border Gateway Protocol
       idrp(8),    -- InterDomain Routing Protocol
       igrp(9)     -- InterGateway Routing Protocol
     }
     MAX-ACCESS read-only
     STATUS     obsolete
     DESCRIPTION
       "The routing mechanism via which this route was
       learned.

       This object is obsoleted by IP-FORWARD-MIB::inetCidrRouteProto."
     ::= { ipv6RouteEntry 7 }

 ipv6RoutePolicy OBJECT-TYPE
     SYNTAX     Integer32
     MAX-ACCESS read-only
     STATUS     obsolete
     DESCRIPTION
      "The general set of conditions that would cause the
      selection of one multipath route (set of next hops
      for a given destination) is referred to as 'policy'.
      Unless the mechanism indicated by ipv6RouteProtocol
      specified otherwise, the policy specifier is the
      8-bit Traffic Class field of the IPv6 packet header
      that is zero extended at the left to a 32-bit value.

      Protocols defining 'policy' otherwise must either
      define a set of values which are valid for
      this object or must implement an integer-
      instanced policy table for which this object's
      value acts as an index.

      This object is obsoleted by IP-FORWARD-MIB::inetCidrRoutePolicy."
     ::= { ipv6RouteEntry 8 }

 ipv6RouteAge OBJECT-TYPE
     SYNTAX     Unsigned32
     UNITS      "seconds"
     MAX-ACCESS read-only
     STATUS     obsolete
     DESCRIPTION
        "The number of seconds since this route was last
        updated or otherwise determined to be correct.
        Note that no semantics of `too old' can be implied
        except through knowledge of the routing protocol
        by which the route was learned.

        This object is obsoleted by IP-FORWARD-MIB::inetCidrRouteAge."
     ::= { ipv6RouteEntry 9 }

 ipv6RouteNextHopRDI OBJECT-TYPE
     SYNTAX     Unsigned32
     MAX-ACCESS read-only
     STATUS     obsolete
     DESCRIPTION
        "The Routing Domain ID of the Next Hop.
        The semantics of this object are determined by
        the routing-protocol specified in the route's
        ipv6RouteProtocol value.  When this object is
        unknown or not relevant its value should be set
        to zero.

        This object is obsolete, and it has no replacement.
        The Routing Domain ID concept did not catch on."
     ::= { ipv6RouteEntry 10 }
 ipv6RouteMetric OBJECT-TYPE
     SYNTAX     Unsigned32
     MAX-ACCESS read-only
     STATUS     obsolete
     DESCRIPTION
        "The routing metric for this route.  The
        semantics of this metric are determined by the
        routing protocol specified in the route's
        ipv6RouteProtocol value.  When this is unknown
        or not relevant to the protocol indicated by
        ipv6RouteProtocol, the object value should be
        set to its maximum value (4,294,967,295).

        This object is obsoleted by
        IP-FORWARD-MIB::inetCidrRouteMetric1."
     ::= { ipv6RouteEntry 11 }

 ipv6RouteWeight OBJECT-TYPE
     SYNTAX     Unsigned32
     MAX-ACCESS read-only
     STATUS     obsolete
     DESCRIPTION
        "The system internal weight value for this route.
        The semantics of this value are determined by
        the implementation specific rules.  Generally,
        within routes with the same ipv6RoutePolicy value,
        the lower the weight value the more preferred is
        the route.

        This object is obsoleted, and it has not been replaced."
     ::= { ipv6RouteEntry 12 }

 ipv6RouteInfo OBJECT-TYPE
     SYNTAX     RowPointer
     MAX-ACCESS read-only
     STATUS     obsolete
     DESCRIPTION
        "A reference to MIB definitions specific to the
        particular routing protocol which is responsible
        for this route, as determined by the value
        specified in the route's ipv6RouteProto value.
        If this information is not present, its value
        should be set to the OBJECT ID { 0 0 },
        which is a syntactically valid object identifier,
        and any implementation conforming to ASN.1
        and the Basic Encoding Rules must be able to
        generate and recognize this value.

        This object is obsoleted, and it has not been replaced."
     ::= { ipv6RouteEntry 13 }

 ipv6RouteValid OBJECT-TYPE
     SYNTAX     TruthValue
     MAX-ACCESS read-write
     STATUS     obsolete
     DESCRIPTION
        "Setting this object to the value 'false(2)' has
        the effect of invalidating the corresponding entry
        in the ipv6RouteTable object.  That is, it
        effectively disassociates the destination
        identified with said entry from the route
        identified with said entry.  It is an
        implementation-specific matter as to whether the
        agent removes an invalidated entry from the table.
        Accordingly, management stations must be prepared
        to receive tabular information from agents that
        corresponds to entries not currently in use.
        Proper interpretation of such entries requires
        examination of the relevant ipv6RouteValid
        object.

        This object is obsoleted by
        IP-FORWARD-MIB::inetCidrRouteStatus."
     DEFVAL  { true }
     ::= { ipv6RouteEntry 14 }

 -- IPv6 Address Translation table

 ipv6NetToMediaTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF Ipv6NetToMediaEntry
     MAX-ACCESS  not-accessible
     STATUS      obsolete
     DESCRIPTION
       "The IPv6 Address Translation table used for
       mapping from IPv6 addresses to physical addresses.

       The IPv6 address translation table contain the
       Ipv6Address to `physical' address equivalencies.
       Some interfaces do not use translation tables
       for determining address equivalencies; if all
       interfaces are of this type, then the Address
       Translation table is empty, i.e., has zero
       entries.

       This table is obsoleted by IP-MIB::ipNetToPhysicalTable."
     ::= { ipv6MIBObjects 12 }
 ipv6NetToMediaEntry OBJECT-TYPE
     SYNTAX     Ipv6NetToMediaEntry
     MAX-ACCESS not-accessible
     STATUS     obsolete
     DESCRIPTION
       "Each entry contains one IPv6 address to `physical'
       address equivalence.

       This entry is obsoleted by IP-MIB::ipNetToPhysicalEntry."
     INDEX   { ipv6IfIndex,
               ipv6NetToMediaNetAddress }
     ::= { ipv6NetToMediaTable 1 }

 Ipv6NetToMediaEntry ::= SEQUENCE {
         ipv6NetToMediaNetAddress
             Ipv6Address,
         ipv6NetToMediaPhysAddress
             PhysAddress,
         ipv6NetToMediaType
             INTEGER,
         ipv6IfNetToMediaState
             INTEGER,
         ipv6IfNetToMediaLastUpdated
             TimeStamp,
         ipv6NetToMediaValid
             TruthValue
     }

 ipv6NetToMediaNetAddress OBJECT-TYPE
     SYNTAX     Ipv6Address
     MAX-ACCESS not-accessible
     STATUS     obsolete
     DESCRIPTION
        "The IPv6 Address corresponding to
        the media-dependent `physical' address.

        This object is obsoleted by IP-MIB::ipNetToPhysicalNetAddress."
     ::= { ipv6NetToMediaEntry 1 }

 ipv6NetToMediaPhysAddress OBJECT-TYPE
     SYNTAX     PhysAddress
     MAX-ACCESS read-only
     STATUS     obsolete
     DESCRIPTION
       "The media-dependent `physical' address.

       This object is obsoleted by IP-MIB::ipNetToPhysicalPhysAddress."
     ::= { ipv6NetToMediaEntry 2 }
 ipv6NetToMediaType OBJECT-TYPE
     SYNTAX     INTEGER {
                 other(1),    -- none of the following
                 dynamic(2),  -- dynamically resolved
                 static(3),   -- statically configured
                 local(4)     -- local interface
                }
     MAX-ACCESS read-only
     STATUS     obsolete
     DESCRIPTION
             "The type of the mapping.  The 'dynamic(2)' type
             indicates that the IPv6 address to physical
             addresses mapping has been dynamically
             resolved using the IPv6 Neighbor Discovery
             protocol.  The static(3)' types indicates that
             the mapping has been statically configured.
             The local(4) indicates that the mapping is
             provided for an entity's own interface address.

             This object is obsoleted by IP-MIB::ipNetToPhysicalType."
     ::= { ipv6NetToMediaEntry 3 }

ipv6IfNetToMediaState OBJECT-TYPE
    SYNTAX      INTEGER {
             reachable(1), -- confirmed reachability

             stale(2),     -- unconfirmed reachability

             delay(3),     -- waiting for reachability
                           -- confirmation before entering
                           -- the probe state

             probe(4),     -- actively probing

             invalid(5),   -- an invalidated mapping

             unknown(6)    -- state can not be determined
                           -- for some reason.
            }
    MAX-ACCESS  read-only
    STATUS      obsolete
    DESCRIPTION
        "The Neighbor Unreachability Detection [8] [RFC2461] state
        for the interface when the address mapping in
        this entry is used.

        This object is obsoleted by IP-MIB::ipNetToPhysicalState."
    ::= { ipv6NetToMediaEntry 4 }

ipv6IfNetToMediaLastUpdated OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      obsolete
    DESCRIPTION
        "The value of sysUpTime at the time this entry
        was last updated.  If this entry was updated prior
        to the last re-initialization of the local network
        management subsystem, then this object contains
        a zero value.

        This object is obsoleted by IP-MIB::ipNetToPhysicalLastUpdated."
    ::= { ipv6NetToMediaEntry 5 }

 ipv6NetToMediaValid OBJECT-TYPE
     SYNTAX     TruthValue
     MAX-ACCESS read-write
     STATUS     obsolete
     DESCRIPTION
      "Setting this object to the value 'false(2)' has
      the effect of invalidating the corresponding entry
      in the ipv6NetToMediaTable.  That is, it effectively
      disassociates the interface identified with said
      entry from the mapping identified with said entry.
      It is an implementation-specific matter as to
      whether the agent removes an invalidated entry
      from the table.  Accordingly, management stations
      must be prepared to receive tabular information
      from agents that corresponds to entries not
      currently in use.  Proper interpretation of such
      entries requires examination of the relevant
      ipv6NetToMediaValid object.

      This object is obsoleted by IP-MIB::ipNetToPhysicalRowStatus."
     DEFVAL  { true }
     ::= { ipv6NetToMediaEntry 6 }

-- definition of IPv6-related notifications.
-- Note that we need ipv6NotificationPrefix with the 0
-- sub-identifier to make this MIB to translate to
-- an SNMPv1 format in a reversible way.  For example
-- it is needed for proxies that convert SNMPv1 traps
-- to SNMPv2 notifications without MIB knowledge.

ipv6Notifications      OBJECT IDENTIFIER
     ::= { ipv6MIB 2 }
ipv6NotificationPrefix OBJECT IDENTIFIER
     ::= { ipv6Notifications 0 }

ipv6IfStateChange NOTIFICATION-TYPE
     OBJECTS {
              ipv6IfDescr,
              ipv6IfOperStatus -- the new state of the If.
             }
     STATUS             obsolete
     DESCRIPTION
        "An ipv6IfStateChange notification signifies
        that there has been a change in the state of
        an ipv6 interface.  This notification should
        be generated when the interface's operational
        status transitions to or from the up(1) state.

        This object is obsoleted by IF-MIB::linkUp
        and IF-MIB::linkDown notifications."
     ::= { ipv6NotificationPrefix 1 }

-- conformance information

ipv6Conformance OBJECT IDENTIFIER ::= { ipv6MIB 3 }

ipv6Compliances OBJECT IDENTIFIER ::= { ipv6Conformance 1 }
ipv6Groups      OBJECT IDENTIFIER ::= { ipv6Conformance 2 }

-- compliance statements

ipv6Compliance MODULE-COMPLIANCE
    STATUS  obsolete
    DESCRIPTION
      "The compliance statement for SNMPv2 entities which
      implement ipv6 MIB.

      This compliance statement is obsoleted by
      IP-MIB::ipMIBCompliance2."
    MODULE  -- this module
        MANDATORY-GROUPS { ipv6GeneralGroup,
                           ipv6NotificationGroup }
          OBJECT    ipv6Forwarding
            MIN-ACCESS  read-only
            DESCRIPTION
               "An agent is not required to provide write
                access to this object"
          OBJECT    ipv6DefaultHopLimit
            MIN-ACCESS  read-only
            DESCRIPTION
               "An agent is not required to provide write
                access to this object"
          OBJECT    ipv6IfDescr
            MIN-ACCESS  read-only
            DESCRIPTION
               "An agent is not required to provide write
                access to this object"
          OBJECT    ipv6IfIdentifier
            MIN-ACCESS  read-only
            DESCRIPTION
               "An agent is not required to provide write
                access to this object"
          OBJECT    ipv6IfIdentifierLength
            MIN-ACCESS  read-only
            DESCRIPTION
               "An agent is not required to provide write
                access to this object"

          OBJECT    ipv6IfAdminStatus
            MIN-ACCESS  read-only
            DESCRIPTION
               "An agent is not required to provide write
                access to this object"
          OBJECT    ipv6RouteValid
            MIN-ACCESS  read-only
            DESCRIPTION
               "An agent is not required to provide write
                access to this object"
          OBJECT    ipv6NetToMediaValid
            MIN-ACCESS  read-only
            DESCRIPTION
               "An agent is not required to provide write
                access to this object"
    ::= { ipv6Compliances 1 }

ipv6GeneralGroup OBJECT-GROUP
    OBJECTS { ipv6Forwarding,
              ipv6DefaultHopLimit,
              ipv6Interfaces,
              ipv6IfTableLastChange,
              ipv6IfDescr,
              ipv6IfLowerLayer,
              ipv6IfEffectiveMtu,
              ipv6IfReasmMaxSize,
              ipv6IfIdentifier,
              ipv6IfIdentifierLength,
              ipv6IfPhysicalAddress,
              ipv6IfAdminStatus,
              ipv6IfOperStatus,
              ipv6IfLastChange,
              ipv6IfStatsInReceives,
              ipv6IfStatsInHdrErrors,
              ipv6IfStatsInTooBigErrors,
              ipv6IfStatsInNoRoutes,
              ipv6IfStatsInAddrErrors,
              ipv6IfStatsInUnknownProtos,
              ipv6IfStatsInTruncatedPkts,
              ipv6IfStatsInDiscards,
              ipv6IfStatsInDelivers,
              ipv6IfStatsOutForwDatagrams,
              ipv6IfStatsOutRequests,
              ipv6IfStatsOutDiscards,
              ipv6IfStatsOutFragOKs,
              ipv6IfStatsOutFragFails,
              ipv6IfStatsOutFragCreates,
              ipv6IfStatsReasmReqds,
              ipv6IfStatsReasmOKs,
              ipv6IfStatsReasmFails,
              ipv6IfStatsInMcastPkts,
              ipv6IfStatsOutMcastPkts,
              ipv6AddrPrefixOnLinkFlag,
              ipv6AddrPrefixAutonomousFlag,
              ipv6AddrPrefixAdvPreferredLifetime,
              ipv6AddrPrefixAdvValidLifetime,
              ipv6AddrPfxLength,
              ipv6AddrType,
              ipv6AddrAnycastFlag,
              ipv6AddrStatus,
              ipv6RouteNumber,
              ipv6DiscardedRoutes,
              ipv6RouteIfIndex,
              ipv6RouteNextHop,
              ipv6RouteType,
              ipv6RouteProtocol,
              ipv6RoutePolicy,
              ipv6RouteAge,
              ipv6RouteNextHopRDI,
              ipv6RouteMetric,
              ipv6RouteWeight,
              ipv6RouteInfo,
              ipv6RouteValid,
              ipv6NetToMediaPhysAddress,
              ipv6NetToMediaType,
              ipv6IfNetToMediaState,
              ipv6IfNetToMediaLastUpdated,
              ipv6NetToMediaValid }
    STATUS    obsolete
    DESCRIPTION
         "The IPv6 group of objects providing for basic
          management of IPv6 entities.

          This group is obsoleted by various groups in
          IP-MIB."
    ::= { ipv6Groups 1 }

ipv6NotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS { ipv6IfStateChange }
    STATUS    obsolete
    DESCRIPTION
         "The notification that an IPv6 entity is required
          to implement.

          This group is obsoleted by
          IF-MIB::linkUpDownNotificationsGroup."
    ::= { ipv6Groups 2 }

 END

4.  Historic IPV6-ICMP-MIB

    IPV6-ICMP-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE,
        Counter32, mib-2                 FROM SNMPv2-SMI
        MODULE-COMPLIANCE, OBJECT-GROUP  FROM SNMPv2-CONF
        ipv6IfEntry                      FROM IPV6-MIB;

    ipv6IcmpMIB MODULE-IDENTITY
        LAST-UPDATED "201505282112Z" "201702220000Z"
        ORGANIZATION "IETF IPv6 Working Group"
        CONTACT-INFO
          "           Dimitry Haskin

              Postal: Bay Networks, Inc.
                      660 Techology Technology Park Drive.
                      Billerica, MA  01821
                      US

                 Tel: +1-978-916-8124
              E-mail: dhaskin@baynetworks.com
                      Steve Onishi

              Postal: Bay Networks, Inc.
                      3 Federal Street
                      Billerica, MA 01821
                      US

                 Tel: +1-978-916-3816
              E-mail: sonishi@baynetworks.com"
        DESCRIPTION
          "The obsolete MIB module for entities implementing
           the ICMPv6.  Use the IP-MIB instead." instead.

           Copyright (c) 2017 IETF Trust and the persons
           identified as authors of the code.  All rights
           reserved.

           Redistribution and use in source and binary
           forms, with or without modification, is permitted
           pursuant to, and subject to the license terms contained
           in, the Simplified BSD License set forth in Section
           4.c of the IETF Trust's Legal Provisions Relating to
           IETF Documents
           (http://trustee.ietf.org/license-info)."
        REVISION "201505282112Z" "201702220000Z"
        DESCRIPTION
          "Obsoleting this MIB module; it has been replaced by
          the revised IP-MIB (RFC4293)." (RFC 4293)."
        REVISION "9801082155Z"
        DESCRIPTION
          "First revision, published as RFC2466" RFC 2466"
        ::= { mib-2 56 }

    -- the ICMPv6 group

    ipv6IcmpMIBObjects OBJECT IDENTIFIER ::= { ipv6IcmpMIB  1 }

    -- Per-interface ICMPv6 statistics table

    ipv6IfIcmpTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF Ipv6IfIcmpEntry
        MAX-ACCESS not-accessible
        STATUS     obsolete
        DESCRIPTION
         "IPv6 ICMP statistics.  This table contains statistics
         of ICMPv6 messages that are received and sourced by
         the entity.

         This table is obsolete, obsolete because systems were found
         not to maintain these statistics per-interface."
        ::= { ipv6IcmpMIBObjects 1 }

    ipv6IfIcmpEntry OBJECT-TYPE
        SYNTAX     Ipv6IfIcmpEntry
        MAX-ACCESS not-accessible
        STATUS     obsolete
        DESCRIPTION
         "An ICMPv6 statistics entry containing
         objects at a particular IPv6 interface.

         Note that a receiving interface is
         the interface to which a given ICMPv6 message
         is addressed which may not be necessarily
         the input interface for the message.

         Similarly, the sending interface is
         the interface that sources a given
         ICMP message which is usually but not
         necessarily the output interface for the message.

         This table is obsolete, obsolete because systems were found
         not to maintain these statistics per-interface."
        AUGMENTS { ipv6IfEntry }
        ::= { ipv6IfIcmpTable 1 }

    Ipv6IfIcmpEntry ::= SEQUENCE {
            ipv6IfIcmpInMsgs
                  Counter32      ,
            ipv6IfIcmpInErrors
                  Counter32      ,
            ipv6IfIcmpInDestUnreachs
                  Counter32      ,
            ipv6IfIcmpInAdminProhibs
                  Counter32      ,
            ipv6IfIcmpInTimeExcds
                  Counter32      ,
            ipv6IfIcmpInParmProblems
                  Counter32      ,
            ipv6IfIcmpInPktTooBigs
                  Counter32      ,
            ipv6IfIcmpInEchos
                  Counter32      ,
            ipv6IfIcmpInEchoReplies
                  Counter32      ,
            ipv6IfIcmpInRouterSolicits
                  Counter32      ,
            ipv6IfIcmpInRouterAdvertisements
                  Counter32      ,
            ipv6IfIcmpInNeighborSolicits
                  Counter32      ,
            ipv6IfIcmpInNeighborAdvertisements
                  Counter32      ,
            ipv6IfIcmpInRedirects
                  Counter32      ,
            ipv6IfIcmpInGroupMembQueries
                  Counter32      ,
            ipv6IfIcmpInGroupMembResponses
                  Counter32      ,
            ipv6IfIcmpInGroupMembReductions
                  Counter32      ,
            ipv6IfIcmpOutMsgs
                  Counter32      ,
            ipv6IfIcmpOutErrors
                  Counter32      ,
            ipv6IfIcmpOutDestUnreachs
                  Counter32      ,
            ipv6IfIcmpOutAdminProhibs
                  Counter32      ,
            ipv6IfIcmpOutTimeExcds
                  Counter32      ,
            ipv6IfIcmpOutParmProblems
                  Counter32      ,
            ipv6IfIcmpOutPktTooBigs
                  Counter32      ,
            ipv6IfIcmpOutEchos
                  Counter32      ,
            ipv6IfIcmpOutEchoReplies
                  Counter32      ,
            ipv6IfIcmpOutRouterSolicits
                  Counter32      ,
            ipv6IfIcmpOutRouterAdvertisements
                  Counter32      ,
            ipv6IfIcmpOutNeighborSolicits
                  Counter32      ,
            ipv6IfIcmpOutNeighborAdvertisements
                  Counter32      ,
            ipv6IfIcmpOutRedirects
                  Counter32      ,
            ipv6IfIcmpOutGroupMembQueries
                  Counter32      ,
            ipv6IfIcmpOutGroupMembResponses
                  Counter32      ,
            ipv6IfIcmpOutGroupMembReductions
                  Counter32
        }

    ipv6IfIcmpInMsgs OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The total number of ICMP messages received
         by the interface which includes all those
         counted by ipv6IfIcmpInErrors.  Note that this
         interface is the interface to which the
         ICMP messages were addressed which may not be
         necessarily the input interface for the messages.

         This object has been obsoleted by IP-MIB::icmpStatsInMsgs."
        ::= { ipv6IfIcmpEntry 1 }

    ipv6IfIcmpInErrors OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP messages which the interface
         received but determined as having ICMP-specific
         errors (bad ICMP checksums, bad length, etc.).

         This object has been obsoleted by IP-MIB::icmpStatsInErrors."
        ::= { ipv6IfIcmpEntry 2 }

    ipv6IfIcmpInDestUnreachs OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Destination Unreachable
         messages received by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsInPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 3 }

    ipv6IfIcmpInAdminProhibs OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP destination
         unreachable/communication administratively
         prohibited messages received by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsInPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 4 }

    ipv6IfIcmpInTimeExcds OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Time Exceeded messages
          received by the interface.

          This object has been obsoleted by IP-MIB::icmpMsgStatsInPkts
          in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 5 }

    ipv6IfIcmpInParmProblems OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Parameter Problem messages
          received by the interface.

          This object has been obsoleted by IP-MIB::icmpMsgStatsInPkts
          in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 6 }

    ipv6IfIcmpInPktTooBigs OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Packet Too Big messages
         received by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsInPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 7 }

    ipv6IfIcmpInEchos OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Echo (request) messages
          received by the interface.

          This object has been obsoleted by IP-MIB::icmpMsgStatsInPkts
          in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 8 }

    ipv6IfIcmpInEchoReplies OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Echo Reply messages received
         by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsInPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 9 }

    ipv6IfIcmpInRouterSolicits OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Router Solicit messages
          received by the interface.

          This object has been obsoleted by IP-MIB::icmpMsgStatsInPkts
          in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 10 }

    ipv6IfIcmpInRouterAdvertisements OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Router Advertisement messages
         received by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsInPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 11 }

    ipv6IfIcmpInNeighborSolicits OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Neighbor Solicit messages
          received by the interface.

          This object has been obsoleted by IP-MIB::icmpMsgStatsInPkts
          in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 12 }

    ipv6IfIcmpInNeighborAdvertisements OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Neighbor Advertisement
         messages received by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsInPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 13 }

    ipv6IfIcmpInRedirects OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of Redirect messages received
         by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsInPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 14 }

    ipv6IfIcmpInGroupMembQueries OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMPv6 Group Membership Query
         messages received by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsInPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 15}

    ipv6IfIcmpInGroupMembResponses OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMPv6 Group Membership Response messages
         received by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsInPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 16}

     ipv6IfIcmpInGroupMembReductions OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMPv6 Group Membership Reduction messages
         received by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsInPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 17}

    ipv6IfIcmpOutMsgs OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The total number of ICMP messages which this
         interface attempted to send.  Note that this counter
         includes all those counted by icmpOutErrors.

         This object has been obsoleted by IP-MIB::icmpStatsOutMsgs."
        ::= { ipv6IfIcmpEntry 18 }

    ipv6IfIcmpOutErrors OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP messages which this interface did
         not send due to problems discovered within ICMP
         such as a lack of buffers.  This value should not
         include errors discovered outside the ICMP layer
         such as the inability of IPv6 to route the resultant
         datagram.  In some implementations there may be no
         types of error which contribute to this counter's
         value.

         This object has been obsoleted by IP-MIB::icmpStatsOutErrors."
        ::= { ipv6IfIcmpEntry 19 }

    ipv6IfIcmpOutDestUnreachs OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Destination Unreachable
         messages sent by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsOutPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 20 }

    ipv6IfIcmpOutAdminProhibs OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
          "Number of ICMP dest unreachable/communication
          administratively prohibited messages sent.

          This object has been obsoleted by IP-MIB::icmpMsgStatsOutPkts
          in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 21 }

    ipv6IfIcmpOutTimeExcds OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Time Exceeded messages sent
         by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsOutPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 22 }

    ipv6IfIcmpOutParmProblems OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Parameter Problem messages
         sent by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsOutPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 23 }

    ipv6IfIcmpOutPktTooBigs OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Packet Too Big messages sent
         by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsOutPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 24 }

    ipv6IfIcmpOutEchos OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Echo (request) messages sent
         by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsOutPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 25 }

    ipv6IfIcmpOutEchoReplies OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Echo Reply messages sent
         by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsOutPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 26 }

    ipv6IfIcmpOutRouterSolicits OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Router Solicitation messages
          sent by the interface.

          This object has been obsoleted by IP-MIB::icmpMsgStatsOutPkts
          in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 27 }

    ipv6IfIcmpOutRouterAdvertisements OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Router Advertisement messages
         sent by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsOutPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 28 }

    ipv6IfIcmpOutNeighborSolicits OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Neighbor Solicitation
          messages sent by the interface.

          This object has been obsoleted by IP-MIB::icmpMsgStatsOutPkts
          in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 29 }

    ipv6IfIcmpOutNeighborAdvertisements OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMP Neighbor Advertisement
         messages sent by the interface.

         This object has been obsoleted by IP-MIB::icmpMsgStatsOutPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 30 }

    ipv6IfIcmpOutRedirects OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of Redirect messages sent.  For
         a host, this object will always be zero,
         since hosts do not send redirects.

         This object has been obsoleted by IP-MIB::icmpMsgStatsOutPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 31 }
    ipv6IfIcmpOutGroupMembQueries OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMPv6 Group Membership Query
         messages sent.

         This object has been obsoleted by IP-MIB::icmpMsgStatsOutPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 32}

    ipv6IfIcmpOutGroupMembResponses OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMPv6 Group Membership Response
         messages sent.

         This object has been obsoleted by IP-MIB::icmpMsgStatsOutPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 33}

    ipv6IfIcmpOutGroupMembReductions OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
         "The number of ICMPv6 Group Membership Reduction
         messages sent.

         This object has been obsoleted by IP-MIB::icmpMsgStatsOutPkts
         in the row corresponding to this message type."
        ::= { ipv6IfIcmpEntry 34}

   -- conformance information

   ipv6IcmpConformance OBJECT IDENTIFIER ::= { ipv6IcmpMIB 2 }

   ipv6IcmpCompliances
           OBJECT IDENTIFIER ::= { ipv6IcmpConformance 1 }
   ipv6IcmpGroups
           OBJECT IDENTIFIER ::= { ipv6IcmpConformance 2 }

   -- compliance statements

   ipv6IcmpCompliance MODULE-COMPLIANCE
       STATUS  obsolete
       DESCRIPTION
         "The compliance statement for SNMPv2 entities which
         implement ICMPv6.

         This compliance statement has been obsoleted by
         IP-MIB::ipMIBCompliance2."
       MODULE  -- this module
           MANDATORY-GROUPS { ipv6IcmpGroup }
       ::= { ipv6IcmpCompliances 1 }

   ipv6IcmpGroup OBJECT-GROUP
       OBJECTS   {
                   ipv6IfIcmpInMsgs,
                   ipv6IfIcmpInErrors,
                   ipv6IfIcmpInDestUnreachs,
                   ipv6IfIcmpInAdminProhibs,
                   ipv6IfIcmpInTimeExcds,
                   ipv6IfIcmpInParmProblems,
                   ipv6IfIcmpInPktTooBigs,
                   ipv6IfIcmpInEchos,
                   ipv6IfIcmpInEchoReplies,
                   ipv6IfIcmpInRouterSolicits,
                   ipv6IfIcmpInRouterAdvertisements,
                   ipv6IfIcmpInNeighborSolicits,
                   ipv6IfIcmpInNeighborAdvertisements,
                   ipv6IfIcmpInRedirects,
                   ipv6IfIcmpInGroupMembQueries,
                   ipv6IfIcmpInGroupMembResponses,
                   ipv6IfIcmpInGroupMembReductions,
                   ipv6IfIcmpOutMsgs,
                   ipv6IfIcmpOutErrors,
                   ipv6IfIcmpOutDestUnreachs,
                   ipv6IfIcmpOutAdminProhibs,
                   ipv6IfIcmpOutTimeExcds,
                   ipv6IfIcmpOutParmProblems,
                   ipv6IfIcmpOutPktTooBigs,
                   ipv6IfIcmpOutEchos,
                   ipv6IfIcmpOutEchoReplies,
                   ipv6IfIcmpOutRouterSolicits,
                   ipv6IfIcmpOutRouterAdvertisements,
                   ipv6IfIcmpOutNeighborSolicits,
                   ipv6IfIcmpOutNeighborAdvertisements,
                   ipv6IfIcmpOutRedirects,
                   ipv6IfIcmpOutGroupMembQueries,
                   ipv6IfIcmpOutGroupMembResponses,
                   ipv6IfIcmpOutGroupMembReductions
                 }
       STATUS    obsolete
       DESCRIPTION
            "The ICMPv6 group of objects providing information
             specific to ICMPv6.

             This group has been obsoleted by IP-MIB::icmpStatsGroup."
       ::= { ipv6IcmpGroups 1 }

    END

5.  Historic IPV6-UDP-MIB

 IPV6-UDP-MIB DEFINITIONS ::= BEGIN

 IMPORTS
    MODULE-COMPLIANCE, OBJECT-GROUP      FROM SNMPv2-CONF
    MODULE-IDENTITY, OBJECT-TYPE,
    mib-2, experimental                  FROM SNMPv2-SMI
    Ipv6Address, Ipv6IfIndexOrZero       FROM IPV6-TC;

 ipv6UdpMIB MODULE-IDENTITY
    LAST-UPDATED "201505282112Z" "201702220000Z"
    ORGANIZATION "IETF IPv6 MIB Working Group"
    CONTACT-INFO
         "               Mike Daniele

                 Postal: Compaq Computer Corporation
                         110 Spitbrook Rd
                         Nashua, NH 03062.
                         US

                 Phone:  +1 603 884 1423
                 Email:  daniele@zk3.dec.com"
    DESCRIPTION
         "The obsolete MIB module for entities implementing UDP
         over IPv6.  Use the UDP-MIB instead." instead.

         Copyright (c) 2017 IETF Trust and the persons
         identified as authors of the code.  All rights reserved.

         Redistribution and use in source and binary forms,
         with or without modification, is permitted pursuant to,
         and subject to the license terms contained in, the
         Simplified BSD License set forth in Section 4.c of the IETF
         Trust's Legal Provisions Relating to IETF Documents
         (http://trustee.ietf.org/license-info)."
    REVISION "201505282112Z" "201702220000Z"
    DESCRIPTION
         "Obsoleting this MIB module; it has been replaced by
         the revised UDP-MIB (RFC4113)." (RFC 4113)."
    REVISION "9801290000Z"
    DESCRIPTION
         "First revision, published as RFC2454" RFC 2454"
    ::= { experimental 87 }

 -- objects specific to UDP for IPv6

 udp      OBJECT IDENTIFIER ::= { mib-2 7 }

 -- the UDP over IPv6 Listener table

 -- This table contains information about this entity's
 -- UDP/IPv6 endpoints.  Only endpoints utilizing IPv6 addresses
 -- are contained in this table.  This entity's UDP/IPv4 endpoints
 -- are contained in udpTable.

 ipv6UdpTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Ipv6UdpEntry
    MAX-ACCESS  not-accessible
    STATUS      obsolete
    DESCRIPTION
         "A table containing UDP listener information for
          UDP/IPv6 endpoints.

          This table is obsoleted by UDP-MIB::udpEndpointTable."
    ::= { udp 6 }

 ipv6UdpEntry OBJECT-TYPE
    SYNTAX      Ipv6UdpEntry
    MAX-ACCESS  not-accessible
    STATUS      obsolete
    DESCRIPTION
         "Information about a particular current UDP listener.

          Note that conceptual rows in this table require an
          additional index object compared to udpTable, since
          IPv6 addresses are not guaranteed to be unique on the
          managed node.

          This entry is obsoleted by UDP-MIB::udpEndpointTable."
    INDEX   { ipv6UdpLocalAddress,
              ipv6UdpLocalPort,
              ipv6UdpIfIndex }
    ::= { ipv6UdpTable 1 }

 Ipv6UdpEntry ::= SEQUENCE {
    ipv6UdpLocalAddress    Ipv6Address,
    ipv6UdpLocalPort       INTEGER,
    ipv6UdpIfIndex         Ipv6IfIndexOrZero }

 ipv6UdpLocalAddress OBJECT-TYPE
    SYNTAX       Ipv6Address
    MAX-ACCESS   not-accessible
    STATUS       obsolete
    DESCRIPTION
         "The local IPv6 address for this UDP listener.
          In the case of a UDP listener which is willing
          to accept datagrams for any IPv6 address
          associated with the managed node, the value ::0
          is used.

          This object is obsoleted by UDP-MIB::udpEndpointLocalAddress."
    ::= { ipv6UdpEntry 1 }

 ipv6UdpLocalPort OBJECT-TYPE
     SYNTAX     INTEGER (0..65535)
     MAX-ACCESS not-accessible
     STATUS     obsolete
     DESCRIPTION
         "The local port number for this UDP listener.

         This object is obsoleted by UDP-MIB::udpEndpointLocalPort."
     ::= { ipv6UdpEntry 2 }

 ipv6UdpIfIndex OBJECT-TYPE
    SYNTAX     Ipv6IfIndexOrZero
    MAX-ACCESS   read-only
    STATUS     obsolete
    DESCRIPTION
         "An index object used to disambiguate conceptual rows in
          the table, since the ipv6UdpLocalAddress/ipv6UdpLocalPort
          pair may not be unique.

          This object identifies the local interface that is
          associated with ipv6UdpLocalAddress for this UDP listener.
          If such a local interface cannot be determined, this object
          should take on the value 0.  (A possible example of this
          would be if the value of ipv6UdpLocalAddress is ::0.)

          The interface identified by a particular non-0 value of
          this index is the same interface as identified by the same
          value of ipv6IfIndex.

          The value of this object must remain constant during
          the life of this UDP endpoint.

          This object is obsoleted by the zone identifier in
          an InetAddressIPv6z address in
          UDP-MIB::udpEndpointLocalAddress."
    ::= { ipv6UdpEntry 3 }

 --
 -- conformance information
 --

 ipv6UdpConformance OBJECT IDENTIFIER ::= { ipv6UdpMIB 2 }

 ipv6UdpCompliances OBJECT IDENTIFIER ::= { ipv6UdpConformance 1 }
 ipv6UdpGroups      OBJECT IDENTIFIER ::= { ipv6UdpConformance 2 }

 -- compliance statements

 ipv6UdpCompliance MODULE-COMPLIANCE
    STATUS  obsolete
    DESCRIPTION
         "The compliance statement for SNMPv2 entities which
          implement UDP over IPv6.

          This object is obsoleted by UDP-MIB::udpMIBCompliance2."
    MODULE  -- this module
    MANDATORY-GROUPS { ipv6UdpGroup }
    ::= { ipv6UdpCompliances 1 }

 ipv6UdpGroup OBJECT-GROUP
    OBJECTS   { -- these are defined in this module
                -- ipv6UdpLocalAddress (not-accessible)
                -- ipv6UdpLocalPort (not-accessible)
                ipv6UdpIfIndex }
    STATUS    obsolete
    DESCRIPTION
         "The group of objects providing management of
          UDP over IPv6.

          This group is obsoleted by several groups in UDP-MIB."
    ::= { ipv6UdpGroups 1 }

 END

6.  Historic IPV6-TCP-MIB

 IPV6-TCP-MIB DEFINITIONS ::= BEGIN

 IMPORTS
    MODULE-COMPLIANCE, OBJECT-GROUP      FROM SNMPv2-CONF
    MODULE-IDENTITY, OBJECT-TYPE,
    mib-2, experimental                  FROM SNMPv2-SMI
    Ipv6Address, Ipv6IfIndexOrZero       FROM IPV6-TC;

 ipv6TcpMIB MODULE-IDENTITY
    LAST-UPDATED "201505282112Z" "201702220000Z"
    ORGANIZATION "IETF IPv6 MIB Working Group"
    CONTACT-INFO
         "       Mike Daniele

                 Postal: Compaq Computer Corporation
                         110 Spitbrook Rd
                         Nashua, NH 03062.
                         US

                 Phone:  +1 603 884 1423
                 Email:  daniele@zk3.dec.com"
    DESCRIPTION
         "The obsolete MIB module for entities implementing TCP
         over IPv6.  Use the TCP-MIB instead." TCP-MIB instead.

         Copyright (c) 2017 IETF Trust and the persons identified
         as authors of the code.  All rights reserved.

         Redistribution and use in source and binary forms, with
         or without modification, is permitted pursuant to, and
         subject to the license terms contained in, the Simplified
         BSD License set forth in Section 4.c of the IETF Trust's
         Legal Provisions Relating to IETF Documents
         (http://trustee.ietf.org/license-info)."
    REVISION "201505282112Z" "201702220000Z"
    DESCRIPTION
         "Obsoleting this MIB module; it has been replaced by
         the revised TCP-MIB (RFC4022)." (RFC 4022)."
    REVISION "9801290000Z"
    DESCRIPTION
         "First revision, published as RFC2452" RFC 2452"
    ::= { experimental 86 }

 -- objects specific to TCP for IPv6

 tcp      OBJECT IDENTIFIER ::= { mib-2 6 }
 -- the TCP over IPv6 Connection table

 -- This connection table contains information about this
 -- entity's existing TCP connections between IPv6 endpoints.
 -- Only connections between IPv6 addresses are contained in
 -- this table.  This entity's connections between IPv4
 -- endpoints are contained in tcpConnTable.

 ipv6TcpConnTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Ipv6TcpConnEntry
    MAX-ACCESS  not-accessible
    STATUS      obsolete
    DESCRIPTION
         "A table containing TCP connection-specific information,
          for only those connections whose endpoints are IPv6 addresses.

          This table is obsoleted by TCP-MIB::tcpConnectionTable."
    ::= { tcp 16 }

 ipv6TcpConnEntry OBJECT-TYPE
    SYNTAX      Ipv6TcpConnEntry
    MAX-ACCESS  not-accessible
    STATUS      obsolete
    DESCRIPTION
         "A conceptual row of the ipv6TcpConnTable containing
          information about a particular current TCP connection.
          Each row of this table is transient, in that it ceases to
          exist when (or soon after) the connection makes the transition
          to the CLOSED state.

          Note that conceptual rows in this table require an additional
          index object compared to tcpConnTable, since IPv6 addresses
          are not guaranteed to be unique on the managed node.

          This entry is obsoleted by TCP-MIB::tcpConnectionEntry."
    INDEX   { ipv6TcpConnLocalAddress,
              ipv6TcpConnLocalPort,
              ipv6TcpConnRemAddress,
              ipv6TcpConnRemPort,
              ipv6TcpConnIfIndex }
    ::= { ipv6TcpConnTable 1 }

 Ipv6TcpConnEntry ::=
    SEQUENCE { ipv6TcpConnLocalAddress    Ipv6Address,
               ipv6TcpConnLocalPort       INTEGER,
               ipv6TcpConnRemAddress      Ipv6Address,
               ipv6TcpConnRemPort         INTEGER,
               ipv6TcpConnIfIndex         Ipv6IfIndexOrZero,
               ipv6TcpConnState           INTEGER }

 ipv6TcpConnLocalAddress OBJECT-TYPE
    SYNTAX     Ipv6Address
    MAX-ACCESS not-accessible
    STATUS     obsolete
    DESCRIPTION
         "The local IPv6 address for this TCP connection.  In
          the case of a connection in the listen state which
          is willing to accept connections for any IPv6
          address associated with the managed node, the value
          ::0 is used.

          This object is obsoleted by
          TCP-MIB::tcpConnectionLocalAddressType."
    ::= { ipv6TcpConnEntry 1 }

 ipv6TcpConnLocalPort OBJECT-TYPE
    SYNTAX     INTEGER (0..65535)
    MAX-ACCESS not-accessible
    STATUS     obsolete
    DESCRIPTION
         "The local port number for this TCP connection.

         This object is obsoleted by TCP-MIB::tcpConnectionLocalPort."
    ::= { ipv6TcpConnEntry 2 }

 ipv6TcpConnRemAddress OBJECT-TYPE
    SYNTAX     Ipv6Address
    MAX-ACCESS not-accessible
    STATUS     obsolete
    DESCRIPTION
         "The remote IPv6 address for this TCP connection.

         This object is obsoleted by TCP-MIB::tcpConnectionRemAddress."
    ::= { ipv6TcpConnEntry 3 }

 ipv6TcpConnRemPort OBJECT-TYPE
    SYNTAX     INTEGER (0..65535)
    MAX-ACCESS not-accessible
    STATUS     obsolete
    DESCRIPTION
         "The remote port number for this TCP connection.

         This object is obsoleted by TCP-MIB::tcpConnectionRemPort."
    ::= { ipv6TcpConnEntry 4 }

 ipv6TcpConnIfIndex OBJECT-TYPE
    SYNTAX     Ipv6IfIndexOrZero
    MAX-ACCESS not-accessible
    STATUS     obsolete
    DESCRIPTION
         "An index object used to disambiguate conceptual rows in
          the table, since the connection 4-tuple may not be unique.

          If the connection's remote address (ipv6TcpConnRemAddress)
          is a link-local address and the connection's local address
          (ipv6TcpConnLocalAddress) is not a link-local address, this
          object identifies a local interface on the same link as
          the connection's remote link-local address.

          Otherwise, this object identifies the local interface that
          is associated with the ipv6TcpConnLocalAddress for this
          TCP connection.  If such a local interface cannot be
          determined, this object should take on the value 0.
          (A possible example of this would be if the value of
          ipv6TcpConnLocalAddress is ::0.)

          The interface identified by a particular non-0 value of this
          index is the same interface as identified by the same value
          of ipv6IfIndex.

          The value of this object must remain constant during the life
          of the TCP connection.

          This object is obsoleted by the zone identifier in
          an InetAddressIPv6z address in either
          TCP-MIB::tcpConnectionLocalAddress or
          TCP-MIB::tcpConnectionRemAddress."
    ::= { ipv6TcpConnEntry 5 }

 ipv6TcpConnState OBJECT-TYPE
    SYNTAX     INTEGER {
         closed(1),
         listen(2),
         synSent(3),
         synReceived(4),
         established(5),
         finWait1(6),
         finWait2(7),
         closeWait(8),
         lastAck(9),
         closing(10),
         timeWait(11),
         deleteTCB(12) }
    MAX-ACCESS read-write
    STATUS     obsolete
    DESCRIPTION
         "The state of this TCP connection.

          The only value which may be set by a management station is
          deleteTCB(12).  Accordingly, it is appropriate for an agent
          to return an error response (`badValue' ('badValue' for SNMPv1,
          'wrongValue' for SNMPv2) if a management station attempts
          to set this object to any other value.

          If a management station sets this object to the value
          deleteTCB(12), then this has the effect of deleting the TCB
          (as defined in RFC 793) of the corresponding connection on
          the managed node, resulting in immediate termination of the
          connection.

          As an implementation-specific option, a RST segment may be
          sent from the managed node to the other TCP endpoint (note
          however that RST segments are not sent reliably).

          This object is obsoleted by TCP-MIB::tcpConnectionState."
    ::= { ipv6TcpConnEntry 6 }

 --
 -- conformance information
 --

 ipv6TcpConformance OBJECT IDENTIFIER ::= { ipv6TcpMIB 2 }

 ipv6TcpCompliances OBJECT IDENTIFIER ::= { ipv6TcpConformance 1 }
 ipv6TcpGroups      OBJECT IDENTIFIER ::= { ipv6TcpConformance 2 }

 -- compliance statements

 ipv6TcpCompliance MODULE-COMPLIANCE
    STATUS  obsolete
    DESCRIPTION
         "The compliance statement for SNMPv2 entities which
          implement TCP over IPv6.

          This compliance statement is obsoleted by
          TCP-MIB::tcpMIBCompliance2."
    MODULE  -- this module
    MANDATORY-GROUPS { ipv6TcpGroup }
    ::= { ipv6TcpCompliances 1 }

 ipv6TcpGroup OBJECT-GROUP
    OBJECTS   { -- these are defined in this module
                -- ipv6TcpConnLocalAddress (not-accessible)
                -- ipv6TcpConnLocalPort (not-accessible)
                -- ipv6TcpConnRemAddress (not-accessible)
                -- ipv6TcpConnRemPort (not-accessible)
                -- ipv6TcpConnIfIndex (not-accessible)
                ipv6TcpConnState }
    STATUS    obsolete
    DESCRIPTION
         "The group of objects providing management of
          TCP over IPv6.

          This group is obsoleted by several groups in TCP-MIB."
    ::= { ipv6TcpGroups 1 }

 END

7.  Reclassification

   This document reclassifies [RFC2452], [RFC2454], [RFC2465], and
   [RFC2466] to Historic.

8.  Security Considerations

   This document contains only obsolete objects, which [RFC2578] says
   "should not be implemented and/or can be removed if previously
   implemented".  Since the contents of this document should not be
   implemented, it has no security implications.  If there were any
   security implications based on these objects in an implementation,
   removing these objects as [RFC2578] suggests would improve the
   security of that implementation.

9.  IANA Considerations

   In smi-numbers [1], the entries for RFC2452 and RFC2454, in the "SMI
   Experimental Codes" section, have an annotation "(Historic)" or
   "(Historical)".

   IANA is asked to make has updated the following changes to SMI Numbers registry at
   <http://www.iana.org/assignments/smi-numbers/> as described below.

   IANA has updated the "SMI Network Management MGMT Codes Internet-standard Internet-
   standard MIB" section: section as follows:

   o  Remove RFC1213 from the references  Removed RFC 1213 as a reference for mib-2.5 "icmp". ("icmp").

   o  Update  Updated the reference for mib-2.6 "tcp" ("tcp") to point to RFC4022. RFC 4022.

   o  Remove RFC1213 from the references  Removed RFC 1213 as a reference for mib-2.7 "udp". ("udp").

   o  Remove RFC2012 from the references  Removed RFC 2012 as a reference for mib-2.49 "tcpMIB". ("tcpMIB").

   o  Add  Added the "(Historic)" annotation for the entries for mib-2.55
      "ipv6MIB"
      ("ipv6MIB") and for mib-2.56 "ipv6IcmpMIB", ("ipv6IcmpMIB") and update updated the reference
      of each to point to this document.

   IANA is asked to make the following changes to has updated the "SMI Experimental Codes" section: section as follows:

   o  Add  Added the "(Historic)" annotation for experimental.74 "IPV6 MIB" ("IPv6
      MIB").

   o  Change  Changed the "(Historical)" annotation for experimental.87
      "ipv6UdpMIB"
      ("ipv6UdpMIB") to "(Historic)" "(Historic)".

   o  Update  Updated the reference for experimental.86 "ipv6TcpMIB" ("ipv6TcpMIB") and
      experimental.87 "ipv6UdpMIB" ("ipv6UdpMIB") to point to this document.

10.  References

10.1.  Normative References

   [RFC2578]  McCloghrie, K., Ed., Perkins, D., Ed., and J.
              Schoenwaelder, Ed., "Structure of Management Information
              Version 2 (SMIv2)", STD 58, RFC 2578,
              DOI 10.17487/
              RFC2578, 10.17487/RFC2578, April 1999,
              <http://www.rfc-editor.org/info/rfc2578>.

10.2.  Informative References

   [RFC1213]  McCloghrie, K. and M. Rose, "Management Information Base
              for Network Management of TCP/IP-based internets: MIB-II",
              STD 17, RFC 1213, DOI 10.17487/RFC1213, March 1991,
              <http://www.rfc-editor.org/info/rfc1213>.

   [RFC1573]  McCloghrie, K. and F. Kastenholz, "Evolution of the
              Interfaces Group of MIB-II", RFC 1573,
              DOI 10.17487/RFC1573, January 1994,
              <http://www.rfc-editor.org/info/rfc1573>.

   [RFC2452]  Daniele, M., "IP Version 6 Management Information Base for
              the Transmission Control Protocol", RFC 2452,
              DOI 10.17487/RFC2452, December 1998,
              <http://www.rfc-editor.org/info/rfc2452>.

   [RFC2454]  Daniele, M., "IP Version 6 Management Information Base for
              the User Datagram Protocol", RFC 2454,
              DOI 10.17487/
              RFC2454, 10.17487/RFC2454, December 1998,
              <http://www.rfc-editor.org/info/rfc2454>.

   [RFC2461]  Narten, T., Nordmark, E., and W. Simpson, "Neighbor
              Discovery for IP Version 6 (IPv6)", RFC 2461,
              DOI 10.17487/RFC2461, December 1998,
              <http://www.rfc-editor.org/info/rfc2461>.

   [RFC2465]  Haskin, D. and S. Onishi, "Management Information Base for
              IP Version 6: Textual Conventions and General Group",
              RFC 2465, DOI 10.17487/RFC2465, December 1998,
              <http://www.rfc-editor.org/info/rfc2465>.

   [RFC2466]  Haskin, D. and S. Onishi, "Management Information Base for
              IP Version 6: ICMPv6 Group", RFC 2466,
              DOI 10.17487/
              RFC2466, 10.17487/RFC2466, December 1998,
              <http://www.rfc-editor.org/info/rfc2466>.

   [RFC4022]  Raghunarayan, R., Ed., "Management Information Base for
              the Transmission Control Protocol (TCP)", RFC 4022,
              DOI 10.17487/RFC4022, March 2005,
              <http://www.rfc-editor.org/info/rfc4022>.

   [RFC4113]  Fenner, B. and J. Flick, "Management Information Base for
              the User Datagram Protocol (UDP)", RFC 4113,
              DOI 10.17487/
              RFC4113, 10.17487/RFC4113, June 2005,
              <http://www.rfc-editor.org/info/rfc4113>.

   [RFC4292]  Haberman, B., "IP Forwarding Table MIB", RFC 4292,
              DOI 10.17487/RFC4292, April 2006,
              <http://www.rfc-editor.org/info/rfc4292>.

   [RFC4293]  Routhier, S., Ed., "Management Information Base for the
              Internet Protocol (IP)", RFC 4293, DOI 10.17487/RFC4293,
              April 2006, <http://www.rfc-editor.org/info/rfc4293>.

10.3.  URIs

   [1] http://www.iana.org/assignments/smi-numbers/smi-numbers.xhtml

Appendix A.  Change history

A.1.  Changes since draft-ietf-6man-ipv6-mibs-obsolete-01

   o  Thanks to ops-dir comments by Dan Romascanu and Juergen
      Schoenwaelder, updated the motiviation text to include Juergen's
      ASCII art history and a specific mention that this is not the
      intended disposition of all obsolete MIBs.

   o  Thanks to gen-art review by Jouni Korhonen, who pointed out that I
      had neglected RFC2579's requirement to note the obsoleting object
      for TEXTUAL-CONVENTIONs too.

A.2.  Changes since draft-ietf-6man-ipv6-mibs-obsolete-00

   Thanks to an excellent review by Mike Heard.

   o  Correct the REVISION clause for the original IPV6-MIB

   o  Remove the illegal sub-typing from SEQUENCE definitions in
      IPV6-MIB, IPV6-UDP-MIB and IPV6-TCP-MIB.

A.3.  Changes since draft-fenner-ipv6-mibs-obsolete-00

   o  Realized that IPV6-ICMP-MIB was [RFC2466], so modified the added
      REVISION clause and the Reclassification section.

   o  Added Security Considerations

   o  Added IANA Considerations
   o  Added the 6.c.iii Legend to the copyright statement, since the
      original RFCs were published before pre-5378.

   o  Used "MIB module" instead of "MIB" when referring to a module, and
      changed REVISION DESCRIPTION to "Obsoleting", not "Deprecating".

   o  Added "Obsoletes:" header to document

   o  Switched to pre-5378 IPR statement, since the original RFCs were
      pre-5378.

A.4.  Changes since draft-fenner-ipv6-mibs-obsolete-01

   o  Updated the DESCRIPTION of MODULE-IDENTITY to improve the "MIB
      index" problem.

   o  Updated IANA considerations.

A.5.  Changes since draft-fenner-ipv6-mibs-obsolete-02

   o  Fixed "IPV6-MIB" in title

   o  Fixed some extra blank lines in the source MIBs, introduced by the
      process of extraction from RFCs.

Author's Address

   Bill Fenner
   Arista Networks, Inc.
   5453 Great America Parkway
   Santa Clara Clara, CA  95054
   USA
   United States of America

   Phone: +1-408-547-5572
   Email: fenner@fenron.com