TOC 
Internet Engineering Task ForceR. Cole
Internet-DraftJohns Hopkins University
Intended status: Standards TrackT. Clausen
Expires: April 30, 2009LIX, Ecole Polytechnique, France
 October 27, 2008


Definition of Managed Objects for the MANET Optimized Link State Routing Protocol version 2
draft-cole-manet-olsrv2-mib-00

Status of This Memo

By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as “work in progress.”

The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt.

The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html.

This Internet-Draft will expire on April 30, 2009.

Abstract

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.



Table of Contents

1.  Introduction
2.  The Internet-Standard Management Framework
3.  Conventions
4.  Overview
    4.1.  OLSRv2 Management Model
    4.2.  Terms
5.  Structure of the MIB Module
    5.1.  Textual Conventions
    5.2.  The Configuration Group
    5.3.  The State Group
    5.4.  The Performance Group
    5.5.  The Notifications Group
6.  Relationship to Other MIB Modules
    6.1.  Relationship to the SNMPv2-MIB
    6.2.  Relationship to the IF-MIB
    6.3.  MIB modules required for IMPORTS
7.  Definitions
8.  Security Considerations
9.  IANA Considerations
10.  Contributors
11.  Acknowledgements
12.  References
    12.1.  Normative References
    12.2.  Informative References
Appendix A.  Change Log
Appendix B.  Open Issues




 TOC 

1.  Introduction

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) [I‑D.ietf‑manet‑olsrv2] (Clausen, T., Dearlove, C., and P. Jacquet, “The Optimized Link State Routing Protocol version 2,” April 2010.). OLSRv2 provides ...



 TOC 

2.  The Internet-Standard Management Framework

For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 [RFC3410] (Case, J., Mundy, R., Partain, D., and B. Stewart, “Introduction and Applicability Statements for Internet-Standard Management Framework,” December 2002.).

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 [RFC2578] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Structure of Management Information Version 2 (SMIv2),” April 1999.), STD 58, RFC 2579 [RFC2579] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Textual Conventions for SMIv2,” April 1999.) and STD 58, RFC 2580 [RFC2580] (McCloghrie, K., Perkins, D., and J. Schoenwaelder, “Conformance Statements for SMIv2,” April 1999.).



 TOC 

3.  Conventions

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 [RFC2119] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.).



 TOC 

4.  Overview

Optimized Link State Routing (OLSR) protocol version 2 (OLSRv2) provides ...



 TOC 

4.1.  OLSRv2 Management Model

This section describes the management model for the OLSRv2 node routing process. Specifically, ...



 TOC 

4.2.  Terms

The following definitions apply throughout this document:



 TOC 

5.  Structure of the MIB Module

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:



 TOC 

5.1.  Textual Conventions

The textual conventions used in the OLSRv2-MIB are as follows. The RowStatus textual convention is imported from RFC 2579 [RFC2579] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Textual Conventions for SMIv2,” April 1999.). Further, ...



 TOC 

5.2.  The Configuration Group

The OLSR device is configured with a set of controls. The list of configuration controls for the OLSR device follow.



 TOC 

5.3.  The State Group

The State Subtree reports current state information. Specifically, ...



 TOC 

5.4.  The Performance Group

The Performance subtree reports primarily counters that relate to OLSR routing performance. Specifically, ...



 TOC 

5.5.  The Notifications Group

The Notifications Subtree contains the list of notifications supported within the OLSRv2-MIB and their intended purpose or utility. This group is currently empty.



 TOC 

6.  Relationship to Other MIB Modules

[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.



 TOC 

6.1.  Relationship to the SNMPv2-MIB

The 'system' group in the SNMPv2-MIB [RFC3418] (Presuhn, R., “Management Information Base (MIB) for the Simple Network Management Protocol (SNMP),” December 2002.) 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.



 TOC 

6.2.  Relationship to the IF-MIB

[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.



 TOC 

6.3.  MIB modules required for IMPORTS

[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.

The following OLSRv2-MIB module IMPORTS objects from SNMPv2-SMI [RFC2578] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Structure of Management Information Version 2 (SMIv2),” April 1999.), SNMPv2-TC [RFC2579] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Textual Conventions for SMIv2,” April 1999.), SNMPv2-CONF [RFC2580] (McCloghrie, K., Perkins, D., and J. Schoenwaelder, “Conformance Statements for SMIv2,” April 1999.), and IF-MIB [RFC2863] (McCloghrie, K. and F. Kastenholz, “The Interfaces Group MIB,” June 2000.)



 TOC 

7.  Definitions


   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



 TOC 

8.  Security Considerations

[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.

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

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:

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

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.

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

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:

[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.

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.

It is RECOMMENDED that implementers consider the security features as provided by the SNMPv3 framework (see [RFC3410] (Case, J., Mundy, R., Partain, D., and B. Stewart, “Introduction and Applicability Statements for Internet-Standard Management Framework,” December 2002.), section 8), including full support for the SNMPv3 cryptographic mechanisms (for authentication and privacy).

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.



 TOC 

9.  IANA Considerations

[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.

[TODO] select an option and provide the necessary details.

Option #1:

     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 }

Option #2:

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.

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.

Option #3:

This memo includes no request to IANA.



 TOC 

10.  Contributors

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.



 TOC 

11.  Acknowledgements



 TOC 

12.  References



 TOC 

12.1. Normative References

[RFC2863] McCloghrie, K. and F. Kastenholz, “The Interfaces Group MIB,” RFC 2863, June 2000 (TXT).
[RFC3418] Presuhn, R., “Management Information Base (MIB) for the Simple Network Management Protocol (SNMP),” STD 62, RFC 3418, December 2002 (TXT).
[RFC2119] Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML).
[RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Structure of Management Information Version 2 (SMIv2),” STD 58, RFC 2578, April 1999 (TXT).
[RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Textual Conventions for SMIv2,” STD 58, RFC 2579, April 1999 (TXT).
[RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, “Conformance Statements for SMIv2,” STD 58, RFC 2580, April 1999 (TXT).
[I-D.ietf-manet-olsrv2] Clausen, T., Dearlove, C., and P. Jacquet, “The Optimized Link State Routing Protocol version 2,” draft-ietf-manet-olsrv2-11 (work in progress), April 2010 (TXT).


 TOC 

12.2. Informative References

[RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, “Introduction and Applicability Statements for Internet-Standard Management Framework,” RFC 3410, December 2002 (TXT).


 TOC 

Appendix A.  Change Log

Not applicable to draft 00



 TOC 

Appendix B.  Open Issues

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.

  1. Clean up all of the 'Note:' statements within the body of the MIB.
  2. Add default values to the configuration object definitions following the parameter values in Section 17 of the OLSRv2 draft.
  3. Look into possible redundancy between the TIB Routing Set and the latest standard MIB forwarding table.
  4. Complete notification group.
  5. Complete conformance group.
  6. Work on the relationship to other MIBs, IF-MIB, NHDP-MIB.
  7. Identify all objects requiring non-volatile storage in their DESCRIPTION clauses.
  8. Incorporate parameter relationship conditions into their DESCRIPTION clauses.
  9. Also, specify specific SNMP response to the snmp set request, i.e., 'generic error', 'bad value', etc.
  10. Fill in all of the DEFVAL within the configuration group objects.
  11. Run through the MIB checker.
  12. Complete the security analysis and section.
  13. Cleanup all the [TODOs] from the MIB template.

***************************************************************
* 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.                *
*                                                             *
***************************************************************



 TOC 

Authors' Addresses

  Robert G. Cole
  Johns Hopkins University
  11100 Johns Hopkins Road, Room 257
  Laurel, Maryland 21073
  USA
Phone:  +1 443 778 6951
EMail:  robert.cole@jhuapl.edu
URI:  http://www.cs.jhu.edu/~rgcole/
  
  Thomas Heide Clausen
  LIX, Ecole Polytechnique, France
 
Phone:  +33 6 6058 9349
EMail:  T.Clausen@computer.org
URI:  http://www.ThomasClausen.org/


 TOC 

Full Copyright Statement

Intellectual Property