IDMR Working Group                                   Keith McCloghrie
INTERNET-DRAFT                                         Dino Farinacci
Expires August 1995                                     Cisco Systems
                                                      4 February 1995



                   Protocol Independent Multicast MIB
                    <draft-ietf-idmr-pim-mib-01.txt>




Status of this Memo

This document is an Internet Draft.  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 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 a "work in progress".


1.  Introduction

This memo defines an experimental portion of the Management Information
Base (MIB) for use with network management protocols in the Internet
community.  In particular, it describes managed objects used for
managing the Protocol Independent Multicast (PIM) protocol [5,6].  This
MIB module is applicable to IP multicast routers which implement PIM.























Draft                           PIM MIB                    February 1995


2.  The SNMPv2 Network Management Framework

The SNMPv2 Network Management Framework consists of four major
components.  They are:

o    RFC 1442 [1] which defines the SMI, the mechanisms used for
     describing and naming objects for the purpose of management.

o    STD 17, RFC 1213 [2] defines MIB-II, the core set of managed
     objects for the Internet suite of protocols.

o    RFC 1445 [3] which defines the administrative and other
     architectural aspects of the framework.

o    RFC 1448 [4] which defines the protocol used for network access to
     managed objects.

The Framework permits new objects to be defined for the purpose of
experimentation and evaluation.


2.1.  Object Definitions

Managed objects are accessed via a virtual information store, termed the
Management Information Base or MIB.  Objects in the MIB are defined
using the subset of Abstract Syntax Notation One (ASN.1) defined in the
SMI.  In particular, each object type is named by an OBJECT IDENTIFIER,
an administratively assigned name.  The object type together with an
object instance serves to uniquely identify a specific instantiation of
the object.  For human convenience, we often use a textual string,
termed the descriptor, to refer to the object type.


3.  Overview

This MIB module contains one scalar and three tables.  The tables are:

(1)  the PIM Interface Table which contains one row for each of the
     router's PIM interfaces;

(2)  the PIM Neighbor Table which contains one row for each of the
     router's PIM neighbors; and

(3)  the PIM Group Table which contains the PIM information for IP
     multicast groups which is common to all Rendezvous Points (RPs) of





Expires August 1995                                             [Page 2]


Draft                           PIM MIB                    February 1995


     a group.

(4)  the PIM RP Table which contains the PIM information for IP
     multicast groups which is speciifc to a particular RP.


4.  Revision History

4 November:

(1)  changed the PIM Group table to hold information common to all RPs
     of a group.

(2)  added the PIM RP table with each entry specific to an RP of a
     group.

(3)  added pimNeighborMode

(4)  modified the pimGroupTable to be indexed by pimGroupAddress and
     pimGroupRP, in order to allow for multiple RPs per group.

15 July - initial version.




























Expires August 1995                                             [Page 3]


Draft                           PIM MIB                    February 1995


5.  Definitions

PIM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, experimental,
    Integer32, IpAddress, TimeTicks  FROM SNMPv2-SMI
    RowStatus                        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP  FROM SNMPv2-CONF;

pimMIB MODULE-IDENTITY
    LAST-UPDATED "9502041659Z"
    ORGANIZATION "IETF IDMR Working Group."
    CONTACT-INFO
            " Keith McCloghrie
              cisco Systems, Inc.
              1525 O'Brien Dr.
              Menlo Park, CA 94025
              EMail: kzm@cisco.com"
    DESCRIPTION
            "The MIB module for management of PIM routers."
    ::= { experimental xx }   -- to be assigned by IANA

pimMIBObjects OBJECT IDENTIFIER ::= { pimMIB 1 }

pim           OBJECT IDENTIFIER ::= { pimMIBObjects 1 }


pimMessageInterval OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION

            "The interval at which PIM sparse-mode messages are to be
            sent."
    ::= { pim 1 }












Expires August 1995                                             [Page 4]


Draft                           PIM MIB                    February 1995


-- The PIM Interface Table

pimInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF PimInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the router's PIM interfaces.
            IGMP and PIM are enabled on all interfaces listed in this
            table."
    ::= { pim 2 }

pimInterfaceEntry OBJECT-TYPE
    SYNTAX     PimInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimInterfaceTable."
    INDEX      { pimInterfaceIfIndex }
    ::= { pimInterfaceTable 1 }

PimInterfaceEntry ::= SEQUENCE {
    pimInterfaceIfIndex            Integer32,
    pimInterfaceAddress            IpAddress,
    pimInterfaceNetMask            IpAddress,
    pimInterfaceMode               INTEGER,
    pimInterfaceDR                 IpAddress,
    pimInterfaceQueryInterval      Integer32,
    pimInterfaceStatus             RowStatus
}

pimInterfaceIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The ifIndex value of this PIM interface."
    ::= { pimInterfaceEntry 1 }

pimInterfaceAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP address of the PIM interface."





Expires August 1995                                             [Page 5]


Draft                           PIM MIB                    February 1995


    ::= { pimInterfaceEntry 2 }

pimInterfaceNetMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The network mask for the IP address of the PIM interface."
    ::= { pimInterfaceEntry 3 }

pimInterfaceMode OBJECT-TYPE
    SYNTAX     INTEGER { dense(1), sparse(2) }
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The configured mode of this PIM interface."
    DEFVAL     { dense }
    ::= { pimInterfaceEntry 4 }

pimInterfaceDR OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The Designated Router on this PIM interface.  For point-
            to-point interfaces, this object has the value 0.0.0.0."
    ::= { pimInterfaceEntry 5 }

pimInterfaceQueryInterval OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The frequency at which PIM Router-Query messages are
            transmitted on this PIM interface."
    DEFVAL     { 30 }
    ::= { pimInterfaceEntry 6 }

pimInterfaceStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The status of this entry.  Creating the entry enables PIM





Expires August 1995                                             [Page 6]


Draft                           PIM MIB                    February 1995


            on the interface; destroying the entry diables PIM on the
            interface."
    ::= { pimInterfaceEntry 7 }


-- The PIM Neighbor Table

pimNeighborTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF PimNeighborEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the router's PIM neighbors."
    ::= { pim 3 }

pimNeighborEntry OBJECT-TYPE
    SYNTAX     PimNeighborEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimNeighborTable."
    INDEX      { pimNeighborAddress }
    ::= { pimNeighborTable 1 }

PimNeighborEntry ::= SEQUENCE {
    pimNeighborAddress      IpAddress,
    pimNeighborIfIndex      Integer32,
    pimNeighborUpTime       TimeTicks,
    pimNeighborExpiryTime   TimeTicks,
    pimNeighborMode         INTEGER
}

pimNeighborAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP address of the PIM neighbor for which this entry
            contains information."
    ::= { pimNeighborEntry 1 }

pimNeighborIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current





Expires August 1995                                             [Page 7]


Draft                           PIM MIB                    February 1995


    DESCRIPTION
            "The value of ifIndex for the interface used to reach this
            PIM neighbor."
    ::= { pimNeighborEntry 2 }

pimNeighborUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time since this PIM neighbor (last) became a neighbor
            of the local router."
    ::= { pimNeighborEntry 3 }

pimNeighborExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum time remaining before this PIM neighbor will be
            aged out."
    ::= { pimNeighborEntry 4 }

pimNeighborMode OBJECT-TYPE
    SYNTAX     INTEGER { dense(1), sparse(2) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The active PIM mode of this neighbor."
    ::= { pimNeighborEntry 5 }




















Expires August 1995                                             [Page 8]


Draft                           PIM MIB                    February 1995


-- The PIM Group Table

pimGroupTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF PimGroupEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing PIM information for IP
            multicast groups."
    ::= { pim 4 }

pimGroupEntry OBJECT-TYPE
    SYNTAX     PimGroupEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimGroupTable.  There is
            one entry per IP multicast group."
    INDEX      { pimGroupAddress }
    ::= { pimGroupTable 1 }

PimGroupEntry ::= SEQUENCE {
    pimGroupAddress      IpAddress,
    pimGroupRPcount      Integer32,
    pimGroupRPreach      TimeTicks,
    pimGroupMode         INTEGER
}

pimGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP multicast group address for which this entry
            contains information."
    ::= { pimGroupEntry 1 }

pimGroupRPcount OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of Rendezvous Points (RPs) for this multicast
            group, known to this router.  If no RP is known, this object
            has the value 0.0.0.0."





Expires August 1995                                             [Page 9]


Draft                           PIM MIB                    February 1995


    ::= { pimGroupEntry 2 }

pimGroupRPreach OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of hundredths-of-a-seconds until the next time
            this router will send RP-Reachable messages if this router
            is one of the Rendezvous Points (RPs) for this multicast
            group; or 0 if this router is not an RP."
    ::= { pimGroupEntry 3 }

pimGroupMode OBJECT-TYPE
    SYNTAX     INTEGER { dense(1), sparse(2) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The active PIM mode of this group, as learned by the
            router."
    ::= { pimGroupEntry 4 }


-- The PIM RP Table

pimRPTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF PimRPEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing PIM information for the
            Rendezvous Points (RPs) for IP multicast groups."
    ::= { pim 5 }

















Expires August 1995                                            [Page 10]


Draft                           PIM MIB                    February 1995


pimRPEntry OBJECT-TYPE
    SYNTAX     PimRPEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimRPTable.  There is one
            entry per RP address for each IP multicast group."
    INDEX      { pimRPGroupAddress, pimRPAddress }
    ::= { pimRPTable 1 }

PimRPEntry ::= SEQUENCE {
    pimRPGroupAddress    IpAddress,
    pimRPAddress         IpAddress,
    pimRPState           INTEGER,
    pimRPStateTimer      TimeTicks,
    pimRPLastChange      TimeTicks,
    pimRPRowStatus       RowStatus
}

pimRPGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP multicast group address for which this entry
            contains information about an RP."
    ::= { pimRPEntry 1 }

pimRPAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP multicast group address for which this entry
            contains information about an RP."
    ::= { pimRPEntry 2 }

pimRPState OBJECT-TYPE
    SYNTAX     INTEGER { up(1), down(2) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The state of the RP."
    ::= { pimRPEntry 3 }






Expires August 1995                                            [Page 11]


Draft                           PIM MIB                    February 1995


pimRPStateTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum time remaining before the next state change.
            When pimRPState is up, this is the minimum time which must
            expire until it can be declared down.  When pimRPState is
            down, this is the time until it will be declared up (in
            order to retry)."
    ::= { pimRPEntry 4 }

pimRPLastChange OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value of sysUpTime at the time when the corresponding
            instance of pimRPState last changed its value."
    ::= { pimRPEntry 5 }

pimRPRowStatus 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."
    ::= { pimRPEntry 6 }





















Expires August 1995                                            [Page 12]


Draft                           PIM MIB                    February 1995


-- conformance information

pimMIBConformance OBJECT IDENTIFIER ::= { pimMIB 2 }
pimMIBCompliances OBJECT IDENTIFIER ::= { pimMIBConformance 1 }
pimMIBGroups      OBJECT IDENTIFIER ::= { pimMIBConformance 2 }


-- compliance statements

pimMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for the PIM MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { pimMIBGroup }

    ::= { pimMIBCompliances 1 }


-- units of conformance

pimMIBGroup OBJECT-GROUP
    OBJECTS { pimMessageInterval, pimNeighborIfIndex,
              pimNeighborUpTime, pimNeighborExpiryTime,
              pimNeighborMode,
              pimInterfaceAddress, pimInterfaceNetMask,
              pimInterfaceMode, pimInterfaceDR,
              pimInterfaceQueryInterval,
              pimInterfaceStatus,
              pimGroupRPcount, pimGroupRPreach,
              pimGroupMode,
              pimRPState, pimRPStateTimer,
              pimRPLastChange, pimRPRowStatus
            }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support management of PIM
            routers."
    ::= { pimMIBGroups 1 }

END









Expires August 1995                                            [Page 13]


Draft                           PIM MIB                    February 1995


6.  Acknowledgements

This MIB module has been updated based on feedback from the IETF's
Inter-Domain Multicast Routing (IDMR) Working Group.



7.  References

[1]  Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure
     of Management Information for version 2 of the Simple Network
     Management Protocol (SNMPv2)", RFC 1442, SNMP Research,Inc., Hughes
     LAN Systems, Dover Beach Consulting, Inc., Carnegie Mellon
     University, April 1993.

[2]  McCloghrie, K., and M. Rose, Editors, "Management Information Base
     for Network Management of TCP/IP-based internets: MIB-II", STD 17,
     RFC 1213, Hughes LAN Systems, Performance Systems International,
     March 1991.

[3]  Galvin, J., and K. McCloghrie, "Administrative Model for version 2
     of the Simple Network Management Protocol (SNMPv2)", RFC 1445,
     Trusted Information Systems, Hughes LAN Systems, April 1993.

[4]  Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol
     Operations for version 2 of the Simple Network Management Protocol
     (SNMPv2)", RFC 1448, SNMP Research,Inc., Hughes LAN Systems, Dover
     Beach Consulting, Inc., Carnegie Mellon University, April 1993.

[5]  Deering, S., Estrin, D., Farinacci, D., Jacobson, V., Liu, G., and
     L. Wei, "Protocol Independent Multicast (PIM): Motivation and
     Architecture", January 1995.

[6]  Deering, S., Estrin, D., Farinacci, D., Jacobson, V., Liu, G., and
     L. Wei, "Protocol Independent Multicast (PIM): Protocol
     Specification", January 1995.



8.  Security Considerations

Security issues are not discussed in this memo.








Expires August 1995                                            [Page 14]


Draft                           PIM MIB                    February 1995


9.  Author's Address

     Keith McCloghrie
     cisco Systems, Inc.
     1525 O'Brien Dr.
     Menlo Park, CA 94025
     Phone: (415) 324-5260
     EMail: kzm@cisco.com

     Dino Farinacci
     cisco Systems, Inc.
     1525 O'Brien Dr.
     Menlo Park, CA 94025
     Phone: (415) 688-4696
     EMail: dino@cisco.com



































Expires August 1995                                            [Page 15]


Draft                           PIM MIB                    February 1995


Table of Contents


1 Introduction ....................................................    1
2 The SNMPv2 Network Management Framework .........................    2
2.1 Object Definitions ............................................    2
3 Overview ........................................................    2
4 Revision History ................................................    3
5 Definitions .....................................................    4
6 Acknowledgements ................................................   14
7 References ......................................................   14
8 Security Considerations .........................................   14
9 Author's Address ................................................   15





































Expires August 1995                                            [Page 16]