Internet Engineering Task Force U.H. Herberg
Internet-Draft Fujitsu Laboratories of America
Intended status: Standards Track R.G. Cole
Expires: May 09, 2013 US Army CERDEC
T. Clausen
LIX, Ecole Polytechnique
November 05, 2012

Definition of Managed Objects for the Optimized Link State Routing Protocol version 2
draft-ietf-manet-olsrv2-mib-05

Abstract

This document defines the Management Information Base (MIB) module for configuring and managing the Optimized Link State Routing protocol version 2 (OLSRv2). The OLSRv2-MIB module is structured into state information, performance metrics, and notifications. This additional state and performance information is useful to troubleshoot problems and performance issues of the routing protocol. Different levels of compliance allow implementers to use smaller subsets of all defined objects, allowing for this MIB module to be deployed on more constrained routers.

Status of This Memo

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

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http:/⁠/⁠datatracker.ietf.org/⁠drafts/⁠current/⁠.

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

This Internet-Draft will expire on May 09, 2013.

Copyright Notice

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

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


Table of Contents

1. Introduction

This document defines the Management Information Base (MIB) module for configuring and managing the Optimized Link State Routing protocol version 2 (OLSRv2). The OLSRv2-MIB module is structured into state information, performance metrics, and notifications. In addition to configuration, this additional state and performance information is useful to troubleshoot problems and performance issues of the routing protocol. Different levels of compliance allow implementers to use smaller subsets of all defined objects, allowing for this MIB module to be deployed on more constrained routers.

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

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 module are defined using the mechanisms defined in the Structure of Management Information (SMI). This document specifies a MIB module that is compliant to the SMIv2, which is described in [RFC2578], [RFC2579], and [RFC2580].

3. Conventions

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

4. Overview

The Optimized Link State Routing Protocol version 2 (OLSRv2) [OLSRv2] is a table driven, proactive routing protocol, i.e., it exchanges topology information with other routers in the network periodically. OLSRv2 is an optimization of the classical link state routing protocol. Its key concept is that of MultiPoint Relays (MPRs). Each router selects a set of its neighbor routers (which "cover" all of its symmetrically connected 2-hop neighbor routers) as MPRs. MPRs are then used to achieve both flooding reduction and topology reduction.

This document provides management and control capabilities of an OLSRv2 instance, allowing to monitor the state and performance of an OLSRV2 router, as well as to change settings of the OLSRv2 instance (e.g., router or interface parameters such as message intervals etc.).

As OLSRv2 relies on the neighborhood information discovered by the "Mobile Ad Hoc Network (MANET) Neighborhood Discovery Protocol (NHDP)" [RFC6130], the OLSRv2-MIB module is aligned with the NHDP-MIB [RFC6779] module and augments several of the tables and objects in the NHDP-MIB. In particular, common indexes for router interfaces and discovered neighbors are used, as described in Section 5.2.

4.1. Terms

The following definitions apply throughout this document:

5. Structure of the MIB Module

This section presents the structure of the OLSRv2-MIB module. The objects are arranged into the following structure:

5.1. The Configuration Group

The OLSRv2 router is configured with a set of controls. The authoritative list of configuration controls within the OLSRv2-MIB module are found within the MIB module itself. Generally, an attempt was made in developing the OLSRv2-MIB module to support all configuration objects defined in [OLSRv2]. For all of the configuration parameters, the same constraints and default values of these parameters as defined in [OLSRv2] are followed.

5.2. The State Group

The State Group reports current state information of a router running [OLSRv2]. The OLSRv2-MIB module State Group tables were designed to contain the complete set of state information defined within the information bases in [OLSRv2].

The OLSRv2-MIB module State Group tables are constructed as extensions to the corresponding tables within the State Group of the NHDP-MIB [RFC6779] module. Use of the AUGMENTS clause is made, when possible, to accomplish these table extensions. Further, the State Group tables defined in this MIB module are aligned with the according tables in the NHDP-MIB [RFC6779] module, as described in Section 6.2.

5.3. The Performance Group

The Performance Group reports values relevant to system performance. Frequent changes of sets or frequent recalculation of the routing set or the MPRs can have a negative influence on the performance of OLSRv2. This MIB module defines several objects that can be polled in order to, e.g., calculate histories or monitor frequencies of changes. This may help the network administrator to determine unusual topology changes or other changes that affect stability and reliability of the MANET. One such framework is specified in REPORT-MIB [REPORT-MIB].

5.4. The Notifications Group

The Notifications sub-tree contains the list of notifications supported within the OLSRv2-MIB module and their intended purpose or utility.

The same mechanisms for improving the network performance by reducing the number of notifications apply as defined in Section 5.1 of [RFC6779]. The following objects are used to define the thresholds and time windows for specific notifications defined in the NHDP-MIB module: olsrv2RoutingSetRecalculationCountThreshold, olsrv2RoutingSetRecalculationCountWindow, olsrv2MPRSetRecalculationCountThreshold, and olsrv2MPRSetRecalculationCountWindow.

The Notifications Group contains Control, Objects and States, where the Control contains definitions of objects to control the frequency of notifications being sent. The Objects define the supported notifications and the State is used to define additional information to be carried within the notifications.

5.5. Tables and Indexing

The OLSRv2-MIB module's tables are indexed via the following constructs:

These tables and their indexing are:

6. Relationship to Other MIB Modules

This section specifies the relationship of the MIB modules contained in this document to other standards, particularly to standards containing other MIB modules. MIB modules and specific definitions imported from MIB modules that SHOULD be implemented in conjunction with the MIB module contained within this document are identified in this section.

6.1. Relationship to the SNMPv2-MIB

The System group in the SNMPv2-MIB [RFC3418] module 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 module does not duplicate those objects.

6.2. Relationship to the NHDP-MIB

OLSRv2 depends on the neighborhood information that is discovered by [RFC6130]. In order access the Objects relating to discovered neighbors, the State Group tables of the NHDP-MIB [RFC6779] module are aligned with this MIB module. This is accomplished through the use of the AUGMENTS capability of SMIv2 and the definition of TEXTUAL-CONVENTIONS in the NHDP-MIB module: specifically the NeighborRouterIndex. These object types are used to develop indexes into common NHDP-MIB module and routing protocol State Group tables. These objects are locally significant but should be locally common to the NHDP-MIB module and the OLSRv2-MIB module implemented on a common networked router. This will allow for improved cross referencing of information across the two MIB modules.

6.3. MIB modules required for IMPORTS

The following OLSRv2-MIB module IMPORTS objects from NHDP-MIB [RFC6779], SNMPv2-SMI [RFC2578], SNMPv2-TC [RFC2579], SNMPv2-CONF [RFC2580], IF-MIB [RFC2863], INET-ADDRESS-MIB [RFC4001], SMIng [RFC3781], and FLOAT-TC-MIB [RFC6340].

7. Definitions

This section contains the OLSRv2-MIB module defined by the specification.


   OLSRv2-MIB DEFINITIONS ::= BEGIN
   
   -- This MIB module defines objects for the management of
   -- RFC XXXX - The Optimized Link State Routing Protocol
   -- version 2, Clausen, T., Dearlove, C., Jacquet, P.
   -- and U. Herberg, December 2012.

   IMPORTS

      MODULE-IDENTITY, OBJECT-TYPE, Counter32, Counter64,
      Integer32, Unsigned32, mib-2, TimeTicks,
      NOTIFICATION-TYPE
               FROM SNMPv2-SMI -- RFC 2578

      TEXTUAL-CONVENTION, TimeStamp, TruthValue
               FROM SNMPv2-TC -- RFC 2579

      MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
               FROM SNMPv2-CONF -- STD 58

      InetAddressType, InetAddress,
      InetAddressPrefixLength
               FROM INET-ADDRESS-MIB -- RFC 3291

      Float32TC
               FROM FLOAT-TC-MIB  -- RFC 6340
            
      NeighborRouterIndex, nhdpInterfaceEntry, 
      nhdpIibLinkSetEntry, nhdpIib2HopSetEntry, 
      nhdpNibNeighborSetEntry, nhdpInterfacePerfEntry
               FROM NHDP-MIB -- RFC 6779
      ;

   manetOlsrv2MIB MODULE-IDENTITY
      LAST-UPDATED "201210311000Z"   -- 31 October 2012
      ORGANIZATION "IETF MANET Working Group"
      CONTACT-INFO
         "WG E-Mail: manet@ietf.org

          WG Chairs: sratliff@cisco.com
                     jmacker@nrl.navy.mil


          Editors:   Ulrich Herberg
                     Fujitsu Laboratories of America
                     1240 East Arques Avenue
                     Sunnyvale, CA 94085
                     USA
                     ulrich@herberg.name
                     http://www.herberg.name/

                     Thomas Heide Clausen
                     Ecole Polytechnique
                     LIX
                     91128 Palaiseau Cedex
                     France
                     http://www.thomasclausen.org/
                     T.Clausen@computer.org
                             
                     Robert G. Cole
                     US Army CERDEC
                     Space and Terrestrial Communications
                     6010 Frankford Street
                     Bldg 6010, Room 453H
                     Aberdeen Proving Ground, MD 21005
                     USA
                     +1 443 395-8744
                     robert.g.cole@us.army.mil
                     http://www.cs.jhu.edu/~rgcole/"

      DESCRIPTION
         "This OLSRv2-MIB module is applicable to routers
          implementing the Optimized Link State Routing Protocol
          version 2 (OLSRv2) defined in RFC XXXX.

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

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

          This version of this MIB module is part of RFC XXXX; see
          the RFC itself for full legal notices."

        -- Revision History
        REVISION    "201210311000Z"   -- 31 October 2012
        DESCRIPTION
         "Initial version of this MIB module,
          published as RFC XXXX."
       
        -- RFC-Editor assigns XXXX (this comment can be removed)
        ::= { mib-2 9999 }


--
-- TEXTUAL CONVENTIONS
--

Olsrv2Status ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
      "An indication of the operability of the OLSRv2
       protocol on the device or a specific interface.  
       For example, the status
       of an interface: 'enabled' indicates that
       it is performing OLSRv2 operation,
       and 'disabled' indicates that it is not."
   SYNTAX      INTEGER {
      enabled (1),
      disabled (2)
   }	


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

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

--
-- olsrv2ConfigurationGroup
--

--    Contains the OLSRv2 objects that configure specific
--    options that determine the overall performance and operation
--    of the OLSRv2 routing process.

olsrv2ConfigurationGroup OBJECT IDENTIFIER ::= {olsrv2MIBObjects 1}
   

   olsrv2AdminStatus  OBJECT-TYPE
      SYNTAX      Olsrv2Status
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The configured status of the OLSRv2 process
          on this device.  'enabled(1)' means that
          OLSRv2 is configured to run on this device.
          'disabled(2)' mean that the OLSRv2 process
          is configured off.

          Operation of the OLSRv2 routing protocol
          requires the operation of the Neighborhood
          Discovery Protocol (RFC 6130).  Hence, this
          object cannot have a status of 'enabled'
          unless at least one interface an the device
          is a MANET interface with NHDP enabled on that
          interface.  If all device interfaces running
          NHDP become disabled or removed, then the
          olsrv2AdminStatus MUST be set to 'disabled'.

          If the network manager sets this object to 
          'disabled', then the associated interface specific
          objects, i.e., the olsrv2InterfaceAdminStatus
          objects must all be set to 'disabled'.

          This object is persistent and when written
          the entity SHOULD save the change to
          non-volatile storage."
      DEFVAL { disabled }
   ::= { olsrv2ConfigurationGroup 1 }

   olsrv2InterfaceTable  OBJECT-TYPE
      SYNTAX      SEQUENCE OF Olsrv2InterfaceEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The olsrv2InterfaceTable describes the
          OLSRv2 status on the NHDP interfaces of this router.
          As such, this table AUGMENTS the nhdpInterfaceTable
          defined in the NHDP-MIB (RFC 6779). NHDP interfaces 
          are explicitly defined by network manager servers 
          for interfaces on the device that are intended to 
          run MANET protocols.  The olsrv2InterfaceTable 
          contains a single boolean object, the
          olsrv2InterfaceAdminStatus object. 
 
          A conceptual row in this table exists if and only
          if either a manager has explicitly created the row
          in the nhdpInterfaceTable 
          or there is an interface on the managed device
          that supports and runs NHDP. 

          If the corresponding entry with nhdpIfIndex value
          is deleted from the nhdpInterfaceTable, then the entry
          in this table is automatically deleted and
          OLSRv2 is disabled on this interface,
          and all configuration and state information
          related to this interface is to be removed
          from memory.

          The olsrv2InterfaceAdminStatus can only be
          'enabled' if the corresponding olsrv2AdminStatus
          object is also set to 'enabled'."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2ConfigurationGroup 2 }

   olsrv2InterfaceEntry OBJECT-TYPE
      SYNTAX      Olsrv2InterfaceEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The olsrv2InterfaceEntry describes one OLSRv2
          local interface configuration as indexed by 
          its nhdpIfIndex as defined in the 
          NHDP-MIB (RFC 6779).

          The objects in this table are persistent and when 
          written the device SHOULD save the change to 
          non-volatile storage.  For further information
          on the storage behavior for these objects, refer
          to the description for the nhdpIfRowStatus
          object in the NHDP-MIB (RFC6779)."
      REFERENCE
         "RFC 6779 - The Neighborhood Discovery Protocol MIB, 
          Herberg, U., Cole, R.G. and I. Chakeres,
          October 2012"
      AUGMENTS { nhdpInterfaceEntry }
   ::= { olsrv2InterfaceTable 1 }

   Olsrv2InterfaceEntry ::=
      SEQUENCE {
         olsrv2InterfaceAdminStatus
            Olsrv2Status
      }

   olsrv2InterfaceAdminStatus OBJECT-TYPE
      SYNTAX      Olsrv2Status
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
         "The OLSRv2 interface's administrative status.
          The value 'enabled' denotes that the interface
          is running the OLSRv2 routing process.
          The value 'disabled' denotes that the interface is
          external to the OLSRv2 routing process.
          
          The configuration objects for the OLSRv2 routing
          process, other than the administrative status objects,
          are common to all interfaces on this device.
          As such, the OLSRv2 configuration objects are globally
          defined for the device and are not contained within
          the olsrv2InterfaceTable."
      DEFVAL { disabled }
   ::= { olsrv2InterfaceEntry 1 }

   olsrv2OrigIpAddrType  OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The type of the olsrv2OrigIpAddr, as defined
           in the InetAddress MIB module (RFC 4001).
           
           Only the values 'ipv4(1)' and
           'ipv6(2)' are supported."
       REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2ConfigurationGroup 3 }

   olsrv2OrigIpAddr  OBJECT-TYPE
       SYNTAX      InetAddress (SIZE(4|16))
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The router's originator address. An address that 
           is unique (within the MANET) to this router.

           This object is persistent and when written
           the entity SHOULD save the change to
           non-volatile storage."
       REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2ConfigurationGroup 4 }

   --
   -- Local History Times
   --

   olsrv2OHoldTime  OBJECT-TYPE
      SYNTAX      Unsigned32
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "olsrv2OHoldTime corresponds to
         O_HOLD_TIME of OLSRv2 and represents the 
         time for which a recently used and replaced 
         originator address is used to recognize the router's 
         own messages.
         
         Guidance for setting this object may be found
         in Section 5 of the OLSRv2 specification (RFC XXXX),
         which indicates that:
             o  olsrv2OHoldTime > 0
         
         This object is persistent and when written
         the entity SHOULD save the change to 
         non-volatile storage."
      REFERENCE
         "Section 5 on Protocol Parameters.
          RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012."
      DEFVAL { 30000 }
   ::= { olsrv2ConfigurationGroup 5 }


   --
   -- Message intervals
   --

   olsrv2TcInterval  OBJECT-TYPE
      SYNTAX      Unsigned32
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "olsrv2TcInterval corresponds to
         TC_INTERVAL of OLSRv2 and represents the 
         maximum time between the transmission of 
         two successive TC messages by this router.

         Guidance for setting this object may be found
         in Section 5 of the OLSRv2 specification (RFC XXXX),
         which indicates that:
 
             o olsrv2TcInterval > 0 
             o olsrv2TcInterval >= olsrv2TcMinInterval   
         
         This object is persistent and when written
         the entity SHOULD save the change to 
         non-volatile storage."
      REFERENCE
         "Section 5 on Protocol Parameters.
          RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012."
      DEFVAL { 5000 }
   ::= { olsrv2ConfigurationGroup 6 }

   olsrv2TcMinInterval  OBJECT-TYPE
      SYNTAX      Unsigned32
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "olsrv2TcMinInterval corresponds to
         TC_MIN_INTERVAL of OLSRv2 and represents
         the minimum interval between transmission of 
         two successive TC messages by this router.
         
         Guidance for setting this object may be found
         in Section 5 of the OLSRv2 specification (RFC XXXX),
         which indicates that:
             o olsrv2TcInterval >= olsrv2TcMinInterval
         
         This object is persistent and when written
         the entity SHOULD save the change to 
         non-volatile storage."
      REFERENCE
         "Section 5 on Protocol Parameters.
          RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      DEFVAL { 1250 }
   ::= { olsrv2ConfigurationGroup 7 }


   --
   -- Advertised information validity times
   --

   olsrv2THoldTime  OBJECT-TYPE
      SYNTAX      Unsigned32
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "olsrv2THoldTime corresponds to
         T_HOLD_TIME of OLSRv2 and is used as the 
         minimum value in the TLV with 
         Type = VALIDITY_TIME included in all 
         TC messages sent by this router.

         Guidance for setting this object may be found
         in Section 5 of the OLSRv2 specification (RFC XXXX),
         which indicates that:
             o olsrv2THoldTime >= olsrv2TcInterval
             o If TC messages can be lost, then  
               olsrv2THoldTime should be 
               significantly greater than olsrv2TcInterval; 
               a value >= 3 x olsrv2TcInterval is recommended.
 
         olsrv2THoldTime MUST be representable by way of the 
         exponent-mantissa notation as described in RFC 5497.  
         
         This object is persistent and when written
         the entity SHOULD save the change to 
         non-volatile storage."
      REFERENCE
         "Section 5 on Protocol Parameters.
          RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      DEFVAL { 15000 }
   ::= { olsrv2ConfigurationGroup 8 }

   olsrv2AHoldTime  OBJECT-TYPE
      SYNTAX      Unsigned32
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "olsrv2AHoldTime corresponds to
         A_HOLD_TIME of OLSRv2 and represents 
         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 routers.
 
         Guidance for setting this object may be found
         in Section 5 of the OLSRv2 specification (RFC XXXX),
         which indicates that:
            o If TC messages can be lost, then  
              olsrv2AHoldTime should be 
              significantly greater than olsrv2TcInterval; 
              a value = 3 x olsrv2TcInterval is 
              recommended.
 
         olsrv2AHoldTime MUST be representable by way 
         of the exponent-mantissa notation as 
         described in RFC 5497.       
         
         This object is persistent and when written
         the entity SHOULD save the change to 
         non-volatile storage."
      REFERENCE
         "Section 5 on Protocol Parameters.
          RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      DEFVAL { 15000 }
   ::= { olsrv2ConfigurationGroup 9 }

   --
   -- Received message validity times
   --

   olsrv2RxHoldTime  OBJECT-TYPE
      SYNTAX      Unsigned32
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "olsrv2RxHoldTime corresponds to
          RX_HOLD_TIME of OLSRv2 and represents the period 
          after receipt of a message by the appropriate OLSRv2
          interface of this router for which that information 
          is recorded, in order that the message is recognized 
          as having been previously received on this OLSRv2 
          interface.

          Guidance for setting this object may be found
          in Section 5 of the OLSRv2 specification (RFC XXXX),
          which indicates that:
             o olsrv2RxHoldTime > 0
             o This parameter 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.
         
          This object is persistent and when written
          the entity SHOULD save the change to 
          non-volatile storage."
      REFERENCE
         "Section 5 on Protocol Parameters.
          RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      DEFVAL { 30000 }
   ::= { olsrv2ConfigurationGroup 10 }

   olsrv2PHoldTime  OBJECT-TYPE
      SYNTAX      Unsigned32
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "olsrv2PHoldTime corresponds to
          P_HOLD_TIME of OLSRv2 and represents the period
          after receipt of a message that is processed by 
          this router for which that information is recorded, 
          in order that the message is not processed again 
          if received again.

          Guidance for setting this object may be found
          in Section 5 of the OLSRv2 specification (RFC XXXX),
          which indicates that:
             o olsrv2PHoldTime > 0
             o This parameter 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.
         
          This object is persistent and when written
          the entity SHOULD save the change to 
          non-volatile storage."
      REFERENCE
         "Section 5 on Protocol Parameters.
          RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      DEFVAL { 30000 }
   ::= { olsrv2ConfigurationGroup 11 }

   olsrv2FHoldTime  OBJECT-TYPE
      SYNTAX      Unsigned32
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "olsrv2FHoldTime corresponds to
          F_HOLD_TIME of OLSRv2 and represents the period 
          after receipt of a message that is forwarded by this
          router for which that information is recorded, in order 
          that the message is not forwarded again if received again.

          Guidance for setting this object may be found
          in Section 5 of the OLSRv2 specification (RFC XXXX),
          which indicates that:
             o olsrv2FHoldTime > 0
             o This parameter 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.
 
          This parameter 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.
         
          This object is persistent and when written
          the entity SHOULD save the change to 
          non-volatile storage."
      REFERENCE
         "Section 5 on Protocol Parameters.
          RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      DEFVAL { 30000 }
   ::= { olsrv2ConfigurationGroup 12 }


   --
   -- Jitter times
   --

   olsrv2TpMaxJitter  OBJECT-TYPE
      SYNTAX      Unsigned32
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "olsrv2TpMaxJitter corresponds to
          TP_MAXJITTER of OLSRv2 and represents the value 
          of MAXJITTER used in RFC5148 for periodically 
          generated TC messages sent by this router.
         
          For constraints on these parameters see RFC 5148.
         
          This object is persistent and when written
          the entity SHOULD save the change to 
          non-volatile storage."
      REFERENCE
         "Section 5 on Protocol Parameters.
          RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      DEFVAL { 500 }
   ::= { olsrv2ConfigurationGroup 13 }

   olsrv2TtMaxJitter  OBJECT-TYPE
      SYNTAX      Unsigned32
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "olsrv2TtMaxJitter corresponds to
          TT_MAXJITTER of OLSRv2 and represents the value 
          of MAXJITTER used in RFC5148 for externally
          triggered TC messages sent by this router.
         
          For constraints on these parameters see RFC 5148.
         
          This object is persistent and when written
          the entity SHOULD save the change to 
          non-volatile storage."
      REFERENCE
         "Section 5 on Protocol Parameters.
          RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      DEFVAL { 500 }
   ::= { olsrv2ConfigurationGroup 14 }
   

   olsrv2FMaxJitter  OBJECT-TYPE
      SYNTAX      Unsigned32
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "olsrv2FMaxJitter corresponds to
          F_MAXJITTER of OLSRv2 and represents the 
          default value of MAXJITTER used in RFC 5148 for
          messages forwarded by this router.
         
          For constraints on these parameters see RFC 5148.
         
          This object is persistent and when written
          the entity SHOULD save the change to 
          non-volatile storage."
      REFERENCE
         "Section 5 on Protocol Parameters.
          RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      DEFVAL { 500 }
   ::= { olsrv2ConfigurationGroup 15 }


   --
   -- Hop limits
   --

   olsrv2TcHopLimit  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..255)
      UNITS       "hops"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "olsrv2TcHopLimit corresponds to
          TC_HOP_LIMIT of OLSRv2.

          Guidance for setting this object may be found
          in Section 5 of the OLSRv2 specification (RFC XXXX),
          which indicates that:
             o The maximum value of 
               olsrv2TcHopLimit >= the network diameter 
              in hops, a value of 255 is recommended.
             o All values of olsrv2TcHopLimit >= 2.
         
          This object is persistent and when written
          the entity SHOULD save the change to 
          non-volatile storage."
       REFERENCE
         "Section 5 on Protocol Parameters.
          RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
       DEFVAL { 255 }
   ::= { olsrv2ConfigurationGroup 16 }


   --
   -- Willingness
   --

   olsrv2WillRouting  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..15)
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "olsrv2WillRouting corresponds to
          WILL_ROUTING of OLSRv2.
         
          Guidance for setting this object may be found
          in Section 5 of the OLSRv2 specification (RFC XXXX),
          which indicates that:
             o WILL_NEVER (0) <= olsrv2WillRouting <= 
                                  WILL_ALWAYS (15)
         
          This object is persistent and when written
          the entity SHOULD save the change to 
          non-volatile storage."
      REFERENCE
         "Section 5 on Protocol Parameters.
          RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      DEFVAL { 7 }
   ::= { olsrv2ConfigurationGroup 17 }
   
   
   olsrv2WillFlooding     OBJECT-TYPE
      SYNTAX      Unsigned32 (0..15)
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "olsrv2WillFlooding corresponds to
          WILL_FLOODING of OLSRv2.
         
          Guidance for setting this object may be found
          in Section 5 of the OLSRv2 specification (RFC XXXX),
          which indicates that:
             o WILL_NEVER (0) <= olsrv2WillFlooding <= 
                                  WILL_ALWAYS (15)
         
          This object is persistent and when written
          the entity SHOULD save the change to 
          non-volatile storage."
      REFERENCE
         "Section 5 on Protocol Parameters.
          RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      DEFVAL { 7 }
   ::= { olsrv2ConfigurationGroup 18 }


   olsrv2LinkMetricType  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..255)
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "olsrv2LinkMetricType corresponds to
          LINK_METRIC_TYPE of OLSRv2.
         
          This object is persistent and when written
          the entity SHOULD save the change to 
          non-volatile storage."
      REFERENCE
         "Section 5 on Protocol Parameters.
          RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      DEFVAL { 0 }
   ::= { olsrv2ConfigurationGroup 19 }



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

olsrv2StateGroup  OBJECT IDENTIFIER ::= { olsrv2MIBObjects 2 }

   --
   -- Interface Information Base (IIB)
   --

   --
   -- Link Set from RFC 6130, extended by L_in_metric,
   -- L_out_metric, and L_mpr_selector entries for each tuple
   -- 
   
   olsrv2IibLinkSetTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF Olsrv2IibLinkSetEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "A Link Set of an interface records all links 
          from other routers which are, or recently 
          were, 1-hop neighbors."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2StateGroup 1 }

   olsrv2IibLinkSetEntry  OBJECT-TYPE
      SYNTAX      Olsrv2IibLinkSetEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A Link Set consists of Link Tuples, each 
          representing a single link indexed by the
          local and remote interface pair. Each Link Set
          from NHDP is extended by OLSRv2 by the following
          fields:

          (L_in_metric, L_out_metric, L_mpr_selector)"
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      AUGMENTS { nhdpIibLinkSetEntry }
   ::= { olsrv2IibLinkSetTable 1 }

   Olsrv2IibLinkSetEntry ::=
      SEQUENCE {
         olsrv2IibLinkSetInMetric
            Float32TC,
         olsrv2IibLinkSetOutMetric
            Float32TC,
         olsrv2IibLinkSetMprSelector
            TruthValue
      }

   olsrv2IibLinkSetInMetric  OBJECT-TYPE
      SYNTAX      Float32TC
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "olsrv2IibLinkSetInMetric is the metric of the link 
          from the OLSRv2 interface with addresses 
          L_neighbor_iface_addr_list to this OLSRv2 interface."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2IibLinkSetEntry 1 }
   
   olsrv2IibLinkSetOutMetric  OBJECT-TYPE
      SYNTAX      Float32TC
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "olsrv2IibLinkSetInMetric is the metric of the 
          link to the OLSRv2 interface with addresses 
          L_neighbor_iface_addr_list from this OLSRv2 interface."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2IibLinkSetEntry 2 }

   olsrv2IibLinkSetMprSelector  OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "olsrv2IibLinkSetMprSelector is a boolean flag, 
          describing if this neighbor has selected this router 
          as a flooding MPR, i.e., is a flooding MPR selector 
          of this router."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2IibLinkSetEntry 3 }

   --
   -- 2-Hop Set; from RFC 6130, extended by OLSRv2 by the 
   -- following fields: N2_in_metric, N2_out_metric
   --
   
   olsrv2Iib2HopSetTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF Olsrv2Iib2HopSetEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A 2-Hop Set of an interface records network 
          addresses of symmetric 2-hop neighbors, and 
          the symmetric links to symmetric 1-hop neighbors
          through which these symmetric 2-hop neighbors
          can be reached.  It consists of 2-Hop Tuples."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2StateGroup 2 }

   olsrv2Iib2HopSetEntry  OBJECT-TYPE
      SYNTAX      Olsrv2Iib2HopSetEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "olsrv2Iib2HopSetTable consists of 2-Hop Tuples, 
          each representing a single network address of 
          a symmetric 2-hop neighbor, and a single MANET 
          interface of a symmetric 1-hop neighbor. 
          Each 2-Hop Set from NHDP is extended by 
          OLSRv2 by the following fields:

          (N2_in_metric, N2_out_metric)"
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      AUGMENTS { nhdpIib2HopSetEntry }
   ::= { olsrv2Iib2HopSetTable 1 }

   Olsrv2Iib2HopSetEntry ::=
      SEQUENCE {
         olsrv2Iib2HopSetInMetric
            Float32TC,
         olsrv2Iib2HopSetOutMetric
            Float32TC
      }

   olsrv2Iib2HopSetInMetric  OBJECT-TYPE
      SYNTAX      Float32TC
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "olsrv2Iib2HopSetInMetric is the neighbor metric 
          from the router with address N2_2hop_iface_addr 
          to the router with OLSRv2 interface addresses 
          N2_neighbor_iface_addr_list."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2Iib2HopSetEntry 1 }
   
   olsrv2Iib2HopSetOutMetric  OBJECT-TYPE
      SYNTAX      Float32TC
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "olsrv2Iib2HopSetN2Time is the neighbor metric 
          to the router with address N2_2hop_iface_addr 
          from the router with OLSRv2 interface addresses
          N2_neighbor_iface_addr_list."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2Iib2HopSetEntry 2 }


   --
   -- Local Information Base  - as defined in RFC 6130, 
   -- extended by the addition of an Originator Set, 
   -- defined in Section 6.1 and a Local Attached 
   -- Network Set, defined in Section 6.2.
   --

   --
   -- Originator Set
   --
    
   olsrv2LibOrigSetTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF Olsrv2LibOrigSetEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A router's Originator Set records addresses 
          that were recently used as originator addresses 
          by this router."
       REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2StateGroup 3 }

   olsrv2LibOrigSetEntry  OBJECT-TYPE
      SYNTAX      Olsrv2LibOrigSetEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A router's Originator Set consists of 
          Originator Tuples: 
          
          (O_orig_addr, O_time)"
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      INDEX { olsrv2LibOrigSetIndex }
   ::= { olsrv2LibOrigSetTable 1 }

   Olsrv2LibOrigSetEntry ::=
      SEQUENCE {
         olsrv2LibOrigSetIndex
            Integer32,
         olsrv2LibOrigSetIpAddrType     
            InetAddressType,
         olsrv2LibOrigSetIpAddr
            InetAddress,
         olsrv2LibOrigSetExpireTime
            TimeStamp
      }

   olsrv2LibOrigSetIndex  OBJECT-TYPE
      SYNTAX      Integer32 (0..65535)
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The index for this table."
   ::= { olsrv2LibOrigSetEntry 1 }

   olsrv2LibOrigSetIpAddrType  OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The type of the olsrv2LibOrigSetIpAddr, 
          as defined in the InetAddress MIB (RFC4001).
           
          Only the values 'ipv4(1)' and
          'ipv6(2)' are supported."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2LibOrigSetEntry 2 }

   olsrv2LibOrigSetIpAddr  OBJECT-TYPE
      SYNTAX      InetAddress (SIZE(4|16))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A recently used originator address
          by this router."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2LibOrigSetEntry 3 }

   olsrv2LibOrigSetExpireTime  OBJECT-TYPE
      SYNTAX      TimeStamp
      UNITS      "milliseconds"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "olsrv2LibOrigSetExpireTime specifies the value
          of sysUptime when this entry should expire and be
          removed from the olsrv2LibOrigSetTable."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2LibOrigSetEntry 4 }


   --
   -- Local Attached Network Set
   --
    
   olsrv2LibLocAttNetSetTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF Olsrv2LibLocAttNetSetEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A router's Local Attached Network Set records
          its local non-OLSRv2 interfaces via which it 
          can act as gateways to other networks."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2StateGroup 4 }

   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, AL_metric)

          where:

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

             AL_dist is the number of hops to 
             the network with address AL_net_addr 
             from this router.
              
             AL_metric is the metric of the link to 
             the attached network with address 
             AL_net_addr from this router."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      INDEX { olsrv2LibLocAttNetSetIndex }
   ::= { olsrv2LibLocAttNetSetTable 1 }

   Olsrv2LibLocAttNetSetEntry ::=
      SEQUENCE {
         olsrv2LibLocAttNetSetIndex
            Integer32,
         olsrv2LibLocAttNetSetIpAddrType     
            InetAddressType,
         olsrv2LibLocAttNetSetIpAddr
            InetAddress,
         olsrv2LibLocAttNetSetIpAddrPrefixLen
            InetAddressPrefixLength,
         olsrv2LibLocAttNetSetDistance
            Unsigned32,
         olsrv2LibLocAttNetSetMetric
            Float32TC
      }

   olsrv2LibLocAttNetSetIndex  OBJECT-TYPE
      SYNTAX      Integer32 (0..65535)
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The index for this table."
   ::= { olsrv2LibLocAttNetSetEntry 1 }

   olsrv2LibLocAttNetSetIpAddrType  OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The type of the olsrv2LibLocAttNetSetIpAddr, as defined
          in the InetAddress MIB (RFC 4001).
          
          Only the values 'ipv4(1)' and
          'ipv6(2)' are supported."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2LibLocAttNetSetEntry 2 }

   olsrv2LibLocAttNetSetIpAddr  OBJECT-TYPE
      SYNTAX      InetAddress (SIZE(4|16))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This is the network address of an attached 
          network which can be reached via this router."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2LibLocAttNetSetEntry 3 }

   olsrv2LibLocAttNetSetIpAddrPrefixLen  OBJECT-TYPE
      SYNTAX      InetAddressPrefixLength
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Indicates the number of leading one bits that form the
          mask to be logically ANDed with the destination address
          before being compared to the value in the 
          olsrv2LibLocAttNetSetIpAddr field."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2LibLocAttNetSetEntry 4 }

   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 
          olsrv2LibLocAttNetSetIpAddr from this router."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2LibLocAttNetSetEntry 5 }
   
   olsrv2LibLocAttNetSetMetric  OBJECT-TYPE
      SYNTAX      Float32TC
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This object specifies the metric of the 
          link to the attached network with
          address AL_net_addr from this router."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2LibLocAttNetSetEntry 6 }


   --
   -- Neighbor Information Base  - as defined in RFC 6130, 
   -- extended by OLSRv2 by the addition of the following
   -- elements to each Neighbor Tuple
   --

   --
   -- Neighbor Set
   --

   olsrv2NibNeighborSetTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF Olsrv2NibNeighborSetEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A router's Neighbor Set records all network 
          addresses of each 1-hop neighbor. It consists 
          of Neighbor Tuples, each representing a single
          1-hop neighbor. "
       REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
    ::= { olsrv2StateGroup 5 }

    olsrv2NibNeighborSetEntry  OBJECT-TYPE
       SYNTAX      Olsrv2NibNeighborSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "Each Neighbor Tuple in the Neighbor Set, defined 
           in RFC 6130, has these additional elements:
              N_orig_addr
              N_in_metric
              N_out_metric
              N_will_flooding
              N_will_routing	
              N_flooding_mpr
              N_routing_mpr
              N_mpr_selector
              N_advertised
           defined here as extensions."
       REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
       AUGMENTS { nhdpNibNeighborSetEntry }
   ::= { olsrv2NibNeighborSetTable 1 }

   Olsrv2NibNeighborSetEntry ::=
      SEQUENCE {
         olsrv2NibNeighborSetNOrigIpAddrType     
            InetAddressType,
         olsrv2NibNeighborSetNOrigIpAddr
            InetAddress,
         olsrv2NibNeighborSetNInMetric
            Float32TC,
         olsrv2NibNeighborSetNOutMetric
            Float32TC,
         olsrv2NibNeighborSetNWillFlooding
            Unsigned32,
         olsrv2NibNeighborSetNWillRouting
            Unsigned32,
         olsrv2NibNeighborSetNFloodingMpr
            TruthValue,
         olsrv2NibNeighborSetNRoutingMpr
            TruthValue,
         olsrv2NibNeighborSetNMprSelector
            TruthValue,
         olsrv2NibNeighborSetNAdvertised
            TruthValue
      }

   olsrv2NibNeighborSetNOrigIpAddrType  OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The type of the olsrv2NibNeighborSetNOrigIpAddr, as defined
          in the InetAddress MIB module (RFC4001).
           
          Only the values 'ipv4(1)' and
          'ipv6(2)' are supported."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2NibNeighborSetEntry 1 }
    
   olsrv2NibNeighborSetNOrigIpAddr  OBJECT-TYPE
      SYNTAX      InetAddress (SIZE(4|16))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This is the originator IP address of that
          neighbor."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2NibNeighborSetEntry 2 }
    
   olsrv2NibNeighborSetNInMetric  OBJECT-TYPE
      SYNTAX      Float32TC
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This object is the neighbor metric of any 
          link from this neighbor to an OLSRv2 interface 
          of this router, i.e., the minimum of all corresponding 
          L_in_metric with L_status = SYMMETRIC and 
          L_in_metric != UNKNOWN_METRIC, UNKNOWN_METRIC 
          if there are no such Link Tuples."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2NibNeighborSetEntry 3 }
    
   olsrv2NibNeighborSetNOutMetric  OBJECT-TYPE
      SYNTAX      Float32TC
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This object is is the neighbor metric of any 
          link from an OLSRv2 interface of this router 
          to this neighbor, i.e., the minimum of 
          all corresponding L_out_metric with 
          L_status = SYMMETRIC and 
          L_out_metric != UNKNOWN_METRIC, UNKNOWN_METRIC 
          if there are no such Link Tuples."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2NibNeighborSetEntry 4 }

   olsrv2NibNeighborSetNWillFlooding  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..15)
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This object is the neighbor's willingness to be 
          selected as a flooding MPR, in the range from 
          WILL_NEVER to WILL_ALWAYS, both inclusive, taking 
          the value WILL_NEVER if no OLSRv2 specific
          information is received from this neighbor."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2NibNeighborSetEntry 5 }
    
   olsrv2NibNeighborSetNWillRouting  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..15)
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This object is the neighbor's willingness to be 
          selected as a routing MPR, in the range from 
          WILL_NEVER to WILL_ALWAYS, both inclusive, taking 
          the value WILL_NEVER if no OLSRv2 specific
          information is received from this neighbor."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2NibNeighborSetEntry 6 }
    
   olsrv2NibNeighborSetNFloodingMpr  OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This object is a boolean flag, describing if 
          this neighbor is selected as a flooding MPR 
          by this router."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2NibNeighborSetEntry 7 }
    
   olsrv2NibNeighborSetNRoutingMpr  OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This object is a boolean flag, describing if 
          this neighbor is selected as a routing MPR 
          by this router."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2NibNeighborSetEntry 8 }

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

          When set to 'true', then this router is selected as 
          a routing MPR by the neighbor router. 
          When set to 'false', 
          then this router is not selected by the neighbor
          as a routing MPR."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2NibNeighborSetEntry 9 }
    
   olsrv2NibNeighborSetNAdvertised  OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This object, N_mpr_selector, is a boolean flag, describing if 
          this router has elected to advertise a link to this neighbor 
          in its TC messages."
       REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2NibNeighborSetEntry 10 }


   olsrv2NibNeighborSetTableAnsn OBJECT-TYPE
      SYNTAX      Unsigned32 (0..65535)
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Advertised Neighbor Sequence Number (ANSN), is
          a variable, whose value is included in TC messages to 
          indicate the freshness of the information transmitted."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2StateGroup 6 }


   --
   -- Topology Information Base - this Information 
   -- Base is specific to OLSRv2, and is defined in 
   -- Section 10 of RFC XXXX.
   --

   --
   -- Advertising Remote Router Set
   --

   olsrv2TibAdRemoteRouterSetTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF Olsrv2TibAdRemoteRouterSetEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A router's Advertising Remote Router Set records 
          information describing each remote router in the
          network that transmits TC messages."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2StateGroup 7 }

   olsrv2TibAdRemoteRouterSetEntry  OBJECT-TYPE
      SYNTAX      Olsrv2TibAdRemoteRouterSetEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A router's Advertised Neighbor Set Table entry
          consists of Advertising Remote Router Tuples:

          (AR_orig_addr, AR_seq_number, AR_time)

          Addresses associated with this router are
          found in the NHDP-MIB module's nhdpDiscIfSetTable."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      INDEX { olsrv2TibAdRemoteRouterSetRouterId }
   ::= { olsrv2TibAdRemoteRouterSetTable 1 }

   Olsrv2TibAdRemoteRouterSetEntry ::=
      SEQUENCE {
         olsrv2TibAdRemoteRouterSetIpAddrType     
            InetAddressType,
         olsrv2TibAdRemoteRouterSetIpAddr
            InetAddress,
         olsrv2TibAdRemoteRouterSetRouterId
            NeighborRouterIndex,
         olsrv2TibAdRemoteRouterSetMaxSeqNo     
            Unsigned32,
         olsrv2TibAdRemoteRouterSetExpireTime
            TimeStamp          
      }

   olsrv2TibAdRemoteRouterSetIpAddrType  OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The type of the olsrv2TibAdRemoteRouterSetIpAddr,
          as defined in the InetAddress MIB module (RFC4001).
           
          Only the values 'ipv4(1)' and
          'ipv6(2)' are supported."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibAdRemoteRouterSetEntry 1 }

   olsrv2TibAdRemoteRouterSetIpAddr  OBJECT-TYPE
      SYNTAX      InetAddress (SIZE(4|16))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This is the originator address of a received 
          TC message."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibAdRemoteRouterSetEntry 2 }

   olsrv2TibAdRemoteRouterSetRouterId  OBJECT-TYPE
      SYNTAX      NeighborRouterIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "This object is an additional index for each
          Remote Router's IfAddr associated with the
          olsrv2TibAdRemoteRouterSetIpAddr."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibAdRemoteRouterSetEntry 3 }

   olsrv2TibAdRemoteRouterSetMaxSeqNo  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..65535)
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This is the greatest ANSN in any TC message 
          received which originated from the router 
          with originator address 
          olsrv2TibAdRemoteRouterSetIpAddr."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibAdRemoteRouterSetEntry 4 }

   olsrv2TibAdRemoteRouterSetExpireTime  OBJECT-TYPE
      SYNTAX      TimeStamp
      UNITS       "milliseconds"
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "olsrv2TibAdRemoteRouterSetExpireTime specifies the value
          of sysUptime when this entry should expire and be
          removed from the olsrv2TibAdRemoteRouterSetTable."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibAdRemoteRouterSetEntry 5 }

    

   --
   -- Router Topology Set
   --

   olsrv2TibRouterTopologySetTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF Olsrv2TibTopologySetEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "A router's Router Topology Set records topology 
          information about the network."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2StateGroup 8 }

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

          (TR_from_orig_addr, TR_to_orig_addr, 
           TR_seq_number, TR_metric, TR_time)"
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      INDEX { olsrv2TibRouterTopologySetIndex }
   ::= { olsrv2TibRouterTopologySetTable 1 }

   Olsrv2TibTopologySetEntry ::=
      SEQUENCE {
         olsrv2TibRouterTopologySetIndex
            Integer32,
         olsrv2TibRouterTopologySetFromOrigIpAddrType
            InetAddressType,
         olsrv2TibRouterTopologySetFromOrigIpAddr
            InetAddress,
         olsrv2TibRouterTopologySetToOrigIpAddrType     
            InetAddressType,
         olsrv2TibRouterTopologySetToOrigIpAddr
            InetAddress,
         olsrv2TibRouterTopologySetSeqNo
            Unsigned32,
         olsrv2TibRouterTopologySetMetric
            Float32TC,
         olsrv2TibRouterTopologySetExpireTime
            TimeStamp          
      }

   olsrv2TibRouterTopologySetIndex  OBJECT-TYPE
      SYNTAX      Integer32 (0..65535)
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The index for this table."
   ::= { olsrv2TibRouterTopologySetEntry 1 }

   olsrv2TibRouterTopologySetFromOrigIpAddrType  OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The type of the olsrv2TibRouterTopologySetFromOrigIpAddr,
          as defined in the InetAddress MIB module (RFC4001).
           
          Only the values 'ipv4(1)' and
          'ipv6(2)' are supported."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRouterTopologySetEntry 2 }

   olsrv2TibRouterTopologySetFromOrigIpAddr  OBJECT-TYPE
      SYNTAX      InetAddress (SIZE(4|16))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This is the originator address of a router which can 
          reach the router with originator address TR_to_orig_addr 
          in one hop."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRouterTopologySetEntry 3 }

   olsrv2TibRouterTopologySetToOrigIpAddrType  OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The type of the olsrv2TibRouterTopologySetToOrigIpAddr,
          as defined in the InetAddress MIB module (RFC4001).
           
          Only the values 'ipv4(1)' and
          'ipv6(2)' are supported."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRouterTopologySetEntry 4 }

   olsrv2TibRouterTopologySetToOrigIpAddr  OBJECT-TYPE
      SYNTAX      InetAddress (SIZE(4|16))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This is the originator address of a router which can be 
          reached by the router with originator address 
          TR_to_orig_addr in one hop."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRouterTopologySetEntry 5 }

   olsrv2TibRouterTopologySetSeqNo  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..65535)
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This is the greatest ANSN in any TC message 
          received which originated from the router 
          with originator address TR_from_orig_addr 
          (i.e., which contributed to the information
          contained in this Tuple)."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRouterTopologySetEntry 6 }
    
   olsrv2TibRouterTopologySetMetric  OBJECT-TYPE
      SYNTAX      Float32TC
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This is the neighbor metric from the router 
          with originator address TR_from_orig_addr to 
          the router with originator address 
          TR_to_orig_addr."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRouterTopologySetEntry 7 }

   olsrv2TibRouterTopologySetExpireTime  OBJECT-TYPE
      SYNTAX      TimeStamp
      UNITS       "milliseconds"
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "olsrv2TibRouterTopologySetExpireTime specifies the value
          of sysUptime when this entry should expire and be
          removed from the olsrv2TibRouterTopologySetTable."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRouterTopologySetEntry 8 }
    
     
   --
   -- Routable Address Topology Set
   --

   olsrv2TibRoutableAddressTopologySetTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF Olsrv2TibRoutableAddressTopologySetEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A router's Routable Address Topology Set records topology
          information about the routable addresses within the MANET,
          and via which routers they may be reached."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2StateGroup 9 }

   olsrv2TibRoutableAddressTopologySetEntry  OBJECT-TYPE
      SYNTAX      Olsrv2TibRoutableAddressTopologySetEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "It consists of Router Topology Tuples:

          (TA_from_orig_addr, TA_dest_addr,
           TA_seq_number, TA_metric, TA_time)"
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      INDEX { olsrv2TibRoutableAddressTopologySetIndex }
   ::= { olsrv2TibRoutableAddressTopologySetTable 1 }

    Olsrv2TibRoutableAddressTopologySetEntry ::=
       SEQUENCE {
          olsrv2TibRoutableAddressTopologySetIndex
            Integer32,
          olsrv2TibRoutableAddressTopologySetFromOrigIpAddrType
            InetAddressType,
          olsrv2TibRoutableAddressTopologySetFromOrigIpAddr
            InetAddress,
          olsrv2TibRoutableAddressTopologySetDestIpAddrType
            InetAddressType,
          olsrv2TibRoutableAddressTopologySetDestIpAddr
            InetAddress,
          olsrv2TibRoutableAddressTopologySetSeqNo
            Unsigned32,
          olsrv2TibRoutableAddressTopologySetMetric
            Float32TC,
          olsrv2TibRoutableAddressTopologySetExpireTime
            TimeStamp
       }

   olsrv2TibRoutableAddressTopologySetIndex  OBJECT-TYPE
      SYNTAX      Integer32 (0..65535)
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The index for this table."
   ::= { olsrv2TibRoutableAddressTopologySetEntry 1 }

   olsrv2TibRoutableAddressTopologySetFromOrigIpAddrType  OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The type of the 
          olsrv2TibRoutableAddressTopologySetFromOrigIpAddr,
          as defined in the InetAddress MIB module (RFC 4001).
          
          Only the values 'ipv4(1)' and
          'ipv6(2)' are supported."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRoutableAddressTopologySetEntry 2 }

   olsrv2TibRoutableAddressTopologySetFromOrigIpAddr  OBJECT-TYPE
      SYNTAX      InetAddress (SIZE(4|16))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This is the originator address of a router which can
          reach the router with routable address TA_dest_addr
          in one hop."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRoutableAddressTopologySetEntry 3 }

   olsrv2TibRoutableAddressTopologySetDestIpAddrType  OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The type of the olsrv2TibRouterTopologySetToOrigIpAddr,
          as defined in the InetAddress MIB module (RFC 4001).
           
          Only the values 'ipv4(1)' and
          'ipv6(2)' are supported."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRoutableAddressTopologySetEntry 4 }

   olsrv2TibRoutableAddressTopologySetDestIpAddr  OBJECT-TYPE
      SYNTAX      InetAddress (SIZE(4|16))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This is a routable address of a router which can be
          reached by the router with originator address 
          TA_from_orig_addr in one hop."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRoutableAddressTopologySetEntry 5 }

   olsrv2TibRoutableAddressTopologySetSeqNo  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..65535)
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This is the greatest ANSN in any TC message
          received which originated from the router
          with originator address TA_from_orig_addr
          (i.e., which contributed to the information
          contained in this Tuple)."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRoutableAddressTopologySetEntry 6 }
    
   olsrv2TibRoutableAddressTopologySetMetric  OBJECT-TYPE
      SYNTAX      Float32TC
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This is the neighbor metric from the router 
          with originator address TA_from_orig_addr to the 
          router with OLSRv2 interface address TA_dest_addr."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRoutableAddressTopologySetEntry 7 }

   olsrv2TibRoutableAddressTopologySetExpireTime  OBJECT-TYPE
      SYNTAX      TimeStamp
      UNITS       "milliseconds"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "olsrv2TibRoutableAddressTopologySetExpireTime 
          specifies the value of sysUptime when this entry 
          should expire and be removed from the
          olsrv2TibRoutableAddressTopologySetTable."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRoutableAddressTopologySetEntry 8 }


   --
   -- Attached Network Set
   --

   olsrv2TibAttNetworksSetTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF Olsrv2TibAttNetworksSetEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "A router's Attached Network Set records information 
          about networks (which may be outside the MANET) 
          attached to other routers and their routable addresses."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2StateGroup 10 }

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

          (AN_orig_addr, AN_net_addr, AN_seq_number,
           AN_dist, AN_metric, AN_time)"
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      INDEX { olsrv2TibAttNetworksSetIndex }
   ::= { olsrv2TibAttNetworksSetTable 1 }

   Olsrv2TibAttNetworksSetEntry ::=
      SEQUENCE {
         olsrv2TibAttNetworksSetIndex
            Integer32,
         olsrv2TibAttNetworksSetOrigIpAddrType     
            InetAddressType,
         olsrv2TibAttNetworksSetOrigIpAddr
            InetAddress,
         olsrv2TibAttNetworksSetNetIpAddrType     
            InetAddressType,
         olsrv2TibAttNetworksSetNetIpAddr     
            InetAddress,
         olsrv2TibAttNetworksSetNetIpAddrPrefixLen     
            InetAddressPrefixLength,
         olsrv2TibAttNetworksSetSeqNo
            Unsigned32,
         olsrv2TibAttNetworksSetDist
            Unsigned32,
         olsrv2TibAttNetworksSetMetric
            Float32TC,
         olsrv2TibAttNetworksSetExpireTime
            TimeStamp          
      }

   olsrv2TibAttNetworksSetIndex  OBJECT-TYPE
      SYNTAX      Integer32 (0..65535)
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The index for this table."
   ::= { olsrv2TibAttNetworksSetEntry 1 }

   olsrv2TibAttNetworksSetOrigIpAddrType  OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The type of the olsrv2TibAttNetworksSetOrigIpAddr,
          as defined in the InetAddress MIB module (RFC4001).
           
          Only the values 'ipv4(1)' and
          'ipv6(2)' are supported."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibAttNetworksSetEntry 2 }
    
 
   olsrv2TibAttNetworksSetOrigIpAddr  OBJECT-TYPE
      SYNTAX      InetAddress (SIZE(4|16))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This is the originator address of a 
          router which can act as gateway to the 
          network with address AN_net_addr."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibAttNetworksSetEntry 3 }

   olsrv2TibAttNetworksSetNetIpAddrType  OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The type of the olsrv2TibAttNetworksSetNetIpAddr,
          as defined in the InetAddress MIB module (RFC 4001).
           
          Only the values 'ipv4(1)' and
          'ipv6(2)' are supported."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibAttNetworksSetEntry 4 }

   olsrv2TibAttNetworksSetNetIpAddr  OBJECT-TYPE
      SYNTAX      InetAddress (SIZE(4|16))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This is is the network address of an 
          attached network, which may be reached via 
          the router with originator address AN_orig_addr."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibAttNetworksSetEntry 5 }

   olsrv2TibAttNetworksSetNetIpAddrPrefixLen  OBJECT-TYPE
      SYNTAX      InetAddressPrefixLength
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Indicates the number of leading one bits that form the
          mask to be logically ANDed with the destination address
          before being compared to the value in the 
          olsrv2TibAttNetworksSetNetIpAddr field."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibAttNetworksSetEntry 6 }

   olsrv2TibAttNetworksSetSeqNo  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..65535)
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The greatest ANSN in any TC 
          message received which originated from the 
          router with originator address AN_orig_addr
          (i.e., which contributed to the information 
          contained in this Tuple)."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibAttNetworksSetEntry 7 }

   olsrv2TibAttNetworksSetDist  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..255)
      UNITS       "hops"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of hops to the network 
          with address AN_net_addr from the router with 
          originator address AN_orig_addr."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibAttNetworksSetEntry 8 }
   
   olsrv2TibAttNetworksSetMetric  OBJECT-TYPE
      SYNTAX      Float32TC
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The metric of the link from the router with
          originator address AN_orig_addr to the attached 
          network with address AN_net_addr."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibAttNetworksSetEntry 9 }

   olsrv2TibAttNetworksSetExpireTime  OBJECT-TYPE
      SYNTAX      TimeStamp
      UNITS       "milliseconds"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "olsrv2TibAttNetworksSetExpireTime 
          specifies the value of sysUptime when this 
          entry should expire and be removed from the
          olsrv2TibAttNetworksSetTable."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibAttNetworksSetEntry 10 }



   --
   -- Routing Set
   --

   olsrv2TibRoutingSetTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF Olsrv2TibRoutingSetEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "A router's Routing Set records the first hop along a 
          selected path to each destination for which any such 
          path is known."  
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2StateGroup 11 }

   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_local_iface_addr, R_dist, R_metric)"
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
      INDEX { olsrv2TibRoutingSetDestIpAddrType,
              olsrv2TibRoutingSetDestIpAddr,
              olsrv2TibRoutingSetDestIpAddrPrefLen }
   ::= { olsrv2TibRoutingSetTable 1 }

   Olsrv2TibRoutingSetEntry ::=
      SEQUENCE {
         olsrv2TibRoutingSetDestIpAddrType     
            InetAddressType,
         olsrv2TibRoutingSetDestIpAddr
            InetAddress,
         olsrv2TibRoutingSetDestIpAddrPrefLen
            InetAddressPrefixLength,
         olsrv2TibRoutingSetNextIfIpAddrType     
            InetAddressType,
         olsrv2TibRoutingSetNextIfIpAddr
            InetAddress,
         olsrv2TibRoutingSetLocalIfIpAddrType     
            InetAddressType,
         olsrv2TibRoutingSetLocalIfIpAddr
            InetAddress,
         olsrv2TibRoutingSetDist
            Unsigned32,
         olsrv2TibRoutingSetMetric
            Float32TC
      }

   olsrv2TibRoutingSetDestIpAddrType  OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The type of the olsrv2TibRoutingSetDestIpAddr
          and olsrv2TibRoutingSetNextIfIpAddr,
          as defined in the InetAddress MIB module (RFC 4001).
           
          Only the values 'ipv4(1)' and
          'ipv6(2)' are supported."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRoutingSetEntry 1 }

   olsrv2TibRoutingSetDestIpAddr  OBJECT-TYPE
      SYNTAX      InetAddress (SIZE(4|16))
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "This is the address of the destination, 
          either the address of an interface of 
          a destination router, or the network 
          address of an attached network.

          Assignment of this object to a value, e.g., x, 
          must be rejected if the bitwise logical-AND of 
          the value with the value of the mask defined by 
          the olsrv2TibRoutingSetDestIpAddrPrefLen is
          not equal to the value x."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRoutingSetEntry 2 }

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

          Note: This definition needs to be consistent
          with the current forwarding table MIB module description.
          Specifically, it should allow for longest prefix
          matching of network addresses."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRoutingSetEntry 3 }

   olsrv2TibRoutingSetNextIfIpAddrType  OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The type of the olsrv2TibRoutingSetNextIfIpAddr
          and olsrv2TibRoutingSetNextIfIpAddr,
          as defined in the InetAddress MIB module (RFC 4001).
           
          Only the values 'ipv4(1)' and
          'ipv6(2)' are supported."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRoutingSetEntry 4 }

   olsrv2TibRoutingSetNextIfIpAddr  OBJECT-TYPE
      SYNTAX      InetAddress (SIZE(4|16))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This object is the OLSRv2 interface address of the 
          next hop on the selected path to the 
          destination."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRoutingSetEntry 5 }
    
   olsrv2TibRoutingSetLocalIfIpAddrType  OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The type of the olsrv2TibRoutingSetLocalIfIpAddr
          and olsrv2TibRoutingSetNextIfIpAddr,
          as defined in the InetAddress MIB module (RFC 4001).
           
          Only the values 'ipv4(1)' and
          'ipv6(2)' are supported."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRoutingSetEntry 6 }
    

   olsrv2TibRoutingSetLocalIfIpAddr  OBJECT-TYPE
      SYNTAX      InetAddress (SIZE(4|16))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This object is the address of the local OLSRv2 
          interface over which a packet must be 
          sent to reach the destination by the
          selected path."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRoutingSetEntry 7 }
    
   olsrv2TibRoutingSetDist  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..255)
      UNITS       "hops"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This object is the number of hops on the selected 
          path to the destination."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRoutingSetEntry 8 }
    
   olsrv2TibRoutingSetMetric  OBJECT-TYPE
      SYNTAX      Float32TC
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This object is the metric of the route 
          to the destination with address R_dest_addr."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2TibRoutingSetEntry 9 }




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

olsrv2PerformanceObjGrp  OBJECT IDENTIFIER ::= {olsrv2MIBObjects 3}

    --
    -- Objects per local interface
    --
  
   olsrv2InterfacePerfTable  OBJECT-TYPE
      SYNTAX      SEQUENCE OF Olsrv2InterfacePerfEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "This table summarizes performance objects that are
          measured per each active local OLSRv2 interface.
          If the olsrv2InterfaceAdminStatus of the interface
          changes to 'disabled' then the row associated with this
          interface should be removed from this table."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2PerformanceObjGrp 1 }

   olsrv2InterfacePerfEntry OBJECT-TYPE
      SYNTAX      Olsrv2InterfacePerfEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A single entry contains performance counters for
          each active local OLSRv2 interface."
      AUGMENTS { nhdpInterfacePerfEntry }
   ::= { olsrv2InterfacePerfTable 1 }

   Olsrv2InterfacePerfEntry ::=
      SEQUENCE {
         olsrv2IfTcMessageXmits
            Counter32,
         olsrv2IfTcMessageRecvd
            Counter32,
         olsrv2IfTcMessageXmitAccumulatedSize
            Counter64,
         olsrv2IfTcMessageRecvdAccumulatedSize
            Counter64,
         olsrv2IfTcMessageTriggeredXmits
            Counter32,
         olsrv2IfTcMessagePeriodicXmits
            Counter32,
         olsrv2IfTcMessageForwardedXmits
            Counter32,
         olsrv2IfTcMessageXmitAccumulatedMPRSelectorCount
            Counter32
      }
  
   olsrv2IfTcMessageXmits  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter is incremented each time a TC
          message has been transmitted on that interface."
   ::= { olsrv2InterfacePerfEntry 1 }

   olsrv2IfTcMessageRecvd  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter is incremented each time a
          TC message has been received on that interface."
   ::= { olsrv2InterfacePerfEntry 2 }

   olsrv2IfTcMessageXmitAccumulatedSize  OBJECT-TYPE
      SYNTAX      Counter64
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter is incremented by the number of octets in
          a TC message each time a
          TC message has been sent."
   ::= { olsrv2InterfacePerfEntry 3 }

   olsrv2IfTcMessageRecvdAccumulatedSize  OBJECT-TYPE
      SYNTAX      Counter64
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter is incremented by the number of octets in
          a TC message each time a
          TC message has been received."
   ::= { olsrv2InterfacePerfEntry 4 }

   olsrv2IfTcMessageTriggeredXmits  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter is incremented each time a triggered
          TC message has been sent."
   ::= { olsrv2InterfacePerfEntry 5 }

   olsrv2IfTcMessagePeriodicXmits  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter is incremented each time a periodic
          TC message has been sent."
   ::= { olsrv2InterfacePerfEntry 6 }
   
   olsrv2IfTcMessageForwardedXmits  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter is incremented each time a
          TC message has been forwarded."
   ::= { olsrv2InterfacePerfEntry 7 }
    
   olsrv2IfTcMessageXmitAccumulatedMPRSelectorCount OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter is incremented by the number of advertised
          MPR selectors in a TC each time a TC 
          message has been sent."
   ::= { olsrv2InterfacePerfEntry 8 }
   

   
   --
   -- Objects concerning the Routing set
   --

   olsrv2RoutingSetRecalculationCount  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This counter increments each time the Routing Set has
          been recalculated."
   ::= { olsrv2PerformanceObjGrp 2 }
   
   --
   -- Objects concerning the MPR set
   --

   olsrv2MPRSetRecalculationCount  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This counter increments each time the MPRs 
          of this router have been recalculated for 
          any of its interfaces."
   ::= { olsrv2PerformanceObjGrp 3 }

  



--
-- Notifications
--

olsrv2NotificationsObjects OBJECT IDENTIFIER ::=
                                     { olsrv2MIBNotifications 0 }
olsrv2NotificationsControl OBJECT IDENTIFIER ::=
                                     { olsrv2MIBNotifications 1 }
olsrv2NotificationsStates  OBJECT IDENTIFIER ::=
                                     { olsrv2MIBNotifications 2 }


   -- olsrv2NotificationsObjects

   olsrv2RouterStatusChange NOTIFICATION-TYPE
       OBJECTS { olsrv2OrigIpAddrType, -- The address type of
                                       --    the originator of
                                       --    the notification.
                 olsrv2OrigIpAddr,     -- The originator of
                                       --    the notification.
                 olsrv2AdminStatus     -- The new state.
       }
       STATUS      current
       DESCRIPTION
          "olsrv2RouterStatusChange is a notification sent
           when the OLSRv2 router changes it status.
           The router status is maintained in the
           olsrv2AdminStatus object."
   ::= { olsrv2NotificationsObjects 1 }

   olsrv2OrigIpAddrChange NOTIFICATION-TYPE
      OBJECTS { olsrv2OrigIpAddrType, -- The address type of
                                      --    the originator of
                                      --    the notification.
                olsrv2OrigIpAddr,     -- The originator of
                                      --    the notification.
                olsrv2PreviousOrigIpAddrType, -- The address
                                      -- type of previous
                                      -- address of
                                      -- the originator of
                                      -- the notification.
                olsrv2PreviousOrigIpAddr  -- The previous
                                      -- address of the
                                      -- originator of
                                      -- the notification.
      }
      STATUS      current
      DESCRIPTION
         "olsrv2OrigIpAddrChange is a notification sent when
          the OLSRv2 router changes it originator IP address.  
          The notification includes the new and the previous
          originator IP address of the OLSRv2 router."
   ::= { olsrv2NotificationsObjects 2 }

   olsrv2RoutingSetRecalculationCountChange NOTIFICATION-TYPE
      OBJECTS { olsrv2OrigIpAddrType, -- The address type of
                                      --   the originator of
                                      --   the notification.
                olsrv2OrigIpAddr,     -- The originator of
                                      --   the notification.
                olsrv2RoutingSetRecalculationCount  -- The
                                          -- new count of the
                                          -- routing set
                                          -- recalculations.
      }
      STATUS       current
      DESCRIPTION
         "olsrv2RoutingSetRecalculationCountChange is
          a notification sent when a significant number of
          routing set recalculations have occurred.
          The network administrator should select
          appropriate values for 'significant number of
          neighbors' and 'short time' through the settings
          of the olsrv2RoutingSetRecalculationCountThreshold
          and olsrv2RoutingSetRecalculationCountWindow
          objects."
   ::= { olsrv2NotificationsObjects 3 }

   olsrv2MPRSetRecalculationCountChange NOTIFICATION-TYPE
      OBJECTS { olsrv2OrigIpAddrType, -- The address type of
                                      --   the originator of
                                      --   the notification.
                olsrv2OrigIpAddr,     -- The originator of
                                      --   the notification.
                olsrv2MPRSetRecalculationCount  -- The new
                                      --   MPR set
                                      --   recalculation
                                      --   count.
      }
      STATUS       current
      DESCRIPTION
         "olsrv2MPRSetRecalculationCountChange is
          a notification sent when a significant number of
          MPR set recalculations have occurred.
          The network administrator should select
          appropriate values for 'significant number of
          neighbors' and 'short time' through the settings
          of the olsrv2MPRSetRecalculationCountThreshold
          and olsrv2MPRSetRecalculationCountWindow
          objects."
   ::= { olsrv2NotificationsObjects 4 }


   -- olsrv2NotificationsControl

   olsrv2RoutingSetRecalculationCountThreshold OBJECT-TYPE
      SYNTAX      Integer32 (0..255)
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "A threshold value for the
          olsrv2RoutingSetRecalculationCount object.
          If the number of occurrences exceeds this
          threshold within the previous
          olsrv2RoutingSetReculculationCountWindow,
          then the olsrv2RoutingSetRecalculationCountChange
          notification is to be sent.
          
          It is recommended that the value of this
          threshold be set to at least 20 and higher
          in dense topologies with frequent expected
          topology changes."
   ::= { olsrv2NotificationsControl 1 }

   olsrv2RoutingSetRecalculationCountWindow OBJECT-TYPE
      SYNTAX      TimeTicks
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "A time window for the
          olsrv2RoutingSetRecalculationCount object.
          If the number of occurrences exceeds the
          olsrv2RoutingSetRecalculationCountThreshold
          within the previous
          olsrv2RoutingSetRecalculationCountWindow,
          then the
          olsrv2RoutingSetRecalculationCountChange
          notification is to be sent.

          This object represents the time in hundredths
          of a second. 
          
          It is recommended that the value for this
          window be set to at least 5 times the
          nhdpHelloInterval."
   ::= { olsrv2NotificationsControl 2 }

   olsrv2MPRSetRecalculationCountThreshold OBJECT-TYPE
      SYNTAX      Integer32 (0..255)
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "A threshold value for the
          olsrv2MPRSetRecalculationCount object.
          If the number of occurrences exceeds this
          threshold within the previous
          olsrv2MPRSetReculculationCountWindow,
          then the
          olsrv2MPRSetRecalculationCountChange
          notification is to be sent.
          
          It is recommended that the value of this
          threshold be set to at least 20 and higher
          in dense topologies with frequent expected
          topology changes."
   ::= { olsrv2NotificationsControl 3 }

   olsrv2MPRSetRecalculationCountWindow OBJECT-TYPE
      SYNTAX       TimeTicks
      MAX-ACCESS   read-write
      STATUS       current
      DESCRIPTION
         "A time window for the
          olsrv2MPRSetRecalculationCount object.
          If the number of occurrences exceeds the
          olsrv2MPRSetRecalculationCountThreshold
          within the previous
          olsrv2MPRSetRecalculationCountWindow,
          then the
          olsrv2MPRSetRecalculationCountChange
          notification is to be sent.
          This object represents the time in hundredths
          of a second.
          
          It is recommended that the value for this
          window be set to at least 5 times the
          nhdpHelloInterval."
   ::= { olsrv2NotificationsControl 4 }


   -- olsrv2NotificationStates

   olsrv2PreviousOrigIpAddrType  OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The type of the olsrv2PreviousOrigIpAddr,
          as defined in the InetAddress MIB module (RFC 4001).

          Only the values 'ipv4(1)' and
          'ipv6(2)' are supported."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2NotificationsStates 1 }

   olsrv2PreviousOrigIpAddr  OBJECT-TYPE
      SYNTAX      InetAddress (SIZE(4|16))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The previous origination IP address
          of this OLSRv2 router.

          This object should be updated each time
          the olsrv2OrigIpAddr is modified.

          This object is persistent and when written
          the entity SHOULD save the change to
          non-volatile storage."
      REFERENCE
         "RFC XXXX - The Optimized Link State Routing Protocol
          version 2, Clausen, T., Dearlove, C., Jacquet, P.
          and U. Herberg, December 2012." 
   ::= { olsrv2NotificationsStates 2 }



   --
   -- Compliance Statements
   --

   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,
                         olsrv2NotificationsObjectsGroup,
                         olsrv2NotificationsGroup }
   ::= { olsrv2Compliances 2 }  

   --
   -- Units of Conformance
   --

   olsrv2ConfigObjectsGroup OBJECT-GROUP
      OBJECTS {
         olsrv2AdminStatus,
         olsrv2InterfaceAdminStatus,
         olsrv2OrigIpAddrType,
         olsrv2OrigIpAddr,
         olsrv2OHoldTime,
         olsrv2TcInterval,
         olsrv2TcMinInterval,
         olsrv2THoldTime,
         olsrv2AHoldTime,
         olsrv2RxHoldTime,
         olsrv2PHoldTime,
         olsrv2FHoldTime,
         olsrv2TpMaxJitter,
         olsrv2TtMaxJitter,
         olsrv2FMaxJitter,
         olsrv2TcHopLimit,
         olsrv2WillFlooding,
         olsrv2WillRouting,
         olsrv2LinkMetricType
      }
      STATUS      current
      DESCRIPTION
         "Set of OLSRv2 configuration objects implemented
          in this module."
   ::= { olsrv2MIBGroups 1 }

   olsrv2StateObjectsGroup  OBJECT-GROUP
      OBJECTS {
         olsrv2LibOrigSetIpAddrType,
         olsrv2LibOrigSetIpAddr,
         olsrv2LibOrigSetExpireTime,
         olsrv2LibLocAttNetSetIpAddrType,
         olsrv2LibLocAttNetSetIpAddr,
         olsrv2LibLocAttNetSetIpAddrPrefixLen,
         olsrv2LibLocAttNetSetDistance,
         olsrv2LibLocAttNetSetMetric,
         olsrv2IibLinkSetInMetric,
         olsrv2IibLinkSetOutMetric,
         olsrv2IibLinkSetMprSelector,
         olsrv2Iib2HopSetInMetric,
         olsrv2Iib2HopSetOutMetric,
         olsrv2NibNeighborSetNOrigIpAddrType,
         olsrv2NibNeighborSetNOrigIpAddr,
         olsrv2NibNeighborSetNInMetric,
         olsrv2NibNeighborSetNOutMetric,
         olsrv2NibNeighborSetNWillFlooding,
         olsrv2NibNeighborSetNWillRouting,
         olsrv2NibNeighborSetNFloodingMpr,
         olsrv2NibNeighborSetNRoutingMpr,
         olsrv2NibNeighborSetNMprSelector,
         olsrv2NibNeighborSetNAdvertised,
         olsrv2NibNeighborSetTableAnsn,
         olsrv2TibAdRemoteRouterSetIpAddrType,
         olsrv2TibAdRemoteRouterSetIpAddr,
         olsrv2TibAdRemoteRouterSetMaxSeqNo,
         olsrv2TibRouterTopologySetFromOrigIpAddrType,
         olsrv2TibRouterTopologySetFromOrigIpAddr,
         olsrv2TibRouterTopologySetToOrigIpAddrType,
         olsrv2TibRouterTopologySetToOrigIpAddr,
         olsrv2TibRouterTopologySetSeqNo,
         olsrv2TibRouterTopologySetMetric,
         olsrv2TibRoutableAddressTopologySetExpireTime,
         olsrv2TibRoutableAddressTopologySetFromOrigIpAddrType,
         olsrv2TibRoutableAddressTopologySetFromOrigIpAddr,
         olsrv2TibRoutableAddressTopologySetDestIpAddrType,
         olsrv2TibRoutableAddressTopologySetDestIpAddr,
         olsrv2TibRoutableAddressTopologySetSeqNo,
         olsrv2TibRoutableAddressTopologySetMetric,
         olsrv2TibAttNetworksSetOrigIpAddrType,
         olsrv2TibAttNetworksSetOrigIpAddr,
         olsrv2TibAttNetworksSetNetIpAddrType,
         olsrv2TibAttNetworksSetNetIpAddr,
         olsrv2TibAttNetworksSetNetIpAddrPrefixLen,
         olsrv2TibAttNetworksSetSeqNo,
         olsrv2TibAttNetworksSetDist,
         olsrv2TibAttNetworksSetMetric,
         olsrv2TibAttNetworksSetExpireTime,
         olsrv2TibRoutingSetNextIfIpAddrType,
         olsrv2TibRoutingSetNextIfIpAddr,
         olsrv2TibRoutingSetLocalIfIpAddrType,
         olsrv2TibRoutingSetLocalIfIpAddr,
         olsrv2TibRoutingSetDist,
         olsrv2TibRoutingSetMetric
      }
      STATUS      current
      DESCRIPTION
         "Set of OLSRv2 state objects implemented
          in this module."
   ::= { olsrv2MIBGroups 2 }

   olsrv2PerfObjectsGroup  OBJECT-GROUP
      OBJECTS {
         olsrv2IfTcMessageXmits,
         olsrv2IfTcMessageRecvd,
         olsrv2IfTcMessageXmitAccumulatedSize,
         olsrv2IfTcMessageRecvdAccumulatedSize,
         olsrv2IfTcMessageTriggeredXmits,
         olsrv2IfTcMessagePeriodicXmits,
         olsrv2IfTcMessageForwardedXmits,
         olsrv2IfTcMessageXmitAccumulatedMPRSelectorCount,
         olsrv2RoutingSetRecalculationCount,
         olsrv2MPRSetRecalculationCount
      }
      STATUS      current
      DESCRIPTION
         "Set of OLSRv2 performance objects implemented
          in this module by total and per interface."
   ::= { olsrv2MIBGroups 3 }

   olsrv2NotificationsObjectsGroup OBJECT-GROUP
      OBJECTS {
         olsrv2RoutingSetRecalculationCountThreshold,
         olsrv2RoutingSetRecalculationCountWindow,
         olsrv2MPRSetRecalculationCountThreshold,
         olsrv2MPRSetRecalculationCountWindow,
         olsrv2PreviousOrigIpAddrType,
         olsrv2PreviousOrigIpAddr
      }
      STATUS      current
      DESCRIPTION
         "Set of OLSRv2 notification objects implemented
          in this module."
   ::= { olsrv2MIBGroups 4 }


   olsrv2NotificationsGroup NOTIFICATION-GROUP
      NOTIFICATIONS {
         olsrv2RouterStatusChange,
         olsrv2OrigIpAddrChange,
         olsrv2RoutingSetRecalculationCountChange,
         olsrv2MPRSetRecalculationCountChange
      }
      STATUS current
      DESCRIPTION
          "Set of OLSRv2 notifications implemented
           in this module."
   ::= { olsrv2MIBGroups 5 }

END

	

8. Security Considerations

This MIB module defines objects for the configuration, monitoring and notification of the Optimized Link State Routing protocol version 2 [OLSRv2]. OLSRv2 allows routers to acquire topological information of the routing domain by virtue of exchanging TC message, to calculate shortest paths to each destination router in the routing domain, to select relays for network-wide transmissions etc.

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:

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:

MANET technology is often deployed to support communications of emergency services or military tactical applications. In these applications, it is imperative to maintain the proper operation of the communications network and to protect sensitive information related to its operation. Therefore, when implementing these capabilities, the full use of SNMPv3 cryptographic mechanisms for authentication and privacy is RECOMMENDED.

SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPSec), 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], 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.

9. Applicability Statement

This document describes objects for configuring parameters of the Optimized Link State Routing version 2 (OLSRv2) Protocol [OLSRv2] process on a router. This MIB module, denoted OLSRv2-MIB, also reports state, performance information and notifications. The OLSRv2 protocol relies upon information gathered via the Neighborhood Discovery Protocol [RFC6130] in order to perform its operations. The NHDP protocol is managed via the NHDP-MIB [RFC6779]. This sections provides some examples of how this MIB module can be used in MANET network deployments. A fuller discussion of MANET network management use cases and challenges will be provided elsewhere.

OLSRv2 is designed to allow routers to leverage information on discovered routers and generate unicast routing paths within the MANET. In the following, three scenarios are listed where this MIB module is useful.

10. IANA Considerations

The MIB module in this document uses the following IANA-assigned OBJECT IDENTIFIER value recorded in the SMI Numbers registry:

      Descriptor        OBJECT IDENTIFIER value
      ----------        -----------------------
      OLSRv2-MIB          { mib-2 XXXX }
      IANA EDITOR NOTE: please assign XXXX
        

11. Acknowledgements

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.

12. References

12.1. Normative References

[RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB", RFC 2863, June 2000.
[RFC3418] Presuhn, R., "Management Information Base (MIB) for the Simple Network Management Protocol (SNMP)", STD 62, RFC 3418, December 2002.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2578] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
[RFC2579] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.
[RFC2580] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999.
[OLSRv2] Clausen, T., Dearlove, C., Jacquet, P. and U. Herberg, "The Optimized Link State Routing Protocol version 2", Internet-Draft draft-ietf-manet-olsr-17, October 2012.
[RFC6130] Clausen, T., Dearlove, C. and J. Dean, "Mobile Ad Hoc Network (MANET) Neighborhood Discovery Protocol (NHDP)", RFC 6130, April 2011.
[RFC6340] Presuhn, R., "Textual Conventions for the Representation of Floating-Point Numbers", RFC 6340, August 2011.
[RFC6779] Herberg, U., Cole, R. and I. Chakeres, "Definition of Managed Objects for the Neighborhood Discovery Protocol", RFC 6779, May 2012.
[RFC4001] Daniele, M., Haberman, B., Routhier, S. and J. Schoenwaelder, "Textual Conventions for Internet Network Addresses", RFC 4001, February 2005.
[RFC3781] Strauss, F. and J. Schoenwaelder, "Next Generation Structure of Management Information (SMIng) Mappings to the Simple Network Management Protocol (SNMP)", RFC 3781, May 2004.

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.
[REPORT-MIB] Cole, R.G., Macker, J. and A. Bierman, "Definition of Managed Objects for Performance Reporting", Internet-Draft draft-ietf-manet-report-mib-02, January 2012.

Appendix A. Note to the RFC Editor

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

Authors' Addresses

Ulrich Herberg Fujitsu Laboratories of America 1240 East Arques Avenue Sunnyvale, CA 94085 USA EMail: ulrich@herberg.name URI: http://www.herberg.name/
Robert G. Cole US Army CERDEC 6010 Frankford Road, Bldg 6010 Aberdeen Proving Ground, Maryland 21005 USA Phone: +1 443 395 8744 EMail: robert.g.cole@us.army.mil URI: http://www.cs.jhu.edu/~rgcole/
Thomas Heide Clausen LIX, Ecole Polytechnique Palaiseau Cedex, 91128 France Phone: +33 6 6058 9349 EMail: T.Clausen@computer.org URI: http://www.ThomasClausen.org/