<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2863 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2863.xml">
<!ENTITY rfc3418 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3418.xml">
<!ENTITY rfc2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc2578 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2578.xml">
<!ENTITY rfc2579 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2579.xml">
<!ENTITY rfc2580 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2580.xml">
<!ENTITY olsrv2 SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-manet-olsrv2.xml">
<!ENTITY rfc3410 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3410.xml">
]>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc strict="no"?>
<?rfc rfcedstyle="yes"?>
<rfc category="std" docName="draft-cole-manet-olsrv2-mib-00" ipr="full3978">
  <front>
    <title abbrev="The OLSRv2-MIB">Definition of Managed Objects for the MANET
    Optimized Link State Routing Protocol version 2</title>

    <author fullname="Robert G. Cole" initials="R.G." surname="Cole">
      <organization>Johns Hopkins University</organization>

      <address>
        <postal>
          <street>11100 Johns Hopkins Road, Room 257</street>

          <city>Laurel</city>

          <region>Maryland</region>

          <code>21073</code>

          <country>USA</country>
        </postal>

        <phone>+1 443 778 6951</phone>

        <email>robert.cole@jhuapl.edu</email>

        <uri>http://www.cs.jhu.edu/~rgcole/</uri>
      </address>
    </author>

    <author fullname="Thomas Heide Clausen" initials="T." surname="Clausen">
      <organization>LIX, Ecole Polytechnique, France</organization>

      <address>
        <postal>
          <street></street>

          <city></city>

          <region></region>

          <code></code>

          <country></country>
        </postal>

        <email>T.Clausen@computer.org</email>

        <phone>+33 6 6058 9349</phone>

        <uri>http://www.ThomasClausen.org/</uri>
      </address>
    </author>

    <date />

    <area>Routing</area>

    <workgroup>Internet Engineering Task Force</workgroup>

    <keyword>Network Management</keyword>

    <keyword>Management Information Base</keyword>

    <keyword>MIB</keyword>

    <keyword>SMIv2</keyword>

    <keyword>Routing</keyword>

    <keyword>MANET</keyword>

    <keyword>Optimized Link State</keyword>

    <abstract>
      <t>This memo defines a portion of the Management Information Base (MIB)
      for use with network management protocols in the Internet community. In
      particular, it describes objects for configuring and managing
      aspects of the Optimized Link State Routing protocol version 2.
      The Optimized Link State Routing MIB also reports
      state information, performance metrics, and notifications. In addition
      to configuration, this additional state and performance information is
      useful to management stations troubleshooting Mobile Ad-Hoc Networks
      routing problems.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>This memo defines a portion of the Management Information Base (MIB)
      for use with network management protocols in the Internet community. In
      particular, it describes objects for configuring aspects of a process
      implementing the Optimized Link State Routing Protocol version 2 (OLSRv2)
      <xref target="I-D.ietf-manet-olsrv2"></xref>. OLSRv2 provides ...
      </t>
    </section>

    <section title="The Internet-Standard Management Framework">
      <t>For a detailed overview of the documents that describe the current
      Internet-Standard Management Framework, please refer to section 7 of RFC
      3410 <xref target="RFC3410"></xref>.</t>

      <t>Managed objects are accessed via a virtual information store, termed
      the Management Information Base or MIB. MIB objects are generally
      accessed through the Simple Network Management Protocol (SNMP). Objects
      in the MIB are defined using the mechanisms defined in the Structure of
      Management Information (SMI). This memo specifies a MIB module that is
      compliant to the SMIv2, which is described in STD 58, RFC 2578 <xref
      target="RFC2578"></xref>, STD 58, RFC 2579 <xref
      target="RFC2579"></xref> and STD 58, RFC 2580 <xref
      target="RFC2580"></xref>.</t>
    </section>

    <section title="Conventions">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in RFC 2119 <xref
      target="RFC2119"></xref>.</t>
    </section>

    <section title="Overview">
      <t>Optimized Link State Routing (OLSR) protocol version 2 (OLSRv2) provides ...
      </t>


      <section title="OLSRv2 Management Model">
        <t>This section describes the management model for the OLSRv2 node
        routing process.  Specifically, ...</t>

      </section>

      <section title="Terms">
        <t>The following definitions apply throughout this document:</t>

        <list style="symbols">
          <t>Configuration Objects - switches, tables, objects which are
          initialized to default settings or set through the management
          interface defined by this MIB.</t>

          <t>Tunable Configuration Objects - objects whose values affect
          timing or attempt bounds on the OLSRv2 routing process.</t>

          <t>State Objects - automatically generated values which define the
          current operating state of the OLSRv2 routing process in the router.</t>

          <t>Performance Objects - automatically generated values which help
          an administrator or automated tool to assess the performance of the
          OLSRv2 routing process on the router and the overall packet forwarding
          performance within the MANET routing domain.</t>
        </list>
      </section>
    </section>

    <section title="Structure of the MIB Module">
      <t>This section presents the structure of the Optimized
      Link State Routing version 2 Management Information Base
      (OLSRv2-MIB) module. The
      objects are arranged into the following groups:</t>

      <list style="symbols">
        <t>olsrMIBNotifications - defines the notifications associated with the
        OLSRv2-MIB.</t>

        <t>olsrMIBObjects - defines the objects forming the basis for the OLSRv2-MIB.
        These objects are divided up by function into the following
        groups:</t>

        <list style="symbols">
          <t>Configuration Group - This group contains the OLSR objects that
          configure specific options that determine the overall operation of
          the OLSR routing process and the unicast packet forwarding performance.</t>

          <t>State Group - Contains information describing the current state
          of the OLSR routing process such as the ...</t>

          <t>Performance Group - Contains objects which help to characterize
          the performance of the OLSR routing process, typically statistics
          counters.</t>
        </list>

        <t>olsrMIBConformance - defines minimal and full conformance of
        implementations to this OLSRv2-MIB.</t>
      </list>

      <section title="Textual Conventions">
        <!--Generic and Common Textual Conventions 
        can be found summarized at 
        http://www.ops.ietf.org/mib-common-tcs.html-->

        <t>The textual conventions used in the OLSRv2-MIB are as follows. The
        RowStatus textual convention is imported from RFC 2579 <xref
        target="RFC2579" />.  Further, ...</t>
      </section>


      <section title="The Configuration Group">
        <t>The OLSR device is configured with a set of controls. The list of
        configuration controls for the OLSR device follow.</t>

        <list style="symbols">
          <t>...</t>
        </list>
      </section>

      <section title="The State Group">
        <t>The State Subtree reports current state information.  Specifically, ...</t>

        <list style="symbols">
          <t>...</t>
        </list>
      </section>

      <section title="The Performance Group">
        <t>The Performance subtree reports primarily counters that relate to
        OLSR routing performance.  Specifically, ...
        </t>

        <list style="symbols">
            <t>...</t>
        </list>
      </section>

      <section title="The Notifications Group">
        <t>The Notifications Subtree contains the list of notifications
        supported within the OLSRv2-MIB and their intended purpose or utility.
        This group is currently empty.</t>
      </section>
    </section>

    <section title="Relationship to Other MIB Modules">
      <t>[TODO]: The text of this section specifies the relationship of the
      MIB modules contained in this document to other standards, particularly
      to standards containing other MIB modules. Definitions imported from
      other MIB modules and other MIB modules that SHOULD be implemented in
      conjunction with the MIB module contained within this document are
      identified in this section.</t>

      <section title="Relationship to the SNMPv2-MIB">
        <t>The 'system' group in the SNMPv2-MIB <xref target="RFC3418"></xref>
        is defined as being mandatory for all systems, and the objects apply
        to the entity as a whole. The 'system' group provides identification
        of the management entity and certain other system-wide data. The
        OLSRv2-MIB does not duplicate those objects.</t>
      </section>

      <section title="Relationship to the IF-MIB">
        <t>[TODO] This section is included as an example; If the MIB module is
        not an adjunct of the Interface MIB, then this section should be
        removed.</t>
      </section>

      <section title="MIB modules required for IMPORTS">
        <t>[TODO]: Citations are not permitted within a MIB module, but any
        module mentioned in an IMPORTS clause or document mentioned in a
        REFERENCE clause is a Normative reference, and must be cited someplace
        within the narrative sections. If there are imported items in the MIB
        module, such as Textual Conventions, that are not already cited, they
        can be cited in text here. Since relationships to other MIB modules
        should be described in the narrative text, this section is typically
        used to cite modules from which Textual Conventions are imported.</t>

        <t>The following OLSRv2-MIB module IMPORTS objects from SNMPv2-SMI <xref
        target="RFC2578"></xref>, SNMPv2-TC <xref target="RFC2579"></xref>,
        SNMPv2-CONF <xref target="RFC2580"></xref>, and IF-MIB <xref
        target="RFC2863"></xref></t>
      </section>
    </section>

    <!-- Definitions section -->

    <!-- This section contains the MIB module(s) defined by the specification.
         These MIB modules MUST be written in SMIv2 [RFC2578] [RFC2579]
         [RFC2580].

         See Section 4 of RFC 4181 for guidelines on SMIv2 usage.

	 See Appendix C of RFC 4181 for suggested naming conventions

         A list of tools that can help automate the process of 
         checking mib definitions can be found at 
         http://www.ops.ietf.org/mib-review-tools.html
    -->

    <section title="Definitions">
      <t></t>

      <figure>
        <artwork><![CDATA[

   MANET-OLSRv2-MIB DEFINITIONS ::= BEGIN

   IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE,
      Counter32, mib-2
         FROM SNMPv2-SMI                          -- [RFC2578]
      TruthValue
         FROM SNMPv2-TC                           -- [RFC2579]
      MODULE-COMPLIANCE, OBJECT-GROUP
         FROM SNMPv2-CONF                         -- [RFC2580]
      InterfaceIndex
         FROM IF-MIB                              -- [RFC2863]
      InetAddress, InetAddressType,
      InetAddressPrefixLength
         FROM INET-ADDRESS-MIB                    -- [RFC4001]
      ;

   manetOlsrv2MIB MODULE-IDENTITY
      LAST-UPDATED "200810241300Z"  -- October 24, 2008
      ORGANIZATION "IETF MANET Working Group"
      CONTACT-INFO
         "WG E-Mail: manet@ietf.org

          WG Chairs: ian.chakeres@gmail.com
                     jmacker@nrl.navy.mil


          Editors:   Robert G. Cole
                     Johns Hopkins University
                     Applied Physics Lab and
                     Department of Computer Science
                     11000 Johns Hopkins Road
                     Room 02-257
                     Laurel, MD 22014
                     USA
                     +1 443 778-6951
                     robert.cole@jhuapl.edu

                     Thomas Heide Clausen
                     LIX, Ecole Polytechnique
                     France
                     T.Clausen@computer.org"

      DESCRIPTION
         "This MIB module contains managed object definitions 
          for the Manet OLSRv2 routing process defined in: 
          Clausen, T. et.al., Optimized Link State Routing 
          version 2 draft-ietf-manet-olsrv2-07, July 10, 2008. 

          Copyright (C) The IETF Trust (2008). This version
          of this MIB module is part of RFC xxxx; see the RFC
          itself for full legal notices."

        -- Revision History
        REVISION    "200810241300Z"   -- October 24, 2008
        DESCRIPTION
           "Initial draft of this MIB module published as
            draft-cole-manet-olsrv2-mib-00.txt."
        -- RFC-Editor assigns XXXX
        ::= { mib-2 998 }   -- to be assigned by IANA

   --
   -- Top-Level Object Identifier Assignments
   --

   olsrv2MIBNotifications OBJECT IDENTIFIER ::= { manetOlsrv2MIB 0 }
   olsrv2MIBObjects       OBJECT IDENTIFIER ::= { manetOlsrv2MIB 1 }
   olsrv2MIBConformance   OBJECT IDENTIFIER ::= { manetOlsrv2MIB 2 }

   --
   -- olsrv2ConfigurationGroup
   --
   --    This group contains the OLSRv2 objects that configure specific
   --    options that determine the overall performance and operation
   --    of the unicast routing process for the router device
   --    and its interfaces.
   --

   olsrv2ConfigurationGroup OBJECT IDENTIFIER ::= {olsrv2MIBObjects 1}

   olsrv2OperationalMode  OBJECT-TYPE
      SYNTAX      INTEGER {
                          withNHDP(1)
                          }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The OLSRv2 node operational mode.

          The value withNHDP(1) indicates ..."
      DEFVAL { 1 }
   ::= { olsrv2ConfigurationGroup 1 }



   -- Protocol Parameters for the OLSRv2 routing process.
   -- These are categorized following Section 5 of the 
   -- OLSRv2 draft.

   -- Local history times

   olsrv2OHoldTime  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..255)
      UNITS       "seconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The O_HOLD_TIME is used to define the time 
          for which a recently used and replaced 
          originator address is used to recognize 
          the node's own messages.

          The following constraint applies to this 
          parameter: olsrv2OHoldTime >= 0"
      DEFVAL { TBD }
      REFERENCE
         "The OLSR version 2 draft. 
          Section 5 on Protocol Parameters."
   ::= { olsrv2ConfigurationGroup 2 }



   -- Message intervals

   olsrv2TcInterval  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..255)
      UNITS       "seconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The TC_INTERVAL  - is the maximum time 
          between the transmission of two successive 
          TC messages by this node.  When no TC 
          messages are sent in response to local 
          network changes (by design, or because the
          local network is not changing) then TC 
          messages SHOULD be sent at a regular 
          interval TC_INTERVAL, possibly modified 
          by jitter as specified in [RFC5148].

          The following constraint applies to this 
          parameter:
 
              olsrv2TcInterval > 0
              olsrv2TcInterval >= olsrv2TcMinInterval"
      DEFVAL { TBD }
      REFERENCE
         "The OLSR version 2 draft. 
          Section 5 on Protocol Parameters."
   ::= { olsrv2ConfigurationGroup 3 }

   olsrv2TcMinInterval  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..255)
      UNITS       "seconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The TC_MIN_INTERVAL is the minimum 
          interval between transmission of two 
          successive TC messages by this node.  
          (This minimum interval MAY be modified 
          by jitter, as specified in [RFC5148].)

          The following constraint applies to this 
          parameter:

             TC_MIN_INTERVAL >= 0
             TC_INTERVAL >= TC_MIN_INTERVAL"
      DEFVAL { TBD }
      REFERENCE
         "The OLSR version 2 draft. 
          Section 5 on Protocol Parameters."
   ::= { olsrv2ConfigurationGroup 4 }


   -- Advertised information validity times

   olsrv2THoldTime  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..255)
      UNITS       "seconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The olsrv2THoldTime is used to define the 
          minimum value in the VALIDITY_TIME TLV 
          included in all TC messages sent by this node.
          If a single value of parameter TC_HOP_LIMIT 
          (see Section 5.6) is used then this will be 
          the only value in that TLV.

          The following constraint applies to this 
          parameter:

              T_HOLD_TIME > 0
              A_HOLD_TIME >= 0
              T_HOLD_TIME >= TC_INTERVAL
 
          If TC messages can be lost, then both 
          T_HOLD_TIME and A_HOLD_TIME SHOULD be 
          significantly greater than TC_INTERVAL; 
          a value >= 3 x TC_INTERVAL is RECOMMENDED.
 
          T_HOLD_TIME MUST be representable as 
          described in [timetlv]."
      DEFVAL { TBD }
      REFERENCE
         "The OLSR version 2 draft. 
          Section 5 on Protocol Parameters."
   ::= { olsrv2ConfigurationGroup 5 }

   olsrv2AHoldTime  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..255)
      UNITS       "seconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The olsrv2AHoldTime is the period during 
          which TC messages are sent after they no 
          longer have any advertised information 
          to report, but are sent in order to 
          accelerate outdated information removal by 
          other nodes.

          The following constraint applies to this 
          parameter:

              T_HOLD_TIME > 0
              A_HOLD_TIME >= 0
              T_HOLD_TIME >= TC_INTERVAL
 
          If TC messages can be lost, then both 
          T_HOLD_TIME and A_HOLD_TIME SHOULD be 
          significantly greater than TC_INTERVAL; 
          a value >= 3 x TC_INTERVAL is RECOMMENDED.
 
          T_HOLD_TIME MUST be representable as 
          described in [timetlv]."
      DEFVAL { TBD }
      REFERENCE
         "The OLSR version 2 draft. 
          Section 5 on Protocol Parameters."
   ::= { olsrv2ConfigurationGroup 6 }


   -- Received message validity times

   olsrv2RxHoldTime  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..255)
      UNITS       "seconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The olsrv2RxHoldTime is an interface parameter, 
          and is the period after receipt of a message 
          by the appropriate OLSRv2 interface of this
          node for which that information is recorded, 
          in order that the message is recognized as 
          having been previously received on this
          OLSRv2 interface.

          The following constraint applies to this 
          parameter:

              RX_HOLD_TIME > 0
 
          All of these parameters SHOULD be greater 
          than the maximum difference in time that a 
          message may take to traverse the MANET,
          taking into account any message forwarding 
          jitter as well as propagation, queuing, 
          and processing delays."
      DEFVAL { TBD }
      REFERENCE
         "The OLSR version 2 draft. 
          Section 5 on Protocol Parameters."
   ::= { olsrv2ConfigurationGroup 7 }

   olsrv2PHoldTime  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..255)
      UNITS       "seconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The olsrv2PHoldTime is the period after 
          receipt of a message which is processed by 
          this node for which that information is 
          recorded, in order that the message is 
          not processed again if received again. 

          The following constraint applies to this 
          parameter:

              P_HOLD_TIME > 0
 
          All of these parameters SHOULD be greater 
          than the maximum difference in time that a 
          message may take to traverse the MANET,
          taking into account any message forwarding 
          jitter as well as propagation, queuing, 
          and processing delays."
      DEFVAL { TBD }
      REFERENCE
         "The OLSR version 2 draft. 
          Section 5 on Protocol Parameters."
   ::= { olsrv2ConfigurationGroup 8 }

   olsrv2FHoldTime  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..255)
      UNITS       "seconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The olsrv2FHoldTime is the period after 
          receipt of a message which is forwarded 
          by this node for which that information 
          is recorded, in order that the message 
          is not forwarded again if received again.

          The following constraint applies to this 
          parameter:

              F_HOLD_TIME > 0
 
          All of these parameters SHOULD be greater 
          than the maximum difference in time that a 
          message may take to traverse the MANET,
          taking into account any message forwarding 
          jitter as well as propagation, queuing, 
          and processing delays."
      DEFVAL { TBD }
      REFERENCE
         "The OLSR version 2 draft. 
          Section 5 on Protocol Parameters."
   ::= { olsrv2ConfigurationGroup 9 }


   -- Jitter times

   olsrv2TpMaxJitter  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..65535)
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "If jitter, as defined in [RFC5148], is used 
          then the jitter parameters are as follows:
 
          olsrv2TpMaxJitter represents the value of 
          MAXJITTER used in [RFC5148] for periodically 
          generated TC messages sent by this node.

          For constraints on these parameters,
          see [RFC5148]."
      DEFVAL { TBD }
      REFERENCE
         "The OLSR version 2 draft. 
          Section 5 on Protocol Parameters."
   ::= { olsrv2ConfigurationGroup 10 }

   olsrv2TtMaxJitter  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..65535)
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "If jitter, as defined in [RFC5148], is used 
          then the jitter parameters are as follows:
 
          olsrv2TtMaxJitter represents the value of 
          MAXJITTER used in [RFC5148] for externally 
          triggered TC messages sent by this node.

          For constraints on these parameters,
          see [RFC5148]."
      DEFVAL { TBD }
      REFERENCE
         "The OLSR version 2 draft. 
          Section 5 on Protocol Parameters."
   ::= { olsrv2ConfigurationGroup 11 }

   olsrv2FMaxJitter  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..65535)
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "If jitter, as defined in [RFC5148], is used 
          then the jitter parameters are as follows:
 
          olsrv2FMaxJitter represents the default 
          value of MAXJITTER used in [RFC5148] for 
          messages forwarded by this node.  However 
          before using F_MAXJITTER a node MAY attempt 
          to deduce a more appropriate value of MAXJITTER, 
          for example based on any INTERVAL_TIME or
          VALIDITY_TIME TLVs contained in the message 
          to be forwarded.

          For constraints on these parameters,
          see [RFC5148]."
      DEFVAL { TBD }
      REFERENCE
         "The OLSR version 2 draft. 
          Section 5 on Protocol Parameters."
   ::= { olsrv2ConfigurationGroup 12 }


   -- Hop limits

   olsrv2TcHopLimit  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..255)
      UNITS       "hops"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The parameter olsrv2TcHopLimit is the 
          hop limit set in each TC message.
          TC_HOP_LIMIT MAY be a single fixed value, 
          or MAY be different in TC messages sent 
          by the same node.

          The following constraint applies to this 
          parameter:

              The maximum value of 
              olsrv2TcHopLimit >= the network diameter 
              in hops, a value of 255 is RECOMMENDED.
 
              All values of olsrv2TcHopLimit >= 2."
       DEFVAL { TBD }
       REFERENCE
         "The OLSR version 2 draft. 
          Section 5 on Protocol Parameters."
   ::= { olsrv2ConfigurationGroup 13 }


   -- Willingness

   olsrv2Williness  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..255)
      UNITS       ""
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The olsrv2Williness MUST be in the range
          WILL_NEVER (0) to WILL_ALWAYS (255), inclusive, 
          and represents its willingness to be an MPR, 
          and hence its willingness to forward messages 
          and be an intermediate node on routes. 

          Note: Need to rethink the range and units for
          this parameter."
      DEFVAL { TBD }
      REFERENCE
         "The OLSR version 2 draft. 
          Section 5 on Protocol Parameters."
   ::= { olsrv2ConfigurationGroup 14 }



   --
   -- olsrv2StateGroup
   --
   --    Contains information describing the current state of the
   --    OLSRv2 routing process such as the ...
   --

   --
   -- Note: the OLSRv2 draft discusses the option for dynamically
   -- changing the values of the configuration parameters
   -- identified above.  In this case we would want to include
   -- a set of state objects (potentially) which track the current
   -- values or the range of values that these dynamic objects
   -- have.
   --

   olsrv2StateGroup  OBJECT IDENTIFIER ::= { olsrv2MIBObjects 2 }

   olsrv2NodeStatus  OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The current status of the OLSRv2 node 
          routing process ..."
   ::= { olsrv2StateGroup 1 }

    --
    -- The OLSRv2 draft defines several information bases 
    -- to be maintained by the OLSRv2 compliant nodes.
    -- We list these in the order defined in the OLSRv2
    -- draft.
    --

    --
    -- Local Information Base  - as defined in [nhdp], 
    -- extended by the addition of an Originator Set, 
    -- defined in Section 6.1.1 and a Local Attached 
    -- Network Set, defined in Section 6.1.2.
    --

    -- Originator Set

    olsrv2LibOrigSetTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF Olsrv2LibOrigSetEntry
       MAX-ACCESS   not-accessible
       STATUS       obsolete
       DESCRIPTION
          " A node's Originator Set records addresses 
            that were recently originator addresses.  
            If a node's originator address is immutable
            then this set is always empty and MAY be 
            omitted.  It consists of Originator Tuples: 
            (O_orig_addr, O_time)."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2StateGroup 2 }

    olsrv2LibOrigSetEntry  OBJECT-TYPE
       SYNTAX      Olsrv2LibOrigSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          " A node's Originator Set records addresses 
            that were recently originator addresses.  
            If a node's originator address is immutable
            then this set is always empty and MAY be 
            omitted.  It consists of Originator Tuples: 
            (O_orig_addr, O_time)."
       REFERENCE
          "The OLSRv2 draft."
       INDEX { olsrv2LibOrigSetAddrType,
               olsrv2LibOrigSetAddr }
    ::= { olsrv2LibOrigSetTable 1 }

    Olsrv2LibOrigSetEntry ::=
       SEQUENCE {
          olsrv2LibOrigSetAddrType     
            InetAddressType,
          olsrv2LibOrigSetAddr
            InetAddress,
          olsrv2LibOrigSetExpireTime
            Unsigned32
         }

    olsrv2LibOrigSetAddrType  OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "The type of the olsrv2LibOrigSetAddr, as defined
           in the InetAddress MIB [RFC 4001]."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2LibOrigSetEntry 1 }

    olsrv2LibOrigSetAddr  OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "A recently used originator address
           by this node."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2LibOrigSetEntry 2 }

     olsrv2LibOrigSetExpireTime  OBJECT-TYPE
       SYNTAX      Unsigned32 (0..65535)
       UNITS      "milliseconds"
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "This object specifies the time at which this 
           entry expires and MUST be removed.
 
           Note: need to change the type here to a time/date type,
           not a time in seconds left to expire."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2LibOrigSetEntry 3 }




    -- Local Attached Network Set

    olsrv2LibLocAttNetSetTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF Olsrv2LibLocAttNetSetEntry
       MAX-ACCESS   not-accessible
       STATUS       obsolete
       DESCRIPTION
          " A node's Local Attached Network Set records 
            its local non-OLSRv2 interfaces that can act 
            as gateways to other networks.  The Local
            Attached Network Set is not modified by this 
            protocol.  This protocol MAY respond to changes 
            to the Local Attached Network Set, which MUST
            reflect corresponding changes in the node's status.

            Note: Need clarification on the above claim that
            this set records interface information.  The
            tuple included in this set is only network
            address information."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2StateGroup 3 }

    olsrv2LibLocAttNetSetEntry  OBJECT-TYPE
       SYNTAX      Olsrv2LibLocAttNetSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "The entries include the Local Attached 
           Network Tuples:
             
              (AL_net_addr, AL_dist)

           where:

              AL_net_addr is the network address 
              of an attached network which can
              be reached via this node.

              AL_dist is the number of hops to 
              the network with address AL_net_addr 
              from this node."
       REFERENCE
          "The OLSRv2 draft."
       INDEX { olsrv2LibLocAttNetSetAddrType,
               olsrv2LibLocAttNetSetAddr,
               olsrv2LibLocAttNetSetAddrPrefixLen }
    ::= { olsrv2LibLocAttNetSetTable 1 }

    Olsrv2LibLocAttNetSetEntry ::=
       SEQUENCE {
          olsrv2LibLocAttNetSetAddrType     
            InetAddressType,
          olsrv2LibLocAttNetSetAddr
            InetAddress,
          olsrv2LibLocAttNetSetAddrPrefixLen
            InetAddressPrefixLength,
          olsrv2LibLocAttNetSetDistance
            Unsigned32
         }

    olsrv2LibLocAttNetSetAddrType  OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "The type of the olsrv2LibLocAttNetSetAddr, as defined
           in the InetAddress MIB [RFC 4001]."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2LibLocAttNetSetEntry 1 }

    olsrv2LibLocAttNetSetAddr  OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "This is the network address of an attached 
           network which can be reached via this node.
           This node will act as a gateway for this
           address for the OLSR MANET."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2LibLocAttNetSetEntry 2 }

    olsrv2LibLocAttNetSetAddrPrefixLen  OBJECT-TYPE
      SYNTAX      InetAddressPrefixLength
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Indicates the number of leading one bits that form the
          mask to be logical-ANDed with the destination address
          before being compared to the value in the 
          olsrv2LibLocAttNetSetAddr field."
      REFERENCE
         "The OLSRv2 draft."
   ::= { olsrv2LibLocAttNetSetEntry 3 }


     olsrv2LibLocAttNetSetDistance  OBJECT-TYPE
       SYNTAX      Unsigned32 (1..255)
       UNITS      "hops"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "This object specifies the number of hops 
           to the network with address AL_net_addr 
           from this node."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2LibOrigSetEntry 4 }


 

    --
    -- Interface Information Bases  - as defined in 
    -- [nhdp], one Interface Information Base for 
    -- each OLSRv2 interface.
    --

    -- Note: The IIB is fully defined in the NHRP
    -- and its associated MIB.




    --
    -- Node Information Base  - as defined in [nhdp], 
    -- extended by the addition of three elements to 
    -- each Neighbor Tuple, as defined in Section 6.2.
    --

    -- Neighbor Set

    olsrv2NibNeighborSetTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF Olsrv2NibNeighborSetEntry
       MAX-ACCESS   not-accessible
       STATUS       obsolete
       DESCRIPTION
          "Each Neighbor Tuple in the Neighbor Set, defined 
           in [nhdp], has these additional elements:
                N_willingness
                N_mpr
                N_mpr_selector
           defined here as extensions."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2StateGroup 4 }

    olsrv2NibNeighborSetEntry  OBJECT-TYPE
       SYNTAX      Olsrv2NibNeighborSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "Each Neighbor Tuple in the Neighbor Set, defined 
           in [nhdp], has these additional elements:
                N_willingness
                N_mpr
                N_mpr_selector
           defined here as extensions."
       REFERENCE
          "The OLSRv2 draft."
       INDEX { olsrv2NibNeighborSetAddrType,
               olsrv2NibNeighborSetAddr }
    ::= { olsrv2NibNeighborSetTable 1 }

    Olsrv2NibNeighborSetEntry ::=
       SEQUENCE {
          olsrv2NibNeighborSetAddrType     
            InetAddressType,
          olsrv2NibNeighborSetAddr
            InetAddress,
          olsrv2NibNeighborSetNWilliness
            Unsigned32,
          olsrv2NibNeighborSetNMpr
            TruthValue,
          olsrv2NibNeighborSetNMprSelector
            TruthValue
         }

    olsrv2NibNeighborSetAddrType  OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "The type of the olsrv2NibNeighborSetAddr, as defined
           in the InetAddress MIB [RFC 4001]."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2NibNeighborSetEntry 1 }

    olsrv2NibNeighborSetAddr  OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "This is the network address of a one-hop
           neighbor node." 
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2NibNeighborSetEntry 2 }

     olsrv2NibNeighborSetNWilliness  OBJECT-TYPE
       SYNTAX      Unsigned32 (1..255)
       UNITS      ""
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "This object, N_willingness, is the neighbor
           node's willingness to be selected as an MPR, in
           the range from WILL_NEVER (0) to WILL_ALWAYS
           (255), both inclusive."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2NibNeighborSetEntry 3 }

     olsrv2NibNeighborSetNMpr  OBJECT-TYPE
       SYNTAX      TruthValue
       UNITS      ""
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "This object, N_mpr, is a boolean flag, 
           describing if this neighbor is selected as
           an MPR by this node.

           When set to 'true', this neighbor is selected
           as an MPR by this node.  When set to 'false', 
           it is not selected by this node as an MPR."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2NibNeighborSetEntry 4 }

     olsrv2NibNeighborSetNMprSelector  OBJECT-TYPE
       SYNTAX      TruthValue
       UNITS      ""
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "This object, N_mpr_selector, is a boolean flag, 
           describing if this neighbor has selected this node 
           as an MPR, i.e. is an MPR selector of this node.

           When set to 'true', then this node is selected as 
           an MPR by the neighbor node.  When set to 'false', 
           then this node is not selected by the neighbor
           as an MPR"
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2NibNeighborSetEntry 5 }






    --
    -- Topology Information Base  - this Information 
    -- Base is specific to OLSRv2, and is defined in 
    -- Section 6.3.
    --

    -- Advertised Neighbor Set

     olsrv2TipAdNeighborSetSeqNo  OBJECT-TYPE
       SYNTAX      Unsigned32 (0..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The Advertised Neighbor Set Sequence Number
           (ANSN) is maintained associated with the
           olsrv2TipAdNeighborSetTable.  Each time the 
           Advertised Neighbor Set Table is updated, the
           ANSN MUST be incremented.  The ANSN MUST also 
           be incremented if there is a change to the 
           set of Local Attached Network Tuples that are to
           be advertised in the node's TC messages."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2StateGroup 5 }

    olsrv2TipAdNeighborSetTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF Olsrv2TibAdNeighborSetEntry
       MAX-ACCESS   not-accessible
       STATUS       obsolete
       DESCRIPTION
          "A node's Advertised Neighbor Set Table contains 
           interface addresses of symmetric 1-hop neighbors 
           which are to be advertised through TC messages."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2StateGroup 6 }

    olsrv2TibAdNeighborSetEntry  OBJECT-TYPE
       SYNTAX      Olsrv2TibAdNeighborSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "A node's Advertised Neighbor Set Table contains 
           interface addresses of symmetric 1-hop neighbors 
           which are to be advertised through TC messages."
       REFERENCE
          "The OLSRv2 draft."
       INDEX { olsrv2TibAdNeighborSetIndex }
    ::= { olsrv2TibAdNeighborSetTable 1 }

    Olsrv2TibAdNeighborSetEntry ::=
       SEQUENCE {
          olsrv2TibAdNeighborSetIndex
            Unsigned32,
          olsrv2TibAdNeighborSetAddrType     
            InetAddressType,
          olsrv2NibNeighborSetAddr
            InetAddress
         }

     olsrv2TibAdNeighborSetIndex  OBJECT-TYPE
       SYNTAX      Unsigned32 (1..65535)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "This object is the index into this table."
    ::= { olsrv2TibAdNeighborSetEntry 1 }

    olsrv2TibAdNeighborSetAddrType  OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The type of the olsrv2TibAdNeighborSetAddr, as defined
           in the InetAddress MIB [RFC 4001]."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibAdNeighborSetEntry 2 }

    olsrv2TibAdNeighborSetAddr  OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "This is the interface address of a
           symmetric 1-hop neighbor which is to be 
           advertised through TC messages."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibAdNeighborSetEntry 3 }



    -- Advertised Remote Node Set

    -- Note: Need to think more about the structure of this table
    -- due to the existence of multiple IfAddrs per Remote Node

    olsrv2TipAdRemoteNodeSetTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF Olsrv2TibAdRemoteNodeSetEntry
       MAX-ACCESS   not-accessible
       STATUS       obsolete
       DESCRIPTION
          "A node's Advertising Remote Node Set records 
           information describing each remote node in the
           network that transmits TC messages."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2StateGroup 7 }

    olsrv2TibAdRemoteNodeSetEntry  OBJECT-TYPE
       SYNTAX      Olsrv2TibAdRemoteNodeSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "A node's Advertised Neighbor Set Table entry
           It consists of Advertising Remote Node Tuples:

               (AR_orig_addr, AR_seq_number, 
                            AR_iface_addr_list, AR_time)"
       REFERENCE
          "The OLSRv2 draft."
       INDEX { olsrv2TibAdRemoteNodeSetAddrType,
               olsrv2TibAdRemoteNodeSetAddr,
               olsrv2TibAdRemoteNodeSetIndex }
    ::= { olsrv2TibAdNeighborSetTable 1 }

    Olsrv2TibAdNeighborSetEntry ::=
       SEQUENCE {
          olsrv2TibAdRemoteNodeSetAddrType     
            InetAddressType,
          olsrv2TibAdRemoteNodeSetAddr
            InetAddress,
          olsrv2TibAdRemoteNodeSetIndex
            Unsigned32,
          olsrv2TibAdRemoteNodeSetMaxSeqNo     
            Unsigned32,
          olsrv2TibAdRemoteNodeSetIfAddrType     
            InetAddressType,
          olsrv2TibAdRemoteNodeSetIfAddr
            InetAddress,
          olsrv2TibAdRemoteNodeSetExpireTime
            Unsigned32          
         }

    olsrv2TibAdRemoteNodeSetAddrType  OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "The type of the olsrv2TibAdRemoteNodeSetAddr,
           as defined in the InetAddress MIB [RFC 4001]."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibAdRemoteNodeSetEntry 1 }

    olsrv2TibAdRemoteNodeSetAddr  OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "This is the originator address of a received 
           TC message."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibAdRemoteNodeSetEntry 2 }

     olsrv2TibAdRemoteNodeSetIndex  OBJECT-TYPE
       SYNTAX      Unsigned32 (1..65535)
       UNITS      ""
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "This object is an additional index for each
           Remote Node's IfAddr associated with the
           olsrv2TibAdRemoteNodeSetAddr."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibAdRemoteNodeSetEntry 3 }

     olsrv2TipAdRemoteNodeSetMaxSeqNo  OBJECT-TYPE
       SYNTAX      Unsigned32 (0..65535)
       UNITS       ""
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The  is the greatest ANSN in any TC message 
           received which originated from the node 
           with originator address AR_orig_addr
          (i.e. which contributed to the information 
          contained in this Tuple)."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibAdRemoteNodeSetEntry 4 }


    olsrv2TibAdRemoteNodeSetAddrType  OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The type of the olsrv2TibAdRemoteNodeSetIfAddr,
           as defined in the InetAddress MIB [RFC 4001]."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibAdRemoteNodeSetEntry 5 }

    olsrv2TibAdRemoteNodeSetIfAddr  OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "This is is an unordered list of the interface 
           addresses of the node with originator address 
           AR_orig_addr."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibAdRemoteNodeSetEntry 6 }

     -- Need to change this type to a time syntax.
     olsrv2TipAdRemoteNodeSetExpireTime  OBJECT-TYPE
       SYNTAX      Unsigned32 (0..65535)
       UNITS       ""
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The AR_time  is the time at which this 
           Tuple expires and MUST be removed."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibAdRemoteNodeSetEntry 7 }

    


    -- Topology Set

    -- Note: Need to think more about the structure of this table
    -- due to the existence of multiple DestAddrs per Orig Addr

    olsrv2TipTopologySetTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF Olsrv2TibTopologySetEntry
       MAX-ACCESS   not-accessible
       STATUS       obsolete
       DESCRIPTION
          "A node's Topology Set records topology 
           information about the network."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2StateGroup 8 }

    olsrv2TibTopologySetEntry  OBJECT-TYPE
       SYNTAX      Olsrv2TibTopologySetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "It consists of Topology Tuples:

               (T_dest_iface_addr, T_orig_addr, 
                            T_seq_number, T_time)"
       REFERENCE
          "The OLSRv2 draft."
       INDEX { olsrv2TibTopologySetAddrType,
               olsrv2TibTopologySetOrigAddr,
               olsrv2TibTopologySetDestIndex }
    ::= { olsrv2TibTopologySetTable 1 }

    Olsrv2TibTopologySetEntry ::=
       SEQUENCE {
          olsrv2TibTopologySetAddrType     
            InetAddressType,
          olsrv2TibTopologySetOrigAddr
            InetAddress,
          olsrv2TibTopologySetDestIndex
            Unsigned32,
          olsrv2TibTopologySetDestIfAddr
            InetAddress,
          olsrv2TibTopologySetSeqNo
            Unsigned32,
          olsrv2TibTopologySetExpireTime
            Unsigned32          
         }

    olsrv2TibTopologySetAddrType  OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "The type of the olsrv2TibTopologySetOrigAddr
           and olsrv2TibTopologySetDestIfAddr,
           as defined in the InetAddress MIB [RFC 4001]."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibTopologySetEntry 1 }

    olsrv2TibTopologySetOrigAddr  OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "This is the originator address of a node 
           which is the last hop on a path towards 
           the node with interface address
           T_dest_iface_addr."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibTopologySetEntry 2 }

     olsrv2TibTopologySetDestIndex  OBJECT-TYPE
       SYNTAX      Unsigned32 (1..65535)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "This is the index for the destination
           interface associated with this original
           address and table entry."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibTopologySetEntry 3 }

    olsrv2TibTopologySetDestIfAddr  OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "This is an interface address of a 
           destination node, which may be reached 
           in one hop from the node with originator
           address T_orig_addr."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibTopologySetEntry 4 }

     olsrv2TipTopologySetSeqNo  OBJECT-TYPE
       SYNTAX      Unsigned32 (0..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The is the greatest ANSN in any 
           TC message received which originated from 
           the node with originator address T_orig_addr
           (i.e. which contributed to the information 
           contained in this Tuple)."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibTopologySetEntry 5 }

     -- Need to change this type to a time syntax.
     olsrv2TipTopologySetExpireTime  OBJECT-TYPE
       SYNTAX      Unsigned32 (0..65535)
       UNITS       ""
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "This is the time at which this 
           Tuple expires and MUST be removed."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibTopologySetEntry 6 }



  
    -- Attached Network Set

    -- Note: Need to think more about the structure of this table
    -- due to the existence of multiple NetAddrs per Orig Addr

    olsrv2TipAttNetworksSetTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF Olsrv2TibAttNetworksSetEntry
       MAX-ACCESS   not-accessible
       STATUS       obsolete
       DESCRIPTION
          "A node's Attached Network Set records information 
           about networks attached to other nodes."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2StateGroup 9 }

    olsrv2TibAttNetworksSetEntry  OBJECT-TYPE
       SYNTAX      Olsrv2TibAttNetworksSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "It consists of Attached Network Tuples:

                   (AN_net_addr, AN_orig_addr, 
                          AN_dist, AN_seq_number, AN_time)"

       REFERENCE
          "The OLSRv2 draft."
       INDEX { olsrv2TibAttNetworksSetAddrType,
               olsrv2TibAttNetworksSetOrigAddr,
               olsrv2TibAttNetworksSetDestIndex }
    ::= { olsrv2TibTopologySetTable 1 }

    Olsrv2TibAttNetworksSetEntry ::=
       SEQUENCE {
          olsrv2TibAttNetworksSetAddrType     
            InetAddressType,
          olsrv2TibAttNetworksSetOrigAddr
            InetAddress,
          olsrv2TibAttNetworksSetDestIndex
            Unsigned32,
          olsrv2TibAttNetworksSetDestIfAddr
            InetAddress,
          olsrv2TibAttNetworksSetDestIfAddrPrefLen
            InetAddressPrefixLength,
          olsrv2TibAttNetworksSetSeqNo
            Unsigned32,
          olsrv2TibAttNetworksSetExpireTime
            Unsigned32          
         }

    olsrv2TibAttNetworksSetAddrType  OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "The type of the olsrv2TibAttNetworksSetOrigAddr
           and olsrv2TibAttNetworksSetDestIfAddr,
           as defined in the InetAddress MIB [RFC 4001]."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibAttNetworksSetEntry 1 }

    olsrv2TibAttNetworksSetOrigAddr  OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "This is the originator address of a 
           node which can act as gateway to the 
           network with address AN_net_addr, 
           note that this does not include a 
           prefix length."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibAttNetworksSetEntry 2 }

     olsrv2TibAttNetworksSetDestNetIndex  OBJECT-TYPE
       SYNTAX      Unsigned32 (1..65535)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "This is the index for the destination
           network associated with this original
           address and table entry."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibAttNetworksSetEntry 3 }

    olsrv2TibAttNetworksSetDestNetAddr  OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "This is is the network address of an 
           attached network, which may be reached via 
           the node with originator address AN_orig_addr."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibAttNetworksSetEntry 4 }

    olsrv2TibAttNetworksSetDestAddrPrefixLen  OBJECT-TYPE
      SYNTAX      InetAddressPrefixLength
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Indicates the number of leading one bits that form the
          mask to be logical-ANDed with the destination address
          before being compared to the value in the 
          olsrv2TibAttNetworksSetDestNetAddr field."
      REFERENCE
         "The OLSRv2 draft."
   ::= { olsrv2TibAttNetworksSetEntry 5 }

     olsrv2TipAttNetworksSetDist  OBJECT-TYPE
       SYNTAX      Unsigned32 (0..255)
       MAX-ACCESS  read-only
       UNITS       "hops"
       STATUS      current
       DESCRIPTION
          "The is the number of hops to the network 
           with address AN_net_addr from the node with 
           originator address AN_orig_addr."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibAttNetworksSetEntry 6 }

     olsrv2TipAttNetworksSetSeqNo  OBJECT-TYPE
       SYNTAX      Unsigned32 (0..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The is the greatest ANSN in any TC 
           message received which originated from the 
           node with originator address AN_orig_addr
           (i.e. which contributed to the information 
           contained in this Tuple)."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibAttNetworksSetEntry 7 }

     -- Need to change this type to a time syntax.
     olsrv2TipAttNetworksSetExpireTime  OBJECT-TYPE
       SYNTAX      Unsigned32 (0..65535)
       UNITS       ""
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "This is the time at which this 
           Tuple expires and MUST be removed."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibAttNetworksSetEntry 8 }




    -- Routing Set

    -- Note:  Does this RoutingSetTable overlap too much with the
    -- information already available in the latest standard MIB
    -- forwarding table?

    -- Note: Do all of these addresses contained in a single
    -- entry in the Routing Set have to have the same addrType?

    olsrv2TipRoutingSetTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF Olsrv2TibRoutingSetSetEntry
       MAX-ACCESS   not-accessible
       STATUS       obsolete
       DESCRIPTION
          "A node's Routing Set records the selected path to 
           each destination for which a route is known."  
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2StateGroup 10 }

    olsrv2TibRoutingSetEntry  OBJECT-TYPE
       SYNTAX      Olsrv2TibRoutingSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "It consists of Routing Tuples:

                (R_dest_addr, R_next_iface_addr, 
                           R_dist, R_local_iface_addr)."
       REFERENCE
          "The OLSRv2 draft."
       INDEX { olsrv2TibRoutingSetDestAddrType,
               olsrv2TibRoutingSetDestAddr,
               olsrv2TibRoutingSetDestAddrPrefLen }
    ::= { olsrv2TibRoutingSetTable 1 }

    Olsrv2TibAttNetworksSetEntry ::=
       SEQUENCE {
          olsrv2TibRoutingSetDestAddrType     
            InetAddressType,
          olsrv2TibRoutingSetDestAddr
            InetAddress,
          olsrv2TibRoutingSetDestAddrPrefLen
            InetAddressPrefixLength,
          olsrv2TibRoutingSetNextIfAddr
            InetAddress,
          olsrv2TibRoutingSetDist
            Unsigned32,
          olsrv2TibRoutingSetLocalIfAddr
            InetAddress
         }

    olsrv2TibRoutingSetDestAddrType  OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "The type of the olsrv2TibRoutingSetDestAddr
           and olsrv2TibRoutingSetNextIfAddr,
           as defined in the InetAddress MIB [RFC 4001]."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibRoutingSetEntry 1 }

    olsrv2TibRoutingSetDestAddr  OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "This is the address of the destination, 
           either the address of an interface of 
           a destination node, or the network 
           address of an attached network."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibRoutingSetEntry 2 }

    olsrv2TibRoutingSetDestAddrPrefixLen  OBJECT-TYPE
      SYNTAX      InetAddressPrefixLength
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Indicates the number of leading one bits that form the
          mask to be logical-ANDed with the destination address
          before being compared to the value in the 
          olsrv2TibRoutingSetDestNetAddr field.

          Note: This definition needs to be consistent
          with the current forwarding table MIB description.
          Specifically, it should allow for longest prefix
          matching of network addresses."
      REFERENCE
         "The OLSRv2 draft."
   ::= { olsrv2TibRoutingSetEntry 3 }

    olsrv2TibRoutingSetNextIfAddr  OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "This is the OLSRv2 interface address of the 
           'next hop' on the selected path to the 
           destination."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibRoutingSetEntry 4 }

     olsrv2TipRoutingSetDist  OBJECT-TYPE
       SYNTAX      Unsigned32 (0..255)
       MAX-ACCESS  read-only
       UNITS       "hops"
       STATUS      current
       DESCRIPTION
          "The is the number of hops on the selected 
           path to the destination."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibRoutingSetEntry 5 }

    olsrv2TibRoutingSetLocalIfAddr  OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "This is the address of the local OLSRv2 
           interface over which a packet MUST be 
           sent to reach the destination by the
           selected path."
       REFERENCE
          "The OLSRv2 draft."
    ::= { olsrv2TibRoutingSetEntry 6 }



    --
    -- Processing and Forwarding Information Base  - this 
    -- Information Base is specific to OLSRv2, and 
    -- is defined in Section 6.4.
    --

    -- Note:  Is it appropriate or necessary to put the
    -- level of detail found in the Processing and 
    -- Forwarding Information Base into the OLSRv2-MIB?
    
    -- Received Set

    -- Processed Set
 
    -- Forwarded Set

    -- Relayed Set


   --
   -- OLSRv2 Performance Group
   --
   --    Contains objects which help to characterize the
   --    performance of the OLSRv2 routing process, such as ...
   --

   olsrv2PerformanceGroup  OBJECT IDENTIFIER ::= { olsrv2MIBObjects 3 }

   olsrv2GlPerfGroup OBJECT IDENTIFIER ::= {olsrv2PerformanceGroup 1}

   -- Note: Objects to be defined.


   --
   -- Per OLSRv2 Interface Performance Table
   --

   olsrv2IfPerfGroup OBJECT IDENTIFIER ::= {olsrv2PerformanceGroup 2}

   -- Note: Objects to be defined.



   --
   -- Notifications
   --

   -- Note:  What notifications do we want for this MIB?




   --
   -- Compliance Statements
   --

   -- Note: need to update the Compliance section once the mib
   --       objects stabilize.


   olsrv2Compliances  OBJECT IDENTIFIER ::= { olsrv2MIBConformance 1 }
   olsrv2MIBGroups    OBJECT IDENTIFIER ::= { olsrv2MIBConformance 2 }

   olsrv2BasicCompliance  MODULE-COMPLIANCE
      STATUS current
      DESCRIPTION "The basic implementation requirements for 
                   managed network entities that implement
                   the OLSRv2 routing process." 
      MODULE  -- this module
      MANDATORY-GROUPS { olsrv2ConfigObjectsGroup }
   ::= { olsrv2Compliances 1 }  

   olsrv2FullCompliance MODULE-COMPLIANCE
      STATUS current
      DESCRIPTION "The full implementation requirements for
                   managed network entities that implement
                   the OLSRv2 routing process."
      MODULE  -- this module
      MANDATORY-GROUPS { olsrv2ConfigObjectsGroup,
                         olsrv2StateObjectsGroup,
                         olsrv2PerfObjectsGroup }
   ::= { olsrv2Compliances 2 }  

   --
   -- Units of Conformance
   --

   olsrv2ConfigObjectsGroup OBJECT-GROUP
      OBJECTS {
              losrv2OperationalMode
      }
      STATUS  current
      DESCRIPTION
         "Set of OLSRv2 configuration objects implemented
          in this module."
   ::= { olsrv2MIBGroups 1 }

   olsrv2StateObjectsGroup  OBJECT-GROUP
      OBJECTS {
              olsrv2NodeStatus
      }
      STATUS  current
      DESCRIPTION
         "Set of OLSRv2 state objects implemented
          in this module."
   ::= { olsrv2MIBGroups 2 }

   olsrv2PerfObjectsGroup  OBJECT-GROUP
      OBJECTS {
              olsrv2PktsRecvTotal
      }
      STATUS  current
      DESCRIPTION
         "Set of OLSRv2 performance objects implemented
          in this module by total and per interface."
   ::= { olsrv2MIBGroups 3 }

   END

	]]></artwork>
      </figure>
    </section>

    <section title="Security Considerations">
      <!--[TODO] Remember to consider security from the start. -->

      <t>[TODO] Each specification that defines one or more MIB modules MUST
      contain a section that discusses security considerations relevant to
      those modules. This section MUST be patterned after the latest approved
      template (available at http://www.ops.ietf.org/mib-security.html).
      Remember that the objective is not to blindly copy text from the
      template, but rather to think and evaluate the risks/vulnerabilities and
      then state/document the result of this evaluation.</t>

      <t></t>

      <t>[TODO] if you have any read-write and/or read-create objects, please
      include the following boilerplate paragraph.</t>

      <t>There are a number of management objects defined in this MIB module
      with a MAX-ACCESS clause of read-write and/or read-create. Such objects
      may be considered sensitive or vulnerable in some network environments.
      The support for SET operations in a non-secure environment without
      proper protection can have a negative effect on network operations.
      These are the tables and objects and their
      sensitivity/vulnerability:</t>

      <t><list style="symbols">
          <t>[TODO] writable MIB objects that could be especially disruptive
          if abused MUST be explicitly listed by name and the associated
          security risks MUST be spelled out; RFC 2669 has a very good
          example.</t>

          <t>[TODO] list the writable tables and objects and state why they
          are sensitive.</t>
        </list></t>

      <t>[TODO] else if there are no read-write objects in your MIB module,
      use the following boilerplate paragraph.</t>

      <t>There are no management objects defined in this MIB module that have
      a MAX-ACCESS clause of read-write and/or read-create. So, if this MIB
      module is implemented correctly, then there is no risk that an intruder
      can alter or create any management objects of this MIB module via direct
      SNMP SET operations.</t>

      <t>[TODO] if you have any sensitive readable objects, please include the
      following boilerplate paragraph.</t>

      <t>Some of the readable objects in this MIB module (i.e., objects with a
      MAX-ACCESS other than not-accessible) may be considered sensitive or
      vulnerable in some network environments. It is thus important to control
      even GET and/or NOTIFY access to these objects and possibly to even
      encrypt the values of these objects when sending them over the network
      via SNMP. These are the tables and objects and their
      sensitivity/vulnerability: <list style="symbols">
          <t>[TODO] you must explicitly list by name any readable objects that
          are sensitive or vulnerable and the associated security risks MUST
          be spelled out (for instance, if they might reveal customer
          information or violate personal privacy laws such as those of the
          European Union if exposed to unauthorized parties)</t>

          <t>[TODO] list the tables and objects and state why they are
          sensitive.</t>
        </list></t>

      <t>[TODO] discuss what security the protocol used to carry the
      information should have. The following three boilerplate paragraphs
      should not be changed without very good reason. Changes will almost
      certainly require justification during IESG review.</t>

      <t>SNMP versions prior to SNMPv3 did not include adequate security. Even
      if the network itself is secure (for example by using IPSec), even then,
      there is no control as to who on the secure network is allowed to access
      and GET/SET (read/change/create/delete) the objects in this MIB
      module.</t>

      <t>It is RECOMMENDED that implementers consider the security features as
      provided by the SNMPv3 framework (see <xref target="RFC3410"></xref>,
      section 8), including full support for the SNMPv3 cryptographic
      mechanisms (for authentication and privacy).</t>

      <t>Further, deployment of SNMP versions prior to SNMPv3 is NOT
      RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable
      cryptographic security. It is then a customer/operator responsibility to
      ensure that the SNMP entity giving access to an instance of this MIB
      module is properly configured to give access to the objects only to
      those principals (users) that have legitimate rights to indeed GET or
      SET (change/create/delete) them.</t>
    </section>

    <section title="IANA Considerations">
      <t>[TODO] In order to comply with IESG policy as set forth in
      http://www.ietf.org/ID-Checklist.html, every Internet-Draft that is
      submitted to the IESG for publication MUST contain an IANA
      Considerations section. The requirements for this section vary depending
      what actions are required of the IANA. see RFC4181 section 3.5 for more
      information on writing an IANA clause for a MIB module document.</t>

      <t>[TODO] select an option and provide the necessary details.</t>

      <t>Option #1:</t>

      <figure>
        <preamble></preamble>

        <artwork><![CDATA[
     The MIB module in this document uses the following IANA-assigned
     OBJECT IDENTIFIER values recorded in the SMI Numbers registry: 
      
     Descriptor        OBJECT IDENTIFIER value
     ----------        -----------------------

     sampleMIB  { mib-2 XXX }
      	]]></artwork>

        <postamble></postamble>
      </figure>

      <t></t>

      <t>Option #2:</t>

      <t>Editor's Note (to be removed prior to publication): the IANA is
      requested to assign a value for "XXX" under the 'mib-2' subtree and to
      record the assignment in the SMI Numbers registry. When the assignment
      has been made, the RFC Editor is asked to replace "XXX" (here and in the
      MIB module) with the assigned value and to remove this note.</t>

      <t>Note well: prior to official assignment by the IANA, a draft document
      MUST use place holders (such as "XXX" above) rather than actual numbers.
      See RFC4181 Section 4.5 for an example of how this is done in a draft
      MIB module.</t>

      <t>Option #3:</t>

      <!-- If no IANA work is required, an explicit note must be included.-->

      <t>This memo includes no request to IANA.</t>
    </section>

    <!-- The Author's Addresses section will be generated 
         automatically by XML2RFC from the front information -->

    <section title="Contributors">
      <t>This MIB document uses the template authored by D. Harrington which
      is based on contributions from the MIB Doctors, especially Juergen
      Schoenwaelder, Dave Perkins, C.M.Heard and Randy Presuhn.</t>

      <t><!--[TODO] Change this section to mention contributors to your 
             MIB module document.--></t>
    </section>

    <section title="Acknowledgements">
      <t></t>
    </section>
  </middle>

  <back>
    <!-- References Section -->

    <!-- Section 4.7f of [RFC2223bis] specifies the requirements for the
   references sections.  In particular, there MUST be separate lists of
   normative and informative references, each in a separate section.
   The style SHOULD follow that of recently published RFCs.

   The standard MIB boilerplate available at
   http://www.ops.ietf.org/mib-boilerplate.html includes lists of
   normative and informative references that MUST appear in all IETF
   specifications that contain MIB modules.  If items from other MIB
   modules appear in an IMPORTS statement in the Definitions section,
   then the specifications containing those MIB modules MUST be included
   in the list of normative references.  When items are imported from an
   IANA-maintained MIB module the corresponding normative reference
   SHALL point to the on-line version of that MIB module.  It is the
   policy of the RFC Editor that all references must be cited in the
   text;  such citations MUST appear in the overview section where
   documents containing imported definitions (other those already
   mentioned in the MIB boilerplate) are required to be mentioned (cf.
   Section 3.2).

In general, each normative reference SHOULD point to the most recent
version of the specification in question.
-->

    <references title="Normative References">
      <!-- <t>[TODO] rfc2629, 2863, 3418, and 4181 are normative references that
      are required only to support this template, and which can be removed
      from your final document, if not used for other purposes.</t>-->

      <!--
      &rfc2629;
      &rfc4181;
-->

      &rfc2863;

      &rfc3418;

      <!--  <t>[TODO] rfc2119, 2578, 2579, and 2580 are required to support MIB
      module boilerplate text.</t> -->

      &rfc2119;

      &rfc2578;

      &rfc2579;

      &rfc2580;

      &olsrv2;

      <!--  <t>[TODO]: Add your own normative references.</t>-->
    </references>

    <references title="Informative References">
      <!-- <t>[TODO] RFC3410 is required to support the boilerplate text.</t>-->

      &rfc3410;

      <!-- <t>[TODO] Add your own informative references</t>-->
    </references>

    <!--
<section anchor="appendix" title="Appendix A">
	<t>You can add appendices just as regular sections, the only
difference is that they go under "back" element, and get letters 
instead of numbers</t>
</section>
-->

    <section title="Change Log ">
      <t>Not applicable to draft 00</t>

      <t>
        <list style="numbers">
          <t />
        </list>
      </t>
    </section>

    <section title="Open Issues">
      <t>This section contains the set of open issues related to the
      development and design of the OLSRv2-MIB. This section will not be present
      in the final version of the MIB and will be removed once all the open
      issues have been resolved.</t>

      <t>
        <list style="numbers">
          <t>Clean up all of the 'Note:' statements within the body of the MIB. </t>

          <t>Add default values to the configuration object definitions following
          the parameter values in Section 17 of the OLSRv2 draft.</t>

          <t>Look into possible redundancy between the TIB Routing Set
          and the latest standard MIB forwarding table.</t>

          <t>Complete notification group.</t>

          <t>Complete conformance group.</t>

          <t>Work on the relationship to other MIBs, IF-MIB, NHDP-MIB.</t>

          <t>Identify all objects requiring non-volatile storage in their
          DESCRIPTION clauses.</t>

          <t>Incorporate parameter relationship conditions into their
          DESCRIPTION clauses.</t>

          <t>Also, specify specific SNMP response
          to the snmp set request, i.e., 'generic error', 'bad value', etc.</t>

          <t>Fill in all of the DEFVAL within the configuration group objects.</t>

          <t>Run through the MIB checker.</t>

          <t>Complete the security analysis and section.</t>

          <t>Cleanup all the [TODOs] from the MIB template.</t>
        </list>
      </t>
    </section>

    <figure>
      <preamble />

      <artwork><![CDATA[
***************************************************************
* Note to the RFC Editor (to be removed prior to publication) *
*                                                             *
* 1) The reference to RFCXXXX within the DESCRIPTION clauses  *
* of the MIB module point to this draft and are to be         *
* assigned by the RFC Editor.                                 *
*                                                             *
* 2) The reference to RFCXXX2 throughout this document point  *
* to the current draft-ietf-manet-olsrv2-xx.txt.  This        *
* need to be replaced with the XXX RFC number.                *
*                                                             *
***************************************************************
      ]]></artwork>

      <postamble />
    </figure>
  </back>
</rfc>
