Internet Engineering Task Force                               S. Harnedy
Internet-Draft                                       Booz Allen Hamilton
Intended status: Standards Track                                 R. Cole
Expires: April 28, 2010                         Johns Hopkins University July 23, 2011                                    US Army CERDEC
                                                             I. Chakeres
                                                                  CenGen
                                                        October 25, 2009
                                                        January 19, 2011

   Definition of Managed Objects for the DYMO Manet Routing Protocol
                      draft-ietf-manet-dymo-mib-03
                      draft-ietf-manet-dymo-mib-04

Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it describes objects for configuring aspects of the
   DYMO routing process.  The DYMO-MIB also reports state information,
   performance information, and notifications.  In addition to
   configuration, this additional state, performance and notification
   information is useful to management operators troubleshooting DYMO
   routing problems.

Status of This Memo

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

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts.
   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."

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

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

   This Internet-Draft will expire on April 28, 2010. July 23, 2011.

Copyright Notice

   Copyright (c) 2009 2011 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 (http://trustee.ietf.org/license-info). document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.

Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols  Code Components extracted from this document must
   include Simplified BSD License text as described in the Internet community.
   In particular, it describes objects for configuring aspects Section 4.e of
   the
   DYMO routing process.  The DYMO-MIB also reports state information,
   performance information, and notifications.  In addition to
   configuration, this additional state Trust Legal Provisions and performance information is
   useful to management operators troubleshooting DYMO routing problems. are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

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

1.  Introduction

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it describes objects for configuring aspects of a
   Dynamic MANET On-demand (DYMO) routing [I-D.ietf-manet-dymo] process.
   The DYMO-MIB also reports state information, performance metrics, and
   notifications.  In addition to configuration, this additional state
   and state,
   performance and notification information is useful to management
   stations troubleshooting routing problems.

2.  The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].

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

3.  Conventions

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

4.  Overview

   The Dynamic MANET On-demand (DYMO) routing protocol
   [I-D.ietf-manet-dymo] is intended for use by mobile nodes in
   wireless, multihop networks.  DYMO determines unicast routes among
   DYMO routers within the network in an on-demand fashion, offering
   improved convergence in dynamic topologies.

   A DYMO router's MIB contains DYMO process configuration parameters
   (e.g. interfaces), state information (e.g. sequence number),
   performance counters (e.g. number of control messages), and
   notifications.

4.1.  DYMO Management Model

   This section describes the management model for the DYMO routing
   protocol.

   The MIB is comprised of four Groups, groups, i.e., Notifications,
   Configuration, State and Statistics. Performance.  The configuration of the
   managed devices is controlled by the objects in the Configuration
   Group.  These are divided into Nodal and Interface objects.  The bulk
   of the DYMO configuration is in the Nodal objects which control
   protocol behavior.  The Interface objects merely identify/configure
   interfaces to enable DYMO routing over their interface.  The Nodal
   objects are further divided into routing (or protocol) objects and
   Gateway objects.  Gateway objects define other routing prefixes for
   which the node acts as a routing proxy on behalf of these non-local
   prefixes.

   The Configuration Objects drive the behavior of the managed DYMO
   device and hence determines the information in the remaining groups,
   i.e., State, Statistics Performance and Notifications.  The State objects
   primarily present the resulting routing forwarding table objects.  The
   Statistics
   Performance group primarily is comprised of counters for monitoring
   the number of DYMO routing messages received locally, per node and
   per interface.  The Notifications group only contains objects which
   monitor changes to the interface configuration and the gateway
   prefixes configuration.

   See the below diagram outlining the DYMO-MIB device management model.

   +------------------------------------------+
   |  CONFIGURATION GROUP                     |
   |                                          |
   |  Nodal                        Interface  |
   |                                          |
   |  +-------+  +-------+         +-------+  |
   |  |Gateway|  |Routing|         |Routing|  |
   |  +-------+  +-------+         +-------+  |
   |                                          |
   +------------------------------------------+
       ||           ||                ||
       ||           ||                ||
       ||           ||                ||
      \  /         \  /              \  /
       \/           \/                \/
   +-------+  +------------+  +-------------+  +---------------+
   | STATE |  | STATISTICS PERFORMANCE |  | NOTIFICATIONS |
   | GROUP |  | GROUP       |  | GROUP         |
   +-------+  +------------+  +-------------+  +---------------+

4.2.  Terms

   The following definitions apply throughout this document:

   o  Configuration Objects - switches, tables, objects which are
      initialized to default settings or set through the management
      interface defined by this MIB.

   o  Tunable Configuration Objects - objects whose values affect timing
      or attempt bounds on the DYMO protocol.

   o  State Objects - automatically generated values which define the
      current operating state of the DYMO protocol process in the
      router.

   o  Statistics  Performance Objects - automatically generated values which help an
      operator or automated tool to assess the performance of the DYMO
      protocol process on the router and the overall routing performance
      within the DYMO routing domain.

5.  Structure of the MIB Module

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

   o  dymoMIBNotifications - defines the notifications associated with
      the DYMO-MIB.  These are currently limited to notifications of
      interface state changes and gateway prefix changes.

   o  dymoMIBObjects - defines the objects forming the basis for the
      DYMO-MIB.  These objects are divided up by function into the
      following groups:

   o

      *  Configuration Group - This group contains the DYMO objects that
         configure specific options that determine the overall
         performance and operation of the routing protocol for the
         router device and its interfaces.

      *  State Group - Contains information describing the current state
         of the DYMO process such as the DYMO routing table.

      *  Statistics  Performance Group - Contains objects which help to characterize
         the performance of the DYMO process, typically statistics
         counters.  There are two types of DYMO statistics: global
         counters and per interface counters.

   o  dymoMIBConformance - defines minimal and full conformance of
      implementations to this DYMO-MIB.

5.1.  Textual Conventions

   The textual conventions used in the DYMO-MIB are as follows.  The
   RowStatus and TruthValue textual conventions are imported from RFC
   2579 [RFC2579].  The DymoInterfaceOperStatus is defined within the
   DYMO-MIB.  This contains the current operational status of the DYMO
   interface.

5.2.  The Configuration Group

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

   Protocol Tuning Configuration Parameters:

   o  DID

   o  MSG_HOPLIMIT

   o  ROUTE_TIMEOUT

   o  ROUTE_AGE_MIN_TIMEOUT

   o  ROUTE_AGE_MAX_TIMEOUT  ROUTE_SEQNUM_AGE_MAX_TIMEOUT
   o  ROUTE_USED_TIMEOUT

   o  ROUTE_DELETE_TIMEOUT

   o  ROUTE_RREQ_WAIT_TIME

   o  RREQ_RETRIES

   o  UNICAST_MESSAGE_SENT_TIMEOUT

   o  MSG_HOPLIMIT

   o  DISCOVERY_ATTEMPTS_MAX

   Protocol Configuration Tables:

   o  Responsible Hosts - If RESPONSIBLE_ADDRESSES is set to other than
      self address, then the DYMO router must be configured with the set
      of host addresses for which it is to generate RREP messages.

   o  Interfaces - If DYMO_INTERFACES is set to other than all, then the
      DYMO router must be told which interfaces to run the DYMO protocol
      over.  This is a table containing the interfaces and associated
      information.

   o  Responsible Hosts - If RESPONSIBLE_ADDRESSES is set to other than
      self address, then the DYMO router must be configured with the set
      of host addresses for which it is to generate RREP messages.

5.3.  The State Group

   The State Subtree reports current state information.  State
   information from the DYMO-MIB is primarily contained in the 'Routing'
   Table.

5.3.1.  Routing Table

   The DYMO routing table contains DYMO specific information related to IP forwarding
   entries found in by the node's IP forwarding table MIB. DYMO additional information includes the sequence number associated
   with the DYMO message which generated the forwarding table entry and
   various flags indicating the viability of the routing entry. processes.

5.4.  The Statistics Performance Group

   The Statistics Performance subtree reports primarily counters that relate to
   DYMO protocol activity.  The DYMO performance statistics objects consists of per
   node and per interface objects:

   o  OwnSequenceNumber

   o  RREQ initiated

   o  RREQ sent

   o  RREQ received
   o  RREP initiated

   o  RREP sent

   o  RREP received

   o  RRER initiated

   o  RRER sent

   o  RRER received

   o  Per interface statistics table with the following entries:

   o

      *  RREQ initiated

      *  RREQ sent

      *  RREQ received

      *  RREP initiated

      *  RREP sent

      *  RREP received

      *  RRER initiated

      *  RRER sent

      *  RRER received

5.5.  The Notifications Group

   The Notifications Subtree contains the list of notifications
   supported within the DYMO-MIB and their intended purpose or utility.
   This group is currently contains two notification objects, one
   related to status changes in DYMO interfaces and one related to
   changes in the gateway prefixes table.

6.  Relationship to Other MIB Modules

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

6.1.  Relationship to the SNMPv2-MIB

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

6.2.  MIB modules required for IMPORTS

   The DYMO-MIB module IMPORTS objects from SNMPv2-SMI [RFC2578],
   SNMPv2-TC [RFC2579], SNMPv2-CONF [RFC2580], INET-ADDRESS-MIB
   [RFC4001] and IF-MIB [RFC2863] [RFC2863].

7.  Definitions

   MANET-DYMO-MIB DEFINITIONS ::= BEGIN

   IMPORTS

      MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
      Counter32, Integer32, Unsigned32, mib-2
         FROM SNMPv2-SMI                          -- [RFC2578]

      TEXTUAL-CONVENTION, RowStatus, TruthValue
         FROM SNMPv2-TC                           -- [RFC2579]

      MODULE-COMPLIANCE, OBJECT-GROUP,
      NOTIFICATION-GROUP
         FROM SNMPv2-CONF                         -- [RFC2580]

      InetAddress, InetAddressType,
      InetAddressPrefixLength
         FROM INET-ADDRESS-MIB                    -- [RFC4001]

      InterfaceIndexOrZero
         FROM IF-MIB                              -- [RFC2863]
      ;

   manetDymoMIB MODULE-IDENTITY
      LAST-UPDATED "200910251200Z" "201101191200Z"  -- October 25, 2009 January 19, 2011
      ORGANIZATION "IETF MANET Working Group"
      CONTACT-INFO
         "WG E-Mail: manet@ietf.org
           WG Chairs: ian.chakeres@gmail.com
                      jmacker@nrl.navy.mil

           Editors:   Sean Harnedy
                      Booz Allen Hamilton
                      333 City Boulevard West
                      Orange, CA 92868
                      USA
                      +1 714 938-3898
                      harnedy_sean@bah.com

                      Robert G. Cole
                      Johns Hopkins University
                      Applied Physics Lab and
                      Department of Computer Science
                      11000 Johns
                      US Army CERDEC
                      Space and Terrestrial Communications
                      328 Hopkins Road
                      Laurel,
                      Aberdeen Proving Ground, MD 22014 21005
                      USA
                      +1 443 778-6951
                      robert.cole@jhuapl.edu 410 278-6779
                      robert.g.cole@us.army.mil

                      Ian D Chakeres
                      CenGen
                      9250 Bendix Road North
                      Columbia, Maryland  21045
                      USA
                      ian.chakeres@gmail.com"

      DESCRIPTION
         "This MIB module contains managed object definitions for
          the Dynamic MANET On-demand (DYMO) routing protocol as
          defined in: Charkeres,I., Chakeres,I., and C. Perkins, Dynamic MANET
          On-demand (DYMO) Routing, draft-ietf-manet-dymo-13,
          April 10, 2008. draft-ietf-manet-dymo-21,
          July 26, 2010.

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

      -- Revision History
      REVISION    "201101191200Z"   -- January 19, 2011
      DESCRIPTION
         "Fifth draft of this MIB module published as
          draft-ietf-manet-dymo-mib-04.txt.
          Changes include:
          - Incorporated the DYMO ID by adding Instance
            Table.
          - Added dymoSetNotification for improved control
            of DYMO Notifications.

          - Updated various object names to be consistent
            with current draft-ietf-manet-dymo-21.
         "
      REVISION    "200910251200Z"   -- October 25, 2009
      DESCRIPTION
         "Fourth draft of this MIB module published as
          draft-ietf-manet-dymo-mib-03.txt.
          - Minor changes to textual material, including
            additions to the IMPORTS text.
          - Added DEFVAL clauses to all read-write
            configuration objects with defaults identified
            in the DYMO draft."
      REVISION    "200902241200Z"   -- February 24, 2009
      DESCRIPTION
         "Third draft of this MIB module published as
          draft-ietf-manet-dymo-mib-02.txt.
          - Minor changes to dymoInterfacesTable and
            dymoResponsibleAddrTable.
          - Added global dymoAdminStatus and interface
            specific dymoIfAdminStatus.
          - Imported InterfaceIndexOrZero type from
            IF-MIB."
      REVISION    "200811031200Z"   -- November 03, 2008
      DESCRIPTION
         "Second draft of this MIB module published as
          draft-ietf-manet-dymo-mib-01.txt. Minor changes to
          dymoInterfacesTable and dymoResponsibleAddrTable."
      REVISION    "200805141200Z"   -- May 14, 2008
      DESCRIPTION
         "Initial draft of this MIB module published as
          draft-ietf-manet-dymo-mib-00.txt."
      -- RFC-Editor assigns XXXX
      ::= { mib-2 999 }   -- to be assigned by IANA

   --
   -- TEXTUAL CONVENTIONs
   --

   Status ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION
          "An indication of the operability of a DYMO
          function or feature.  For example, the status
          of an interface: 'enabled' indicates that
          it is willing to communicate with other DYMO routers,
          and 'disabled' indicates that it is not."
       SYNTAX  INTEGER { enabled (1), disabled (2) }

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

   dymoMIBNotifications OBJECT IDENTIFIER ::= { manetDymoMIB 0 }
   dymoMIBObjects       OBJECT IDENTIFIER ::= { manetDymoMIB 1 }
   dymoMIBConformance   OBJECT IDENTIFIER ::= { manetDymoMIB 2 }

   --
   -- dymoConfigurationGroup
   --
   --    This group contains the DYMO objects that configure specific
   --    options that determine the overall performance and operation
   --    of the routing protocol for the router device and its
   --    interfaces.
   --

   dymoConfigurationGroup  OBJECT IDENTIFIER ::= { dymoMIBObjects 1 }

   --
   -- DYMO Global Router Configuration Group
   --

  dymoRouterConfigGroup OBJECT IDENTIFIER ::= {dymoConfigurationGroup 1}

   dymoAdminStatus

   dymoInstanceTable  OBJECT-TYPE
      SYNTAX      SEQUENCE OF DymoInstanceEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The DYMO Instance Table describes the DYMO
          ...."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, July 2010. The DID."
   ::= { dymoRouterConfigGroup 1 }

   dymoInstanceEntry OBJECT-TYPE
      SYNTAX      DymoInstanceEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The DYMO instance entry describes one DYMO
          process as indexed by its DID."
      INDEX { dymoInstanceIndex }
   ::= { dymoInstanceTable 1 }

   DymoInstanceEntry ::=
      SEQUENCE {
         dymoInstanceIndex
            Integer32,
         dymoInstanceDid
            Integer32,
         dymoInstanceAdminStatus
            Status,
         dymoInstanceRowStatus
            RowStatus
         }

   dymoInstanceIndex  OBJECT-TYPE
      SYNTAX      Integer32 (0..255)
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The instance index for this DYMO process."
      ::= { dymoInstanceEntry 1 }

   dymoInstanceDid OBJECT-TYPE
       SYNTAX       Integer32 (0..255)
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "The DYMO ID of this instance of the
           DYMO process.
          "
   ::= { dymoInstanceEntry 2 }

   dymoInstanceAdminStatus OBJECT-TYPE
       SYNTAX       Status
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "The administrative status of this DYMO
          process in the router.  Multiple processes are
          allowed.  The value 'enabled' denotes that the
          DYMO Process is active on at least one interface;
          'disabled' disables it on all interfaces.

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

   dymoInstanceRowStatus  OBJECT-TYPE
      SYNTAX      RowStatus
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
         "This object permits management of the table
          by facilitating actions such as row creation,
          construction, and destruction. The value of
          this object has no effect on whether other
          objects in this conceptual row can be
          modified."
   ::= { dymoInstanceEntry 4 }

   dymoMaxHopLimit  OBJECT-TYPE
      SYNTAX      Unsigned32 (0..255)
      UNITS       "hops"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The maximum number of hops. The suggested value
          default is 10 hops. This is the DYMO MSG_HOPLIMIT
          parameter value."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. July 2010. Table 2 Suggested
          Parameter Values."
      DEFVAL { 10 }
   ::= { dymoRouterConfigGroup 2 }

   dymoRouteTimeout  OBJECT-TYPE
      SYNTAX      Unsigned32 (1..65535)
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The route timeout value. The suggested default
          value is 5000 milliseconds. This is the
          DYMO ROUTE_TIMEOUT parameter value."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. July 2010. Table 2 Suggested
          Parameter Values."
      DEFVAL { 5000 }
   ::= { dymoRouterConfigGroup 3 }

   dymoRouteAgeMinTimeout  OBJECT-TYPE
      SYNTAX      Unsigned32 (1..65535)
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The minimum route age timeout value. The
          suggested default value is 1000 milliseconds.
          This is the DYMO ROUTE_AGE_MIN_TIMEOUT parameter
          value."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. July 2010. Table 2 Suggested
          Parameter Values."
      DEFVAL { 1000 }
   ::= { dymoRouterConfigGroup 4 }

   dymoRouteAgeMaxTimeout

   dymoRouteSeqnumAgeMaxTimeout  OBJECT-TYPE
      SYNTAX      Unsigned32 (1..65535)
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The maximum route age timeout value. The
          suggested default value is 60,000 milliseconds.
          This is the DYMO ROUTE_AGE_MAX_TIMEOUT ROUTE_SEQNUM_AGE_MAX_TIMEOUT
          parameter value."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. July 2010. Table 2 Suggested
          Parameter Values."
      DEFVAL { 60000 }
   ::= { dymoRouterConfigGroup 5 }

   dymoRouteUsedTimeout  OBJECT-TYPE
      SYNTAX      Unsigned32 (1..65535)
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The route used timeout value. The
          suggested default value is 5000
          milliseconds (the same default as to set this
          to the dymoRouteTimeout value). object value
          (whose default is 5000 milliseconds). This
          is the DYMO ROUTE_USED_TIMEOUT parameter
          value."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. July 2010. Table 2 Suggested
          Parameter Values."
      DEFVAL { 5000 }
   ::= { dymoRouterConfigGroup 6 }

   dymoRouteDeleteTimeout  OBJECT-TYPE
      SYNTAX      Unsigned32 (1..65535)
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The route delete timeout value. The
          suggested default value is 10,000
          milliseconds (this is 2 * dymoRouteTimeout
          value (which is equal to 10000 milliseconds
          if using the default value for the
          dymoRouteTimeout value). This is the
          DYMO ROUTE_DELETE_TIMEOUT parameter value."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. July 2010. Table 2 Suggested
          Parameter Values."
      DEFVAL { 10000 }
   ::= { dymoRouterConfigGroup 7 }

   dymoRouteRreqWaitTime  OBJECT-TYPE
      SYNTAX      Unsigned32 (1..65535)
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The Route Request wait time. The suggested default
          value is 2000 milliseconds. This is the DYMO
          ROUTE_RREQ_WAIT_TIME parameter value."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. July 2010. Table 2 Suggested
          Parameter Values."
      DEFVAL { 2000 }
   ::= { dymoRouterConfigGroup 8 }

   dymoRreqTries

   dymoDiscoveryAttemptsMax  OBJECT-TYPE
      SYNTAX      Unsigned32 (1..16)
      UNITS       "attempts"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The number of Route Request retry attempts. The
          suggested default value is 3. This is the
          DYMO RREQ_TRIES DISCOVERY_ATTEMPTS_MAX parameter value."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. July 2010. Table 2 Suggested
          Parameter Values."
      DEFVAL { 3 }
   ::= { dymoRouterConfigGroup 9 }
   dymoUnicastMsgSentTimeout  OBJECT-TYPE
      SYNTAX      Unsigned32 (1..65535)
      UNITS       "milliseconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The message sent timeout value for unicast packets.
          The suggested default value is 1000 milliseconds.
          This is the DYMO UNICAST_MESSAGE_SENT_TIMEOUT
          parameter value."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. July 2010. Table 2 Suggested
          Parameter Values."
      DEFVAL { 1000 }
   ::= { dymoRouterConfigGroup 10 }

   --
   -- DYMO Interfaces Configuration Table
   --

   dymoInterfaceTable  OBJECT-TYPE
      SYNTAX      SEQUENCE OF DymoInterfaceEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The DYMO Interface Table describes the DYMO
          interfaces that are participating in the
          DYMO routing protocol. The ifIndex is from
          the interfaces group defined in the Interfaces
          Group MIB."
      REFERENCE
         "RFC 2863 - The Interfaces Group MIB, McCloghrie,
          K., and F. Kastenholtz, June 2000."
   ::= { dymoConfigurationGroup 2 }

   dymoInterfaceEntry OBJECT-TYPE
      SYNTAX      DymoInterfaceEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The DYMO interface entry describes one DYMO
          interface as indexed by its ifIndex."
      INDEX { dymoIfIndex }
   ::= { dymoInterfaceTable 1 }
   DymoInterfaceEntry ::=
      SEQUENCE {
         dymoIfIndex
            InterfaceIndexOrZero,
         dymoIfAdminStatus
            Status,
         dymoIfRowStatus
            RowStatus
         }

   dymoIfIndex  OBJECT-TYPE
      SYNTAX      InterfaceIndexOrZero
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The ifIndex for this DYMO interface."
      ::= { dymoInterfaceEntry 1 }

   dymoIfAdminStatus OBJECT-TYPE
      SYNTAX      Status
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
          "The DYMO interface's administrative status.
          The value 'enabled' denotes that the interface
          is running the DYMO routing protocol.
          The value 'disabled' denotes that the interface is
          external to DYMO."
      ::= { dymoInterfaceEntry 2 }

   dymoIfRowStatus  OBJECT-TYPE
      SYNTAX      RowStatus
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
         "This object permits management of the table
          by facilitating actions such as row creation,
          construction, and destruction. The value of
          this object has no effect on whether other
          objects in this conceptual row can be
          modified."
   ::= { dymoInterfaceEntry 3 }

   --
   -- DYMO Responsible Address Table
   --
   dymoResponsibleAddrTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF DymoResponsibleAddrEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "The DYMO Responsible Address Table is a
          list of IP address prefixes, and their
          associated prefix length for which the
          DYMO router is responsible."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. July 2010. Table 3 Important
          Settings."
   ::= { dymoConfigurationGroup 3 }

   dymoResponsibleAddrEntry  OBJECT-TYPE
      SYNTAX      DymoResponsibleAddrEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A single host address range. Information
          in this table is persistent and when this object
          is written, the entity SHOULD save the change to
          non-volatile storage."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. July 2010. Table 3 Important
          Settings."
      INDEX { dymoResponsibleAddrIndex }
   ::= { dymoResponsibleAddrTable 1 }

   DymoResponsibleAddrEntry ::=
      SEQUENCE {
         dymoResponsibleAddrIndex
            Unsigned32,
         dymoResponsibleAddrType
            InetAddressType,
         dymoResponsibleAddr
            InetAddress,
         dymoResponsibleAddrPrefixLen
            InetAddressPrefixLength,
         dymoResponsibleAddrRowStatus
            RowStatus
         }

   dymoResponsibleAddrIndex  OBJECT-TYPE
      SYNTAX      Unsigned32
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "This object is the index into this table."
   ::= { dymoResponsibleAddrEntry 1 }

   dymoResponsibleAddrType  OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
         "The type of the dymoResponsibleAddr, as defined
          in the InetAddress MIB [RFC 4001]."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. July 2010. Table 3 Important
          Settings."
   ::= { dymoResponsibleAddrEntry 2 }

   dymoResponsibleAddr  OBJECT-TYPE
      SYNTAX      InetAddress
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
         "The destination IP address of this route. The type
          of this address is determined by the value of the
          dymoResponsibleAddrType object."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. July 2010. Table 3 Important
          Settings."
   ::= { dymoResponsibleAddrEntry 3 }

   dymoResponsibleAddrPrefixLen  OBJECT-TYPE
      SYNTAX      InetAddressPrefixLength
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
         "Indicates the number of leading one bits that form the
          mask to be logical-ANDed logical-AND'd with the destination address
          before being compared to the value in the dymoResonsibleAddr
          field."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. July 2010. Table 3 Important
          Settings."
   ::= { dymoResponsibleAddrEntry 4 }

   dymoResponsibleAddrRowStatus  OBJECT-TYPE
      SYNTAX      RowStatus
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
         "This object permits management of the table
          by facilitating actions such as row creation,
          construction, and destruction. The value of
          this object has no effect on whether other
          objects in this conceptual row can be
          modified."
   ::= { dymoResponsibleAddrEntry 5 }

   --
   -- dymoStateGroup
   --
   --    Contains information describing the current state of the DYMO
   --    process such as the DYMO routing table.
   --

   dymoStateGroup  OBJECT IDENTIFIER ::= { dymoMIBObjects 2 }

   dymoCurrentSeqNum  OBJECT-TYPE
      SYNTAX      Unsigned32 (1..65535)
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The current DYMO sequence number. The DYMO sequence
          numbers allow nodes to judge the freshness of routing
          information and ensures loop freedom. If the sequence
          number has been assigned to be the largest possible
          number representable as a 16-bit unsigned integer
          (i.e., 65,535), then the sequence number is set to
          256 when incremented.  Setting the sequence number
          to 256 allows other nodes to detect that the number
          has rolled over and the node has not lost its sequence
          number (e.g., via reboot)."
   ::= { dymoStateGroup 1 }

   --
   -- DYMO Routing Table
   --

   dymoRoutingTable  OBJECT-TYPE
      SYNTAX       SEQUENCE OF DymoRoutingEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "The DYMO Routing Table describes the
          current routing information learned
          via DYMO control messages."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. July 2010. Table 2 Suggested
          Parameter Values."
   ::= { dymoStateGroup 2 }

   dymoRoutingEntry  OBJECT-TYPE
      SYNTAX       DymoRoutingEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "The DYMO routing entry contains a
          piece of routing information for a
          particular set of addresses."
      INDEX { dymoRoutingIpAddrType,
              dymoRoutingIpAddr,
              dymoRoutingPrefixLen }
   ::= { dymoRoutingTable 1 }

   DymoRoutingEntry ::=
      SEQUENCE {
         dymoRoutingIpAddrType
            InetAddressType,
         dymoRoutingIpAddr
            InetAddress,
         dymoRoutingPrefixLen
            InetAddressPrefixLength,
         dymoRoutingSeqNum
            Unsigned32,
         dymoRoutingNextHopIpAddrType
            InetAddressType,
         dymoRoutingNextHopIpAddress
            InetAddress,
         dymoRoutingNextHopInterface
            InterfaceIndexOrZero,
         dymoRoutingForwardingFlag
            TruthValue,
         dymoRoutingBrokenFlag
            TruthValue,
         dymoRoutingDist
            Unsigned32
         }

   dymoRoutingIpAddrType  OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The routing table address IP address type."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. Perkins, July 2010. Table 3 Important
          Settings."
   ::= { dymoRoutingEntry 1 }

   dymoRoutingIpAddr  OBJECT-TYPE
      SYNTAX      InetAddress
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The routing table Inet IPv4 or IPv6 address."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. July 2010. Table 3 Important
          Settings."
   ::= { dymoRoutingEntry 2 }

   dymoRoutingPrefixLen  OBJECT-TYPE
      SYNTAX      InetAddressPrefixLength
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The prefix length. This is a decimal value that
          indicates the number of contiguous, higher-order
          bits of the address that make up the network
          portion of the address."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. July 2010. Table 3 Important
          Settings."
   ::= { dymoRoutingEntry 3 }

   dymoRoutingSeqNum  OBJECT-TYPE
      SYNTAX       Unsigned32 (1..65535)
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
         "The interface sequence number. This
          is the DYMO SeqNum associated with this
          routing information."
   ::= { dymoRoutingEntry 4 }

   dymoRoutingNextHopIpAddrType OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The IP address type of the next hop."
      ::= { dymoRoutingEntry 5 }

   dymoRoutingNextHopIpAddress OBJECT-TYPE
      SYNTAX       InetAddress
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
         "The IP address of the next hop."
      ::= { dymoRoutingEntry 6 }

   dymoRoutingNextHopInterface OBJECT-TYPE
      SYNTAX       InterfaceIndexOrZero
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
         "The interface ifIndex for sending
          packets toward the destination route
          address."
      ::= { dymoRoutingEntry 7 }

   dymoRoutingForwardingFlag OBJECT-TYPE
      SYNTAX       TruthValue
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
         "The Forwarding Flag indicates whether
          this route can be used for forwarding
          data packets. A value 'true(1)'
          indicates that this route is being used
          for forwarding of data packets, while
          a value 'false(2)' indicates that it is
          not being used for forwarding."
      ::= { dymoRoutingEntry 8 }

   dymoRoutingBrokenFlag OBJECT-TYPE
      SYNTAX       TruthValue
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
         "The Broken Flag indicates whether
          this Route is broken.  This flag is set
          if the next-hop becomes unreachable or
          in response to processing a RERR. A value
          'true(1)' indicates that this route is
          broken, while a value 'false(2)'
          indicates that it is not broken."
      ::= { dymoRoutingEntry 9 }

   dymoRoutingDist OBJECT-TYPE
      SYNTAX       Unsigned32 (1..65535) (0..65535)
      UNITS        "hops"
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
         "The distance to the destination address's
          DYMO router. This is a metric of the
          distance a message or piece of information
          has traversed. The minimum value of distance
          is the number of IP hops traversed. The
          maximum value is 65,535." 65,535.

          This parameter is an optional field in the
          DYMO routing table.  If the DYMO Route.Dist
          is not supported by this device, then this
          object should be set to '0'."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing,
          Chakeres, I., and C. Perkins, April
          2008. Section 3 Terminology."
      ::= { dymoRoutingEntry 10 }

   --
   -- DYMO Statistics Performance Group (Performance Management)
   --
   --    Contains objects which help to characterize the
   --    performance of the DYMO process, typically statistics
   --    counters. There are two types of DYMO statistics:
   --    global counters and per interface counters.
   --

   dymoStatisticsGroup

   dymoPerformanceGroup  OBJECT IDENTIFIER ::= { dymoMIBObjects 3 }

   dymoGlobalStatsGroup

   dymoGlobalPerfGroup  OBJECT IDENTIFIER ::= { dymoStatisticsGroup dymoPerformanceGroup 1 }

   dymoRreqOriginated  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the number of
          RREQ messages that this DYMO
          device has initiated."
   ::= { dymoGlobalStatsGroup dymoGlobalPerfGroup 1 }

   dymoRreqForwarded  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the number of
          RREQ messages that this DYMO
          device has forwarded, i.e., this
          device neither originated or
          terminated the RREQ message."
   ::= { dymoGlobalStatsGroup dymoGlobalPerfGroup 2 }

   dymoRreqReceived  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the number of
          RREQ messages that this DYMO
          device has received as the
          target of the message."
   ::= { dymoGlobalStatsGroup dymoGlobalPerfGroup 3 }

   dymoRrepOriginated  OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
         "A counter of the number of
          RREP messages that this DYMO
          device has initiated."
   ::= { dymoGlobalStatsGroup dymoGlobalPerfGroup 4 }

   dymoRrepForwarded  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the number of
          RREP messages that this DYMO
          device has forwarded, i.e, this
          device neither originated or
          terminated the RREP message."
   ::= { dymoGlobalStatsGroup dymoGlobalPerfGroup 5 }

   dymoRrepReceived   OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
         "A counter of the number of
          RREP messages that this DYMO
          device has received as the
          target of the message."
   ::= { dymoGlobalStatsGroup dymoGlobalPerfGroup 6 }

   dymoRrerOriginated  OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
         "A counter of the number of
          RRER messages that this DYMO
          device has initiated."
   ::= { dymoGlobalStatsGroup dymoGlobalPerfGroup 7 }

   dymoRrerForwarded  OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
         "A counter of the number of
          RRER messages that this DYMO
          device has forwarded, i.e., this
          device neither originated or
          terminated the RRER message."
   ::= { dymoGlobalStatsGroup dymoGlobalPerfGroup 8 }

   dymoRrerReceived  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the number of
          RRER messages that this DYMO
          device has received as the
          target of the message."
   ::= { dymoGlobalStatsGroup dymoGlobalPerfGroup 9 }
   --
   -- Per DYMO Interface Statistics Performance Table
   --

   dymoInterfaceStatsGroup

   dymoInterfacePerfGroup OBJECT IDENTIFIER ::= {dymoStatisticsGroup {dymoPerformanceGroup 2}

   dymoInterfaceStatsTable

   dymoInterfacePerfTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF DymoInterfaceStatsEntry DymoInterfacePerfEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "The DYMO Interface Statistics Performance Table
          describes the DYMO statistics per
          interface."
   ::= { dymoInterfaceStatsGroup dymoInterfacePerfGroup 1 }

   dymoInterfaceStatsEntry

   dymoInterfacePerfEntry OBJECT-TYPE
      SYNTAX       DymoInterfaceStatsEntry       DymoInterfacePerfEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "The DYMO Interface Statistics Performance entry
          describes the statistics for a particular
          DYMO interface."
      INDEX { dymoIfStatsIfIndex dymoIfPerfIfIndex }
   ::= { dymoInterfaceStatsTable dymoInterfacePerfTable 1 }

   DymoInterfaceStatsEntry

   DymoInterfacePerfEntry ::=
      SEQUENCE {
         dymoIfStatsIfIndex
         dymoIfPerfIfIndex
            InterfaceIndexOrZero,
         dymoIfRreqOriginated
            Counter32,
         dymoIfRreqForwarded
            Counter32,
         dymoIfRreqReceived
            Counter32,
         dymoIfRrepOriginated
            Counter32,
         dymoIfRrepForwarded
            Counter32,
         dymoIfRrepReceived
            Counter32,
         dymoIfRrerOriginated
            Counter32,
         dymoIfRrerForwarded
            Counter32,
         dymoIfRrerReceived
            Counter32
            }

   dymoIfStatsIfIndex

   dymoIfPerfIfIndex  OBJECT-TYPE
      SYNTAX      InterfaceIndexOrZero
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The ifIndex for this DYMO interface
          that is collecting this set of
          performance management statistics."
   ::= { dymoInterfaceStatsEntry dymoInterfacePerfEntry 1 }

   dymoIfRreqOriginated  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the number of
          RREQ messages that this DYMO
          interface has initiated."
   ::= { dymoInterfaceStatsEntry dymoInterfacePerfEntry 2 }

   dymoIfRreqForwarded  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the number of
          RREQ messages that this DYMO
          interface has forwarded, i.e., this
          interface neither originated nor
          terminated the RREQ message."
   ::= { dymoInterfaceStatsEntry dymoInterfacePerfEntry 3 }

   dymoIfRreqReceived  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the number of
          RREQ messages that this DYMO
          interface has received as the
          target of the message."
   ::= { dymoInterfaceStatsEntry dymoInterfacePerfEntry 4 }

   dymoIfRrepOriginated  OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
         "A counter of the number of
          RREP messages that this DYMO
          interface has initiated."
   ::= { dymoInterfaceStatsEntry dymoInterfacePerfEntry 5 }

   dymoIfRrepForwarded  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the number of
          RREP messages that this DYMO
          interface has forwarded, i.e., this
          interface neither originated nor
          terminated the RREP message."
   ::= { dymoInterfaceStatsEntry dymoInterfacePerfEntry 6 }

   dymoIfRrepReceived   OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
         "A counter of the number of
          RREP messages that this DYMO
          interface has received as the
          target of the message."
   ::= { dymoInterfaceStatsEntry dymoInterfacePerfEntry 7 }

   dymoIfRrerOriginated  OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
         "A counter of the number of
          RRER messages that this DYMO
          interface has initiated."
   ::= { dymoInterfaceStatsEntry dymoInterfacePerfEntry 8 }

   dymoIfRrerForwarded  OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
         "A counter of the number of
          RRER messages that this DYMO
          interface has forwarded, i.e., this
          interface neither originated nor
          terminated the RRER message."
   ::= { dymoInterfaceStatsEntry dymoInterfacePerfEntry 9 }

   dymoIfRrerReceived  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the number of
          RRER messages that this DYMO
          interface has received as the
          target of the message."
   ::= { dymoInterfaceStatsEntry dymoInterfacePerfEntry 10 }

   --
   -- Notifications
   --

   dymoAdminStatusChange

   dymoMIBNotifControl OBJECT IDENTIFIER ::= { dymoMIBNotifications 1 }
   dymoMIBNotifObjects OBJECT IDENTIFIER ::= { dymoMIBNotifications 2 }

   -- dymoMIBNotifControl

   dymoSetNotification OBJECT-TYPE
          SYNTAX       OCTET STRING (SIZE(4))
          MAX-ACCESS   read-write
          STATUS       current
          DESCRIPTION
             "A 4-octet string serving as a bit map for
             the notification events defined by the DYMO
             notifications. This object is used to enable
             and disable specific DYMO notifications where
             a 1 in the bit field represents enabled. The
             right-most bit (least significant) represents
             notification 0.

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

   -- dymoMIBNotifObjects

   dymoInstanceAdminStatusChange  NOTIFICATION-TYPE
      OBJECTS     { dymoAdminStatus dymoInstanceAdminStatus,
                    dymoInstanceDid
                  }
      STATUS      current
      DESCRIPTION
         "This notification is generated when the
          administrative status of a DYMO router process changes."
   ::= { dymoMIBNotifications dymoMIBNotifObjects 1 }

   dymoInterfaceAdminStatusChange  NOTIFICATION-TYPE
      OBJECTS     { dymoIfAdminStatus }
      STATUS      current
      DESCRIPTION
         "This notification is generated when the
          administrative status of a DYMO interface changes."
   ::= { dymoMIBNotifications dymoMIBNotifObjects 2 }

   dymoResponsibleAddrEntryChange  NOTIFICATION-TYPE
      OBJECTS     { dymoResponsibleAddrRowStatus }
      STATUS      current
      DESCRIPTION
         "This notification is generated when the status
          of an entry in the DYMO Responsible Address
          Table changes. This includes the creation or
          deletion of a row."
   ::= { dymoMIBNotifications dymoMIBNotifObjects 3 }

   --
   -- Compliance Statements
   --

   dymoCompliances  OBJECT IDENTIFIER ::= { dymoMIBConformance 1 }
   dymoMIBGroups    OBJECT IDENTIFIER ::= { dymoMIBConformance 2 }

   dymoBasicCompliance  MODULE-COMPLIANCE
      STATUS current
      DESCRIPTION "The basic implementation requirements for
                   managed network entities that implement
                   the DYMO routing protocol."
      MODULE  -- this module
      MANDATORY-GROUPS { dymoConfigObjectsGroup }
   ::= { dymoCompliances 1 }

   dymoFullCompliance MODULE-COMPLIANCE
      STATUS current
      DESCRIPTION "The full implementation requirements for managed
                   network entities that implement the DYMO routing
                   protocol."
      MODULE  -- this module
      MANDATORY-GROUPS { dymoConfigObjectsGroup,
                         dymoStateObjectsGroup,
                         dymoStatsObjectsGroup,
                         dymoNotifObjectsGroup
                         dymoPerfObjectsGroup,
                         dymoNotifObjectsGroup,
                         dymoNotificationGroup }
   ::= { dymoCompliances 2 }

   --
   -- Units of Conformance
   --

   dymoConfigObjectsGroup OBJECT-GROUP
      OBJECTS {
              dymoAdminStatus,
              dymoInstanceAdminStatus,
              dymoInstanceDid,
              dymoInstanceRowStatus,
              dymoMaxHopLimit,
              dymoRouteTimeout,
              dymoRouteAgeMinTimeout,
              dymoRouteAgeMaxTimeout,
              dymoRouteSeqnumAgeMaxTimeout,
              dymoRouteUsedTimeout,
              dymoRouteDeleteTimeout,
              dymoRouteRreqWaitTime,
              dymoRreqTries,
              dymoDiscoveryAttemptsMax,
              dymoUnicastMsgSentTimeout,
              dymoIfAdminStatus,
              dymoIfRowStatus,
              dymoResponsibleAddrType,
              dymoResponsibleAddr,
              dymoResponsibleAddrPrefixLen,
              dymoResponsibleAddrRowStatus
      }
      STATUS  current
      DESCRIPTION
         "Set of DYMO configuration objects implemented
          in this module."
   ::= { dymoMIBGroups 1 }

   dymoStateObjectsGroup  OBJECT-GROUP
      OBJECTS {
              dymoCurrentSeqNum,
              dymoRoutingSeqNum,
              dymoRoutingNextHopIpAddrType,
              dymoRoutingNextHopIpAddress,
              dymoRoutingNextHopInterface,
              dymoRoutingForwardingFlag,
              dymoRoutingBrokenFlag,
              dymoRoutingDist
      }
      STATUS  current
      DESCRIPTION
         "Set of DYMO state objects implemented
          in this module."
   ::= { dymoMIBGroups 2 }

  dymoStatsObjectsGroup

  dymoPerfObjectsGroup  OBJECT-GROUP
      OBJECTS {
              dymoRreqOriginated,
              dymoRreqForwarded,
              dymoRreqReceived,
              dymoRrepOriginated,
              dymoRrepForwarded,
              dymoRrepReceived,
              dymoRrerOriginated,
              dymoRrerForwarded,
              dymoRrerReceived,
              dymoIfRreqOriginated,
              dymoIfRreqForwarded,
              dymoIfRreqReceived,
              dymoIfRrepOriginated,
              dymoIfRrepForwarded,
              dymoIfRrepReceived,
              dymoIfRrerOriginated,
              dymoIfRrerForwarded,
              dymoIfRrerReceived
      }
      STATUS  current
      DESCRIPTION
         "Set of DYMO statistic objects implemented
          in this module for performance management."
   ::= { dymoMIBGroups 3 }

   dymoNotifObjectsGroup OBJECT-GROUP
      OBJECTS {
         dymoSetNotification
      }
      STATUS  current
      DESCRIPTION
         "Set of DYMO notifications objects implemented
          in this module."
   ::= { dymoMIBGroups 4 }
   dymoNotificationGroup NOTIFICATION-GROUP
      NOTIFICATIONS {
         dymoAdminStatusChange,
         dymoInstanceAdminStatusChange,
         dymoInterfaceAdminStatusChange,
         dymoResponsibleAddrEntryChange
      }
      STATUS  current
      DESCRIPTION
         "Set of DYMO notifications implemented in this
          module."
   ::= { dymoMIBGroups 4 5 }

   END

8.  Security Considerations

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

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

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

   o  [TODO] writable MIB objects that could be especially disruptive if
      abused MUST be explicitly listed by name and the associated
      security risks MUST be spelled out; RFC 2669 has a very good
      example.

   o  [TODO] list the writable tables and objects and state why they are
      sensitive.

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

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

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

   Some of the readable objects in this MIB module (i.e., objects with a
   MAX-ACCESS other than not-accessible) may be considered sensitive or
   vulnerable in some network environments.  It is thus important to
   control even GET and/or NOTIFY access to these objects and possibly
   to even encrypt the values of these objects when sending them over
   the network via SNMP.  These are the tables and objects and their
   sensitivity/vulnerability:

   o  [TODO] you must explicitly list by name any readable objects that
      are sensitive or vulnerable and the associated security risks MUST
      be spelled out (for instance, if they might reveal customer
      information or violate personal privacy laws such as those of the
      European Union if exposed to unauthorized parties)

   o  [TODO] list the tables and objects and state why they are
      sensitive.

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

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

   It is RECOMMENDED that implementers consider the security features as
   provided by the SNMPv3 framework (see [RFC3410], 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.  IANA Considerations

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

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

   Option #1:

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

        Descriptor        OBJECT IDENTIFIER value
        ----------        -----------------------

        sampleMIB  { mib-2 XXX }

   Option #2:

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

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

   Option #3:

   This memo includes no request to IANA.

10.  Contributors

   This MIB document uses the template authored by D. Harrington which
   is based on contributions from the MIB Doctors, especially Juergen
   Schoenwaelder, Dave Perkins, C.M.Heard and Randy Presuhn.

11.  Acknowledgements

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.

   [RFC4001]              Daniele, M., Haberman, B., Routhier, S., and
                          J. Schoenwaelder, "Textual Conventions for
                          Internet Network Addresses", RFC 4001,
                          February 2005.

   [RFC2119]              Bradner, S., "Key words for use in RFCs to
                          Indicate Requirement Levels", BCP 14,
                          RFC 2119, March 1997.

   [RFC2578]              McCloghrie, K., Ed., Perkins, D., Ed., and J.
                          Schoenwaelder, Ed., "Structure of Management
                          Information Version 2 (SMIv2)", STD 58,
                          RFC 2578, April 1999.

   [RFC2579]              McCloghrie, K., Ed., Perkins, D., Ed., and J.
                          Schoenwaelder, Ed., "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.

   [I-D.ietf-manet-dymo]  Chakeres, I. and C. Perkins, "Dynamic MANET
                          On-demand (DYMO) Routing",
                          draft-ietf-manet-dymo-17
                          draft-ietf-manet-dymo-21 (work in progress),
                          March 2009.
                          July 2010.

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.

Appendix A.  Change Log

   This section identifies the changes that have been made from
   draft-ietf-manet-dymo-mib-00 .

   These changes were made from draft-ietf-manet-dymo-mib-00 to
   draft-ietf-manet-dymo-mib-01.

   1.  Only minor changes of a typographic nature, e.g., read-only to
       read-write on MAX_ACCESS clauses of a few configuration objects.

   These changes were made from draft-ietf-manet-dymo-mib-01 to
   draft-ietf-manet-dymo-mib-02.

   1.  Added the ForwardingFlag and BrokenFlag objects to the DYMO
       Routing Table.

   2.  Added the TruthValue Textual Convention to handle the new Routing
       Table objects.

   3.  Added the DYMO device management model to the introductory
       sections of this draft.

   4.  General clean up of the introductory sections of this draft.

   These changes were made from draft-ietf-manet-dymo-mib-02 to
   draft-ietf-manet-dymo-mib-03.

   1.  Minor changes to the textual material and added to the IMPORTS
       text in the introductory material.

   2.  Added DEFVAL clauses to all read-write configuration objects
       having default values identified in the DYMO specification.

   These changes were made from draft-ietf-manet-dymo-mib-03 to
   draft-ietf-manet-dymo-mib-04.

   1.  Incorporated the DID into the Configuration Group by changing the
       dymoAdminStatus object to an Instance Table.  This allows for the
       presence of multiple DYMO processes concurrent on the same
       router.

   2.  Added the dymoNotifObjectsGroup and its dymoSetNotifications
       object to allow for individual control of the DYMO Notifications.
       Updated the Conformance sections accordingly.

   3.  Renamed several of the Configuration Objects to be consistent
       with the naming within the current draft-ietf-manet-dymo-21.

Appendix B.  Open Issues

   This section contains the set of open issues related to the
   development and design of the DYMO-MIB.  This section will not be
   present in the final version of the MIB and will be removed once all
   the open issues have been resolved.

   1.  Will DYMO require an MANET_ID (Instance ID) for running multiple
       DYMO processes over the same interfaces?

   2.  Incorporate MIB-II IpGroup interworking with DymoIfTable.  (Note:
       We have looked into the current IpForwarding Table and it is not
       clear how this table can be extended through a 'delta' table
       within this MIB.  Hence, we currently have a full DYMO forwarding
       table in this MIB.)

   3.  Work on the Security Section.  This MIB does have settable
       objects, but not sensitive objects (true?).

   4.

   2.  Work on the relationship to other MIBs, IF-MIB, NHDP-MIB.

   5.  Identify all objects requiring non-volatile storage in their
       DESCRIPTION clauses.

   6.  Incorporate parameter relationship conditions into their
       DESCRIPTION clauses.

   7.

   3.  Cleanup all the [TODOs] from the MIB template.

Appendix C.

   ***************************************************************
   * 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-dymo-xx.txt.  This          *
   * need to be replaced with the XXX RFC number.                *
   *                                                             *
   ***************************************************************

Authors' Addresses

   Sean Harnedy
   Booz Allen Hamilton
   333 City Boulevard West
   Orange, California  92868
   USA

   Phone: +1 714 938-3898
   EMail: harnedy_sean@bah.com
   Robert G. Cole
   Johns Hopkins University
   11100 Johns
   US Army CERDEC
   328 Hopkins Road, Room 257
   Laurel, Bldg 245
   Aberdeen Proving Ground, Maryland  21073  21005
   USA

   Phone: +1 443 778 6951 410 278 6779
   EMail: robert.cole@jhuapl.edu robert.g.cole@us.army.mil
   URI:   http://www.cs.jhu.edu/~rgcole/

   Ian D Chakeres
   CenGen
   9250 Bendix Road North
   Columbia, Maryland  21045
   USA

   EMail: ian.chakeres@gmail.com
   URI:   http://www.ianchak.com/