Internet Engineering Task Force                               S. Harnedy, Ed. Harnedy
Internet-Draft                                      Booze                                       Booz Allen Hamilton
Intended status: Standards Track                                 R. Cole
Expires: May 7, August 28, 2009                        Johns Hopkins University
                                                             I. Chakeres
                                                                  CenGen
                                                        November 3, 2008
                                                       February 24, 2009

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

Status of This Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she

   This Internet-Draft is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, submitted to IETF in accordance full conformance with Section 6 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.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

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

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

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

   This Internet-Draft will expire on May 7, August 28, 2009.

Copyright Notice

   Copyright (C) The (c) 2009 IETF Trust (2008). 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.

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 metrics, and notifications.  In addition to
   configuration, this additional state and performance information is
   useful to management stations troubleshooting routing problems.

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  . . . . . . . . . . . . . . . . . . . . . . . . . .  4  5
   5.  Structure of the MIB Module  . . . . . . . . . . . . . . . . .  4  5
     5.1.  Textual Conventions  . . . . . . . . . . . . . . . . . . .  5  6
     5.2.  The Configuration Group  . . . . . . . . . . . . . . . . .  5  6
     5.3.  The State Group  . . . . . . . . . . . . . . . . . . . . .  6  7
       5.3.1.  Peers Table  . . . . . . . . . . . . . . . . . . . . .  6
       5.3.2.  Routing Table  . . . . . . . . . . . . . . . . . . . .  6  7
     5.4.  The Statistics Group . . . . . . . . . . . . . . . . . . .  6  7
     5.5.  The Notifications Group  . . . . . . . . . . . . . . . . .  7  8
   6.  Relationship to Other MIB Modules  . . . . . . . . . . . . . .  7  8
     6.1.  Relationship to the SNMPv2-MIB . . . . . . . . . . . . . .  7  9
     6.2.  Relationship to the IF-MIB . . . . . . . . . . . . . . . .  7  9
     6.3.  MIB modules required for IMPORTS . . . . . . . . . . . . .  8  9
   7.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . . .  8  9
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 29 32
   9.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 31 34
   10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 32 35
   11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 32 35
   12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 32 35
     12.1. Normative References . . . . . . . . . . . . . . . . . . . 32 35
     12.2. Informative References . . . . . . . . . . . . . . . . . . 33 36
   Appendix A.  Change Log  . . . . . . . . . . . . . . . . . . . . . 33 36
   Appendix B.  Open Issues . . . . . . . . . . . . . . . . . . . . . 33 36
   Appendix C.    . . . . . . . . . . . . . . . . . . . . . . . . . . 37

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 performance 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 routers' 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.

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 MIB is comprised of four Groups, i.e., Notifications,
   Configuration, State and Statistics.  The configuration of the management
      interface defined
   managed devices is controlled 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 objects in the
      current operating state Configuration
   Group.  These are divided into Nodal and Interface objects.  The bulk
   of the DYMO protocol process configuration is in the
      router.

   o 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 information in the remaining
   groups, i.e., State, Statistics and Notifications.  The State objects
   primarily address the resulting routing table objects.  The
   Statistics group primarily is comprised of counters for monitoring
   the number of DYMO routing messages received locally.  The
   Notifications group only contains two 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 |  | 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 Objects - automatically generated values which help an
      administrator 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 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 convention is 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  MSG_HOPLIMIT

   o  ROUTE_TIMEOUT

   o  ROUTE_AGE_MIN_TIMEOUT

   o  ROUTE_AGE_MAX_TIMEOUT

   o  ROUTE_USED_TIMEOUT
   o  ROUTE_DELETE_TIMEOUT

   o  ROUTE_RREQ_WAIT_TIME

   o  RREQ_RETRIES

   o  UNICAST_MESSAGE_SENT_TIMEOUT

   Protocol Configuration Tables:

   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 'Peers' 'Routing'
   Table.

5.3.1.  Peers Table

   The DYMO peers table contains a list of recently known DYMO peer
   nodes participating in the rotuing within the DYMO MANET.  These
   entries age out after a preset time.

5.3.2.  Routing Table

   The DYMO routing table contains DYMO specific information related to
   IP forwarding entries found in 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.

5.4.  The Statistics Group

   The Statisctics Statistics subtree reports primarily counters that relate to DYMO
   protocol activity.  The DYMO performance statistics 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 a single two notification object objects, one
   related to status changes in DYMO interfaces. interfaces and one related to
   changes in the gateway prefixes table.

6.  Relationship to Other MIB Modules

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

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.  Relationship to the IF-MIB

   [TODO] This section is included as an example; If the MIB module is
   not an adjunct of the Interface MIB, then this section should be
   removed.

6.3.  MIB modules required for IMPORTS

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

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

7.  Definitions

   MANET-DYMO-MIB DEFINITIONS ::= BEGIN

   IMPORTS

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

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

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

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

      InterfaceIndexOrZero
         FROM IF-MIB                              -- [RFC2863]
      ;

   manetDymoMIB MODULE-IDENTITY
      LAST-UPDATED "200811031200Z" "200902241200Z"  -- November 03, 2008 February 24, 2009
      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 Hopkins Road
                      Room 02-257
                      Laurel, MD 22014
                      USA
                      +1 443 778-6951
                      robert.cole@jhuapl.edu

                      Ian D Chakeres
                      Motorola
                      Bagmane Tech Park
                      66/1, Plot 5, CV Raman Nagar
                      Bangalore, Karnataka 560093
                      India
                      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., and C. Perkins, Dynamic MANET
          On-demand (DYMO) Routing, draft-ietf-manet-dymo-13,
          April 10, 2008.

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

      -- Revision History
      REVISION    "200811031200Z"    "200902241200Z"   -- November 03, 2008 February 24, 2009
      DESCRIPTION
         "Second
         "Third draft of this MIB module published as
          draft-ietf-manet-dymo-mib-01.txt.
          draft-ietf-manet-dymo-mib-02.txt.
          - Minor changes to dymoInterfacesTable and dymoResponsibleAddrTable."
      REVISION    "200805141200Z"   -- May 14, 2008
      DESCRIPTION
            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
   --

   -- Note:  Need to determine the appropriate set of states
   -- for the DymoInterfacesOperStatus textual convention.
   DymoInterfaceOperStatus

   Status ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION
        "The current operational status
          "An indication of the operability of a DYMO interface."
          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 {
                       up(1),
                       down(2),
                       waiting(3),
                       loopback(4),
                       unknown(5) 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 OBJECT-TYPE
       SYNTAX       Status
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "The administrative status of DYMO in the
          router.  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 }

   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. Table 2 Suggested
          Parameter Values."
   ::= { dymoRouterConfigGroup 1 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. Table 2 Suggested
          Parameter Values."
   ::= { dymoRouterConfigGroup 2 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. Table 2 Suggested
          Parameter Values."
   ::= { dymoRouterConfigGroup 3 4 }

   dymoRouteAgeMaxTimeout  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 parameter
          value."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. Table 2 Suggested
          Parameter Values."
   ::= { dymoRouterConfigGroup 4 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
          the dymoRouteTimeout value). This
          is the DYMO ROUTE_USED_TIMEOUT parameter
          value."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. Table 2 Suggested
          Parameter Values."
   ::= { dymoRouterConfigGroup 5 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). This is the DYMO ROUTE_DELETE_TIMEOUT
          parameter value."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. Table 2 Suggested
          Parameter Values."
   ::= { dymoRouterConfigGroup 6 7 }

   dymoRouteRREQWaitTime

   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. Table 2 Suggested
          Parameter Values."
   ::= { dymoRouterConfigGroup 7 8 }

   dymoRREQTries

   dymoRreqTries  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 parameter value."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. Table 2 Suggested
          Parameter Values."
   ::= { dymoRouterConfigGroup 8 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. Table 2 Suggested
          Parameter Values."
   ::= { dymoRouterConfigGroup 9 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
            InterfaceIndex,
         dymoIfOperStatus
            DymoInterfaceOperStatus,
            InterfaceIndexOrZero,
         dymoIfAdminStatus
            Status,
         dymoIfRowStatus
            RowStatus
         }

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

   dymoIfOperStatus

   dymoIfAdminStatus OBJECT-TYPE
      SYNTAX      DymoInterfaceOperStatus      Status
      MAX-ACCESS  read-write  read-create
      STATUS      current
      DESCRIPTION
          "The current operational status of this DYMO interface. interface's administrative status.
          The value 'enabled' denotes that the interface
          is running the DYMO routing protocol.
          The default value 'disabled' denotes that the interface is
          down(2)."
          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. 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. 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-write  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. Table 3 Important
          Settings."
   ::= { dymoResponsibleAddrEntry 2 }

   dymoResponsibleAddr  OBJECT-TYPE
      SYNTAX      InetAddress
      MAX-ACCESS  read-write  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. Table 3 Important
          Settings."
   ::= { dymoResponsibleAddrEntry 3 }

   dymoResponsibleAddrPrefixLen  OBJECT-TYPE
      SYNTAX      InetAddressPrefixLength
      MAX-ACCESS  read-write  read-create
      STATUS      current
      DESCRIPTION
         "Indicates the number of leading one bits that form the
          mask to be logical-ANDed with the destination address
          before being compared to the value in the dymoResonsibleAddr
          field."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, April 2008. 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. 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
            InterfaceIndex,
            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. 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. 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. 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       InterfaceIndex       InterfaceIndexOrZero
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
         "The interface ifIndex for sending
          packets toward the destination route
          address."
      ::= { dymoRoutingEntry 7 }

   dymoRoutingDist

   dymoRoutingForwardingFlag OBJECT-TYPE
      SYNTAX       Unsigned32 (1..65535)
      UNITS        "hops"       TruthValue
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
         "The distance to the destination address's
          DYMO router. This Forwarding Flag indicates whether
          this route can be used for forwarding
          data packets. A value 'true(1)'
          indicates that this route is a metric being used
          for forwarding of the
          distance data packets, while
          a message or piece of information
          has traversed. The minimum value of distance 'false(2)' indicates that it is the number of IP hops traversed. The
          maximum value
          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)
      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."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing,
          Chakeres, I., and C. Perkins, April
          2008. Section 3 Terminology."
      ::= { dymoRoutingEntry 8 10 }

   --
   -- DYMO Statistics 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  OBJECT IDENTIFIER ::= { dymoMIBObjects 3 }

   dymoGlobalStatsGroup  OBJECT IDENTIFIER ::= { dymoStatisticsGroup 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 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 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 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 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 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 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 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 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 9 }

   --
   -- Per DYMO Interface Statistics Table
   --

   dymoInterfaceStatsGroup OBJECT IDENTIFIER ::= {dymoStatisticsGroup 2}

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

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

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

   dymoIfStatsIfIndex  OBJECT-TYPE
      SYNTAX      InterfaceIndex      InterfaceIndexOrZero
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The ifIndex for this DYMO interface
          that is collecting this set of
          performance management statistics."
   ::= { dymoInterfaceStatsEntry 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 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 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 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 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 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 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 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 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 10 }

   --
   -- Notifications
   --

   dymoInterfaceOperStatusChange

   dymoAdminStatusChange  NOTIFICATION-TYPE
      OBJECTS     { dymoIfOperStatus dymoAdminStatus }
      STATUS      current
      DESCRIPTION
         "This notification is generated when the
          operational
          administrative status of a DYMO interface router changes."
   ::= { dymoMIBNotifications 1 }

   dymoInterfaceAdminStatusChange  NOTIFICATION-TYPE
      OBJECTS     { dymoIfAdminStatus }
      STATUS      current
      DESCRIPTION
         "This notification is generated when the
          administrative status of a DYMO interface changes."
   ::= { dymoMIBNotifications 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 2 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 }
   ::= { dymoCompliances 2 }

   --
   -- Units of Conformance
   --

   dymoConfigObjectsGroup OBJECT-GROUP
      OBJECTS {
              dymoAdminStatus,
              dymoMaxHopLimit,
              dymoRouteTimeout,
              dymoRouteAgeMinTimeout,
              dymoRouteAgeMaxTimeout,
              dymoRouteUsedTimeout,
              dymoRouteDeleteTimeout,
              dymoRouteRREQWaitTime,
              dymoRREQTries,
              dymoRouteRreqWaitTime,
              dymoRreqTries,
              dymoUnicastMsgSentTimeout,
              dymoIfOperStatus,
              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  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 NOTIFICATION-GROUP
      NOTIFICATIONS {
         dymoInterfaceOperStatusChange,
         dymoAdminStatusChange,
         dymoInterfaceAdminStatusChange,
         dymoResponsibleAddrEntryChange
      }
      STATUS  current
      DESCRIPTION
         "Set of DYMO notifications implemented in this
          module."
   ::= { dymoMIBGroups 4 }

   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] writeable 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 unathorized 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 placeholders 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 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.

   [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-14
                          draft-ietf-manet-dymo-16 (work in progress),
                          June
                          December 2008.

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

   The following

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

   Not applicable

   These changes were made from draft-ietf-manet-dymo-mib-00 to draft 00
   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.

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.   Agree on set of configuration options to be supported, e.g.,
        Gateway config, local hosts, responsible addresses, etc.

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

   3.   Incorporate MIB-II IfGroup interworking with DymoIfTable.

   4.
   2.  Incorporate MIB-II IpGroup interworking with DymoIfTable.

   5.   Incorporate MIB-II IpForwardingGroup interworking with
        DymoRoutingTable.

   6.   What performance objects are of interest  (Note:
       We have looked into the current IpForwarding Table and utility?

   7. 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.  What notifications are of interest and utility?

   8.

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

   9.

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

   10.

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

   11.

   7.  Add DEFAULT clauses to the appropriate Configuration Objects.

   8.  Incorporate parameter relationship conditions into their
       DESCRIPTION clauses.

   12.

   9.  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 (editor)
   Booze
   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 Hopkins Road, Room 257
   Laurel, Maryland  21073
   USA

   Phone: +1 443 778 6951
   EMail: robert.cole@jhuapl.edu
   URI:   http://www.cs.jhu.edu/~rgcole/

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

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

Full Copyright Statement

   Copyright (C) The IETF Trust (2008).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

Acknowledgement

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).