ActiveXperts Network Monitor 2019##AdminFavorites

IPV6-MIB by vendor RFC

IPV6-MIB file content

The SNMP protocol is used to for conveying information and commands between agents and managing entities. SNMP uses the User Datagram Protocol (UDP) as the transport protocol for passing data between managers and agents. The reasons for using UDP for SNMP are, firstly it has low overheads in comparison to TCP, which uses a 3-way hand shake for connection. Secondly, in congested networks, SNMP over TCP is a bad idea because TCP in order to maintain reliability will flood the network with retransmissions.

Management information (MIB) is represented as a collection of managed objects. These objects together form a virtual information base called MIB. An agent may implement many MIBs, but all agents must implement a particular MIB called MIB-II [16]. This standard defines variables for things such as interface statistics (interface speeds, MTU, octets sent, octets received, etc.) as well as various other things pertaining to the system itself (system location, system contact, etc.). The main goal of MIB-II is to provide general TCP/IP management information.

Use ActiveXperts Network Monitor 2019 to import vendor-specific MIB files, inclusing IPV6-MIB.


Vendor: RFC
Mib: IPV6-MIB  [download]  [view objects]
Tool: ActiveXperts Network Monitor 2019 [download]    (ships with advanced SNMP/MIB tools)
-- WinAgents MIB Extraction Wizard
-- Extracted from rfc2465.txt 16.03.2005 20:21:48

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 "9802052155Z"
    ORGANIZATION "IETF IPv6 Working Group"
    CONTACT-INFO
      "           Dimitry Haskin

          Postal: Bay Networks, Inc.
                  660 Techology 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 MIB module for entities implementing the IPv6
       protocol."
    ::= { 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     current
     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."

     ::= { ipv6MIBObjects 1 }

ipv6DefaultHopLimit OBJECT-TYPE
    SYNTAX      INTEGER(0..255)
    MAX-ACCESS  read-write
     STATUS     current
    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."
    DEFVAL  { 64 }
    ::= { ipv6MIBObjects 2 }

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

ipv6IfTableLastChange OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    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."
    ::= { ipv6MIBObjects 4 }


-- the IPv6 Interfaces table

ipv6IfTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF Ipv6IfEntry
    MAX-ACCESS not-accessible
    STATUS     current
    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."
    ::= { ipv6MIBObjects 5 }

ipv6IfEntry OBJECT-TYPE
    SYNTAX     Ipv6IfEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
      "An interface entry containing objects
       about a particular IPv6 interface."
    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     current
    DESCRIPTION
      "A unique non-zero value identifying
       the particular IPv6 interface."
    ::= { ipv6IfEntry 1 }

ipv6IfDescr OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
      "A textual string containing information about the
      interface.  This string may be set by the network
      management system."
    ::= { ipv6IfEntry 2 }

ipv6IfLowerLayer OBJECT-TYPE

   SYNTAX      VariablePointer
   MAX-ACCESS  read-only
   STATUS      current
   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]. If this network interface
      operates over an IPv4 interface, the value of this
      object refers to an instance of ipAdEntAddr [3].

      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 }."
   ::= { ipv6IfEntry 3 }

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

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

ipv6IfIdentifier OBJECT-TYPE
    SYNTAX      Ipv6AddressIfIdentifier
    MAX-ACCESS  read-write
    STATUS      current
    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."
    ::= { ipv6IfEntry 6 }

ipv6IfIdentifierLength OBJECT-TYPE
    SYNTAX      INTEGER (0..64)
    UNITS       "bits"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "The length of the Interface Identifier in bits."
    ::= { ipv6IfEntry 7 }

ipv6IfPhysicalAddress OBJECT-TYPE
    SYNTAX      PhysAddress
    MAX-ACCESS  read-only
    STATUS      current
    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."
    ::= { ipv6IfEntry 8 }

ipv6IfAdminStatus OBJECT-TYPE
   SYNTAX  INTEGER {
            up(1),       -- ready to pass packets
            down(2)
           }
   MAX-ACCESS  read-write
   STATUS      current
   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)."
   ::= { 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      current
   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."
   ::= { ipv6IfEntry 10 }

ipv6IfLastChange OBJECT-TYPE
   SYNTAX      TimeStamp
   MAX-ACCESS  read-only
   STATUS      current
   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."
   ::= { ipv6IfEntry 11 }

--  IPv6 Interface Statistics table

ipv6IfStatsTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF Ipv6IfStatsEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "IPv6 interface traffic statistics."
    ::= { ipv6MIBObjects 6 }

ipv6IfStatsEntry OBJECT-TYPE
    SYNTAX     Ipv6IfStatsEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An interface statistics entry containing objects
        at a particular IPv6 interface."
    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      current
    DESCRIPTION
       "The total number of input datagrams received by
       the interface, including those received in error."
    ::= { ipv6IfStatsEntry 1 }

ipv6IfStatsInHdrErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    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."
    ::= { ipv6IfStatsEntry 2 }

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

    ::= { ipv6IfStatsEntry 3 }

ipv6IfStatsInNoRoutes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The number of input datagrams discarded because no
        route could be found to transmit them to their
        destination."
    ::= { ipv6IfStatsEntry 4 }

ipv6IfStatsInAddrErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    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."
    ::= { ipv6IfStatsEntry 5 }

ipv6IfStatsInUnknownProtos OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    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."
    ::= { ipv6IfStatsEntry 6 }


ipv6IfStatsInTruncatedPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current

    DESCRIPTION
       "The number of input datagrams discarded because
        datagram frame didn't carry enough data."
    ::= { ipv6IfStatsEntry 7 }

ipv6IfStatsInDiscards OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    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."
    ::= { ipv6IfStatsEntry 8 }

ipv6IfStatsInDelivers OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    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."
    ::= { ipv6IfStatsEntry 9 }

ipv6IfStatsOutForwDatagrams OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    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."
    ::= { ipv6IfStatsEntry 10 }

ipv6IfStatsOutRequests OBJECT-TYPE

    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    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."
    ::= { ipv6IfStatsEntry 11 }

ipv6IfStatsOutDiscards OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    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."
    ::= { ipv6IfStatsEntry 12 }

ipv6IfStatsOutFragOKs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The number of IPv6 datagrams that have been
        successfully fragmented at this output interface."
    ::= { ipv6IfStatsEntry 13 }

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

ipv6IfStatsOutFragCreates OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current

    DESCRIPTION
       "The number of output datagram fragments that have
        been generated as a result of fragmentation at
        this output interface."
    ::= { ipv6IfStatsEntry 15 }

ipv6IfStatsReasmReqds OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    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."
    ::= { ipv6IfStatsEntry 16 }

ipv6IfStatsReasmOKs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    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."
    ::= { ipv6IfStatsEntry 17 }

ipv6IfStatsReasmFails OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    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."
    ::= { ipv6IfStatsEntry 18 }

ipv6IfStatsInMcastPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS     current
    DESCRIPTION
       "The number of multicast packets received
        by the interface"
    ::= { ipv6IfStatsEntry 19 }

ipv6IfStatsOutMcastPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The number of multicast packets transmitted
        by the interface"
    ::= { 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      current
    DESCRIPTION
        "The list of IPv6 address prefixes of
        IPv6 interfaces."
    ::= { ipv6MIBObjects 7 }

ipv6AddrPrefixEntry OBJECT-TYPE
    SYNTAX  Ipv6AddrPrefixEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An interface entry containing objects of
        a particular IPv6 address prefix."
    INDEX   { ipv6IfIndex,
              ipv6AddrPrefix,
              ipv6AddrPrefixLength }
    ::= { ipv6AddrPrefixTable 1 }

Ipv6AddrPrefixEntry ::= SEQUENCE {

     ipv6AddrPrefix                     Ipv6AddressPrefix,
     ipv6AddrPrefixLength               INTEGER (0..128),
     ipv6AddrPrefixOnLinkFlag           TruthValue,
     ipv6AddrPrefixAutonomousFlag       TruthValue,
     ipv6AddrPrefixAdvPreferredLifetime Unsigned32,
     ipv6AddrPrefixAdvValidLifetime     Unsigned32
    }

ipv6AddrPrefix OBJECT-TYPE
    SYNTAX      Ipv6AddressPrefix
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
      "The prefix associated with the this interface."
    ::= { ipv6AddrPrefixEntry 1 }

ipv6AddrPrefixLength OBJECT-TYPE
    SYNTAX      INTEGER (0..128)
    UNITS       "bits"
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
      "The length of the prefix (in bits)."
    ::= { ipv6AddrPrefixEntry 2 }

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

ipv6AddrPrefixAutonomousFlag OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    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."
    ::= { ipv6AddrPrefixEntry 4 }


ipv6AddrPrefixAdvPreferredLifetime OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    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."
    ::= { ipv6AddrPrefixEntry 5 }

ipv6AddrPrefixAdvValidLifetime OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    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."
    ::= { 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      current
   DESCRIPTION
     "The table of addressing information relevant to
     this node's interface addresses."
   ::= { ipv6MIBObjects 8 }


ipv6AddrEntry OBJECT-TYPE
   SYNTAX      Ipv6AddrEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "The addressing information for one of this
       node's interface addresses."
   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      current
   DESCRIPTION
     "The IPv6 address to which this entry's addressing
     information pertains."
   ::= { ipv6AddrEntry 1 }

ipv6AddrPfxLength OBJECT-TYPE
   SYNTAX      INTEGER(0..128)
   UNITS       "bits"
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "The length of the prefix (in bits) associated with
     the IPv6 address of this entry."
   ::= { 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      current
   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)."
   ::= { ipv6AddrEntry 3 }

ipv6AddrAnycastFlag OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "This object has the value 'true(1)', if this
      address is an anycast address and the value
      'false(2)' otherwise."
    ::= { 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      current
   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."
   ::= { ipv6AddrEntry 5 }


-- IPv6 Routing objects

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

ipv6DiscardedRoutes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    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."
    ::= { ipv6MIBObjects 10 }


-- IPv6 Routing table

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

ipv6RouteEntry OBJECT-TYPE
    SYNTAX     Ipv6RouteEntry
    MAX-ACCESS not-accessible

    STATUS     current
    DESCRIPTION
            "A routing entry."
    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     current
    DESCRIPTION
      "The destination IPv6 address of this route.
      This object may not take a Multicast address
      value."
    ::= { ipv6RouteEntry 1 }

ipv6RoutePfxLength OBJECT-TYPE
    SYNTAX     INTEGER(0..128)
    UNITS      "bits"
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
      "Indicates the prefix length of the destination
      address."
    ::= { ipv6RouteEntry 2 }

ipv6RouteIndex OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS not-accessible

    STATUS     current
    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."
    ::= { ipv6RouteEntry 3 }

ipv6RouteIfIndex OBJECT-TYPE
    SYNTAX     Ipv6IfIndexOrZero
    MAX-ACCESS read-only
    STATUS     current
    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."
    ::= { ipv6RouteEntry 4 }

ipv6RouteNextHop OBJECT-TYPE
    SYNTAX     Ipv6Address
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
      "On remote routes, the address of the next
      system en route;  otherwise, ::0
      ('00000000000000000000000000000000'H in ASN.1
      string representation)."
    ::= { 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     current
    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)."
    ::= { 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     current
    DESCRIPTION
      "The routing mechanism via which this route was
      learned."
    ::= { ipv6RouteEntry 7 }

ipv6RoutePolicy OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only

    STATUS     current
    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."
    ::= { ipv6RouteEntry 8 }

ipv6RouteAge OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "seconds"
    MAX-ACCESS read-only
    STATUS     current
    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."
    ::= { ipv6RouteEntry 9 }

ipv6RouteNextHopRDI OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    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."
    ::= { ipv6RouteEntry 10 }

ipv6RouteMetric OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    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)."
    ::= { ipv6RouteEntry 11 }

ipv6RouteWeight OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    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."
    ::= { ipv6RouteEntry 12 }

ipv6RouteInfo OBJECT-TYPE
    SYNTAX     RowPointer
    MAX-ACCESS read-only
    STATUS     current
    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."
    ::= { ipv6RouteEntry 13 }

ipv6RouteValid OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    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."
    DEFVAL  { true }
    ::= { ipv6RouteEntry 14 }


-- IPv6 Address Translation table

ipv6NetToMediaTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Ipv6NetToMediaEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    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."
    ::= { ipv6MIBObjects 12 }

ipv6NetToMediaEntry OBJECT-TYPE
    SYNTAX     Ipv6NetToMediaEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
      "Each entry contains one IPv6 address to `physical'
      address equivalence."
    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     current
    DESCRIPTION
       "The IPv6 Address corresponding to
       the media-dependent `physical' address."
    ::= { ipv6NetToMediaEntry 1 }

ipv6NetToMediaPhysAddress OBJECT-TYPE
    SYNTAX     PhysAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
      "The media-dependent `physical' address."
    ::= { 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     current
    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."
    ::= { 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      current
   DESCRIPTION
       "The Neighbor Unreachability Detection [8] state
       for the interface when the address mapping in
       this entry is used."
   ::= { ipv6NetToMediaEntry 4 }

ipv6IfNetToMediaLastUpdated OBJECT-TYPE
   SYNTAX      TimeStamp
   MAX-ACCESS  read-only
   STATUS      current
   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."
   ::= { ipv6NetToMediaEntry 5 }

ipv6NetToMediaValid OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    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."
    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             current
    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."

    ::= { 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  current
   DESCRIPTION
     "The compliance statement for SNMPv2 entities which
     implement ipv6 MIB."
   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    current
   DESCRIPTION
        "The IPv6 group of objects providing for basic
         management of IPv6 entities."
   ::= { ipv6Groups 1 }

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


   ::= { ipv6Groups 2 }

END