Tech-invite3GPPspaceIETFspace
96959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 5060

Protocol Independent Multicast MIB

Pages: 90
Proposed Standard
Errata
Part 2 of 4 – Pages 4 to 35
First   Prev   Next

Top   ToC   RFC5060 - Page 4   prevText

5. Definitions

PIM-STD-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, mib-2, NOTIFICATION-TYPE, Unsigned32, Counter32, Counter64, Gauge32, TimeTicks FROM SNMPv2-SMI -- [RFC2578] TEXTUAL-CONVENTION, RowStatus, TruthValue, StorageType FROM SNMPv2-TC -- [RFC2579] MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF -- [RFC2580] InterfaceIndexOrZero, InterfaceIndex FROM IF-MIB -- [RFC2863] InetAddressType, InetAddressPrefixLength, InetAddress, InetVersion FROM INET-ADDRESS-MIB -- [RFC4001] IANAipRouteProtocol FROM IANA-RTPROTO-MIB; -- [RTPROTO] pimStdMIB MODULE-IDENTITY LAST-UPDATED "200711020000Z" -- 2 November 2007 ORGANIZATION "IETF Protocol Independent Multicast (PIM) Working Group" CONTACT-INFO "Email: pim@ietf.org WG charter:
Top   ToC   RFC5060 - Page 5
            http://www.ietf.org/html.charters/pim-charter.html"
    DESCRIPTION
            "The MIB module for management of PIM routers.

            Copyright (C) The IETF Trust (2007).  This version of this
            MIB module is part of RFC 5060; see the RFC itself for full
            legal notices."
    REVISION     "200711020000Z" -- 2 November 2007
    DESCRIPTION  "Initial version, published as RFC 5060."
    ::= { mib-2 157 }

--
-- Textual Conventions
--

PimMode ::= TEXTUAL-CONVENTION
    STATUS     current
    DESCRIPTION
            "The PIM mode in which a group is operating.

            none(1)      The group is not using PIM, which may be the
                         case if, for example, it is a link-local or
                         unroutable group address.

            ssm(2)       Source-Specific Multicast (SSM) with PIM Sparse
                         Mode.

            asm(3)       Any Source Multicast (ASM) with PIM Sparse
                         Mode.

            bidir(4)     Bidirectional PIM.

            dm(5)        PIM Dense Mode.

            other(6)     Any other PIM mode."

    SYNTAX     INTEGER {
                  none(1),
                  ssm(2),
                  asm(3),
                  bidir(4),
                  dm(5),
                  other(6)
               }

PimGroupMappingOriginType ::= TEXTUAL-CONVENTION
    STATUS     current
    DESCRIPTION
Top   ToC   RFC5060 - Page 6
            "The mechanism by which a PIM group mapping was learned.

            fixed(1)     Link-local or unroutable group mappings.

            configRp(2)  Local static RP configuration.

            configSsm(3) Local SSM Group configuration.

            bsr(4)       The PIM Bootstrap Router (BSR) mechanism.

            autoRP(5)    Cisco's Auto-RP mechanism.

            embedded(6)  The Embedded-RP mechanism where the RP address
                         is embedded in the multicast group address.

            other(7)     Any other mechanism."

    REFERENCE "RFC 3569, RFC 3956, and RFC 5059"
    SYNTAX     INTEGER {
                  fixed(1),
                  configRp(2),
                  configSsm(3),
                  bsr(4),
                  autoRP(5),
                  embedded(6),
                  other(7)
               }

--
-- Top-level structure
--

pimNotifications OBJECT IDENTIFIER ::= { pimStdMIB 0 }
pim              OBJECT IDENTIFIER ::= { pimStdMIB 1 }

pimKeepalivePeriod OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The duration of the Keepalive Timer.  This is the period
            during which the PIM router will maintain (S,G) state in the
            absence of explicit (S,G) local membership or (S,G) join
            messages received to maintain it.  This timer period is
            called the Keepalive_Period in the PIM-SM specification.  It
            is called the SourceLifetime in the PIM-DM specification.
Top   ToC   RFC5060 - Page 7
            The storage type of this object is determined by
            pimDeviceConfigStorageType."
    REFERENCE "RFC 4601 section 4.11"
    DEFVAL { 210 }
    ::= { pim 14 }

pimRegisterSuppressionTime OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The duration of the Register Suppression Timer.  This is
            the period during which a PIM Designated Router (DR) stops
            sending Register-encapsulated data to the Rendezvous Point
            (RP) after receiving a Register-Stop message.  This object
            is used to run timers both at the DR and at the RP.  This
            timer period is called the Register_Suppression_Time in the
            PIM-SM specification.

            The storage type of this object is determined by
            pimDeviceConfigStorageType."
    REFERENCE "RFC 4601 section 4.11"
    DEFVAL { 60 }
    ::= { pim 15 }

pimStarGEntries OBJECT-TYPE
    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of entries in the pimStarGTable."
    ::= { pim 16 }

pimStarGIEntries OBJECT-TYPE
    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of entries in the pimStarGITable."
    ::= { pim 17 }

pimSGEntries OBJECT-TYPE
    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of entries in the pimSGTable."
Top   ToC   RFC5060 - Page 8
    ::= { pim 18 }

pimSGIEntries OBJECT-TYPE
    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of entries in the pimSGITable."
    ::= { pim 19 }

pimSGRptEntries OBJECT-TYPE
    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of entries in the pimSGRptTable."
    ::= { pim 20 }

pimSGRptIEntries OBJECT-TYPE
    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of entries in the pimSGRptITable."
    ::= { pim 21 }

pimOutAsserts OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of Asserts sent by this router.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, for example,
            when the device is rebooted."
    REFERENCE "RFC 4601 section 4.6"
    ::= { pim 22 }

pimInAsserts OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of Asserts received by this router.  Asserts
            are multicast to all routers on a network.  This counter is
            incremented by all routers that receive an assert, not only
            those routers that are contesting the assert.
Top   ToC   RFC5060 - Page 9
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, for example,
            when the device is rebooted."
    REFERENCE "RFC 4601 section 4.6"
    ::= { pim 23 }

pimLastAssertInterface OBJECT-TYPE
    SYNTAX     InterfaceIndexOrZero
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The interface on which this router most recently sent or
            received an assert, or zero if this router has not sent or
            received an assert."
    REFERENCE "RFC 4601 section 4.6"
    ::= { pim 24 }

pimLastAssertGroupAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address type of the multicast group address in the most
            recently sent or received assert.  If this router has not
            sent or received an assert, then this object is set to
            unknown(0)."
    ::= { pim 25 }

pimLastAssertGroupAddress OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (0|4|8|16|20))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The multicast group address in the most recently sent or
            received assert.  The InetAddressType is given by the
            pimLastAssertGroupAddressType object."
    ::= { pim 26 }

pimLastAssertSourceAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address type of the source address in the most recently
            sent or received assert.  If the most recent assert was
            (*,G), or if this router has not sent or received an assert,
            then this object is set to unknown(0)."
    ::= { pim 27 }
Top   ToC   RFC5060 - Page 10
pimLastAssertSourceAddress OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (0|4|8|16|20))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The source address in the most recently sent or received
            assert.  The InetAddressType is given by the
            pimLastAssertSourceAddressType object."
    ::= { pim 28 }

pimNeighborLossNotificationPeriod OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The minimum time that must elapse between pimNeighborLoss
            notifications originated by this router.  The maximum value
            65535 represents an 'infinite' time, in which case, no
            pimNeighborLoss notifications are ever sent.

            The storage type of this object is determined by
            pimDeviceConfigStorageType."
    DEFVAL { 0 }
    ::= { pim 29 }

pimNeighborLossCount OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of neighbor loss events that have occurred.

            This counter is incremented when the neighbor timer expires,
            and the router has no other neighbors on the same interface
            with the same IP version and a lower IP address than itself.

            This counter is incremented whenever a pimNeighborLoss
            notification would be generated.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, for example,
            when the device is rebooted."
    REFERENCE "RFC 4601 section 4.3.2"
    ::= { pim 30 }

pimInvalidRegisterNotificationPeriod OBJECT-TYPE
    SYNTAX     Unsigned32 (10..65535)
Top   ToC   RFC5060 - Page 11
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The minimum time that must elapse between
            pimInvalidRegister notifications originated by this router.
            The default value of 65535 represents an 'infinite' time, in
            which case, no pimInvalidRegister notifications are ever
            sent.

            The non-zero minimum allowed value provides resilience
            against propagation of denial-of-service attacks from the
            data and control planes to the network management plane.

            The storage type of this object is determined by
            pimDeviceConfigStorageType."
    DEFVAL { 65535 }
    ::= { pim 31 }

pimInvalidRegisterMsgsRcvd OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of invalid PIM Register messages that have been
            received by this device.

            A PIM Register message is invalid if either

            o the destination address of the Register message does not
              match the Group to RP mapping on this device, or

            o this device believes the group address to be within an
              SSM address range, but this Register implies ASM usage.

            These conditions can occur transiently while RP mapping
            changes propagate through the network.  If this counter is
            incremented repeatedly over several minutes, then there is a
            persisting configuration error that requires correction.

            The active Group to RP mapping on this device is specified
            by the object pimGroupMappingPimMode.  If there is no such
            mapping, then the object pimGroupMappingPimMode is absent.
            The RP address contained in the invalid Register is
            pimInvalidRegisterRp.

            Multicast data carried by invalid Register messages is
            discarded.  The discarded data is from a source directly
Top   ToC   RFC5060 - Page 12
            connected to pimInvalidRegisterOrigin, and is addressed to
            pimInvalidRegisterGroup.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, for example,
            when the device is rebooted."
    REFERENCE "RFC 4601 section 4.4.2, RFC 3569, and
               'IP Multicast MIB' (August 2007) ipMcastSsmRangeTable"
    ::= { pim 32 }

pimInvalidRegisterAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address type stored in pimInvalidRegisterOrigin,
            pimInvalidRegisterGroup, and pimInvalidRegisterRp.

            If no invalid Register messages have been received, then
            this object is set to unknown(0)."
    ::= { pim 33 }

pimInvalidRegisterOrigin OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (0|4|8|16|20))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The source address of the last invalid Register message
            received by this device."
    ::= { pim 34 }

pimInvalidRegisterGroup OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (0|4|8|16|20))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP multicast group address to which the last invalid
            Register message received by this device was addressed."
    ::= { pim 35 }

pimInvalidRegisterRp OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (0|4|8|16|20))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The RP address to which the last invalid Register message
            received by this device was delivered."
    ::= { pim 36 }
Top   ToC   RFC5060 - Page 13
pimInvalidJoinPruneNotificationPeriod OBJECT-TYPE
    SYNTAX     Unsigned32 (10..65535)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The minimum time that must elapse between
            pimInvalidJoinPrune notifications originated by this router.
            The default value of 65535 represents an 'infinite' time, in
            which case, no pimInvalidJoinPrune notifications are ever
            sent.

            The non-zero minimum allowed value provides resilience
            against propagation of denial-of-service attacks from the
            control plane to the network management plane.

            The storage type of this object is determined by
            pimDeviceConfigStorageType."
    DEFVAL { 65535 }
    ::= { pim 37 }

pimInvalidJoinPruneMsgsRcvd OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of invalid PIM Join/Prune messages that have
            been received by this device.

            A PIM Join/Prune message is invalid if either

            o the Group to RP mapping specified by this message does not
              match the Group to RP mapping on this device, or

            o this device believes the group address to be within an
              SSM address range, but this Join/Prune (*,G) or (S,G,rpt)
              implies ASM usage.

            These conditions can occur transiently while RP mapping
            changes propagate through the network.  If this counter is
            incremented repeatedly over several minutes, then there is a
            persisting configuration error that requires correction.

            The active Group to RP mapping on this device is specified
            by the object pimGroupMappingPimMode.  If there is no such
            mapping, then the object pimGroupMappingPimMode is absent.
            The RP address contained in the invalid Join/Prune is
            pimInvalidJoinPruneRp.
Top   ToC   RFC5060 - Page 14
            Invalid Join/Prune messages are discarded.  This may result
            in loss of multicast data affecting listeners downstream of
            pimInvalidJoinPruneOrigin, for multicast data addressed to
            pimInvalidJoinPruneGroup.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, for example,
            when the device is rebooted."
    REFERENCE "RFC 4601 section 4.5.2, RFC 3569, and
               'IP Multicast MIB' (August 2007) ipMcastSsmRangeTable"
    ::= { pim 38 }

pimInvalidJoinPruneAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address type stored in pimInvalidJoinPruneOrigin,
            pimInvalidJoinPruneGroup, and pimInvalidJoinPruneRp.

            If no invalid Join/Prune messages have been received, this
            object is set to unknown(0)."
    ::= { pim 39 }

pimInvalidJoinPruneOrigin OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (0|4|8|16|20))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The source address of the last invalid Join/Prune message
            received by this device."
    ::= { pim 40 }

pimInvalidJoinPruneGroup OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (0|4|8|16|20))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP multicast group address carried in the last
            invalid Join/Prune message received by this device."
    ::= { pim 41 }

pimInvalidJoinPruneRp OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (0|4|8|16|20))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The RP address carried in the last invalid Join/Prune
Top   ToC   RFC5060 - Page 15
            message received by this device."
    ::= { pim 42 }

pimRPMappingNotificationPeriod OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The minimum time that must elapse between
            pimRPMappingChange notifications originated by this router.
            The default value of 65535 represents an 'infinite' time, in
            which case, no pimRPMappingChange notifications are ever
            sent.

            The storage type of this object is determined by
            pimDeviceConfigStorageType."
    DEFVAL { 65535 }
    ::= { pim 43 }

pimRPMappingChangeCount OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of changes to active RP mappings on this device.

            Information about active RP mappings is available in
            pimGroupMappingTable.  Only changes to active mappings cause
            this counter to be incremented.  That is, changes that
            modify the pimGroupMappingEntry with the highest precedence
            for a group (lowest value of pimGroupMappingPrecedence).

            Such changes may result from manual configuration of this
            device, or from automatic RP mapping discovery methods
            including the PIM Bootstrap Router (BSR) mechanism.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, for example,
            when the device is rebooted."
    REFERENCE "RFC 5059"
    ::= { pim 44 }

pimInterfaceElectionNotificationPeriod OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
Top   ToC   RFC5060 - Page 16
    DESCRIPTION
            "The minimum time that must elapse between
            pimInterfaceElection notifications originated by this
            router.  The default value of 65535 represents an 'infinite'
            time, in which case, no pimInterfaceElection notifications
            are ever sent.

            The storage type of this object is determined by
            pimDeviceConfigStorageType."
    DEFVAL { 65535 }
    ::= { pim 45 }

pimInterfaceElectionWinCount OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of times this device has been elected DR or DF
            on any interface.

            Elections occur frequently on newly-active interfaces, as
            triggered Hellos establish adjacencies.  This counter is not
            incremented for elections on an interface until the first
            periodic Hello has been sent.  If this router is the DR or
            DF at the time of sending the first periodic Hello after
            interface activation, then this counter is incremented
            (once) at that time.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, for example,
            when the device is rebooted."
    REFERENCE "RFC 4601 section 4.3.2 and RFC 5015 section 3.5.2"
    ::= { pim 46 }

pimRefreshInterval OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The interval between successive State Refresh messages sent
            by an Originator.  This timer period is called the
            RefreshInterval in the PIM-DM specification.  This object is
            used only by PIM-DM.

            The storage type of this object is determined by
            pimDeviceConfigStorageType."
    REFERENCE "RFC 3973 section 4.8"
Top   ToC   RFC5060 - Page 17
    DEFVAL { 60 }
    ::= { pim 47 }

pimDeviceConfigStorageType OBJECT-TYPE
    SYNTAX      StorageType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The storage type used for the global PIM configuration of
            this device, comprised of the objects listed below.  If this
            storage type takes the value 'permanent', write-access to
            the listed objects need not be allowed.

            The objects described by this storage type are:
            pimKeepalivePeriod, pimRegisterSuppressionTime,
            pimNeighborLossNotificationPeriod,
            pimInvalidRegisterNotificationPeriod,
            pimInvalidJoinPruneNotificationPeriod,
            pimRPMappingNotificationPeriod,
            pimInterfaceElectionNotificationPeriod, and
            pimRefreshInterval."
    DEFVAL { nonVolatile }
    ::= { pim 48 }

--
-- 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.
            PIM is enabled on all interfaces listed in this table."
    ::= { pim 1 }

pimInterfaceEntry OBJECT-TYPE
    SYNTAX     PimInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimInterfaceTable.  This
            entry is preserved on agent restart."
    INDEX      { pimInterfaceIfIndex,
                 pimInterfaceIPVersion }
    ::= { pimInterfaceTable 1 }
Top   ToC   RFC5060 - Page 18
PimInterfaceEntry ::= SEQUENCE {
    pimInterfaceIfIndex              InterfaceIndex,
    pimInterfaceIPVersion            InetVersion,
    pimInterfaceAddressType          InetAddressType,
    pimInterfaceAddress              InetAddress,
    pimInterfaceGenerationIDValue    Unsigned32,
    pimInterfaceDR                   InetAddress,
    pimInterfaceDRPriority           Unsigned32,
    pimInterfaceDRPriorityEnabled    TruthValue,
    pimInterfaceHelloInterval        Unsigned32,
    pimInterfaceTrigHelloInterval    Unsigned32,
    pimInterfaceHelloHoldtime        Unsigned32,
    pimInterfaceJoinPruneInterval    Unsigned32,
    pimInterfaceJoinPruneHoldtime    Unsigned32,
    pimInterfaceDFElectionRobustness Unsigned32,
    pimInterfaceLanDelayEnabled      TruthValue,
    pimInterfacePropagationDelay     Unsigned32,
    pimInterfaceOverrideInterval     Unsigned32,
    pimInterfaceEffectPropagDelay    Unsigned32,
    pimInterfaceEffectOverrideIvl    Unsigned32,
    pimInterfaceSuppressionEnabled   TruthValue,
    pimInterfaceBidirCapable         TruthValue,
    pimInterfaceDomainBorder         TruthValue,
    pimInterfaceStubInterface        TruthValue,
    pimInterfacePruneLimitInterval   Unsigned32,
    pimInterfaceGraftRetryInterval   Unsigned32,
    pimInterfaceSRPriorityEnabled    TruthValue,
    pimInterfaceStatus               RowStatus,
    pimInterfaceStorageType          StorageType
}

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

pimInterfaceIPVersion OBJECT-TYPE
    SYNTAX     InetVersion
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP version of this PIM interface.  A physical interface
            may be configured in multiple modes concurrently, e.g., IPv4
            and IPv6; however, the traffic is considered to be logically
            separate."
Top   ToC   RFC5060 - Page 19
    ::= { pimInterfaceEntry 2 }

pimInterfaceAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address type of this PIM interface."
    ::= { pimInterfaceEntry 3 }

pimInterfaceAddress OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (0|4|8|16|20))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The primary IP address of this router on this PIM
            interface.  The InetAddressType is given by the
            pimInterfaceAddressType object."
    REFERENCE "RFC 4601 sections 4.1.6, 4.3.1-4.3.4, and 4.5.1"
    ::= { pimInterfaceEntry 4 }

pimInterfaceGenerationIDValue OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value of the Generation ID this router inserted in the
            last PIM Hello message it sent on this interface."
    REFERENCE "RFC 4601 section 4.3.1"
    ::= { pimInterfaceEntry 5 }

pimInterfaceDR OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (0|4|8|16|20))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The primary IP address of the Designated Router on this PIM
            interface.  The InetAddressType is given by the
            pimInterfaceAddressType object."
    REFERENCE "RFC 4601 section 4.3"
    ::= { pimInterfaceEntry 6 }

pimInterfaceDRPriority OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The Designated Router Priority value inserted into the DR
Top   ToC   RFC5060 - Page 20
            Priority option in PIM Hello messages transmitted on this
            interface.  Numerically higher values for this object
            indicate higher priorities."
    REFERENCE "RFC 4601 section 4.3.2"
    DEFVAL { 1 }
    ::= { pimInterfaceEntry 7 }

pimInterfaceDRPriorityEnabled OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Evaluates to TRUE if all routers on this interface are
            using the DR Priority option."
    REFERENCE "RFC 4601 section 4.3.2"
    ::= { pimInterfaceEntry 8 }

pimInterfaceHelloInterval OBJECT-TYPE
    SYNTAX     Unsigned32 (0..18000)
    UNITS      "seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The frequency at which PIM Hello messages are transmitted
            on this interface.  This object corresponds to the
            'Hello_Period' timer value defined in the PIM-SM
            specification.  A value of zero represents an 'infinite'
            interval, and indicates that periodic PIM Hello messages
            should not be sent on this interface."
    REFERENCE "RFC 4601 section 9"
    DEFVAL { 30 }
    ::= { pimInterfaceEntry 9 }

pimInterfaceTrigHelloInterval OBJECT-TYPE
    SYNTAX     Unsigned32 (0..60)
    UNITS      "seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The maximum time before this router sends a triggered PIM
            Hello message on this interface.  This object corresponds to
            the 'Trigered_Hello_Delay' timer value defined in the PIM-SM
            specification.  A value of zero has no special meaning and
            indicates that triggered PIM Hello messages should always be
            sent immediately."
    REFERENCE "RFC 4601 section 4.11"
    DEFVAL { 5 }
    ::= { pimInterfaceEntry 10 }
Top   ToC   RFC5060 - Page 21
pimInterfaceHelloHoldtime OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    UNITS      "seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The value set in the Holdtime field of PIM Hello messages
            transmitted on this interface.  A value of 65535 represents
            an 'infinite' holdtime.  Implementations are recommended
            to use a holdtime that is 3.5 times the value of
            pimInterfaceHelloInterval, or 65535 if
            pimInterfaceHelloInterval is set to zero."
    REFERENCE "RFC 4601 sections 4.3.2 and 4.9.2"
    DEFVAL { 105 }
    ::= { pimInterfaceEntry 11 }

pimInterfaceJoinPruneInterval OBJECT-TYPE
    SYNTAX     Unsigned32 (0..18000)
    UNITS      "seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The frequency at which this router sends PIM Join/Prune
            messages on this PIM interface.  This object corresponds to
            the 't_periodic' timer value defined in the PIM-SM
            specification.  A value of zero represents an 'infinite'
            interval, and indicates that periodic PIM Join/Prune
            messages should not be sent on this interface."
    REFERENCE "RFC 4601 section 4.11"
    DEFVAL { 60 }
    ::= { pimInterfaceEntry 12 }

pimInterfaceJoinPruneHoldtime OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    UNITS      "seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The value inserted into the Holdtime field of a PIM
            Join/Prune message sent on this interface.  A value of 65535
            represents an 'infinite' holdtime.  Implementations are
            recommended to use a holdtime that is 3.5 times the value of
            pimInterfaceJoinPruneInterval, or 65535 if
            pimInterfaceJoinPruneInterval is set to zero.  PIM-DM
            implementations are recommended to use the value of
            pimInterfacePruneLimitInterval."
    REFERENCE "RFC 4601 sections 4.5.3 and 4.9.5"
    DEFVAL { 210 }
Top   ToC   RFC5060 - Page 22
    ::= { pimInterfaceEntry 13 }

pimInterfaceDFElectionRobustness OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The minimum number of PIM DF-Election messages that must be
            lost in order for DF election on this interface to fail."
    DEFVAL { 3 }
    ::= { pimInterfaceEntry 14 }

pimInterfaceLanDelayEnabled OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Evaluates to TRUE if all routers on this interface are
            using the LAN Prune Delay option."
    REFERENCE "RFC 4601 sections 4.3.3 and 4.9.2"
    ::= { pimInterfaceEntry 15 }

pimInterfacePropagationDelay OBJECT-TYPE
    SYNTAX     Unsigned32 (0..32767)
    UNITS      "milliseconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The expected propagation delay between PIM routers on this
            network or link.

            This router inserts this value into the Propagation_Delay
            field of the LAN Prune Delay option in the PIM Hello
            messages sent on this interface.  Implementations SHOULD
            enforce a lower bound on the permitted values for this
            object to allow for scheduling and processing delays within
            the local router."
    DEFVAL { 500 }
    ::= { pimInterfaceEntry 16 }

pimInterfaceOverrideInterval OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    UNITS      "milliseconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The value this router inserts into the Override_Interval
            field of the LAN Prune Delay option in the PIM Hello
Top   ToC   RFC5060 - Page 23
            messages it sends on this interface.

            When overriding a prune, PIM routers pick a random timer
            duration up to the value of this object.  The more PIM
            routers that are active on a network, the more likely it is
            that the prune will be overridden after a small proportion
            of this time has elapsed.

            The more PIM routers are active on this network, the larger
            this object should be to obtain an optimal spread of prune
            override latencies."
    REFERENCE "RFC 4601 section 4.3.3"
    DEFVAL { 2500 }
    ::= { pimInterfaceEntry 17 }

pimInterfaceEffectPropagDelay OBJECT-TYPE
    SYNTAX     Unsigned32 (0..32767)
    UNITS      "milliseconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The Effective Propagation Delay on this interface.  This
            object is always 500 if pimInterfaceLanDelayEnabled is
            FALSE."
    REFERENCE "RFC 4601 section 4.3.3"
    ::= { pimInterfaceEntry 18 }

pimInterfaceEffectOverrideIvl OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    UNITS      "milliseconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The Effective Override Interval on this interface.  This
            object is always 2500 if pimInterfaceLanDelayEnabled is
            FALSE."
    REFERENCE "RFC 4601 section 4.3.3"
    ::= { pimInterfaceEntry 19 }

pimInterfaceSuppressionEnabled OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Whether join suppression is enabled on this interface.
            This object is always TRUE if pimInterfaceLanDelayEnabled is
            FALSE."
    REFERENCE "RFC 4601 section 4.3.3"
Top   ToC   RFC5060 - Page 24
    ::= { pimInterfaceEntry 20 }

pimInterfaceBidirCapable OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Evaluates to TRUE if all routers on this interface are
            using the Bidirectional-PIM Capable option."
    REFERENCE "RFC 5015 section 3.2 and 3.7.4"
    ::= { pimInterfaceEntry 21 }

pimInterfaceDomainBorder OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "Whether or not this interface is a PIM domain border.  This
            includes acting as a border for PIM Bootstrap Router (BSR)
            messages, if the BSR mechanism is in use."
    DEFVAL { false }
    ::= { pimInterfaceEntry 22 }

pimInterfaceStubInterface OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "Whether this interface is a 'stub interface'.  If this
            object is set to TRUE, then no PIM packets are sent out this
            interface, and any received PIM packets are ignored.

            Setting this object to TRUE is a security measure for
            interfaces towards untrusted hosts.  This allows an
            interface to be configured for use with IGMP (Internet Group
            Management Protocol) or MLD (Multicast Listener Discovery)
            only, which protects the PIM router from forged PIM messages
            on the interface.

            To communicate with other PIM routers using this interface,
            this object must remain set to FALSE.

            Changing the value of this object while the interface is
            operational causes PIM to be disabled and then re-enabled on
            this interface."
    REFERENCE "RFC 3376, RFC 3810"
    DEFVAL { false }
    ::= { pimInterfaceEntry 23 }
Top   ToC   RFC5060 - Page 25
pimInterfacePruneLimitInterval OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    UNITS      "seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The minimum interval that must transpire between two
            successive Prunes sent by a router.  This object corresponds
            to the 't_limit' timer value defined in the PIM-DM
            specification.  This object is used only by PIM-DM."
    REFERENCE "RFC 3973 section 4.8"
    DEFVAL { 60 }
    ::= { pimInterfaceEntry 24 }

pimInterfaceGraftRetryInterval OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    UNITS      "seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The minimum interval that must transpire between two
            successive Grafts sent by a router.  This object corresponds
            to the 'Graft_Retry_Period' timer value defined in the
            PIM-DM specification.  This object is used only by PIM-DM."
    REFERENCE "RFC 3973 section 4.8"
    DEFVAL { 3 }
    ::= { pimInterfaceEntry 25 }

pimInterfaceSRPriorityEnabled OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Evaluates to TRUE if all routers on this interface are
            using the State Refresh option.  This object is used only by
            PIM-DM."
    ::= { pimInterfaceEntry 26 }

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

            This status object can be set to active(1) without setting
Top   ToC   RFC5060 - Page 26
            any other columnar objects in this entry.

            All writeable objects in this entry can be modified when the
            status of this entry is active(1)."
    ::= { pimInterfaceEntry 27 }

pimInterfaceStorageType OBJECT-TYPE
    SYNTAX      StorageType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The storage type for this row.  Rows having the value
            'permanent' need not allow write-access to any columnar
            objects in the row."
    DEFVAL { nonVolatile }
    ::= { pimInterfaceEntry 28 }

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

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

PimNeighborEntry ::= SEQUENCE {
    pimNeighborIfIndex              InterfaceIndex,
    pimNeighborAddressType          InetAddressType,
    pimNeighborAddress              InetAddress,
    pimNeighborGenerationIDPresent  TruthValue,
    pimNeighborGenerationIDValue    Unsigned32,
    pimNeighborUpTime               TimeTicks,
    pimNeighborExpiryTime           TimeTicks,
Top   ToC   RFC5060 - Page 27
    pimNeighborDRPriorityPresent    TruthValue,
    pimNeighborDRPriority           Unsigned32,
    pimNeighborLanPruneDelayPresent TruthValue,
    pimNeighborTBit                 TruthValue,
    pimNeighborPropagationDelay     Unsigned32,
    pimNeighborOverrideInterval     Unsigned32,
    pimNeighborBidirCapable         TruthValue,
    pimNeighborSRCapable            TruthValue
}

pimNeighborIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The value of ifIndex for the interface used to reach this
            PIM neighbor."
    ::= { pimNeighborEntry 1 }

pimNeighborAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The address type of this PIM neighbor."
    ::= { pimNeighborEntry 2 }

pimNeighborAddress OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (4|8|16|20))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The primary IP address of this PIM neighbor.  The
            InetAddressType is given by the pimNeighborAddressType
            object."
    ::= { pimNeighborEntry 3 }

pimNeighborGenerationIDPresent OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Evaluates to TRUE if this neighbor is using the Generation
            ID option."
    REFERENCE "RFC 4601 section 4.3.1"
    ::= { pimNeighborEntry 4 }

pimNeighborGenerationIDValue OBJECT-TYPE
Top   ToC   RFC5060 - Page 28
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value of the Generation ID from the last PIM Hello
            message received from this neighbor.  This object is always
            zero if pimNeighborGenerationIDPresent is FALSE."
    REFERENCE "RFC 4601 section 4.3.1"
    ::= { pimNeighborEntry 5 }

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

pimNeighborExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum time remaining before this PIM neighbor will
            time out.  The value zero indicates that this PIM neighbor
            will never time out."
    ::= { pimNeighborEntry 7 }

pimNeighborDRPriorityPresent OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Evaluates to TRUE if this neighbor is using the DR Priority
            option."
    REFERENCE "RFC 4601 section 4.3.2"
    ::= { pimNeighborEntry 8 }

pimNeighborDRPriority OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value of the Designated Router Priority from the last
            PIM Hello message received from this neighbor.  This object
            is always zero if pimNeighborDRPriorityPresent is FALSE."
    REFERENCE "RFC 4601 section 4.3.2"
Top   ToC   RFC5060 - Page 29
    ::= { pimNeighborEntry 9 }

pimNeighborLanPruneDelayPresent OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Evaluates to TRUE if this neighbor is using the LAN Prune
            Delay option."
    REFERENCE "RFC 4601 section 4.3.3"
    ::= { pimNeighborEntry 10 }

pimNeighborTBit OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Whether the T bit was set in the LAN Prune Delay option
            received from this neighbor.  The T bit specifies the
            ability of the neighbor to disable join suppression.  This
            object is always TRUE if pimNeighborLanPruneDelayPresent is
            FALSE."
    REFERENCE "RFC 4601 section 4.3.3"
    ::= { pimNeighborEntry 11 }

pimNeighborPropagationDelay OBJECT-TYPE
    SYNTAX     Unsigned32 (0..32767)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value of the Propagation_Delay field of the LAN Prune
            Delay option received from this neighbor.  This object is
            always zero if pimNeighborLanPruneDelayPresent is FALSE."
    REFERENCE "RFC 4601 section 4.3.3"
    ::= { pimNeighborEntry 12 }

pimNeighborOverrideInterval OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value of the Override_Interval field of the LAN Prune
            Delay option received from this neighbor.  This object is
            always zero if pimNeighborLanPruneDelayPresent is FALSE."
    REFERENCE "RFC 4601 section 4.3.3"
    ::= { pimNeighborEntry 13 }

pimNeighborBidirCapable OBJECT-TYPE
Top   ToC   RFC5060 - Page 30
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Evaluates to TRUE if this neighbor is using the
            Bidirectional-PIM Capable option."
    REFERENCE "RFC 5015 section 3.2 and 3.7.4"
    ::= { pimNeighborEntry 14 }

pimNeighborSRCapable OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Evaluates to TRUE if this neighbor is using the State
            Refresh Capable option.  This object is used only by
            PIM-DM."
    REFERENCE "RFC 3973 section 4.3.4"
    ::= { pimNeighborEntry 15 }

--
-- The PIM Neighbor Secondary Address Table
--

pimNbrSecAddressTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF PimNbrSecAddressEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the secondary addresses
            advertised by each PIM neighbor (on a subset of the rows of
            the pimNeighborTable defined above)."
    REFERENCE "RFC 4601 section 4.3.4"
    ::= { pim 3 }

pimNbrSecAddressEntry OBJECT-TYPE
    SYNTAX     PimNbrSecAddressEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimNbrSecAddressTable."
    INDEX      { pimNbrSecAddressIfIndex,
                 pimNbrSecAddressType,
                 pimNbrSecAddressPrimary,
                 pimNbrSecAddress }
    ::= { pimNbrSecAddressTable 1 }

PimNbrSecAddressEntry ::= SEQUENCE {
Top   ToC   RFC5060 - Page 31
    pimNbrSecAddressIfIndex InterfaceIndex,
    pimNbrSecAddressType    InetAddressType,
    pimNbrSecAddressPrimary InetAddress,
    pimNbrSecAddress        InetAddress
}

pimNbrSecAddressIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The value of ifIndex for the interface used to reach this
            PIM neighbor."
    ::= { pimNbrSecAddressEntry 1 }

pimNbrSecAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The address type of this PIM neighbor."
    ::= { pimNbrSecAddressEntry 2 }

pimNbrSecAddressPrimary OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (4|8|16|20))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The primary IP address of this PIM neighbor.  The
            InetAddressType is given by the pimNbrSecAddressType
            object."
    ::= { pimNbrSecAddressEntry 3 }

pimNbrSecAddress OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (4|8|16|20))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The secondary IP address of this PIM neighbor.  The
            InetAddressType is given by the pimNbrSecAddressType
            object."
    ::= { pimNbrSecAddressEntry 4 }

--
-- The PIM (*,G) State Table
--

pimStarGTable OBJECT-TYPE
Top   ToC   RFC5060 - Page 32
    SYNTAX     SEQUENCE OF PimStarGEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the non-interface specific
            (*,G) state that PIM has."
    REFERENCE "RFC 4601 section 4.1.3"
    ::= { pim 4 }

pimStarGEntry OBJECT-TYPE
    SYNTAX     PimStarGEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimStarGTable."
    INDEX      { pimStarGAddressType,
                 pimStarGGrpAddress }
    ::= { pimStarGTable 1 }

PimStarGEntry ::= SEQUENCE {
    pimStarGAddressType             InetAddressType,
    pimStarGGrpAddress              InetAddress,
    pimStarGUpTime                  TimeTicks,
    pimStarGPimMode                 PimMode,
    pimStarGRPAddressType           InetAddressType,
    pimStarGRPAddress               InetAddress,
    pimStarGPimModeOrigin           PimGroupMappingOriginType,
    pimStarGRPIsLocal               TruthValue,
    pimStarGUpstreamJoinState       INTEGER,
    pimStarGUpstreamJoinTimer       TimeTicks,
    pimStarGUpstreamNeighborType    InetAddressType,
    pimStarGUpstreamNeighbor        InetAddress,
    pimStarGRPFIfIndex              InterfaceIndexOrZero,
    pimStarGRPFNextHopType          InetAddressType,
    pimStarGRPFNextHop              InetAddress,
    pimStarGRPFRouteProtocol        IANAipRouteProtocol,
    pimStarGRPFRouteAddress         InetAddress,
    pimStarGRPFRoutePrefixLength    InetAddressPrefixLength,
    pimStarGRPFRouteMetricPref      Unsigned32,
    pimStarGRPFRouteMetric          Unsigned32
}

pimStarGAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The address type of this multicast group."
Top   ToC   RFC5060 - Page 33
    ::= { pimStarGEntry 1 }

pimStarGGrpAddress OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (4|8|16|20))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The multicast group address.  The InetAddressType is given
            by the pimStarGAddressType object."
    ::= { pimStarGEntry 2 }

pimStarGUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time since this entry was created by the local router."
    ::= { pimStarGEntry 3 }

pimStarGPimMode OBJECT-TYPE
    SYNTAX     PimMode { asm(3), bidir(4) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Whether this entry represents an ASM (Any Source Multicast,
            used with PIM-SM) or BIDIR-PIM group."
    ::= { pimStarGEntry 4 }

pimStarGRPAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address type of the Rendezvous Point (RP), or
            unknown(0) if the RP address is unknown."
    ::= { pimStarGEntry 5 }

pimStarGRPAddress OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (0|4|8|16|20))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address of the Rendezvous Point (RP) for the group.
            The InetAddressType is given by the pimStarGRPAddressType."
    ::= { pimStarGEntry 6 }

pimStarGPimModeOrigin OBJECT-TYPE
    SYNTAX     PimGroupMappingOriginType
Top   ToC   RFC5060 - Page 34
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The mechanism by which the PIM mode and RP for the group
            were learned."
    ::= { pimStarGEntry 7 }

pimStarGRPIsLocal OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Whether the local router is the RP for the group."
    ::= { pimStarGEntry 8 }

pimStarGUpstreamJoinState OBJECT-TYPE
    SYNTAX     INTEGER {
                  notJoined (1),
                  joined (2)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Whether the local router should join the RP tree for the
            group.  This corresponds to the state of the upstream (*,G)
            state machine in the PIM-SM specification."
    REFERENCE "RFC 4601 section 4.5.6"
    ::= { pimStarGEntry 9 }

pimStarGUpstreamJoinTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time remaining before the local router next sends a
            periodic (*,G) Join message on pimStarGRPFIfIndex.  This
            timer is called the (*,G) Upstream Join Timer in the PIM-SM
            specification.  This object is zero if the timer is not
            running."
    REFERENCE "RFC 4601 section 4.10"
    ::= { pimStarGEntry 10 }

pimStarGUpstreamNeighborType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The primary address type of the upstream neighbor, or
Top   ToC   RFC5060 - Page 35
            unknown(0) if the upstream neighbor address is unknown or is
            not a PIM neighbor."
    ::= { pimStarGEntry 11 }

pimStarGUpstreamNeighbor OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (0|4|8|16|20))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The primary address of the neighbor on pimStarGRPFIfIndex
            that the local router is sending periodic (*,G) Join
            messages to.  The InetAddressType is given by the
            pimStarGUpstreamNeighborType object.  This address is called
            RPF'(*,G) in the PIM-SM specification."
    REFERENCE "RFC 4601 section 4.1.6"
    ::= { pimStarGEntry 12 }

pimStarGRPFIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndexOrZero
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value of ifIndex for the Reverse Path Forwarding
            (RPF) interface towards the RP, or zero if the RPF
            interface is unknown."
    ::= { pimStarGEntry 13 }

pimStarGRPFNextHopType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address type of the RPF next hop towards the RP, or
            unknown(0) if the RPF next hop is unknown."
    ::= { pimStarGEntry 14 }

pimStarGRPFNextHop OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (0|4|8|16|20))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address of the RPF next hop towards the RP.  The
            InetAddressType is given by the pimStarGRPFNextHopType
            object.  This address is called MRIB.next_hop(RP(G))
            in the PIM-SM specification."
    REFERENCE "RFC 4601 section 4.5.5"
    ::= { pimStarGEntry 15 }


(next page on part 3)

Next Section