<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2863 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2863.xml">
<!ENTITY rfc3418 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3418.xml">
<!ENTITY rfc2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc2578 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2578.xml">
<!ENTITY rfc2579 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2579.xml">
<!ENTITY rfc2580 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2580.xml">
<!ENTITY smf SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-manet-smf.xml">
<!ENTITY rfc3410 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3410.xml">
]>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc strict="no"?>
<?rfc rfcedstyle="yes"?>
<rfc category="std" docName="draft-cole-manet-smf-mib-00" ipr="full3978">
  <front>
    <title abbrev="The SMF MIB">Definition of Managed Objects for the Manet
    Simplified Multicast Framework Relay Set Process</title>

    <author fullname="Robert G. Cole" initials="R.G." surname="Cole">
      <organization>Johns Hopkins University</organization>

      <address>
        <postal>
          <street>11100 Johns Hopkins Road, Room 257</street>

          <city>Laurel</city>

          <region>Maryland</region>

          <code>21073</code>

          <country>USA</country>
        </postal>

        <phone>+1 443 778 6951</phone>

        <email>robert.cole@jhuapl.edu</email>

        <uri>http://www.cs.jhu.edu/~rgcole/</uri>
      </address>
    </author>

    <author fullname="Joseph Macker" initials="J.M." surname="Macker">
      <organization>Navy Research Laboratory</organization>

      <address>
        <postal>
          <street>XXX Street</street>

          <city>Washington</city>

          <region>D.C.</region>

          <code>20375</code>

          <country>USA</country>
        </postal>

        <email>macker@itd.nrl.navy.mil</email>

        <phone>+1 xxx xxx-xxxx</phone>
      </address>
    </author>

    <author fullname="Brian Adamson" initials="B.A." surname="Adamson">
      <organization>Navy Research Laboratory</organization>

      <address>
        <postal>
          <street>XXX Street</street>

          <city>Washington</city>

          <region>D.C.</region>

          <code>20375</code>

          <country>USA</country>
        </postal>

        <email>adamson@itd.nrl.navy.mil</email>

        <phone>+1 xxx xxx-xxxx</phone>
      </address>
    </author>

    <date />

    <area>Routing</area>

    <workgroup>Internet Engineering Task Force</workgroup>

    <keyword>Network Management</keyword>

    <keyword>Management Information Base</keyword>

    <keyword>MIB</keyword>

    <keyword>SMIv2</keyword>

    <keyword>Routing</keyword>

    <keyword>MANET</keyword>

    <keyword>Multicast</keyword>

    <abstract>
      <t>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. The SMF MIB also reports
      state information, performance metrics, and notifications. In addition
      to configuration, this additional state and performance information is
      useful to management stations troubleshooting multicast forwarding
      problems.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>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) <xref
      target="I-D.ietf-manet-smf"></xref>. SMF provides multicast duplicate
      packet detection (DPD) and supports algorithms for constructing an
      estimate of a mobile ad hoc network (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 management stations troubleshooting multicast forwarding
      problems.</t>
    </section>

    <section title="The Internet-Standard Management Framework">
      <t>For a detailed overview of the documents that describe the current
      Internet-Standard Management Framework, please refer to section 7 of RFC
      3410 <xref target="RFC3410"></xref>.</t>

      <t>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 <xref
      target="RFC2578"></xref>, STD 58, RFC 2579 <xref
      target="RFC2579"></xref> and STD 58, RFC 2580 <xref
      target="RFC2580"></xref>.</t>
    </section>

    <section title="Conventions">
      <t>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 <xref
      target="RFC2119"></xref>.</t>
    </section>

    <section title="Overview">
      <t>SMF provides methods for implementing DPD-based multicast forwarding
      with the optional use of CDS-based relay sets. 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.</t>

      <t>Various algorithms for the construction of estimates of the MCDS
      exist. The Simplified Multicast Framework <xref
      target="I-D.ietf-manet-smf"></xref> 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.</t>

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

      <section title="SMF Management Model">
        <t>This section describes the management model for the SMF node
        process.</t>

        <t>Figure 1 (reproduced from Figure 4 of <xref
        target="I-D.ietf-manet-smf" />) 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.</t>

        <artwork><![CDATA[

                       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 
        ]]></artwork>
      </section>

      <section title="Terms">
        <t>The following definitions apply throughout this document:</t>

        <list style="symbols">
          <t>Configuration Objects - switches, tables, objects which are
          initialized to default settings or set through the management
          interface defined by this MIB.</t>

          <t>Tunable Configuration Objects - objects whose values affect
          timing or attempt bounds on the SMF RS process.</t>

          <t>State Objects - automatically generated values which define the
          current operating state of the SMF RS process in the router.</t>

          <t>Performance Objects - automatically generated values which help
          an administrator or automated tool to assess the performance of the
          CDS multicast process on the router and the overall multicasting
          performance within the MANET routing domain.</t>
        </list>
      </section>
    </section>

    <section title="Structure of the MIB Module">
      <t>This section presents the structure of the SMF MIB module. The
      objects are arranged into the following groups:</t>

      <list style="symbols">
        <t>smfMIBNotifications - defines the notifications associated with the
        SMF MIB.</t>

        <t>smfMIBObjects - defines the objects forming the basis for the SMF
        MIB. These objects are divided up by function into the following
        groups:</t>

        <list style="symbols">
          <t>Configuration Group - This group contains the SMF objects that
          configure specific options that determine the overall operation of
          the SMF RSSA and the resulting multicast performance.</t>

          <t>State Group - Contains information describing the current state
          of the SMF RSSA process such as the Neighbor Table.</t>

          <t>Performance Group - Contains objects which help to characterize
          the performance of the SMF RSSA process, typically statistics
          counters.</t>
        </list>

        <t>smfMIBConformance - defines minimal and full conformance of
        implementations to this SMF MIB.</t>
      </list>

      <section title="Textual Conventions">
        <!--Generic and Common Textual Conventions 
        can be found summarized at 
        http://www.ops.ietf.org/mib-common-tcs.html-->

        <t>The textual conventions used in the SMF MIB are as follows. The
        RowStatus textual convention is imported from RFC 2579 <xref
        target="RFC2579" />.</t>

        <!--The SmfInterfaceOperStatus is defined within the SMF MIB.
           This contains the current operational status of the
           SMF interface.</t>-->
      </section>

      <section title="The Configuration Group">
        <t>The SMF device is configured with a set of controls. The list of
        configuration controls for the SMF device follow.</t>

        <list style="symbols">
          <t>Operational Mode - topology information from NHDP, CDS-aware
          unicast routing or Cross-layer from Layer 2</t>

          <t>SMF RSSA - the specific RSSA operational on the device</t>

          <t>Duplicate Packet detection for IPv4 - Identification-based or
          Hash-based DPD</t>

          <t>Duplicate Packet detection for IPv6 - Identification-based or
          Hash-based DPD</t>

          <t>NHDP RSSA Message TLV - if NHDP mode is selected, then is the
          RSSA Message TLV included in the NHDP exchanges. (Question: Is this
          and the following two TLVs optional and are they included as a group
          or independently of one another?)</t>

          <t>NHDP RSSA Address Block TLV - if NHDP mode is selected, then is
          the RSSA Address Block TLV included in the NHDP exchanges.</t>

          <t>Router Priority TLV - if NHDP mode is selected, then is the
          Router Priority TLV included in the NHDP exchanges.</t>
        </list>
      </section>

      <section title="The State Group">
        <t>The State Subtree reports current state information.</t>

        <list style="symbols">
          <t>Node RSS State - is the node currently in or out of the Relay
          Set.</t>

          <t>Neighbors Table - a table containing current neighbors and their
          operational RSSA.</t>
        </list>
      </section>

      <section title="The Performance Group">
        <t>The Performance subtree reports primarily counters that relate to
        SMF RSSA performance. The SMF performance counters consists of per
        node and per interface objects: (Note: Need to have a discussion of
        the important and measurable events related to SMF RSSA multicast
        performance.) (Note: Do we need to break these out by type, i.e., v4
        versus v6?) <list style="symbols">
            <t>Total multicast packets received -</t>

            <t>Total multicast packets forwarded -</t>

            <t>Total duplicate multicast packets detected -</t>

            <t>Per interface statistics table with the following entries:</t>

            <list style="symbols">
              <t>Multicast packets received</t>

              <t>Multicast packets forwarded</t>

              <t>Duplicate multicast packets detected</t>
            </list>
          </list></t>
      </section>

      <section title="The Notifications Group">
        <t>The Notifications Subtree contains the list of notifications
        supported within the SMF-MIB and their intended purpose or utility.
        This group is currently empty.</t>
      </section>
    </section>

    <section title="Relationship to Other MIB Modules">
      <t>[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.</t>

      <section title="Relationship to the SNMPv2-MIB">
        <t>The 'system' group in the SNMPv2-MIB <xref target="RFC3418"></xref>
        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.</t>
      </section>

      <section title="Relationship to the IF-MIB">
        <t>[TODO] This section is included as an example; If the MIB module is
        not an adjunct of the Interface MIB, then this section should be
        removed.</t>
      </section>

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

        <t>The following SMF-MIB module IMPORTS objects from SNMPv2-SMI <xref
        target="RFC2578"></xref>, SNMPv2-TC <xref target="RFC2579"></xref>,
        SNMPv2-CONF <xref target="RFC2580"></xref>, and IF-MIB <xref
        target="RFC2863"></xref></t>
      </section>
    </section>

    <!-- Definitions section -->

    <!-- This section contains the MIB module(s) defined by the specification.
         These MIB modules MUST be written in SMIv2 [RFC2578] [RFC2579]
         [RFC2580].

         See Section 4 of RFC 4181 for guidelines on SMIv2 usage.

	 See Appendix C of RFC 4181 for suggested naming conventions

         A list of tools that can help automate the process of 
         checking mib definitions can be found at 
         http://www.ops.ietf.org/mib-review-tools.html
    -->

    <section title="Definitions">
      <t></t>

      <figure>
        <artwork><![CDATA[
   MANET-SMF-MIB DEFINITIONS ::= BEGIN

   IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
      Counter32, Unsigned32, mib-2
         FROM SNMPv2-SMI                          -- [RFC2578]
      TEXTUAL-CONVENTION, RowStatus
         FROM SNMPv2-TC                           -- [RFC2579]
      MODULE-COMPLIANCE, OBJECT-GROUP,
      NOTIFICATION-GROUP
         FROM SNMPv2-CONF                         -- [RFC2580]
      InetAddress, InetAddressType,
      InetAddressPrefixLength
         FROM INET-ADDRESS-MIB                    -- [RFC4001]
      InterfaceIndex
         FROM IF-MIB                              -- [RFC2863]
      ;

   manetSmfMIB MODULE-IDENTITY
      LAST-UPDATED "200807071200Z"  -- July 07, 2008
      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"


      DESCRIPTION
         "This MIB module contains managed object definitions for
          the Manet SMF RSSA process
          defined in: Macker, J., Simplified Multicast Framework,
          draft-ietf-manet-smf-07, April 10, 2008.
       
          Copyright (C) The IETF Trust (2008). This version
          of this MIB module is part of RFC xxxx; see the RFC
          itself for full legal notices."

      -- Revision History
      REVISION    "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 999 }   -- to be assigned by IANA

   --
   -- TEXTUAL CONVENTIONs
   --

   SmfInterfaceOperStatus ::= TEXTUAL-CONVENTION
      STATUS       current
      DESCRIPTION
        "The current operational status of the
         SMF interface."
      SYNTAX   INTEGER { 
                       up(1), 
                       down(2), 
                       waiting(3), 
                       loopback(4),
                       unknown(5) 
                       }

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

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

   --
   -- 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 1 }
  
   smfOperationalMode  OBJECT-TYPE
      SYNTAX      INTEGER {
                           WithNHDP(0),
                           CDS-Aware-Routing(1),
                           CrossLayer(2)
                          }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The SMF RSS node operational mode.

          The value 'WithNHDP(0)' indicates ....

          The value 'CrossLayer(2)' indicates.. ."
   ::= { smfConfigurationGroup 1 } 

   smfRssa  OBJECT-TYPE
      SYNTAX      INTEGER {
                           CF(0),
                           S-MPR(1),
                           E-CDS(2),
                           MPR-CDS(3),
                           Future(4-127),
                           NoStdAction(128-239),
                           Experimental(240-255)
                          }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The SMF RSS operational algorithm.

          The value 'CF(0)' indicates ....

          The value 'Experimental(240-255)' indicates.. ."
   ::= { smfConfigurationGroup 2 } 

   smfIpv4Dpd  OBJECT-TYPE
      SYNTAX      INTEGER {
                           Identification-based(0),
                           Hash-based(1)
                          }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The current method for IPv4 duplicate packet
          detection.

          The value 'Identification-based(0)' 
          indicates ....

          The value 'Hash-based(1) indicates.. ."
   ::= { smfConfigurationGroup 3 } 


   smfIpv6Dpd  OBJECT-TYPE
      SYNTAX      INTEGER {
                           Identification-based(0),
                           Hash-based(1)
                          }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The current method for IPv6 duplicate packet
          detection.

          The value 'Identification-based(0)' 
          indicates ....

          The value 'Hash-based(1) indicates.. ."
   ::= { smfConfigurationGroup 4 } 


   smfNhdpRssaMesgTlv  OBJECT-TYPE
      SYNTAX      INTEGER {
                           NotIncluded(0),
                           Included(1)
                          }
      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.
          Note: we need to include a discussion of the issues
          associated with not including these TLVs.

          The value 'NotIncluded(0)' indicates ....

          The value 'Included(1) indicates.. ."
   ::= { smfConfigurationGroup 5 } 


   smfNhdpRssaAddrBlockTlv  OBJECT-TYPE
      SYNTAX      INTEGER {
                           NotIncluded(0),
                           Included(1)
                          }
      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.
          Note: we need to include a discussion of the issues
          associated with not including these TLVs.

          The value 'NotIncluded(0)' indicates ....

          The value 'Included(1) indicates.. ."
   ::= { smfConfigurationGroup 6 } 


   smfNhdpRouterPriority  OBJECT-TYPE
      SYNTAX      INTEGER {
                           NotIncluded(0),
                           Included(1)
                          }
      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.
          Note: we need to include a discussion of the issues
          associated with not including these TLVs.

          The value 'NotIncluded(0)' indicates ....

          The value 'Included(1) indicates.. ."
   ::= { smfConfigurationGroup 7 } 




   --
   -- 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 2 }
  
   smfNodeRsStatus  OBJECT-TYPE
      SYNTAX      INTEGER {
                           NotIncluded(0),
                           Included(1)
                          }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The current status of the SMF node in the context of
          the MANETs relay set.

          The value 'NotIncluded(0)' indicates that the node
          is currently not part of the MANET's Relay Set.

          The value 'Included(1)' indicates that the node
          is currently part of the MANET's Relay Set."
   ::= { smfStateGroup 1 } 

   --
   -- 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 (SMF), Macker,
          J., April 2008. Section XXX."
   ::= { smfStateGroup 2 }

   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            
            INTEGER,
         smfNeighborNextHopInterface
            InterfaceIndex
         }

   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       INTEGER {
                            CF(0),
                            S-MPR(1),
                            E-CDS(2),
                            MPR-CDS(3),
                            Future(4-127),
                            NoStdAction(128-239),
                            Experimental(240-255)
                           }
      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       InterfaceIndex
      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, typically statistics
   --    counters. There are two types of SMF RSSA statistics:
   --    global counters and per interface counters.
   --

   smfPerformanceGroup  OBJECT IDENTIFIER ::= { smfMIBObjects 3 }

   smfGlobalPerfGroup  OBJECT IDENTIFIER ::= { smfPerformanceGroup 1 }

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

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

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


   --
   -- Per SMF Interface Performance Table
   --
   smfInterfacePerfGroup OBJECT IDENTIFIER ::= {smfPerformanceGroup 2}

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

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

   SmfInterfacePerfEntry ::=
      SEQUENCE {
         smfIfPerfIfIndex
            InterfaceIndex,      
         smfIfMultiPktsRecv
            Counter32,
         smfIfMultiPktsForwarded
            Counter32,
         smfIfDuplMultiPktsDetected
            Counter32
            }

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

   smfIfMultiPktsRecv  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 the interface."
   ::= { smfInterfacePerfEntry 2 }

   smfIfMultiPktsForwarded  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 the interface."
   ::= { smfInterfacePerfEntry 3 }

   smfIfDuplMultiPktsDetected  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 the interface."
   ::= { smfInterfacePerfEntry 4 }



   --
   -- Notifications
   --
       -- Not yet defined



   --
   -- Compliance Statements
   --
       -- Not yet defined



   END
	]]></artwork>
      </figure>
    </section>

    <section title="Security Considerations">
      <!--[TODO] Remember to consider security from the start. -->

      <t>[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.</t>

      <t></t>

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

      <t>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:</t>

      <t><list style="symbols">
          <t>[TODO] writeable MIB objects that could be especially disruptive
          if abused MUST be explicitly listed by name and the associated
          security risks MUST be spelled out; RFC 2669 has a very good
          example.</t>

          <t>[TODO] list the writable tables and objects and state why they
          are sensitive.</t>
        </list></t>

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

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

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

      <t>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: <list style="symbols">
          <t>[TODO] you must explicitly list by name any readable objects that
          are sensitive or vulnerable and the associated security risks MUST
          be spelled out (for instance, if they might reveal customer
          information or violate personal privacy laws such as those of the
          European Union if exposed to unauthorized parties)</t>

          <t>[TODO] list the tables and objects and state why they are
          sensitive.</t>
        </list></t>

      <t>[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.</t>

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

      <t>It is RECOMMENDED that implementers consider the security features as
      provided by the SNMPv3 framework (see <xref target="RFC3410"></xref>,
      section 8), including full support for the SNMPv3 cryptographic
      mechanisms (for authentication and privacy).</t>

      <t>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.</t>
    </section>

    <section title="IANA Considerations">
      <t>[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.</t>

      <t>[TODO] select an option and provide the necessary details.</t>

      <t>Option #1:</t>

      <figure>
        <preamble></preamble>

        <artwork><![CDATA[
     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 }
      	]]></artwork>

        <postamble></postamble>
      </figure>

      <t></t>

      <t>Option #2:</t>

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

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

      <t>Option #3:</t>

      <!-- If no IANA work is required, an explicit note must be included.-->

      <t>This memo includes no request to IANA.</t>
    </section>

    <!-- The Author's Addresses section will be generated 
         automatically by XML2RFC from the front information -->

    <section title="Contributors">
      <t>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.</t>

      <t><!--[TODO] Change this section to mention contributors to your 
             MIB module document.--></t>
    </section>

    <section title="Acknowledgements">
      <t></t>
    </section>
  </middle>

  <back>
    <!-- References Section -->

    <!-- Section 4.7f of [RFC2223bis] specifies the requirements for the
   references sections.  In particular, there MUST be separate lists of
   normative and informative references, each in a separate section.
   The style SHOULD follow that of recently published RFCs.

   The standard MIB boilerplate available at
   http://www.ops.ietf.org/mib-boilerplate.html includes lists of
   normative and informative references that MUST appear in all IETF
   specifications that contain MIB modules.  If items from other MIB
   modules appear in an IMPORTS statement in the Definitions section,
   then the specifications containing those MIB modules MUST be included
   in the list of normative references.  When items are imported from an
   IANA-maintained MIB module the corresponding normative reference
   SHALL point to the on-line version of that MIB module.  It is the
   policy of the RFC Editor that all references must be cited in the
   text;  such citations MUST appear in the overview section where
   documents containing imported definitions (other those already
   mentioned in the MIB boilerplate) are required to be mentioned (cf.
   Section 3.2).

In general, each normative reference SHOULD point to the most recent
version of the specification in question.
-->

    <references title="Normative References">
      <!-- <t>[TODO] rfc2629, 2863, 3418, and 4181 are normative references that
      are required only to support this template, and which can be removed
      from your final document, if not used for other purposes.</t>-->

      <!--
      &rfc2629;
      &rfc4181;
-->

      &rfc2863;

      &rfc3418;

      <!--  <t>[TODO] rfc2119, 2578, 2579, and 2580 are required to support MIB
      module boilerplate text.</t> -->

      &rfc2119;

      &rfc2578;

      &rfc2579;

      &rfc2580;

      &smf;

      <!--  <t>[TODO]: Add your own normative references.</t>-->
    </references>

    <references title="Informative References">
      <!-- <t>[TODO] RFC3410 is required to support the boilerplate text.</t>-->

      &rfc3410;

      <!-- <t>[TODO] Add your own informative references</t>-->
    </references>

    <!--
<section anchor="appendix" title="Appendix A">
	<t>You can add appendices just as regular sections, the only
difference is that they go under "back" element, and get letters 
instead of numbers</t>
</section>
-->

    <section title="Change Log ">
      <t>Not applicable to draft 00</t>

      <t>
        <list style="numbers">
          <t />
        </list>
      </t>
    </section>

    <section title="Open Issues">
      <t>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.</t>

      <t>
        <list style="numbers">
          <t>Clarify handling of the NHDP TLV message inclusions?</t>

          <t>Is it useful to track the effectiveness of the coverage of the
          current RSSA?  Is it possible to track this?</t>

          <t>Complete notification group.</t>

          <t>Complete conformance group.</t>

          <t>Work on the relationship to other MIBs, IF-MIB, NHDP-MIB.</t>

          <t>Identify all objects requiring non-volatile storage in their
          DESCRIPTION clauses.</t>

          <t>Incorporate parameter relationship conditions into their
          DESCRIPTION clauses.</t>

          <t>Complete the security analysis and section.</t>

          <t>Cleanup all the [TODOs] from the MIB template.</t>
        </list>
      </t>
    </section>

    <figure>
      <preamble />

      <artwork><![CDATA[
***************************************************************
* 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.                *
*                                                             *
***************************************************************
      ]]></artwork>

      <postamble />
    </figure>
  </back>
</rfc>
