TOC 
Internet Engineering Task ForceS. Harnedy
Internet-DraftBooz Allen Hamilton
Intended status: Standards TrackR. Cole
Expires: July 24, 2011US Army CERDEC
 I. Chakeres
 CenGen
 January 20, 2011


Definition of Managed Objects for the DYMO Manet Routing Protocol
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 in full conformance with the provisions of BCP 78 and BCP 79.

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

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

This Internet-Draft will expire on July 24, 2011.

Copyright Notice

Copyright (c) 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. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.



Table of Contents

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




 TOC 

1.  Introduction

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



 TOC 

2.  The Internet-Standard Management Framework

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

Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, RFC 2578 [RFC2578] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Structure of Management Information Version 2 (SMIv2),” April 1999.), STD 58, RFC 2579 [RFC2579] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Textual Conventions for SMIv2,” April 1999.) and STD 58, RFC 2580 [RFC2580] (McCloghrie, K., Perkins, D., and J. Schoenwaelder, “Conformance Statements for SMIv2,” April 1999.).



 TOC 

3.  Conventions

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.).



 TOC 

4.  Overview

The Dynamic MANET On-demand (DYMO) routing protocol [I‑D.ietf‑manet‑dymo] (Chakeres, I. and C. Perkins, “Dynamic MANET On-demand (DYMO) Routing,” July 2010.) 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.



 TOC 

4.1.  DYMO Management Model

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

The MIB is comprised of four groups, i.e., Notifications, Configuration, State and 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, Performance and Notifications. The State objects primarily present the resulting forwarding table objects. The 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 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 |  | PERFORMANCE |  | NOTIFICATIONS |
| GROUP |  | GROUP       |  | GROUP         |
+-------+  +-------------+  +---------------+



 TOC 

4.2.  Terms

The following definitions apply throughout this document:



 TOC 

5.  Structure of the MIB Module

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



 TOC 

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] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Textual Conventions for SMIv2,” April 1999.). The DymoInterfaceOperStatus is defined within the DYMO-MIB. This contains the current operational status of the DYMO interface.



 TOC 

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 Configuration Parameters:

Protocol Configuration Tables:



 TOC 

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.



 TOC 

5.3.1.  Routing Table

The DYMO routing table contains information related to IP forwarding entries found by the node's DYMO processes.



 TOC 

5.4.  The Performance Group

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



 TOC 

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.



 TOC 

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.



 TOC 

6.1.  Relationship to the SNMPv2-MIB

The 'system' group in the SNMPv2-MIB [RFC3418] (Presuhn, R., “Management Information Base (MIB) for the Simple Network Management Protocol (SNMP),” December 2002.) is defined as being mandatory for all systems, and the objects apply to the entity as a whole. The 'system' group provides identification of the management entity and certain other system-wide data. The DYMO-MIB does not duplicate those objects.



 TOC 

6.2.  MIB modules required for IMPORTS

The DYMO-MIB module IMPORTS objects from SNMPv2-SMI [RFC2578] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Structure of Management Information Version 2 (SMIv2),” April 1999.), SNMPv2-TC [RFC2579] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Textual Conventions for SMIv2,” April 1999.), SNMPv2-CONF [RFC2580] (McCloghrie, K., Perkins, D., and J. Schoenwaelder, “Conformance Statements for SMIv2,” April 1999.), INET-ADDRESS-MIB [RFC4001] (Daniele, M., Haberman, B., Routhier, S., and J. Schoenwaelder, “Textual Conventions for Internet Network Addresses,” February 2005.) and IF-MIB [RFC2863] (McCloghrie, K. and F. Kastenholz, “The Interfaces Group MIB,” June 2000.).



 TOC 

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 "201101191200Z"  -- 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
                      US Army CERDEC
                      Space and Terrestrial Communications
                      328 Hopkins Road
                      Aberdeen Proving Ground, MD 21005
                      USA
                      +1 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: Chakeres,I., and C. Perkins, Dynamic MANET
          On-demand (DYMO) Routing, 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}

   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."
   ::= { 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, 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, 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, July 2010. Table 2 Suggested
          Parameter Values."
      DEFVAL { 1000 }
   ::= { dymoRouterConfigGroup 4 }

   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_SEQNUM_AGE_MAX_TIMEOUT
          parameter value."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, 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 to set this
          to the dymoRouteTimeout 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, 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 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, 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, July 2010. Table 2 Suggested
          Parameter Values."
      DEFVAL { 2000 }
   ::= { dymoRouterConfigGroup 8 }

   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 DISCOVERY_ATTEMPTS_MAX parameter value."
      REFERENCE
         "Dynamic MANET On-demand (DYMO) Routing, Chakeres,
          I., and C. Perkins, 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, 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, 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, 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, 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, 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-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, 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, 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, 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, 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, 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 (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.

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

   dymoPerformanceGroup  OBJECT IDENTIFIER ::= { dymoMIBObjects 3 }

   dymoGlobalPerfGroup  OBJECT IDENTIFIER ::= { 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."
   ::= { 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."
   ::= { 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."
   ::= { 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."
   ::= { 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."
   ::= { 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."
   ::= { 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."
   ::= { 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."
   ::= { 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."
   ::= { dymoGlobalPerfGroup 9 }

   --
   -- Per DYMO Interface Performance Table
   --

   dymoInterfacePerfGroup OBJECT IDENTIFIER ::= {dymoPerformanceGroup 2}

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

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

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

   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."
   ::= { 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."
   ::= { 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."
   ::= { 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."
   ::= { 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."
   ::= { 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."
   ::= { 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."
   ::= { 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."
   ::= { 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."
   ::= { 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."
   ::= { dymoInterfacePerfEntry 10 }




   --
   -- Notifications
   --

   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     { dymoInstanceAdminStatus,
                    dymoInstanceDid
                  }
      STATUS      current
      DESCRIPTION
         "This notification is generated when the
          administrative status of a DYMO process changes."
   ::= { dymoMIBNotifObjects 1 }

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

   --
   -- Units of Conformance
   --

   dymoConfigObjectsGroup OBJECT-GROUP
      OBJECTS {
              dymoInstanceAdminStatus,
              dymoInstanceDid,
              dymoInstanceRowStatus,
              dymoMaxHopLimit,
              dymoRouteTimeout,
              dymoRouteAgeMinTimeout,
              dymoRouteSeqnumAgeMaxTimeout,
              dymoRouteUsedTimeout,
              dymoRouteDeleteTimeout,
              dymoRouteRreqWaitTime,
              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 }

  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 {
         dymoInstanceAdminStatusChange,
         dymoInterfaceAdminStatusChange,
         dymoResponsibleAddrEntryChange
      }
      STATUS  current
      DESCRIPTION
         "Set of DYMO notifications implemented in this
          module."
   ::= { dymoMIBGroups 5 }

   END


 TOC 

8.  Security Considerations

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

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

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

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

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

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

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

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

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

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

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



 TOC 

9.  IANA Considerations

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

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

Option #1:

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

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

     sampleMIB  { mib-2 XXX }

Option #2:

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

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

Option #3:

This memo includes no request to IANA.



 TOC 

10.  Contributors

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



 TOC 

11.  Acknowledgements



 TOC 

12.  References



 TOC 

12.1. Normative References

[RFC2863] McCloghrie, K. and F. Kastenholz, “The Interfaces Group MIB,” RFC 2863, June 2000 (TXT).
[RFC3418] Presuhn, R., “Management Information Base (MIB) for the Simple Network Management Protocol (SNMP),” STD 62, RFC 3418, December 2002 (TXT).
[RFC4001] Daniele, M., Haberman, B., Routhier, S., and J. Schoenwaelder, “Textual Conventions for Internet Network Addresses,” RFC 4001, February 2005 (TXT).
[RFC2119] Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML).
[RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Structure of Management Information Version 2 (SMIv2),” STD 58, RFC 2578, April 1999 (TXT).
[RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Textual Conventions for SMIv2,” STD 58, RFC 2579, April 1999 (TXT).
[RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, “Conformance Statements for SMIv2,” STD 58, RFC 2580, April 1999 (TXT).
[I-D.ietf-manet-dymo] Chakeres, I. and C. Perkins, “Dynamic MANET On-demand (DYMO) Routing,” draft-ietf-manet-dymo-21 (work in progress), July 2010 (TXT).


 TOC 

12.2. Informative References

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


 TOC 

Appendix A.  Change Log

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.


 TOC 

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. Work on the Security Section. This MIB does have settable objects, but not sensitive objects (true?).
  2. Work on the relationship to other MIBs, IF-MIB, NHDP-MIB.
  3. Cleanup all the [TODOs] from the MIB template.


 TOC 

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



 TOC 

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
  US Army CERDEC
  328 Hopkins Road, Bldg 245
  Aberdeen Proving Ground, Maryland 21005
  USA
Phone:  +1 410 278 6779
EMail:  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/