TOC 
Internet Engineering Task ForceR. Cole
Internet-DraftJohns Hopkins University
Intended status: Standards TrackJ. Macker
Expires: April 29, 2010B. Adamson
 Naval Research Laboratory
 S. Harnedy
 Booz Allen Hamilton
 October 26, 2009


Definition of Managed Objects for the Manet Simplified Multicast Framework Relay Set Process
draft-ietf-manet-smf-mib-01

Status of This Memo

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

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

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

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

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

This Internet-Draft will expire on April 29, 2010.

Copyright Notice

Copyright (c) 2009 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 in effect on the date of publication of this document (http://trustee.ietf.org/license-info). 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 Simplified Multicast Forwarding (SMF) process for Mobile Ad-Hoc Networks (MANETs). The SMF-MIB also reports state information, performance metrics, and notifications. In addition to configuration, this additional state and performance information is useful to operators troubleshooting multicast forwarding problems.



Table of Contents

1.  Introduction
2.  The Internet-Standard Management Framework
3.  Conventions
4.  Overview
    4.1.  SMF Management Model
    4.2.  Terms
5.  Structure of the MIB Module
    5.1.  Textual Conventions
    5.2.  The Capabilities Group
    5.3.  The Configuration Group
    5.4.  The State Group
    5.5.  The Performance Group
    5.6.  The Notifications Group
6.  Relationship to Other MIB Modules
    6.1.  Relationship to the SNMPv2-MIB
    6.2.  MIB modules required for IMPORTS
    6.3.  Relationship to the Future RSSA-MIBs
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 process implementing Simplified Multicast Forwarding (SMF) [I‑D.ietf‑manet‑smf] (Macker, J. and S. Team, “Simplified Multicast Forwarding,” March 2010.) for Mobile Ad-Hoc Networks (MANETs). SMF provides multicast Duplicate Packet Detection (DPD) and supports algorithms for constructing an estimate of a MANET Minimum Connected Dominating Set (MCDS) for efficient multicast forwarding. The SMF-MIB also reports state information, performance metrics, and notifications. In addition to configuration, this additional state and performance information is useful to operators troubleshooting multicast forwarding 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

SMF provides methods for implementing DPD-based multicast forwarding with the optional use of Connected Dominating Set (CDS)-based relay sets. The CDS provides a complete connected coverage of the nodes comprising the MANET. The MCDS is the smallest set of MANET nodes (comprising a connected cluster) which cover all the nodes in the cluster with their transmissions. As the density of the MANET nodes increase, the fraction of nodes required in an MCDS decreases. Using the MCDS as a multicast forwarding set then becomes an efficient multicast mechanism for MANETs.

Various algorithms for the construction of estimates of the MCDS exist. The Simplified Multicast Framework [I‑D.ietf‑manet‑smf] (Macker, J. and S. Team, “Simplified Multicast Forwarding,” March 2010.) describes some of these. It further defines various operational modes for a node which is participating in the collective creation of the MCDS estimates. These modes depend upon the set of related MANET routing and discovery protocols and mechanisms in operation in the specific MANET node.

A SMF routers' MIB contains SMF process configuration parameters (e.g. specific CDS algorithm), state information (e.g., current membership in the CDS), performance counters (e.g., packet counters), and notifications.



 TOC 

4.1.  SMF Management Model

This section describes the management model for the SMF node process.

Figure 1 (reproduced from Figure 4 of [I‑D.ietf‑manet‑smf] (Macker, J. and S. Team, “Simplified Multicast Forwarding,” March 2010.)) shows the relationship between the SMF Relay Set selection algorithm and the related algorithms, processes and protocols running in the MANET nodes. The Relay Set Selection Algorithm (RSSA) can rely upon topology information gotten from the MANET Neighborhood Discovery Protocol (NHDP), from the specific MANET routing protocol running on the node, or from Layer 2 information passed up to the higher layer protocol processes.


                       Possible L2 Trigger/Information
                                      |
                                      |
    ______________              ______|_____         __________________
   |    MANET     |            |            |       |                  |
   | Neighborhood |            | Relay Set  |       | Other Heuristics |
   |  Discovery   |------------| Selection  |-------| (Preference,etc) |
   |   Protocol   | neighbor   | Algorithm  |       |                  |
   |______________|   info     |____________|       |__________________|
          \                              /
           \                            /
    neighbor\                          / Dynamic Relay
      info*  \      ____________      /    Set Status
              \    |    SMF     |    / (State, {neighbor info})
               `---| Relay Set  |---'
                   |   State    |
                ---|____________|
               /
              /
    ______________
   |  Coexistent  |
   |    MANET     |
   |   Unicast    |
   |   Process    |
   |______________|


Figure 1: SMF Relay Set Control Options



 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 SMF-MIB module. The objects are arranged into the following groups:



 TOC 

5.1.  Textual Conventions

The textual conventions defined within the SMF-MIB are as follows. The SmfStatus is defined within the SMF-MIB. This contains the current operational status of the SMF process on the interface. The SmfOpModeID represents an index that identifies a specific SMF operational mode. The SmfRssaID represents an index that identifies through reference a specific RSSA avaliable for operation on the device.



 TOC 

5.2.  The Capabilities Group

The SMF device supports a set of capabilities. The list of capabilities which the device can advertise are:



 TOC 

5.3.  The Configuration Group

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



 TOC 

5.4.  The State Group

The State Subtree reports current state information.



 TOC 

5.5.  The Performance Group

The Performance subtree reports primarily counters that relate to SMF RSSA performance. The SMF performance counters consists of per node and per interface objects:



 TOC 

5.6.  The Notifications Group

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



 TOC 

6.  Relationship to Other MIB Modules

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



 TOC 

6.1.  Relationship to the SNMPv2-MIB

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



 TOC 

6.2.  MIB modules required for IMPORTS

The textual conventions imported for use in the SMF-MIB are as follows. The MOUDULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Counter32, Unsigned32, Integer32 and mib-2 textual conventions are imported from RFC 2578 [RFC2578] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Structure of Management Information Version 2 (SMIv2),” April 1999.). The TEXTUAL-CONVENTION, 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 MODULE-COMPLIANCE, OBJECT-GROUP and NOTIFICATION-GROUP textual conventions are imported from RFC 2580 [RFC2580] (McCloghrie, K., Perkins, D., and J. Schoenwaelder, “Conformance Statements for SMIv2,” April 1999.). The InterfaceIndexOrZero textual convention is imported from RFC 2863 [RFC2863] (McCloghrie, K. and F. Kastenholz, “The Interfaces Group MIB,” June 2000.). The SnmpAdminString textual convention is imported from RFC 3411 [RFC3411] (Harrington, D., Presuhn, R., and B. Wijnen, “An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks,” December 2002.). The InetAddress, InetAddressType and InetAddressPrefixLength textual conventions are imported from RFC 4001 [RFC4001] (Daniele, M., Haberman, B., Routhier, S., and J. Schoenwaelder, “Textual Conventions for Internet Network Addresses,” February 2005.).



 TOC 

6.3.  Relationship to the Future RSSA-MIBs

In a sense, the SMF-MIB is a general front-end to a set of, yet to be developed, RSSA-specific MIBs. These RSSA-specific MIBs will define the objects for the configuration, state, performance and notification objects required for the operation of these specific RSSAs.



 TOC 

7.  Definitions


   MANET-SMF-MIB DEFINITIONS ::= BEGIN

   IMPORTS

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

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

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

      InterfaceIndexOrZero
         FROM IF-MIB                              -- [RFC2863]

      SnmpAdminString
         FROM SNMP-FRAMEWORK-MIB                  -- [RFC3411]

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

   manetSmfMIB MODULE-IDENTITY
      LAST-UPDATED "200910261300Z"  -- October 26, 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:   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

                     Joseph Macker
                     Naval Research Laboratory
                     Washington, D.C. 20375
                     USA
                     macker@itd.nrl.navy.mil

                     Brian Adamson
                     Naval Research Laboratory
                     Washington, D.C. 20375
                     USA
                     adamson@itd.nrl.navy.mil

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

      DESCRIPTION
         "This MIB module contains managed object definitions for
          the Manet SMF RSSA process defined in: Macker, J.(ed.),
          Simplified Multicast Forwarding draft-ietf-manet-smf-09,
          July 13, 2009.

          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    "200910261300Z"   -- October 26, 2009
        DESCRIPTION
           "Updated draft of this MIB module published as
            draft-ietf-manet-smf-mib-01.txt. A few changes
            were made in the development of this draft.
            Specifically, the following changes were made:
               - Updated the textual material, included
                 section on IMPORTS, relationship to other
                 MIBs, etc.
           "
        REVISION    "200904211300Z"   -- April 21, 2009
        DESCRIPTION
           "Updated draft of this MIB module published as
            draft-ietf-manet-smf-mib-00.txt. A few changes
            were made in the development of this draft.
            Specifically, the following changes were made:
               - Removed the smfGatewayFilterTable from this
                 draft.  It is a useful construct, e.g.,
                 an IPTABLES-MIB, but might best be handled
                 as a seperate MIB and worked within a
                 security focused working group.
               - Removed the smfReportsGroup. This capability
                 is being replaced with a new and more general
                 method for offline reporting.  This is being
                 worked as a new MIB module refered to as the
                 REPORT-MIB.
               - Rev'd as a new MANET WG document.
           "
        REVISION    "200902271300Z"   -- February 27, 2009
        DESCRIPTION
           "Updated draft of this MIB module published as
            draft-cole-manet-smf-mib-02.txt. Fairly extensive
            revisions and additions to this MIB were made
            in this version. Specifically, the following
            changes were made in development of this version:
               - added a Capabilities Group within the Objects
                 Group to allow the device to report supported
                 capabilities, e.g., RSSAs supported.
               - added administrative status objects for device
                 and interfaces
               - added multicast address forwarding tables, both
                 for configured (within Configuration Group) and
                 discovered (within the State Group).
               - added additional Performance counters related
                 to DPD functions.
               - Split up the performance counters into IPv4
                 and IPv6, for both global and per interface
                 statistics.
               - Split out the reports capability into a seperate
                 Reports Group under the Objects Group.
           "
        REVISION    "200811031300Z"   -- November 03, 2008
        DESCRIPTION
           "Updated draft of this MIB module published as
            draft-cole-manet-smf-mib-01.txt. Added gateway filter
            table and reports capabilities following rmon."
        REVISION    "200807071200Z"   -- July 07, 2008
        DESCRIPTION
           "Initial draft of this MIB module published as
            draft-cole-manet-smf-mib-00.txt."
        -- RFC-Editor assigns XXXX
        ::= { mib-2 998 }   -- to be assigned by IANA



   --
   -- TEXTUAL CONVENTIONs
   --

   SmfStatus ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION
          "An indication of the operability of a SMF
          function or feature.  For example, the status
          of an interface: 'enabled' indicates that
          it is performing SMF functions,
          and 'disabled' indicates that it is not."
       SYNTAX  INTEGER {
                        enabled (1),
                        disabled (2)
               }

   SmfOpModeID ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d"
       STATUS       current
       DESCRIPTION
           "An index that identifies through reference to a specific
            SMF operations mode ...
           "
       SYNTAX      Unsigned32 (1..2147483647)

   SmfRssaID ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION
           "An index that identifies through reference to a specific
            RSSA algorithms ...
           "
       SYNTAX      INTEGER {
                           cF(1),
                           sMPR(2),
                           eCDS(3),
                           mprCDS(4)
                           -- future(5-127)
                           -- noStdAction(128-239)
                           -- experimental(240-255)
                   }



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

   smfMIBNotifications OBJECT IDENTIFIER ::= { manetSmfMIB 0 }
   smfMIBObjects       OBJECT IDENTIFIER ::= { manetSmfMIB 1 }
   smfMIBConformance   OBJECT IDENTIFIER ::= { manetSmfMIB 2 }



   --
   -- smfMIBObjects Assignments:
   --      smfCapabilitiesGroup  - 1
   --      smfConfigurationGroup - 2
   --      smfStateGroup         - 3
   --      smfPerformanceGroup   - 4
   --

   --
   -- smfCapabilitiesGroup
   --
   --    This group contains the SMF objects that identify specific
   --    capabilities within this device related to SMF functions.
   --

   smfCapabilitiesGroup  OBJECT IDENTIFIER ::= { smfMIBObjects 1 }

  --
   -- SMF Operational Mode Capabilities Table
   --

   smfOpModeCapabilitiesTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SmfOpModeCapabilitiesEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The smfOpModeCapabilitiesTable contains ...
           "
       ::= { smfCapabilitiesGroup 1 }

   smfOpModeCapabilitiesEntry OBJECT-TYPE
       SYNTAX      SmfOpModeCapabilitiesEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Information about a particular operational
            mode.
           "
       INDEX   { smfOpModeCapabilitiesID }
       ::= { smfOpModeCapabilitiesTable 1 }

   SmfOpModeCapabilitiesEntry ::= SEQUENCE {
         smfOpModeCapabilitiesID              SmfOpModeID,
         smfOpModeCapabilitiesName            SnmpAdminString,
         smfOpModeCapabilitiesReference       SnmpAdminString
   }

   smfOpModeCapabilitiesID     OBJECT-TYPE
       SYNTAX      SmfOpModeID
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The index for this entry.  This object identifies
            the particular operational mode for this device.
           "
       ::= { smfOpModeCapabilitiesEntry 1 }

   smfOpModeCapabilitiesName OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The textual name of this operational
            mode.
           "
       ::= { smfOpModeCapabilitiesEntry 2 }

   smfOpModeCapabilitiesReference OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object contains a reference to the document that
            defines this operational mode.
           "
       ::= { smfOpModeCapabilitiesEntry 3 }


   --
   -- SMF RSSA Capabilities Table
   --

   smfRssaCapabilitiesTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SmfRssaCapabilitiesEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The smfRssaCapabilitiesTable contains
            reference to the specific set of RSSAs
            currently supported on this device.
           "
       ::= { smfCapabilitiesGroup 2 }

   smfRssaCapabilitiesEntry OBJECT-TYPE
       SYNTAX      SmfRssaCapabilitiesEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Information about a particular RSSA
            algorithm."
       INDEX   { smfRssaCapabilitiesID }
       ::= { smfRssaCapabilitiesTable 1 }

   SmfRssaCapabilitiesEntry ::= SEQUENCE {
         smfRssaCapabilitiesID              SmfRssaID,
         smfRssaCapabilitiesName            SnmpAdminString,
         smfRssaCapabilitiesReference       SnmpAdminString
   }

   smfRssaCapabilitiesID     OBJECT-TYPE
       SYNTAX      SmfRssaID
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The index for this entry.  This object identifies
            the particular RSSA algorithm in this MIB
            module."
       ::= { smfRssaCapabilitiesEntry 1 }

   smfRssaCapabilitiesName OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The textual name of this RSSA algorithm.
           "
       ::= { smfRssaCapabilitiesEntry 2 }

   smfRssaCapabilitiesReference OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object contains a published reference
            to the document that defines this algorithm.
           "
       ::= { smfRssaCapabilitiesEntry 3 }




   --
   -- smfConfigurationGroup
   --
   --    This group contains the SMF objects that configure specific
   --    options that determine the overall performance and operation
   --    of the multicast forwarding process for the router device
   --    and its interfaces.
   --

   smfConfigurationGroup  OBJECT IDENTIFIER ::= { smfMIBObjects 2 }

   smfAdminStatus  OBJECT-TYPE
      SYNTAX      SmfStatus
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The configured status of the SMF process
          on this device.  Enabled(1) means that
          SMF is configured to run on this device.
          Disabled(2) mean that the SMF process
          is configured off.

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


    smfConfiguredOpMode  OBJECT-TYPE
       SYNTAX      INTEGER {
                          withNHDP(1),
                          cdsAwareRouting(2),
                          crossLayer(3),
                          other(4)
                          }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The SMF RSS node operational mode.

          The value withNHDP(1) indicates ...
          The value cdsAwareRouting(2) indicates ...
          The value crossLayer(3) indicates... .

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


   smfConfiguredRssa  OBJECT-TYPE
      SYNTAX      SmfRssaID
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The SMF RSS currently operational algorithm.

          The value cf(1) indicates ...

          The value experimental(240-255) indicates... .

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

   smfRssaMember  OBJECT-TYPE
      SYNTAX      INTEGER {
                          potential(1),
                          always(2),
                          never(3)
                          }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The RSSA downselects a set of forwarders for
          multicast forwarding.  Sometimes it is useful
          to force an agent to be included or excluded
          from the resulting RSS.  This object is a
          switch to allow for this behavior.

          The value potential(1) allows the selected
          RSSA to determine if this agent is included
          or excluded from the RSS.

          The value always(1) forces the selected
          RSSA include this agent in the RSS.

          The value never(3) forces the selected
          RSSA to exclude this agent from the RSS.

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

   smfIpv4Dpd  OBJECT-TYPE
      SYNTAX      INTEGER {
                          identificationBased(1),
                          hashBased(2)
                          }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The current method for IPv4 duplicate packet
          detection.
          The value identificationBased(1)
          indicates...

          The value 'hashBased(2) indicates... .

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

   smfIpv6Dpd  OBJECT-TYPE
      SYNTAX      INTEGER {
                          identificationBased(1),
                          hashBased(2)
                          }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The current method for IPv6 duplicate packet
          detection.
          The value identificationBased(1)
          indicates...

          The value 'hashBased(2) indicates... .

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

   smfMaxPktLifetime  OBJECT-TYPE
      SYNTAX      Integer32 (0..65535)
      UNITS       "Seconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The estimate of the network packet
          traversal time.

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

   smfDpdMaxMemorySize  OBJECT-TYPE
      SYNTAX      Integer32 (0..65535)
      UNITS       "Kilo-Bytes"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The locally reserved memory for storage
          of cached DPD records for both IPv4 and
          IPv6 methods.

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

   smfDpdEntryMaxLifetime  OBJECT-TYPE
      SYNTAX      Integer32 (0..65525)
      UNITS       "Seconds"
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The maximum lifetime of a cached DPD
          record in the local device storage.

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


   --
   -- Configuration of messages to be included in
   -- NHDP message exchanges in support of SMF
   -- operations.
   --

   smfNhdpRssaMesgTLVIncluded  OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "Indicates whether the associated NHDP messages
          include the RSSA Message TLV, or not.  This
          is an optional SMF operational setting.
          The value true(1) indicates that this TLV is
          included; the value false(2) indicates that it
          is not included.

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

   smfNhdpRssaAddrBlockTLVIncluded  OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "Indicates whether the associated NHDP messages
          include the RSSA Address Block TLV, or not.
          This is an optional SMF operational setting.
          The value true(1) indicates that this TLV is
          included; the value false(2) indicates that it
          is not included.

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

   smfNhdpRouterPriorityTLVIncluded  OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "Indicates whether the associated NHDP messages
          include the RSSA Router Priority TLV, or not.
          This is an optional SMF operational setting.
          The value true(1) indicates that this TLV is
          included; the value false(2) indicates that it
          is not included.

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


   --
   -- Table identifying configured multicast addresses to be forwarded.
   --

   smfConfiguredAddrForwardingTable  OBJECT-TYPE
      SYNTAX     SEQUENCE OF SmfConfiguredAddrForwardingEntry
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
         "The (conceptual) table containing information on multicast
          addresses which are to be forwarded by the SMF process.

          Entries in this table are configured.  As well, addresses
          to be forwarded by the SMF device can be dynamically
          discovered by other means.  The corresponding state
          table, smfDiscoveredAddrForwardingTable, contains
          these additional, dynamically discovered address for
          forwarding.

          Each row is associated with a range of multicast
          addresses, and ranges for different rows must be disjoint.

          The objects in this table are persistent and when written
          the entity SHOULD save the change to
          non-volatile storage.
         "
   ::= { smfConfigurationGroup 13 }

   smfConfiguredAddrForwardingEntry OBJECT-TYPE
      SYNTAX     SmfConfiguredAddrForwardingEntry
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
         "An entry (conceptual row) containing the information on a
          particular multicast scope."
      INDEX { smfConfiguredAddrForwardingAddrType,
              smfConfiguredAddrForwardingFirstAddr }
      ::= { smfConfiguredAddrForwardingTable 1 }

   SmfConfiguredAddrForwardingEntry ::= SEQUENCE {
      smfConfiguredAddrForwardingAddrType      InetAddressType,
      smfConfiguredAddrForwardingFirstAddr     InetAddress,
      smfConfiguredAddrForwardingLastAddr      InetAddress,
      smfConfiguredAddrForwardingStatus        RowStatus
   }

   smfConfiguredAddrForwardingAddrType OBJECT-TYPE
      SYNTAX     InetAddressType
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
         "The type of the addresses in the multicast forwarding
          range.  Legal values correspond to the subset of
          address families for which multicast address allocation
          is supported."
   ::= { smfConfiguredAddrForwardingEntry 1 }

   smfConfiguredAddrForwardingFirstAddr OBJECT-TYPE
      SYNTAX     InetAddress (SIZE(0..20))
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
         "The first address in the multicast scope range.  The type
          of this address is determined by the value of the
          smfConfiguredAddrForwardingAddrType object."
   ::= { smfConfiguredAddrForwardingEntry 2 }

   smfConfiguredAddrForwardingLastAddr OBJECT-TYPE
      SYNTAX     InetAddress (SIZE(0..20))
      MAX-ACCESS read-create
      STATUS     current
      DESCRIPTION
         "The last address in the multicast scope range.
          The type of this address is determined by the
          value of the smfConfiguredAddrForwardingAddrType
          object."
   ::= { smfConfiguredAddrForwardingEntry 3 }

   smfConfiguredAddrForwardingStatus OBJECT-TYPE
      SYNTAX     RowStatus
      MAX-ACCESS read-create
      STATUS     current
      DESCRIPTION
         "The status of this row, by which new entries may be
          created, or old entries deleted from this table.  If write
          access is supported, the other writable objects in this
          table may be modified even while the status is `active'."
   ::= { smfConfiguredAddrForwardingEntry 4 }



   --
   -- SMF Interfaces Configuration Table
   --

   smfInterfaceTable  OBJECT-TYPE
      SYNTAX      SEQUENCE OF SmfInterfaceEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The SMF Interface Table describes the SMF
          interfaces that are participating in the
          SMF packet forwarding process. The ifIndex is
          from the interfaces group defined in the
          Interfaces Group MIB.

          The objects in this table are persistent
          and when written the entity SHOULD save
          the change to non-volatile storage.
          "
      REFERENCE
         "RFC 2863 - The Interfaces Group MIB, McCloghrie,
          K., and F. Kastenholtz, June 2000."
   ::= { smfConfigurationGroup 14 }

   smfInterfaceEntry OBJECT-TYPE
      SYNTAX      SmfInterfaceEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The SMF interface entry describes one SMF
          interface as indexed by its ifIndex."
      INDEX { smfIfIndex }
   ::= { smfInterfaceTable 1 }

   SmfInterfaceEntry ::=
      SEQUENCE {
         smfIfIndex        InterfaceIndexOrZero,
         smfIfAdminStatus  SmfStatus,
         smfIfRowStatus    RowStatus
         }

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

   smfIfAdminStatus OBJECT-TYPE
      SYNTAX      SmfStatus
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
          "The SMF interface's administrative status.
          The value 'enabled' denotes that the interface
          is running the SMF forwarding process.
          The value 'disabled' denotes that the interface is
          external to the SMF forwarding process.
          "
      ::= { smfInterfaceEntry 2 }

   smfIfRowStatus  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."
   ::= { smfInterfaceEntry 3 }



   --
   -- smfStateGroup
   --
   --    Contains information describing the current state of the SMF
   --    process such as the current inclusion in the RS or not.
   --

   smfStateGroup  OBJECT IDENTIFIER ::= { smfMIBObjects 3 }

   smfNodeRsStatusIncluded  OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The current status of the SMF node in the context of
          the MANETs relay set. A value of true(1) indicates
          that the node is currently part of the MANET Relay
          Set. A value of false(2) indicates that the node
          is currently not part of the MANET Relay Set."
   ::= { smfStateGroup 1 }

   smfDpdMemoryOverflow  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of times that the memory for caching
          records for DPD overran and records had to be flushed.
          The number of records to be flushed upon a buffer
          overflow is an implementation specific decision.
         "
   ::= { smfStateGroup 2 }



   --
   -- Dynamically Discovered Multicast Addr Table
   --

   smfDiscoveredAddrForwardingTable  OBJECT-TYPE
      SYNTAX     SEQUENCE OF SmfDiscoveredAddrForwardingEntry
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
         "The (conceptual) table containing information on multicast
          addresses which are to be forwarded by the SMF process.

          Entries in this table are configured.  As well, addresses
          to be forwarded by the SMF device can be dynamically
          discovered by other means.  The corresponding state
          table, smfDiscoveredAddrForwardingTable contains
          these additional, dynamically discovered address for
          forwarding.

          Each row is associated with a range of
          multicast addresses, and ranges for different rows
          must be disjoint.
         "
   ::= { smfStateGroup 3 }

   smfDiscoveredAddrForwardingEntry OBJECT-TYPE
      SYNTAX     SmfDiscoveredAddrForwardingEntry
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
         "An entry (conceptual row) containing the information on a
          particular multicast scope."
      INDEX { smfDiscoveredAddrForwardingAddrType,
              smfDiscoveredAddrForwardingFirstAddr }
      ::= { smfDiscoveredAddrForwardingTable 1 }

   SmfDiscoveredAddrForwardingEntry ::= SEQUENCE {
      smfDiscoveredAddrForwardingAddrType   InetAddressType,
      smfDiscoveredAddrForwardingFirstAddr  InetAddress,
      smfDiscoveredAddrForwardingLastAddr   InetAddress,
      smfDiscoveredAddrForwardingStatus     RowStatus
   }

   smfDiscoveredAddrForwardingAddrType OBJECT-TYPE
      SYNTAX     InetAddressType
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
         "The type of the addresses in the multicast forwarding
          range.  Legal values correspond to the subset of
          address families for which multicast address allocation
          is supported."
   ::= { smfDiscoveredAddrForwardingEntry 1 }

   smfDiscoveredAddrForwardingFirstAddr OBJECT-TYPE
      SYNTAX     InetAddress (SIZE(0..20))
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
         "The first address in the multicast scope range.  The type
          of this address is determined by the value of the
          smfConfiguredAddrForwardingAddrType object."
   ::= { smfDiscoveredAddrForwardingEntry 2 }

   smfDiscoveredAddrForwardingLastAddr OBJECT-TYPE
      SYNTAX     InetAddress (SIZE(0..20))
      MAX-ACCESS read-create
      STATUS     current
      DESCRIPTION
         "The last address in the multicast scope range.
          The type of this address is determined by the
          value of the smfConfiguredAddrForwardingAddrType
          object."
   ::= { smfDiscoveredAddrForwardingEntry 3 }

   smfDiscoveredAddrForwardingStatus OBJECT-TYPE
      SYNTAX     RowStatus
      MAX-ACCESS read-create
      STATUS     current
      DESCRIPTION
         "The status of this row, by which new entries may be
          created, or old entries deleted from this table.  If write
          access is supported, the other writable objects in this
          table may be modified even while the status is `active'."
   ::= { smfDiscoveredAddrForwardingEntry 4 }



   --
   -- SMF Neighbor Table
   --

   smfNeighborTable  OBJECT-TYPE
      SYNTAX       SEQUENCE OF SmfNeighborEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "The SMF NeighborTable describes the
          current neighbor nodes, their address
          and SMF RSSA and the interface on which
          they can be reached."
      REFERENCE
         "Simplified Multicast Forwarding for MANET
          (SMF), Macker, J., July 2009.
          Section 7: SMF Neighborhood Discovery
          Requirements."
   ::= { smfStateGroup 4 }

   smfNeighborEntry  OBJECT-TYPE
      SYNTAX       SmfNeighborEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "The SMF Neighbor Table contains the
          set of one-hop neighbors, the interface
          they are reachable on and the SMF RSSA
          they are currently running."
      INDEX { smfNeighborIpAddrType,
              smfNeighborIpAddr,
              smfNeighborPrefixLen }
   ::= { smfNeighborTable 1 }

   SmfNeighborEntry ::=
      SEQUENCE {
         smfNeighborIpAddrType        InetAddressType,
         smfNeighborIpAddr            InetAddress,
         smfNeighborPrefixLen         InetAddressPrefixLength,
         smfNeighborRSSA              SmfRssaID,
         smfNeighborNextHopInterface  InterfaceIndexOrZero
         }

   smfNeighborIpAddrType  OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The neighbor IP address type."
   ::= { smfNeighborEntry 1 }

   smfNeighborIpAddr  OBJECT-TYPE
      SYNTAX      InetAddress
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The neighbor Inet IPv4 or IPv6 address."
   ::= { smfNeighborEntry 2 }

   smfNeighborPrefixLen  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."
   ::= { smfNeighborEntry 3 }

   smfNeighborRSSA  OBJECT-TYPE
      SYNTAX       SmfRssaID
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
         "The current RSSA running on the neighbor.
          The list is identical to that described
          above for the smfRssa object."
   ::= { smfNeighborEntry 4 }

   smfNeighborNextHopInterface OBJECT-TYPE
      SYNTAX       InterfaceIndexOrZero
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
         "The interface ifIndex over which the
          neighbor is reachable in one-hop."
   ::= { smfNeighborEntry 5 }




   --
   -- SMF Performance Group
   --
   --    Contains objects which help to characterize the
   --    performance of the SMF RSSA process, such as statistics
   --    counters. There are two types of SMF RSSA statistics:
   --    global counters and per interface counters.
   --

   smfPerformanceGroup  OBJECT IDENTIFIER ::= { smfMIBObjects 4 }

   smfGlobalPerfGroup  OBJECT IDENTIFIER ::= { smfPerformanceGroup 1 }

   --
   -- IPv4 packet counters
   --

   smfIpv4MultiPktsRecvTotal  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the total number of
          multicast IPv4 packets received by the
          device."
   ::= { smfGlobalPerfGroup 1 }

   smfIpv4MultiPktsForwardedTotal  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the total number of
          multicast IPv4 packets forwarded by the
          device."
   ::= { smfGlobalPerfGroup 2 }

   smfIpv4DuplMultiPktsDetectedTotal  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the total number of duplicate
          multicast IPv4 packets detected by the
          device."
   ::= { smfGlobalPerfGroup 3 }

   smfIpv4DroppedMultiPktsTTLExceededTotal  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the total number of dropped
          multicast IPv4 packets by the
          device due to TTL exceeded."
   ::= { smfGlobalPerfGroup 4 }

   smfIpv4TTLLargerThanPreviousTotal  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the total number of IPv4 packets
          recieved which have a TTL larger than that
          of a previously recived identical packet.
         "
   ::= { smfGlobalPerfGroup 5 }

   --
   -- IPv6 packet counters
   --

   smfIpv6MultiPktsRecvTotal  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the total number of
          multicast IPv6 packets received by the
          device."
   ::= { smfGlobalPerfGroup 6 }

   smfIpv6MultiPktsForwardedTotal  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the total number of
          multicast IPv6 packets forwarded by the
          device."
   ::= { smfGlobalPerfGroup 7 }

   smfIpv6DuplMultiPktsDetectedTotal  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the total number of duplicate
          multicast IPv6 packets detected by the
          device."
   ::= { smfGlobalPerfGroup 8 }

   smfIpv6DroppedMultiPktsTTLExceededTotal  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the total number of dropped
          multicast IPv6 packets by the
          device due to TTL exceeded."
   ::= { smfGlobalPerfGroup 9 }

   smfIpv6TTLLargerThanPreviousTotal  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the total number of IPv6 packets
          recieved which have a TTL larger than that
          of a previously recived identical packet.
         "
   ::= { smfGlobalPerfGroup 10 }

   smfIpv6HAVAssistsReqdTotal  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the total number of IPv6 packets
          recieved which required the HAV assist for DPD.
         "
   ::= { smfGlobalPerfGroup 11 }

   smfIpv6DpdHeaderInsertionsTotal  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the total number of IPv6 packets
          recieved which the device inserted the
          DPD header option.
         "
   ::= { smfGlobalPerfGroup 12 }


   --
   -- Per SMF Interface Performance Table
   --

   smfInterfacePerfGroup OBJECT IDENTIFIER ::= { smfPerformanceGroup 2 }

   smfIpv4InterfacePerfTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF SmfIpv4InterfacePerfEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "The SMF Interface Performance Table
          describes the SMF statistics per
          interface."
   ::= { smfInterfacePerfGroup 1 }

   smfIpv4InterfacePerfEntry OBJECT-TYPE
      SYNTAX       SmfIpv4InterfacePerfEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "The SMF Interface Performance entry
          describes the statistics for a particular
          node interface."
      INDEX { smfIpv4IfPerfIfIndex }
   ::= { smfIpv4InterfacePerfTable 1 }

   SmfIpv4InterfacePerfEntry ::=
      SEQUENCE {
         smfIpv4IfPerfIfIndex                    InterfaceIndexOrZero,
         smfIpv4MultiPktsRecvPerIf               Counter32,
         smfIpv4MultiPktsForwardedPerIf          Counter32,
         smfIpv4DuplMultiPktsDetectedPerIf       Counter32,
         smfIpv4DroppedMultiPktsTTLExceededPerIf Counter32,
         smfIpv4TTLLargerThanPreviousPerIf       Counter32
         }

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

   smfIpv4MultiPktsRecvPerIf  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the number of
          multicast IP packets received by the
          device on this interface."
   ::= { smfIpv4InterfacePerfEntry 2 }

   smfIpv4MultiPktsForwardedPerIf  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the number of
          multicast IP packets forwarded by the
          device on this interface."
   ::= { smfIpv4InterfacePerfEntry 3 }

   smfIpv4DuplMultiPktsDetectedPerIf  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the number of duplicate
          multicast IP packets detected by the
          device on this interface."
   ::= { smfIpv4InterfacePerfEntry 4 }

   smfIpv4DroppedMultiPktsTTLExceededPerIf  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the total number of dropped
          multicast IPv4 packets by the
          device due to TTL exceeded."
   ::= { smfIpv4InterfacePerfEntry 5 }

   smfIpv4TTLLargerThanPreviousPerIf  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the total number of IPv4 packets
          recieved which have a TTL larger than that
          of a previously recived identical packet.
         "
   ::= { smfIpv4InterfacePerfEntry 6 }


   smfIpv6InterfacePerfTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF SmfIpv6InterfacePerfEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "The SMF Interface Performance Table
          describes the SMF statistics per
          interface."
   ::= { smfInterfacePerfGroup 2 }

   smfIpv6InterfacePerfEntry OBJECT-TYPE
      SYNTAX       SmfIpv6InterfacePerfEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "The SMF Interface Performance entry
          describes the statistics for a particular
          node interface."
      INDEX { smfIpv6IfPerfIfIndex }
   ::= { smfIpv6InterfacePerfTable 1 }

   SmfIpv6InterfacePerfEntry ::=
      SEQUENCE {
         smfIpv6IfPerfIfIndex                    InterfaceIndexOrZero,
         smfIpv6MultiPktsRecvPerIf               Counter32,
         smfIpv6MultiPktsForwardedPerIf          Counter32,
         smfIpv6DuplMultiPktsDetectedPerIf       Counter32,
         smfIpv6DroppedMultiPktsTTLExceededPerIf Counter32,
         smfIpv6TTLLargerThanPreviousPerIf       Counter32,
         smfIpv6HAVAssistsReqdPerIf              Counter32,
         smfIpv6DpdHeaderInsertionsPerIf         Counter32
         }

   smfIpv6IfPerfIfIndex  OBJECT-TYPE
      SYNTAX      InterfaceIndexOrZero
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The ifIndex for this node interface
          that is collecting this set of
          performance management statistics.

          For packets generated locally at
          this node, performance counters
          are assigned to the loopback
          interface.
         "
   ::= { smfIpv6InterfacePerfEntry 1 }

   smfIpv6MultiPktsRecvPerIf  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the number of
          multicast IP packets received by the
          device on this interface."
   ::= { smfIpv6InterfacePerfEntry 2 }

   smfIpv6MultiPktsForwardedPerIf  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the number of
          multicast IP packets forwarded by the
          device on this interface."
   ::= { smfIpv6InterfacePerfEntry 3 }

   smfIpv6DuplMultiPktsDetectedPerIf  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the number of duplicate
          multicast IP packets detected by the
          device on this interface."
   ::= { smfIpv6InterfacePerfEntry 4 }

   smfIpv6DroppedMultiPktsTTLExceededPerIf  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the number of dropped
          multicast IP packets by the
          device on this interface due to TTL
          exceeded."
   ::= { smfIpv6InterfacePerfEntry 5 }

   smfIpv6TTLLargerThanPreviousPerIf  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the total number of IPv6 packets
          recieved which have a TTL larger than that
          of a previously recived identical packet.
         "
   ::= { smfIpv6InterfacePerfEntry 6 }

   smfIpv6HAVAssistsReqdPerIf  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the total number of IPv6 packets
          recieved which required the HAV assist for DPD.
         "
   ::= { smfIpv6InterfacePerfEntry 7 }

   smfIpv6DpdHeaderInsertionsPerIf  OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A counter of the total number of IPv6 packets
          recieved which the device inserted the
          DPD header option.
         "
   ::= { smfIpv6InterfacePerfEntry 8 }

   --
   -- Notifications
   --

   -- Note:  What notifications do we want for this MIB?



   --
   -- Compliance Statements
   --

   -- Note: need to update the Compliance section once the mib
   --       objects stablize.


   smfCompliances  OBJECT IDENTIFIER ::= { smfMIBConformance 1 }
   smfMIBGroups    OBJECT IDENTIFIER ::= { smfMIBConformance 2 }

   smfBasicCompliance  MODULE-COMPLIANCE
      STATUS current
      DESCRIPTION "The basic implementation requirements for
                   managed network entities that implement
                   the SMF RSSA process."
      MODULE  -- this module
      MANDATORY-GROUPS { smfCapabObjectsGroup,
                         smfConfigObjectsGroup }
   ::= { smfCompliances 1 }

   smfFullCompliance MODULE-COMPLIANCE
      STATUS current
      DESCRIPTION "The full implementation requirements for
                   managed network entities that implement
                   the SMF RSSA process."
      MODULE  -- this module
      MANDATORY-GROUPS { smfCapabObjectsGroup,
                         smfConfigObjectsGroup,
                         smfStateObjectsGroup,
                         smfPerfObjectsGroup
                       }
   ::= { smfCompliances 2 }

   --
   -- Units of Conformance
   --

   smfCapabObjectsGroup OBJECT-GROUP
      OBJECTS {
              smfOpModeCapabilitiesName,
              smfOpModeCapabilitiesReference,

              smfRssaCapabilitiesName,
              smfRssaCapabilitiesReference
      }
      STATUS  current
      DESCRIPTION
         "Set of SMF configuration objects implemented
          in this module."
   ::= { smfMIBGroups 1 }

   smfConfigObjectsGroup OBJECT-GROUP
      OBJECTS {
              smfAdminStatus,
              smfConfiguredOpMode,
              smfConfiguredRssa,
              smfRssaMember,
              smfIpv4Dpd,
              smfIpv6Dpd,
              smfMaxPktLifetime,
              smfDpdMaxMemorySize,
              smfDpdEntryMaxLifetime,
              smfNhdpRssaMesgTLVIncluded,
              smfNhdpRssaAddrBlockTLVIncluded,
              smfNhdpRouterPriorityTLVIncluded,

              smfConfiguredAddrForwardingLastAddr,
              smfConfiguredAddrForwardingStatus,

              smfIfAdminStatus,
              smfIfRowStatus
      }
      STATUS  current
      DESCRIPTION
         "Set of SMF configuration objects implemented
          in this module."
   ::= { smfMIBGroups 2 }

   smfStateObjectsGroup  OBJECT-GROUP
      OBJECTS {
              smfNodeRsStatusIncluded,
              smfDpdMemoryOverflow,

              smfDiscoveredAddrForwardingLastAddr,
              smfDiscoveredAddrForwardingStatus,

              smfNeighborRSSA,
              smfNeighborNextHopInterface
      }
      STATUS  current
      DESCRIPTION
         "Set of SMF state objects implemented
          in this module."
   ::= { smfMIBGroups 3 }

   smfPerfObjectsGroup  OBJECT-GROUP
      OBJECTS {
              smfIpv4MultiPktsRecvTotal,
              smfIpv4MultiPktsForwardedTotal,
              smfIpv4DuplMultiPktsDetectedTotal,
              smfIpv4DroppedMultiPktsTTLExceededTotal,
              smfIpv4TTLLargerThanPreviousTotal,

              smfIpv6MultiPktsRecvTotal,
              smfIpv6MultiPktsForwardedTotal,
              smfIpv6DuplMultiPktsDetectedTotal,
              smfIpv6DroppedMultiPktsTTLExceededTotal,
              smfIpv6TTLLargerThanPreviousTotal,
              smfIpv6HAVAssistsReqdTotal,
              smfIpv6DpdHeaderInsertionsTotal,

              smfIpv4MultiPktsRecvPerIf,
              smfIpv4MultiPktsForwardedPerIf,
              smfIpv4DuplMultiPktsDetectedPerIf,
              smfIpv4DroppedMultiPktsTTLExceededPerIf,
              smfIpv4TTLLargerThanPreviousPerIf,

              smfIpv6MultiPktsRecvPerIf,
              smfIpv6MultiPktsForwardedPerIf,
              smfIpv6DuplMultiPktsDetectedPerIf,
              smfIpv6DroppedMultiPktsTTLExceededPerIf,
              smfIpv6TTLLargerThanPreviousPerIf,
              smfIpv6HAVAssistsReqdPerIf,
              smfIpv6DpdHeaderInsertionsPerIf
      }
      STATUS  current
      DESCRIPTION
         "Set of SMF performance objects implemented
          in this module by total and per interface."
   ::= { smfMIBGroups 4 }


   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 placeholders (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).
[RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, “An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks,” STD 62, RFC 3411, December 2002 (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-smf] Macker, J. and S. Team, “Simplified Multicast Forwarding,” draft-ietf-manet-smf-10 (work in progress), March 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 tracks the revision history in the development of this SMF-MIB. It will be removed from the final version of this document.

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

  1. Editorial changes to the textual material. These included the addition of the paragraphs on TEXTUAL-CONVENTIONS defined and imported into this MIB and relationships to other MIBs.
  2. Identified those objects in the SMF-MIB requiring non-volatile storage.
  3. Changed the name of the TEXTUAL-CONVENTION 'Status', defined within this MIB to 'SmfStatus'.


 TOC 

Appendix B.  Open Issues

This section contains the set of open issues related to the development and design of the SMF-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. The text states 'NHDP RSSA Message TLV - if NHDP mode is selected, then is the RSSA Message TLV included in the NHDP exchanges.' Is this and the following two TLVs optional and are they included as a group or independently of one another?].
  2. Is it useful to track the effectiveness of the coverage of the current RSSA? Is it possible to track this?
  3. Complete notification group.
  4. Work on the relationship to other MIBs, IF-MIB, NHDP-MIB.
  5. Update the text of the document to reflect the final state of the MIB.
  6. Incorporate parameter relationship conditions into their DESCRIPTION clauses.
  7. Complete the security analysis and section.
  8. 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-smf-xx.txt.  This           *
* need to be replaced with the XXX RFC number.                *
*                                                             *
***************************************************************



 TOC 

Authors' Addresses

  Robert G. Cole
  Johns Hopkins University
  11100 Johns Hopkins Road, Room 257
  Laurel, Maryland 21073
  USA
Phone:  +1 443 778 6951
EMail:  robert.cole@jhuapl.edu
URI:  http://www.cs.jhu.edu/~rgcole/
  
  Joseph Macker
  Naval Research Laboratory
  Washington, D.C. 20375
  USA
EMail:  macker@itd.nrl.navy.mil
  
  Brian Adamson
  Naval Research Laboratory
  Washington, D.C. 20375
  USA
EMail:  adamson@itd.nrl.navy.mil
  
  Sean Harnedy
  Booz Allen Hamilton
  333 City Boulevard West
  Orange, CA 92868
  USA
EMail:  harnedy_sean@bah.com