AD | Application | AWS | Azure | Cloud | Database | Enterprise | Environmental | Event Log | File System | Infra | IoT | IT Service | Linux | Network/System | Performance | Protocol | SaaS | Security | Service Level | SNMP | Storage | VMware | VoIP | Web | Wireless

Crumbtrail

MonitorTools.com » Technical documentation » SNMP » MIB » Cisco » CISCO-IETF-IPMROUTE-MIB

CISCO-IETF-IPMROUTE-MIB device MIB details by Cisco

CISCO-IETF-IPMROUTE-MIB file content

The SNMP protocol is used to for conveying information and commands between agents and managing entities. SNMP uses the User Datagram Protocol (UDP) as the transport protocol for passing data between managers and agents. The reasons for using UDP for SNMP are, firstly it has low overheads in comparison to TCP, which uses a 3-way hand shake for connection. Secondly, in congested networks, SNMP over TCP is a bad idea because TCP in order to maintain reliability will flood the network with retransmissions.

Management information (MIB) is represented as a collection of managed objects. These objects together form a virtual information base called MIB. An agent may implement many MIBs, but all agents must implement a particular MIB called MIB-II [16]. This standard defines variables for things such as interface statistics (interface speeds, MTU, octets sent, octets received, etc.) as well as various other things pertaining to the system itself (system location, system contact, etc.). The main goal of MIB-II is to provide general TCP/IP management information.

Use ActiveXperts Network Monitor 2024 to import vendor-specific MIB files, inclusing CISCO-IETF-IPMROUTE-MIB.


Vendor: Cisco
Mib: CISCO-IETF-IPMROUTE-MIB  [download]  [view objects]
Tool: ActiveXperts Network Monitor 2024 [download]    (ships with advanced SNMP/MIB tools)
-- ********************************************************************
-- CISCO-IETF-IPMROUTE-MIB: IP Multicast Routing MIB
-- 
-- Dec 2004, Rajiv Raghunarayan.
-- 
-- Copyright (c) 2004 by cisco Systems, Inc.
-- All rights reserved.
-- 
-- ********************************************************************

CISCO-IETF-IPMROUTE-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32, Counter32, Counter64,
    Gauge32, TimeTicks               FROM SNMPv2-SMI
    RowStatus,
    TruthValue                       FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP  FROM SNMPv2-CONF
    SnmpAdminString                  FROM SNMP-FRAMEWORK-MIB
    InterfaceIndexOrZero,
    InterfaceIndex                   FROM IF-MIB
    InetAddressType,
    InetAddressPrefixLength,
    InetAddress,
    InetVersion                      FROM INET-ADDRESS-MIB
    IANAipRouteProtocol,              
    IANAipMRouteProtocol             FROM IANA-RTPROTO-MIB
    LanguageTag                      FROM IPMROUTE-STD-MIB
    ciscoExperiment                  FROM CISCO-SMI;

ciscoIetfIpMRouteMIB MODULE-IDENTITY
    LAST-UPDATED "200412020000Z" -- 02 Dec 2004
    ORGANIZATION "Cisco Systems, Inc."
    CONTACT-INFO
            "       Cisco Systems
                    Customer Service
            Postal: 170 W Tasman Drive
                    San Jose, CA  95134

            Tel: +1 800 553-NETS

            E-mail: cs-ipmulticast@cisco.com 
           "
    DESCRIPTION
            "Address family independent MIB module for management
             IP Multicast routing, but independent of the specific 
             multicast routing protocol in use.

             This MIB module is based on RFC 2932 with additional 
             MIB objects to make it a address family independent MIB. 
             This Cisco MIB was created due to non availability 
             of RFC or an Internet Draft which can provide address 
             family independent MIB for IP Multicast Routing. This 
             MIB may later be deprecated with a stable RFC or an 
             Internet Draft 


             This MIB module contains two scalars and five 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 IP Multicast Routing Interface Table containing
                 multicast routing information specific to interfaces.

            (4)  The IP Multicast Scope Boundary Table containing the
                 boundaries configured for multicast scopes.

            (5)  The IP Multicast Scope Name Table containing
                 human-readable names of multicast scope.
           "
    ::= { ciscoExperiment 117 }

--
-- Top-level structure of the MIB
--

cIpMRouteMIBObjects OBJECT IDENTIFIER ::= { ciscoIetfIpMRouteMIB 1 }

cIpMRoute OBJECT IDENTIFIER ::= { cIpMRouteMIBObjects 1 }

cIpMRouteEnable 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."
    ::= { cIpMRoute 1 }

cIpMRouteEntryCount OBJECT-TYPE
    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of rows in the cIpMRouteTable.  This can be
            used to monitor the multicast routing table size."
    ::= { cIpMRoute 7 }

cIpMRouteTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CIpMRouteEntry
    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."
    ::= { cIpMRoute 2 }

cIpMRouteEntry OBJECT-TYPE
    SYNTAX     CIpMRouteEntry
    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.
            Discontinuities in counters in this entry can be detected by
            observing the value of cIpMRouteUpTime."
    INDEX      { cIpMRouteAddrType, cIpMRouteGroup,
                 cIpMRouteSource, cIpMRouteSourceMask }
    ::= { cIpMRouteTable 1 }

CIpMRouteEntry ::= SEQUENCE {
    cIpMRouteAddrType              InetAddressType,
    cIpMRouteGroup                 InetAddress,
    cIpMRouteSource                InetAddress,
    cIpMRouteSourceMask            InetAddressPrefixLength,
    cIpMRouteUpstreamNeighbor      InetAddress,
    cIpMRouteInIfIndex             InterfaceIndexOrZero,
    cIpMRouteUpTime                TimeTicks,
    cIpMRouteExpiryTime            TimeTicks,
    cIpMRoutePkts                  Counter32,
    cIpMRouteDifferentInIfPackets  Counter32,
    cIpMRouteOctets                Counter32,
    cIpMRouteProtocol              IANAipMRouteProtocol,
    cIpMRouteRtProto               IANAipRouteProtocol,
    cIpMRouteRtAddress             InetAddress,
    cIpMRouteRtMask                InetAddressPrefixLength,
    cIpMRouteRtType                INTEGER,
    cIpMRouteHCOctets              Counter64
}

cIpMRouteAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The type of InetAddress for the IP multicast group 
             address for which this entry contains multicast 
             routing information."
    ::= { cIpMRouteEntry 1 }

cIpMRouteGroup OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (4|16|20))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP multicast group address for which this entry
            contains multicast routing information."
    ::= { cIpMRouteEntry 2 }

cIpMRouteSource OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (4|16|20))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The network address which when combined with the
            corresponding value of cIpMRouteSourceMask identifies the
            sources for which this entry contains multicast routing
            information. The address of 0:: indicates shared-tree
            entry."
    ::= { cIpMRouteEntry 3 }

cIpMRouteSourceMask OBJECT-TYPE
    SYNTAX     InetAddressPrefixLength
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The network mask which when combined with the corresponding
            value of cIpMRouteSource identifies the sources for which
            this entry contains multicast routing information."
    ::= { cIpMRouteEntry 4 }

cIpMRouteUpstreamNeighbor OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (4|16|20))
    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, or 0:: if the upstream
            neighbor is unknown."
    ::= { cIpMRouteEntry 5 }

cIpMRouteInIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndexOrZero
    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 (i.e., RPF Interface)."
    ::= { cIpMRouteEntry 6 }

cIpMRouteUpTime 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."
    ::= { cIpMRouteEntry 7 }

cIpMRouteExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum amount of time remaining before this entry will
            be aged out.  The value 0 indicates that the entry is not
            subject to aging."
    ::= { cIpMRouteEntry 8 }

cIpMRoutePkts 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."
    ::= { cIpMRouteEntry 9 }

cIpMRouteDifferentInIfPackets 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 dropped because they were not received on the
            interface indicated by cIpMRouteInIfIndex."
    ::= { cIpMRouteEntry 10 }

cIpMRouteOctets 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."
    ::= { cIpMRouteEntry 11 }

cIpMRouteProtocol OBJECT-TYPE
    SYNTAX     IANAipMRouteProtocol
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The multicast routing protocol via which this multicast
            forwarding entry was learned."
    ::= { cIpMRouteEntry 12 }

cIpMRouteRtProto OBJECT-TYPE
    SYNTAX     IANAipRouteProtocol
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The routing mechanism via which the route used to find the
            upstream or parent interface for this multicast forwarding
            entry was learned.  Inclusion of values for routing
            protocols is not intended to imply that those protocols need
            be supported."
    ::= { cIpMRouteEntry 13 }

cIpMRouteRtAddress OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (4|16|20))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address portion of the route used to find the upstream
            or parent interface for this multicast forwarding entry."
    ::= { cIpMRouteEntry 14 }

cIpMRouteRtMask OBJECT-TYPE
    SYNTAX     InetAddressPrefixLength
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The mask associated with the route used to find the
            upstream or parent interface for this multicast forwarding
            entry."
    ::= { cIpMRouteEntry 15 }

cIpMRouteRtType OBJECT-TYPE
    SYNTAX     INTEGER {
                unicast (1),  -- Unicast route used in multicast RIB
                multicast (2) -- Multicast route
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The reason the given route was placed in the (logical)
            multicast Routing Information Base (RIB).  A value of
            unicast means that the route would normally be placed only
            in the unicast RIB, but was placed in the multicast RIB
            (instead or in addition) due to local configuration, such as
            when running PIM over RIP.  A value of multicast means that
            the route was explicitly added to the multicast RIB by the
            routing protocol, such as Multiprotocol BGP or DVMRP."
    ::= { cIpMRouteEntry 16 }

cIpMRouteHCOctets OBJECT-TYPE
    SYNTAX     Counter64
    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.
            This object is a 64-bit version of cIpMRouteOctets."
    ::= { cIpMRouteEntry 17 }

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

cIpMRouteNextHopTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CIpMRouteNextHopEntry
    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."
    ::= { cIpMRoute 3 }

cIpMRouteNextHopEntry OBJECT-TYPE
    SYNTAX     CIpMRouteNextHopEntry
    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.  Discontinuities in counters in this entry can be
            detected by observing the value of cIpMRouteUpTime."
    INDEX      { cIpMRouteNextHopAddrType, cIpMRouteNextHopGroup,
                 cIpMRouteNextHopSource, cIpMRouteNextHopSourceMask, 
                 cIpMRouteNextHopIfIndex, cIpMRouteNextHopAddress }
    ::= { cIpMRouteNextHopTable 1 }

CIpMRouteNextHopEntry ::= SEQUENCE {
    cIpMRouteNextHopAddrType           InetAddressType,
    cIpMRouteNextHopGroup              InetAddress,
    cIpMRouteNextHopSource             InetAddress,
    cIpMRouteNextHopSourceMask         InetAddressPrefixLength,
    cIpMRouteNextHopIfIndex            InterfaceIndex,
    cIpMRouteNextHopAddress            InetAddress,
    cIpMRouteNextHopState              INTEGER,
    cIpMRouteNextHopUpTime             TimeTicks,
    cIpMRouteNextHopExpiryTime         TimeTicks,
    cIpMRouteNextHopClosestHops        Integer32,
    cIpMRouteNextHopProtocol           IANAipMRouteProtocol,
    cIpMRouteNextHopPkts               Counter32
}

cIpMRouteNextHopAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The type of InetAddress representing the IP 
             multicast group." 
    ::= { cIpMRouteNextHopEntry 1 }

cIpMRouteNextHopGroup OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (4|16|20))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP multicast group for which this entry specifies a
            next-hop on an outgoing interface."
    ::= { cIpMRouteNextHopEntry 2 }

cIpMRouteNextHopSource OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (4|16|20))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The network address which when combined with the
            corresponding value of cIpMRouteNextHopSourceMask
            identifies the sources for which this entry specifies a
            next-hop on an outgoing interface."
    ::= { cIpMRouteNextHopEntry 3 }

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

cIpMRouteNextHopIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The ifIndex value of the interface for the outgoing
            interface for this next-hop."
    ::= { cIpMRouteNextHopEntry 5 }

cIpMRouteNextHopAddress OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (4|16|20))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The address of the next-hop specific to this entry.  For
            most interfaces, this is identical to
            cIpMRouteNextHopGroup. NBMA interfaces, however, may have
            multiple next-hop addresses out a single outgoing
            interface."
    ::= { cIpMRouteNextHopEntry 6 }

cIpMRouteNextHopState 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."
    ::= { cIpMRouteNextHopEntry 7 }

cIpMRouteNextHopUpTime 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."
    ::= { cIpMRouteNextHopEntry 8 }

cIpMRouteNextHopExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum amount of time remaining before this entry will
            be aged out.  If cIpMRouteNextHopState is pruned(1), the
            remaining time until the prune expires and the state reverts
            to forwarding(2).  Otherwise, the remaining time until this
            entry is removed from the table.  The time remaining may be
            copied from cIpMRouteExpiryTime if the protocol in use for
            this entry does not specify next-hop timers.  The value 0
            indicates that the entry is not subject to aging."
    ::= { cIpMRouteNextHopEntry 9}

cIpMRouteNextHopClosestHops OBJECT-TYPE
    SYNTAX     Integer32 (0..255)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum number of hops between this router and any
            member of this IP multicast group reached via this next-hop
            on this outgoing interface.  Any IP multicast datagrams
            for the group which have a TTL less than this number of hops
            will not be forwarded to this next-hop."
    ::= { cIpMRouteNextHopEntry 10 }

cIpMRouteNextHopProtocol OBJECT-TYPE
    SYNTAX     IANAipMRouteProtocol
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The routing mechanism via which this next-hop was learned."
    ::= { cIpMRouteNextHopEntry 11}

cIpMRouteNextHopPkts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of packets which have been forwarded using this
            route."
    ::= { cIpMRouteNextHopEntry 12}

--
--  The IP Multicast Routing Interface Table
--

cIpMRouteInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CIpMRouteInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table containing multicast routing
            information specific to interfaces."
    ::= { cIpMRoute 4 }

cIpMRouteInterfaceEntry OBJECT-TYPE
    SYNTAX     CIpMRouteInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) containing the multicast routing
            information for a particular interface."
    INDEX      { cIpMRouteInterfaceIfIndex, 
                 cIpMRouteInterfaceIPVersion }
    ::= { cIpMRouteInterfaceTable 1 }

CIpMRouteInterfaceEntry ::= SEQUENCE {
    cIpMRouteInterfaceIfIndex          InterfaceIndex,
    cIpMRouteInterfaceIPVersion        InetVersion,
    cIpMRouteInterfaceTtl              Integer32,
    cIpMRouteInterfaceProtocol         IANAipMRouteProtocol,
    cIpMRouteInterfaceRateLimit        Integer32,
    cIpMRouteInterfaceInMcastPkts      Counter32,
    cIpMRouteInterfaceOutMcastPkts     Counter32,
    cIpMRouteInterfaceInMcastOctets    Counter32,
    cIpMRouteInterfaceOutMcastOctets   Counter32,
    cIpMRouteInterfaceHCInMOctets      Counter64,
    cIpMRouteInterfaceHCOutMOctets     Counter64
}

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

cIpMRouteInterfaceIPVersion OBJECT-TYPE
    SYNTAX     InetVersion
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP version of this row."
    ::= { cIpMRouteInterfaceEntry 2 }

cIpMRouteInterfaceTtl OBJECT-TYPE
    SYNTAX     Integer32 (0..255)
    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
            means all multicast packets are forwarded out the
            interface."
    ::= { cIpMRouteInterfaceEntry 3 }

cIpMRouteInterfaceProtocol OBJECT-TYPE
    SYNTAX     IANAipMRouteProtocol
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The routing protocol running on this interface."
    ::= { cIpMRouteInterfaceEntry 4 }

cIpMRouteInterfaceRateLimit OBJECT-TYPE
    SYNTAX     Integer32 (0..429496295)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The rate-limit, in kilobits per second, of forwarded
            multicast traffic on the interface.  A rate-limit of 0
            indicates that no rate limiting is done."
    DEFVAL     { 0 }
    ::= { cIpMRouteInterfaceEntry 5 }

cIpMRouteInterfaceInMcastPkts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of multicast packets that have arrived on the
            interfaces.  This object is similar to ifInPkts in the
            Interfaces MIB, except that only multicast packets 
            are counted."
    ::= { cIpMRouteInterfaceEntry 6 }

cIpMRouteInterfaceOutMcastPkts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of multicast packets that have been
            sent on the interface."
    ::= { cIpMRouteInterfaceEntry 7 }


cIpMRouteInterfaceInMcastOctets OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of octets of multicast packets that have arrived
            on the interface, including framing characters.  This object
            is similar to ifInOctets in the Interfaces MIB, except that
            only multicast packets are counted."
    ::= { cIpMRouteInterfaceEntry 8 }

cIpMRouteInterfaceOutMcastOctets OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of octets of multicast packets that have been
            sent on the interface."
    ::= { cIpMRouteInterfaceEntry 9 }

cIpMRouteInterfaceHCInMOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of octets of multicast packets that have arrived
            on the interface, including framing characters.  This object
            is a 64-bit version of cIpMRouteInterfaceInMcastOctets. It
            is similar to ifHCInOctets in the Interfaces MIB, except
            that only multicast packets are counted."
    ::= { cIpMRouteInterfaceEntry 10 }

cIpMRouteInterfaceHCOutMOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of octets of multicast packets that have been
            sent on the interface.  This object is a 64-bit version of
            cIpMRouteInterfaceOutMcastOctets."
    ::= { cIpMRouteInterfaceEntry 11 }

--
--  The IP Multicast Scope Boundary Table
--

cIpMRouteBoundaryTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CIpMRouteBoundaryEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the router's scoped
            multicast address boundaries."
    ::= { cIpMRoute 5 }

cIpMRouteBoundaryEntry OBJECT-TYPE
    SYNTAX     CIpMRouteBoundaryEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the cIpMRouteBoundaryTable
            representing a scoped boundary."
    INDEX      { cIpMRouteBoundaryScopeId, cIpMRouteBoundaryIfIndex,
                 cIpMRouteBoundaryAddressType, cIpMRouteBoundaryAddress,
                 cIpMRouteBoundaryAddressMask }
    ::= { cIpMRouteBoundaryTable 1 }

CIpMRouteBoundaryEntry ::= SEQUENCE {
    cIpMRouteBoundaryScopeId            Integer32,
    cIpMRouteBoundaryIfIndex            InterfaceIndex,
    cIpMRouteBoundaryAddressType        InetAddressType,
    cIpMRouteBoundaryAddress            InetAddress,
    cIpMRouteBoundaryAddressMask        InetAddressPrefixLength,
    cIpMRouteBoundaryNameString         SnmpAdminString,
    cIpMRouteBoundaryStatus             RowStatus
}

cIpMRouteBoundaryScopeId OBJECT-TYPE
    SYNTAX     Integer32 (0..15)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The scope value in the Group address to which this boundary
            applies.  Packets with a destination address in the
            address/mask range associated with this scope will not be
            forwarded out the interface associated with the
            cIpMRouteBondaryIfIndex. This object is valid only for IPv6
            and should take on only values 3-15. In IPv4, the value must
            be set to zero."
    ::= { cIpMRouteBoundaryEntry 1 }

cIpMRouteBoundaryIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IfIndex value for the interface to which this boundary
            applies.  Packets with a destination address in the
            associated address/mask range will not be forwarded out this
            interface."
    ::= { cIpMRouteBoundaryEntry 2 }

cIpMRouteBoundaryAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The type of InetAddress representing the 
             cIpMRouteBoundaryAddress."
    ::= { cIpMRouteBoundaryEntry 3 }

cIpMRouteBoundaryAddress OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (4|16|20))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The group address which when combined with the
            corresponding value of cIpMRouteBoundaryAddressMask
            identifies the group range for which the scoped boundary
            exists."
    ::= { cIpMRouteBoundaryEntry 4 }

cIpMRouteBoundaryAddressMask OBJECT-TYPE
    SYNTAX     InetAddressPrefixLength
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The group address mask which when combined with the
            corresponding value of cIpMRouteBoundaryAddress identifies
            the group range for which the scoped boundary exists."
    ::= { cIpMRouteBoundaryEntry 5 }

cIpMRouteBoundaryNameString OBJECT-TYPE
    SYNTAX     SnmpAdminString
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The textual name associated with the multicast scope.  The
            value of this object should be suitable for displaying to
            end-users, such as when allocating a multicast address in
            this scope."
    ::= { cIpMRouteBoundaryEntry 6 }

cIpMRouteBoundaryStatus 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."
    ::= { cIpMRouteBoundaryEntry 7 }

--
--  The IP Multicast Scope Name Table
--

cIpMRouteScopeNameTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CIpMRouteScopeNameEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the multicast scope names."
    ::= { cIpMRoute 6 }

cIpMRouteScopeNameEntry OBJECT-TYPE
    SYNTAX     CIpMRouteScopeNameEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the cIpMRouteScopeNameTable
            representing a multicast scope name."
    INDEX      { cIpMRouteScopeNameAddressType,
                 cIpMRouteScopeNameAddress,
                 cIpMRouteScopeNameAddressMask,
                 IMPLIED cIpMRouteScopeNameLanguage }
    ::= { cIpMRouteScopeNameTable 1 }

CIpMRouteScopeNameEntry ::= SEQUENCE {
    cIpMRouteScopeNameAddressType        InetAddressType,
    cIpMRouteScopeNameAddress            InetAddress,
    cIpMRouteScopeNameAddressMask        InetAddressPrefixLength,
    cIpMRouteScopeNameLanguage           LanguageTag,
    cIpMRouteScopeNameString             SnmpAdminString,
    cIpMRouteScopeNameDefault            TruthValue,
    cIpMRouteScopeNameStatus             RowStatus
}

cIpMRouteScopeNameAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The type of InetAddress representing 
             cIpMRouteScopeNameAddress."
    ::= { cIpMRouteScopeNameEntry 1 }

cIpMRouteScopeNameAddress OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (4|16|20))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The group address which when combined with the
            corresponding value of cIpMRouteScopeNameAddressMask
            identifies the group range associated with the multicast
            scope."
    ::= { cIpMRouteScopeNameEntry 2 }

cIpMRouteScopeNameAddressMask OBJECT-TYPE
    SYNTAX     InetAddressPrefixLength
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The group address mask which when combined with the
            corresponding value of cIpMRouteScopeNameAddress identifies
            the group range associated with the multicast scope."
    ::= { cIpMRouteScopeNameEntry 3 }

cIpMRouteScopeNameLanguage OBJECT-TYPE
    SYNTAX     LanguageTag
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The RFC 1766-style language tag associated with the scope
            name."
    ::= { cIpMRouteScopeNameEntry 4 }

cIpMRouteScopeNameString OBJECT-TYPE
    SYNTAX     SnmpAdminString
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The textual name associated with the multicast scope.  The
            value of this object should be suitable for displaying to
            end-users, such as when allocating a multicast address in
            this scope."
    ::= { cIpMRouteScopeNameEntry 5 }

cIpMRouteScopeNameDefault OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "If true, indicates a preference that the name in the
            following language should be used by applications if no name
            is available in a desired language."
    DEFVAL { false }
    ::= { cIpMRouteScopeNameEntry 6 }

cIpMRouteScopeNameStatus 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."
    ::= { cIpMRouteScopeNameEntry 7 }


-- conformance information

cIpMRouteMIBConformance
                  OBJECT IDENTIFIER ::= { ciscoIetfIpMRouteMIB 2 }
cIpMRouteMIBCompliances
                  OBJECT IDENTIFIER ::= { cIpMRouteMIBConformance 1 }
cIpMRouteMIBGroups OBJECT IDENTIFIER ::= { cIpMRouteMIBConformance 2 }

-- compliance statements

cIpMRouteMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for the IP Multicast Routing
            MIB."
    MODULE  -- this module
    MANDATORY-GROUPS { cIpMRouteMIBBasicGroup,
                       cIpMRouteMIBRouteGroup}

        GROUP   cIpMRouteMIBBoundaryGroup
        DESCRIPTION
            "This group is mandatory if the router supports
            administratively-scoped multicast address boundaries."

        OBJECT      cIpMRouteBoundaryStatus
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      cIpMRouteScopeNameStatus
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        GROUP   cIpMRouteMIBHCInterfaceGroup
        DESCRIPTION
            "This group is mandatory only for those network interfaces
            for which the value of the corresponding instance of ifSpeed
            is greater than 20,000,000 bits/second."

        GROUP   cIpMRouteMIBHopCountGroup 
        DESCRIPTION
            "A collection of objects to support management of the use of
             hop counts in IP Multicast routing."

        GROUP   cIpMRouteMIBPktsOutGroup 
        DESCRIPTION
            "A collection of objects to support management of packet
             counters for each outgoing interface entry of a route."

        GROUP   cIpMRouteMIBPktsGroup 
        DESCRIPTION
            "A collection of objects to support management of packet
            counters for each forwarding entry."

    ::= { cIpMRouteMIBCompliances 1 }

-- units of conformance

cIpMRouteMIBBasicGroup OBJECT-GROUP
    OBJECTS { cIpMRouteEnable, cIpMRouteEntryCount,
              cIpMRouteUpstreamNeighbor, 
              cIpMRouteInIfIndex,
              cIpMRouteUpTime, cIpMRouteExpiryTime,
              cIpMRouteNextHopState,
              cIpMRouteNextHopUpTime,
              cIpMRouteNextHopExpiryTime,
              cIpMRouteNextHopProtocol,
              cIpMRouteInterfaceTtl,
              cIpMRouteInterfaceProtocol, cIpMRouteInterfaceRateLimit,
              cIpMRouteInterfaceInMcastPkts,
              cIpMRouteInterfaceOutMcastPkts,
              cIpMRouteInterfaceInMcastOctets,
              cIpMRouteInterfaceOutMcastOctets,
              cIpMRouteProtocol
            }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support basic management of IP
            Multicast routing."
    ::= { cIpMRouteMIBGroups 1 }

cIpMRouteMIBHopCountGroup OBJECT-GROUP
    OBJECTS { cIpMRouteNextHopClosestHops }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support management of the use of
            hop counts in IP Multicast routing."
    ::= { cIpMRouteMIBGroups 2 }

cIpMRouteMIBBoundaryGroup OBJECT-GROUP
    OBJECTS { cIpMRouteBoundaryStatus, cIpMRouteScopeNameString,
              cIpMRouteScopeNameDefault, cIpMRouteScopeNameStatus, 
              cIpMRouteBoundaryNameString }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support management of scoped
            multicast address boundaries."
    ::= { cIpMRouteMIBGroups 3 }

cIpMRouteMIBPktsOutGroup OBJECT-GROUP
    OBJECTS { cIpMRouteNextHopPkts }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support management of packet
            counters for each outgoing interface entry of a route."
    ::= { cIpMRouteMIBGroups 4 }

cIpMRouteMIBHCInterfaceGroup OBJECT-GROUP
    OBJECTS { cIpMRouteInterfaceHCInMOctets,
              cIpMRouteInterfaceHCOutMOctets,
              cIpMRouteHCOctets }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information specific to
            high speed (greater than 20,000,000 bits/second) network
            interfaces."
    ::= { cIpMRouteMIBGroups 5 }

cIpMRouteMIBRouteGroup OBJECT-GROUP
    OBJECTS { cIpMRouteRtProto, cIpMRouteRtAddress,
              cIpMRouteRtMask, cIpMRouteRtType }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information on the
            relationship between multicast routing information, and the
            IP Forwarding Table."
    ::= { cIpMRouteMIBGroups 6 }

cIpMRouteMIBPktsGroup OBJECT-GROUP
    OBJECTS { cIpMRoutePkts, cIpMRouteDifferentInIfPackets,
              cIpMRouteOctets }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support management of packet
            counters for each forwarding entry."
    ::= { cIpMRouteMIBGroups 7 }

END