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



                        IP Multicast Routing MIB
                 <draft-ietf-idmr-multicast-routmib-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 IP Multicast Routing [5], independent of the specific multicast
routing protocol [6,7] in use.  Managed objects specific to particular
multicast routing protocols are specified elsewhere.



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.












Draft                   IP Multicast Routing MIB           February 1995


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 IP Multicast Route Table containing multicast routing
     information for IP datagrams sent by particular sources to the IP
     multicast groups known to a router;

(2)  the IP Multicast Routing Next Hop Table containing information on
     the next hops for the routing IP multicast datagrams.  Each entry
     is one of a list of next hops on outgoing interfaces for particular
     sources sending to a particular multicast group address."

(3)  the Multicast Routing Interface Table containing multicast routing
     information specific to interfaces.










Expires 4 August 1995                                           [Page 2]


Draft                   IP Multicast Routing MIB           February 1995


4.  Revision History

4 February

(1)  removed ipMRouteOutList

(2)  Modified ipMRouteNextHopTable to be INDEX-ed by
     ipMRouteNextHopGroup, ipMRouteNextHopSource,
     ipMRouteNextHopSourceMask, and ipMRouteNextHopIfIndex.

(3)  added ipMRouteProtocol

(4)  replaced "RPF" terminology with "Upstream neighbor".

15 July - initial version.



































Expires 4 August 1995                                           [Page 3]


Draft                   IP Multicast Routing MIB           February 1995


5.  Definitions

IPMROUTE-MIB DEFINITIONS ::= BEGIN

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

ipMRouteMIB MODULE-IDENTITY
    LAST-UPDATED "9502041159Z"
    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 IP Multicast routing, but
            independent of the specific multicast routing protocol in
            use."
    ::= { experimental xx }   -- to be assigned by IANA


ipMRouteMIBObjects OBJECT IDENTIFIER ::= { ipMRouteMIB 1 }

ipMRoute      OBJECT IDENTIFIER ::= { ipMRouteMIBObjects 1 }





















Expires 4 August 1995                                           [Page 4]


Draft                   IP Multicast Routing MIB           February 1995


-- the IP Multicast Routing MIB-Group
--
-- a collection of objects providing information about
-- IP Multicast Groups


ipMRouteEnable OBJECT-TYPE
    SYNTAX     INTEGER { enabled(1), disabled(2) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The enabled status of IP Multicast routing on this router."
    ::= { ipMRoute 1 }


ipMRouteTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF IpMRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table containing multicast routing
            information for IP datagrams sent by particular sources to
            the IP multicast groups known to this router."
    ::= { ipMRoute 2 }

ipMRouteEntry OBJECT-TYPE
    SYNTAX     IpMRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) containing the multicast routing
            information for IP datagrams from a particular source and
            addressed to a particular IP multicast group address."
    INDEX      { ipMRouteGroup,
                 ipMRouteSource,
                 ipMRouteSourceMask }
    ::= { ipMRouteTable 1 }













Expires 4 August 1995                                           [Page 5]


Draft                   IP Multicast Routing MIB           February 1995


IpMRouteEntry ::= SEQUENCE {
    ipMRouteGroup                 IpAddress,
    ipMRouteSource                IpAddress,
    ipMRouteSourceMask            IpAddress,
    ipMRouteUpstreamNeighbor      IpAddress,
    ipMRouteInIfIndex             Integer32,
    ipMRouteUpTime                TimeTicks,
    ipMRouteExpiryTime            TimeTicks,
    ipMRoutePkts                  Counter32,
    ipMRouteDifferentInIfIndexes  Counter32,
    ipMRouteOctets                Counter32,
    ipMRouteProtocol              INTEGER
}

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

ipMRouteSource OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The network address which when combined with the
            corresponding value of ipMRouteSourceMask identifies the
            sources for which this entry contains multicast routing
            information."
    ::= { ipMRouteEntry 2 }

ipMRouteSourceMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The network mask which when combined with the corresponding
            value of ipMRouteSource identifies the sources for which
            this entry contains multicast routing information."
    ::= { ipMRouteEntry 3 }

ipMRouteUpstreamNeighbor OBJECT-TYPE





Expires 4 August 1995                                           [Page 6]


Draft                   IP Multicast Routing MIB           February 1995


    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address of the upstream neighbor (e.g., RPF neighbor)
            from which IP datagrams from these sources to this multicast
            address are received."
    ::= { ipMRouteEntry 4 }

ipMRouteInIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value of ifIndex for the interface on which IP
            datagrams sent by these sources to this multicast address
            are received."
    ::= { ipMRouteEntry 5 }

ipMRouteUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time since the multicast routing information
            represented by this entry was learned by the router."
    ::= { ipMRouteEntry 6 }

ipMRouteExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum amount of time remaining before this entry will
            be aged out."
    ::= { ipMRouteEntry 7 }

ipMRoutePkts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of packets which this router has received from
            these sources and addressed to this multicast group
            address."





Expires 4 August 1995                                           [Page 7]


Draft                   IP Multicast Routing MIB           February 1995


    ::= { ipMRouteEntry 8 }

ipMRouteDifferentInIfIndexes OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of packets which this router has received from
            these sources and addressed to this multicast group address,
            which were not received from the interface indicated by
            ipMRouteInIfIndex."
    ::= { ipMRouteEntry 9 }

ipMRouteOctets OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of octets contained in IP datagrams which were
            received from these sources and addressed to this multicast
            group address, and which were forwarded by this router."
    ::= { ipMRouteEntry 10 }

ipMRouteProtocol OBJECT-TYPE
    SYNTAX     INTEGER {
                   other(1),     -- none of the following
                   local(2),     -- e.g., manually configured
                   netmgmt(3),   -- set via net.mgmt protocol
                   dvmrp(4),
                   mospf(5),
                   pim(6)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The routing mechanism via which this route was learned."
    ::= { ipMRouteEntry 11 }













Expires 4 August 1995                                           [Page 8]


Draft                   IP Multicast Routing MIB           February 1995


--
--  The IP Multicast Routing Next Hop Table
--

ipMRouteNextHopTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF IpMRouteNextHopEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table containing information on the next
            hops on outgoing interfaces for routing IP multicast
            datagrams.  Each entry is one of a list of next hops on
            outgoing interfaces for particular sources sending to a
            particular multicast group address."
    ::= { ipMRoute 3 }

ipMRouteNextHopEntry OBJECT-TYPE
    SYNTAX     IpMRouteNextHopEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the list of next hops on
            outgoing interfaces to which IP multicast datagrams from
            particular sources to a IP multicast group address are
            routed."
    INDEX      { ipMRouteNextHopGroup, ipMRouteNextHopSource,
                 ipMRouteNextHopSourceMask, ipMRouteNextHopIfIndex }
    ::= { ipMRouteNextHopTable 1 }






















Expires 4 August 1995                                           [Page 9]


Draft                   IP Multicast Routing MIB           February 1995


IpMRouteNextHopEntry ::= SEQUENCE {
    ipMRouteNextHopGroup        IpAddress,
    ipMRouteNextHopSource       IpAddress,
    ipMRouteNextHopSourceMask   IpAddress,
    ipMRouteNextHopIfIndex      Integer32,
    ipMRouteNextHopAddress      IpAddress,
    ipMRouteNextHopState        INTEGER,
    ipMRouteNextHopUpTime       TimeTicks,
    ipMRouteNextHopExpiryTime   TimeTicks
}

ipMRouteNextHopGroup OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP multicast group for which this entry specifies a
            next hop on an outgoing interface."
    ::= { ipMRouteNextHopEntry 1 }

ipMRouteNextHopSource OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The network address which when combined with the
            corresponding value of ipMRouteNextHopSourceMask identifies
            the sources for which this entry specifies a next hop on an
            outgoing interface."
    ::= { ipMRouteNextHopEntry 2 }

ipMRouteNextHopSourceMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The network mask which when combined with the corresponding
            value of ipMRouteNextHopSource identifies the sources for
            which this entry specifies a next hop on an outgoing
            interface."
    ::= { ipMRouteNextHopEntry 3 }

ipMRouteNextHopIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS not-accessible





Expires 4 August 1995                                          [Page 10]


Draft                   IP Multicast Routing MIB           February 1995


    STATUS     current
    DESCRIPTION
            "The ifIndex value of the interface for the outgoing
            interface for this next hop."
    ::= { ipMRouteNextHopEntry 4 }

ipMRouteNextHopAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address of the next hop."
    ::= { ipMRouteNextHopEntry 5 }

ipMRouteNextHopState OBJECT-TYPE
    SYNTAX     INTEGER { pruned(1), forwarding(2) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "An indication of whether the outgoing interface and next
            hop represented by this entry is currently being used to
            forward IP datagrams.  The value 'forwarding' indicates it
            is currently being used; the value 'pruned' indicates it is
            not."
    ::= { ipMRouteNextHopEntry 6 }

ipMRouteNextHopUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time since the multicast routing information
            represented by this entry was learned by the router."
    ::= { ipMRouteNextHopEntry 7 }

ipMRouteNextHopExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum time before this entry will be aged out."
    ::= { ipMRouteNextHopEntry 8 }








Expires 4 August 1995                                          [Page 11]


Draft                   IP Multicast Routing MIB           February 1995


--
--  The Multicast Routing Interface Table
--

ipMRouteInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF IpMRouteInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table containg multicast routing
            information specific to interfaces."
    ::= { ipMRoute 4 }

ipMRouteInterfaceEntry OBJECT-TYPE
    SYNTAX     IpMRouteInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) containing the multicast routing
            information for a particular interface."
    INDEX      { ipMRouteInterfaceIfIndex }
    ::= { ipMRouteInterfaceTable 1 }

IpMRouteInterfaceEntry ::= SEQUENCE {
    ipMRouteInterfaceIfIndex  Integer32,
    ipMRouteInterfaceTtl    Integer32
}

ipMRouteInterfaceIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The ifIndex value of the interface for which this entry
            contains information."
    ::= { ipMRouteInterfaceEntry 1 }

ipMRouteInterfaceTtl OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The datagram TTL threshold for the interface. Any IP
            multicast datagrams with a TTL less than this threshold will
            not be forwarded out the interface. The default value of 0





Expires 4 August 1995                                          [Page 12]


Draft                   IP Multicast Routing MIB           February 1995


            means all multicast packets are forwarded out interface."
    ::= { ipMRouteInterfaceEntry 2 }
















































Expires 4 August 1995                                          [Page 13]


Draft                   IP Multicast Routing MIB           February 1995


-- conformance information

ipMRouteMIBConformance
                  OBJECT IDENTIFIER ::= { ipMRouteMIB 2 }
ipMRouteMIBCompliances
                  OBJECT IDENTIFIER ::= { ipMRouteMIBConformance 1 }
ipMRouteMIBGroups  OBJECT IDENTIFIER ::= { ipMRouteMIBConformance 2 }


-- compliance statements

ipMRouteMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for the IP Multicast MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { ipMRouteMIBGroup }

    ::= { ipMRouteMIBCompliances 1 }


-- units of conformance

ipMRouteMIBGroup OBJECT-GROUP
    OBJECTS { ipMRouteEnable, ipMRouteUpstreamNeighbor,
              ipMRouteInIfIndex,
              ipMRouteUpTime, ipMRouteExpiryTime,
              ipMRoutePkts, ipMRouteDifferentInIfIndexes,
              ipMRouteOctets,
              ipMRouteNextHopAddress,
              ipMRouteNextHopState,
              ipMRouteNextHopUpTime,
              ipMRouteNextHopExpiryTime,
              ipMRouteInterfaceTtl,
              ipMRouteProtocol
            }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support management of IP
            Multicast routing."
    ::= { ipMRouteMIBGroups 1 }

END







Expires 4 August 1995                                          [Page 14]


Draft                   IP Multicast Routing MIB           February 1995


6.  Acknowledgements

This MIB module was 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., "Multicast Routing in a Datagram Internetwork", PhD
     thesis, Electrical Engineering Dept., Stanford University, December
     1991.

[6]  Waitzman, D., Partridge, C., and S. Deering, "Distance Vector
     Multicast Routing Protocol", RFC 1075, November 1988.

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











Expires 4 August 1995                                          [Page 15]


Draft                   IP Multicast Routing MIB           February 1995


8.  Security Considerations

Security issues are not discussed in this memo.



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 4 August 1995                                          [Page 16]


Draft                   IP Multicast Routing MIB           February 1995


Table of Contents


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





































Expires 4 August 1995                                          [Page 17]