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

                        IP Multicast Routing MIB
                    <draft-ietf-idmr-multicast-routmib-00.txt>
                 <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               July 1994           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 outgoing interfaces and next hops for the routing IP multicast datagrams.  Each entry
     is one of a list of outgoing interface and next hops on outgoing interfaces for particular
     sources sending to a particular source and multicast group address; and address."

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

Draft                   IP Multicast Routing MIB               July 1994           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.

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 "9407152359Z" "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 Management." routing, but
            independent of the specific multicast routing protocol in
            use."
    ::= { experimental xx }   -- to be assigned by the IANA

ipMRouteMIBObjects OBJECT IDENTIFIER ::= { ipMRouteMIB 1 }

ipMRoute      OBJECT IDENTIFIER ::= { ipMRouteMIBObjects 1 }

Draft                   IP Multicast Routing MIB               July 1994           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 containg 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 }

Draft                   IP Multicast Routing MIB               July 1994           February 1995

IpMRouteEntry ::= SEQUENCE {
    ipMRouteGroup                 IpAddress,
    ipMRouteSource                IpAddress,
    ipMRouteSourceMask            IpAddress,
        ipMRouteRpfNeighbor
    ipMRouteUpstreamNeighbor      IpAddress,
    ipMRouteInIfIndex             Integer32,
        ipMRouteOutList      Integer32,
    ipMRouteUpTime                TimeTicks,
    ipMRouteExpiryTime            TimeTicks,
    ipMRoutePkts                  Counter32,
        ipMRouteRpfFails
    ipMRouteDifferentInIfIndexes  Counter32,
    ipMRouteOctets       Counter32                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 source 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 source address sources for which
            this entry contains multicast routing information."
    ::= { ipMRouteEntry 3 }

    ipMRouteRpfNeighbor

ipMRouteUpstreamNeighbor OBJECT-TYPE

Draft                   IP Multicast Routing MIB           February 1995

    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    Draft                   IP Multicast Routing MIB               July 1994
    DESCRIPTION
            "The address of the RPF upstream neighbor (e.g., RPF neighbor)
            from which IP datagrams from this source 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 this source these sources to this multicast address
            are received."
    ::= { ipMRouteEntry 5 }

    ipMRouteOutList OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The value of ipMRouteNextHopList which identifies the list
                of entries in the ipMRouteNextHopTable representing outgoing
                interfaces to which IP datagrams from this source to this
                multicast group address are forwarded."
        ::= { ipMRouteEntry 6 }

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 7 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 8 7 }

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

Draft                   IP Multicast Routing MIB           February 1995

    ::= { ipMRouteEntry 9 8 }

    ipMRouteRpfFails

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

Draft                   IP Multicast Routing MIB               July 1994           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
                outgoing interfaces and next
            hops on outgoing interfaces for the routing IP multicast
            datagrams.  Each entry is one of a list of
                outgoing interface and next hops on
            outgoing interfaces for particular sources sending to a
            particular source and multicast group address."
    ::= { ipMRoute 3 }

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

    IpMRouteNextHopEntry

Draft                   IP Multicast Routing MIB           February 1995

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

    ipMRouteNextHopList

ipMRouteNextHopGroup OBJECT-TYPE
    SYNTAX     INTEGER (0..65535)     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
                "A value
            "The IP multicast group for which uniquely identifies this entry specifies a list of outgoing
                interfaces and
            next hop addresses." on an outgoing interface."
    ::= { ipMRouteNextHopEntry 1 }
    Draft                   IP Multicast Routing MIB               July 1994

    ipMRouteNextHopIndex

ipMRouteNextHopSource OBJECT-TYPE
    SYNTAX     INTEGER (0..65535)     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
                "A
            "The network address which when combined with the
            corresponding value of ipMRouteNextHopSourceMask identifies
            the sources for which uniquely 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

Draft                   IP Multicast Routing MIB           February 1995

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

ipMRouteNextHopAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address within a list of outgoing interfaces and the next hop addresses." hop."
    ::= { ipMRouteNextHopEntry 2 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 3 }

    ipMRouteNextHopAddress OBJECT-TYPE
        SYNTAX     IpAddress
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The address of the next hop for this outgoing interface and
                next hop."
        ::= { ipMRouteNextHopEntry 4 }

    ipMRouteNextHopIfIndex OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The ifIndex value of the interface for this outgoing
                interface and next hop."
        ::= { ipMRouteNextHopEntry 5 6 }

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

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

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 }
    Draft                   IP Multicast Routing MIB               July 1994

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

Draft                   IP Multicast Routing MIB           February 1995

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

Draft                   IP Multicast Routing MIB               July 1994           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, ipMRouteRpfNeighbor, ipMRouteUpstreamNeighbor,
              ipMRouteInIfIndex, ipMRouteOutList,
              ipMRouteUpTime, ipMRouteExpiryTime,
              ipMRoutePkts, ipMRouteRpfFails, ipMRouteDifferentInIfIndexes,
              ipMRouteOctets,
              ipMRouteNextHopAddress,
              ipMRouteNextHopState,
                  ipMRouteNextHopIfIndex,
              ipMRouteNextHopUpTime,
              ipMRouteNextHopExpiryTime,
                  ipMRouteInterfaceTtl
              ipMRouteInterfaceTtl,
              ipMRouteProtocol
            }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support management of IP
            Multicast routing."
    ::= { ipMRouteMIBGroups 1 }

END

Draft                   IP Multicast Routing MIB               July 1994

    5.           February 1995

6.  Acknowledgements

This MIB module will be presented to was updated based on feedback from the IETF's Inter-Domain Inter-
Domain Multicast Routing (IDMR) Working Group.

    6.

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): Motivation and
         Architecture", March 1994. Protocol
     Specification", January 1995.

Draft                   IP Multicast Routing MIB               July 1994

    7.           February 1995

8.  Security Considerations

Security issues are not discussed in this memo.

    8.

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

Draft                   IP Multicast Routing MIB               July 1994           February 1995

Table of Contents

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