#
# PySNMP MIB module PIM-MIB (http://pysnmp.sf.net)
# ASN.1 source http://mibs.snmplabs.com:80/asn1/PIM-MIB
# Produced by pysmi-0.0.7 at Sun Feb 14 00:23:34 2016
# On host bldfarm platform Linux version 4.1.13-100.fc21.x86_64 by user goose
# Using Python version 3.5.0 (default, Jan  5 2016, 17:11:52) 
#
( Integer, OctetString, ObjectIdentifier, ) = mibBuilder.importSymbols("ASN1", "Integer", "OctetString", "ObjectIdentifier")
( NamedValues, ) = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
( ValueRangeConstraint, ValueSizeConstraint, ConstraintsIntersection, ConstraintsUnion, SingleValueConstraint, ) = mibBuilder.importSymbols("ASN1-REFINEMENT", "ValueRangeConstraint", "ValueSizeConstraint", "ConstraintsIntersection", "ConstraintsUnion", "SingleValueConstraint")
( InterfaceIndex, ) = mibBuilder.importSymbols("IF-MIB", "InterfaceIndex")
( ipMRouteNextHopIfIndex, ipMRouteNextHopSource, ipMRouteGroup, ipMRouteNextHopAddress, ipMRouteSourceMask, ipMRouteNextHopGroup, ipMRouteNextHopSourceMask, ipMRouteSource, ) = mibBuilder.importSymbols("IPMROUTE-STD-MIB", "ipMRouteNextHopIfIndex", "ipMRouteNextHopSource", "ipMRouteGroup", "ipMRouteNextHopAddress", "ipMRouteSourceMask", "ipMRouteNextHopGroup", "ipMRouteNextHopSourceMask", "ipMRouteSource")
( NotificationGroup, ObjectGroup, ModuleCompliance, ) = mibBuilder.importSymbols("SNMPv2-CONF", "NotificationGroup", "ObjectGroup", "ModuleCompliance")
( ModuleIdentity, iso, NotificationType, MibScalar, MibTable, MibTableRow, MibTableColumn, TimeTicks, IpAddress, Integer32, Counter32, Bits, Counter64, Gauge32, MibIdentifier, experimental, ObjectIdentity, Unsigned32, ) = mibBuilder.importSymbols("SNMPv2-SMI", "ModuleIdentity", "iso", "NotificationType", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "TimeTicks", "IpAddress", "Integer32", "Counter32", "Bits", "Counter64", "Gauge32", "MibIdentifier", "experimental", "ObjectIdentity", "Unsigned32")
( RowStatus, TruthValue, DisplayString, TextualConvention, ) = mibBuilder.importSymbols("SNMPv2-TC", "RowStatus", "TruthValue", "DisplayString", "TextualConvention")
pimMIB = ModuleIdentity((1, 3, 6, 1, 3, 61)).setRevisions(("2000-09-28 00:00",))
if mibBuilder.loadTexts: pimMIB.setLastUpdated('200009280000Z')
if mibBuilder.loadTexts: pimMIB.setOrganization('IETF IDMR Working Group.')
if mibBuilder.loadTexts: pimMIB.setContactInfo(' Dave Thaler\n              Microsoft Corporation\n              One Microsoft Way\n              Redmond, WA  98052-6399\n              US\n\n              Phone: +1 425 703 8835\n              EMail: dthaler@microsoft.com')
if mibBuilder.loadTexts: pimMIB.setDescription('The MIB module for management of PIM routers.')
pimMIBObjects = MibIdentifier((1, 3, 6, 1, 3, 61, 1))
pimTraps = MibIdentifier((1, 3, 6, 1, 3, 61, 1, 0))
pim = MibIdentifier((1, 3, 6, 1, 3, 61, 1, 1))
pimJoinPruneInterval = MibScalar((1, 3, 6, 1, 3, 61, 1, 1, 1), Integer32()).setUnits('seconds').setMaxAccess("readwrite")
if mibBuilder.loadTexts: pimJoinPruneInterval.setDescription('The default interval at which periodic PIM-SM Join/Prune\n            messages are to be sent.')
pimInterfaceTable = MibTable((1, 3, 6, 1, 3, 61, 1, 1, 2), )
if mibBuilder.loadTexts: pimInterfaceTable.setDescription("The (conceptual) table listing the router's PIM interfaces.\n            IGMP and PIM are enabled on all interfaces listed in this\n            table.")
pimInterfaceEntry = MibTableRow((1, 3, 6, 1, 3, 61, 1, 1, 2, 1), ).setIndexNames((0, "PIM-MIB", "pimInterfaceIfIndex"))
if mibBuilder.loadTexts: pimInterfaceEntry.setDescription('An entry (conceptual row) in the pimInterfaceTable.')
pimInterfaceIfIndex = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 2, 1, 1), InterfaceIndex())
if mibBuilder.loadTexts: pimInterfaceIfIndex.setDescription('The ifIndex value of this PIM interface.')
pimInterfaceAddress = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 2, 1, 2), IpAddress()).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimInterfaceAddress.setDescription('The IP address of the PIM interface.')
pimInterfaceNetMask = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 2, 1, 3), IpAddress()).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimInterfaceNetMask.setDescription('The network mask for the IP address of the PIM interface.')
pimInterfaceMode = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 2, 1, 4), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2, 3,))).clone(namedValues=NamedValues(("dense", 1), ("sparse", 2), ("sparseDense", 3),)).clone('dense')).setMaxAccess("readcreate")
if mibBuilder.loadTexts: pimInterfaceMode.setDescription('The configured mode of this PIM interface.  A value of\n            sparseDense is only valid for PIMv1.')
pimInterfaceDR = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 2, 1, 5), IpAddress()).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimInterfaceDR.setDescription('The Designated Router on this PIM interface.  For point-to-\n            point interfaces, this object has the value 0.0.0.0.')
pimInterfaceHelloInterval = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 2, 1, 6), Integer32().clone(30)).setUnits('seconds').setMaxAccess("readcreate")
if mibBuilder.loadTexts: pimInterfaceHelloInterval.setDescription('The frequency at which PIM Hello messages are transmitted\n            on this interface.')
pimInterfaceStatus = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 2, 1, 7), RowStatus()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: pimInterfaceStatus.setDescription('The status of this entry.  Creating the entry enables PIM\n            on the interface; destroying the entry disables PIM on the\n            interface.')
pimInterfaceJoinPruneInterval = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 2, 1, 8), Integer32()).setUnits('seconds').setMaxAccess("readcreate")
if mibBuilder.loadTexts: pimInterfaceJoinPruneInterval.setDescription('The frequency at which PIM Join/Prune messages are\n            transmitted on this PIM interface.  The default value of\n            this object is the pimJoinPruneInterval.')
pimInterfaceCBSRPreference = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 2, 1, 9), Integer32().subtype(subtypeSpec=ValueRangeConstraint(-1,255))).setMaxAccess("readcreate")
if mibBuilder.loadTexts: pimInterfaceCBSRPreference.setDescription('The preference value for the local interface as a candidate\n            bootstrap router.  The value of -1 is used to indicate that\n            the local interface is not a candidate BSR interface.')
pimNeighborTable = MibTable((1, 3, 6, 1, 3, 61, 1, 1, 3), )
if mibBuilder.loadTexts: pimNeighborTable.setDescription("The (conceptual) table listing the router's PIM neighbors.")
pimNeighborEntry = MibTableRow((1, 3, 6, 1, 3, 61, 1, 1, 3, 1), ).setIndexNames((0, "PIM-MIB", "pimNeighborAddress"))
if mibBuilder.loadTexts: pimNeighborEntry.setDescription('An entry (conceptual row) in the pimNeighborTable.')
pimNeighborAddress = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 3, 1, 1), IpAddress())
if mibBuilder.loadTexts: pimNeighborAddress.setDescription('The IP address of the PIM neighbor for which this entry\n            contains information.')
pimNeighborIfIndex = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 3, 1, 2), InterfaceIndex()).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimNeighborIfIndex.setDescription('The value of ifIndex for the interface used to reach this\n            PIM neighbor.')
pimNeighborUpTime = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 3, 1, 3), TimeTicks()).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimNeighborUpTime.setDescription('The time since this PIM neighbor (last) became a neighbor\n            of the local router.')
pimNeighborExpiryTime = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 3, 1, 4), TimeTicks()).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimNeighborExpiryTime.setDescription('The minimum time remaining before this PIM neighbor will be\n            aged out.')
pimNeighborMode = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 3, 1, 5), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2,))).clone(namedValues=NamedValues(("dense", 1), ("sparse", 2),))).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimNeighborMode.setDescription('The active PIM mode of this neighbor.  This object is\n            deprecated for PIMv2 routers since all neighbors on the\n            interface must be either dense or sparse as determined by\n            the protocol running on the interface.')
pimIpMRouteTable = MibTable((1, 3, 6, 1, 3, 61, 1, 1, 4), )
if mibBuilder.loadTexts: pimIpMRouteTable.setDescription('The (conceptual) table listing PIM-specific information on\n            a subset of the rows of the ipMRouteTable defined in the IP\n            Multicast MIB.')
pimIpMRouteEntry = MibTableRow((1, 3, 6, 1, 3, 61, 1, 1, 4, 1), ).setIndexNames((0, "IPMROUTE-STD-MIB", "ipMRouteGroup"), (0, "IPMROUTE-STD-MIB", "ipMRouteSource"), (0, "IPMROUTE-STD-MIB", "ipMRouteSourceMask"))
if mibBuilder.loadTexts: pimIpMRouteEntry.setDescription('An entry (conceptual row) in the pimIpMRouteTable.  There\n            is one entry per entry in the ipMRouteTable whose incoming\n            interface is running PIM.')
pimIpMRouteUpstreamAssertTimer = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 4, 1, 1), TimeTicks()).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimIpMRouteUpstreamAssertTimer.setDescription('The time remaining before the router changes its upstream\n            neighbor back to its RPF neighbor.  This timer is called the\n            Assert timer in the PIM Sparse and Dense mode specification.\n            A value of 0 indicates that no Assert has changed the\n            upstream neighbor away from the RPF neighbor.')
pimIpMRouteAssertMetric = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 4, 1, 2), Integer32()).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimIpMRouteAssertMetric.setDescription('The metric advertised by the assert winner on the upstream\n            interface, or 0 if no such assert is in received.')
pimIpMRouteAssertMetricPref = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 4, 1, 3), Integer32()).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimIpMRouteAssertMetricPref.setDescription('The preference advertised by the assert winner on the\n            upstream interface, or 0 if no such assert is in effect.')
pimIpMRouteAssertRPTBit = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 4, 1, 4), TruthValue()).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimIpMRouteAssertRPTBit.setDescription('The value of the RPT-bit advertised by the assert winner on\n            the upstream interface, or false if no such assert is in\n            effect.')
pimIpMRouteFlags = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 4, 1, 5), Bits().clone(namedValues=NamedValues(("rpt", 0), ("spt", 1),))).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimIpMRouteFlags.setDescription('This object describes PIM-specific flags related to a\n            multicast state entry.  See the PIM Sparse Mode\n            specification for the meaning of the RPT and SPT bits.')
pimIpMRouteNextHopTable = MibTable((1, 3, 6, 1, 3, 61, 1, 1, 7), )
if mibBuilder.loadTexts: pimIpMRouteNextHopTable.setDescription('The (conceptual) table listing PIM-specific information on\n            a subset of the rows of the ipMRouteNextHopTable defined in\n            the IP Multicast MIB.')
pimIpMRouteNextHopEntry = MibTableRow((1, 3, 6, 1, 3, 61, 1, 1, 7, 1), ).setIndexNames((0, "IPMROUTE-STD-MIB", "ipMRouteNextHopGroup"), (0, "IPMROUTE-STD-MIB", "ipMRouteNextHopSource"), (0, "IPMROUTE-STD-MIB", "ipMRouteNextHopSourceMask"), (0, "IPMROUTE-STD-MIB", "ipMRouteNextHopIfIndex"), (0, "IPMROUTE-STD-MIB", "ipMRouteNextHopAddress"))
if mibBuilder.loadTexts: pimIpMRouteNextHopEntry.setDescription('An entry (conceptual row) in the pimIpMRouteNextHopTable.\n            There is one entry per entry in the ipMRouteNextHopTable\n            whose interface is running PIM and whose\n            ipMRouteNextHopState is pruned(1).')
pimIpMRouteNextHopPruneReason = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 7, 1, 2), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2, 3,))).clone(namedValues=NamedValues(("other", 1), ("prune", 2), ("assert", 3),))).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimIpMRouteNextHopPruneReason.setDescription('This object indicates why the downstream interface was\n            pruned, whether in response to a PIM prune message or due to\n            PIM Assert processing.')
pimRPTable = MibTable((1, 3, 6, 1, 3, 61, 1, 1, 5), )
if mibBuilder.loadTexts: pimRPTable.setDescription('The (conceptual) table listing PIM version 1 information\n            for the Rendezvous Points (RPs) for IP multicast groups.\n            This table is deprecated since its function is replaced by\n            the pimRPSetTable for PIM version 2.')
pimRPEntry = MibTableRow((1, 3, 6, 1, 3, 61, 1, 1, 5, 1), ).setIndexNames((0, "PIM-MIB", "pimRPGroupAddress"), (0, "PIM-MIB", "pimRPAddress"))
if mibBuilder.loadTexts: pimRPEntry.setDescription('An entry (conceptual row) in the pimRPTable.  There is one\n            entry per RP address for each IP multicast group.')
pimRPGroupAddress = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 5, 1, 1), IpAddress())
if mibBuilder.loadTexts: pimRPGroupAddress.setDescription('The IP multicast group address for which this entry\n            contains information about an RP.')
pimRPAddress = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 5, 1, 2), IpAddress())
if mibBuilder.loadTexts: pimRPAddress.setDescription('The unicast address of the RP.')
pimRPState = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 5, 1, 3), Integer32().subtype(subtypeSpec=ConstraintsUnion(SingleValueConstraint(1, 2,))).clone(namedValues=NamedValues(("up", 1), ("down", 2),))).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimRPState.setDescription('The state of the RP.')
pimRPStateTimer = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 5, 1, 4), TimeTicks()).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimRPStateTimer.setDescription('The minimum time remaining before the next state change.\n            When pimRPState is up, this is the minimum time which must\n            expire until it can be declared down.  When pimRPState is\n            down, this is the time until it will be declared up (in\n            order to retry).')
pimRPLastChange = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 5, 1, 5), TimeTicks()).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimRPLastChange.setDescription('The value of sysUpTime at the time when the corresponding\n            instance of pimRPState last changed its value.')
pimRPRowStatus = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 5, 1, 6), RowStatus()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: pimRPRowStatus.setDescription('The status of this row, by which new entries may be\n            created, or old entries deleted from this table.')
pimRPSetTable = MibTable((1, 3, 6, 1, 3, 61, 1, 1, 6), )
if mibBuilder.loadTexts: pimRPSetTable.setDescription('The (conceptual) table listing PIM information for\n            candidate Rendezvous Points (RPs) for IP multicast groups.\n            When the local router is the BSR, this information is\n            obtained from received Candidate-RP-Advertisements.  When\n            the local router is not the BSR, this information is\n            obtained from received RP-Set messages.')
pimRPSetEntry = MibTableRow((1, 3, 6, 1, 3, 61, 1, 1, 6, 1), ).setIndexNames((0, "PIM-MIB", "pimRPSetComponent"), (0, "PIM-MIB", "pimRPSetGroupAddress"), (0, "PIM-MIB", "pimRPSetGroupMask"), (0, "PIM-MIB", "pimRPSetAddress"))
if mibBuilder.loadTexts: pimRPSetEntry.setDescription('An entry (conceptual row) in the pimRPSetTable.')
pimRPSetGroupAddress = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 6, 1, 1), IpAddress())
if mibBuilder.loadTexts: pimRPSetGroupAddress.setDescription('The IP multicast group address which, when combined with\n            pimRPSetGroupMask, gives the group prefix for which this\n            entry contains information about the Candidate-RP.')
pimRPSetGroupMask = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 6, 1, 2), IpAddress())
if mibBuilder.loadTexts: pimRPSetGroupMask.setDescription('The multicast group address mask which, when combined with\n            pimRPSetGroupAddress, gives the group prefix for which this\n            entry contains information about the Candidate-RP.')
pimRPSetAddress = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 6, 1, 3), IpAddress())
if mibBuilder.loadTexts: pimRPSetAddress.setDescription('The IP address of the Candidate-RP.')
pimRPSetHoldTime = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 6, 1, 4), Integer32().subtype(subtypeSpec=ValueRangeConstraint(0,255))).setUnits('seconds').setMaxAccess("readonly")
if mibBuilder.loadTexts: pimRPSetHoldTime.setDescription('The holdtime of a Candidate-RP.  If the local router is not\n            the BSR, this value is 0.')
pimRPSetExpiryTime = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 6, 1, 5), TimeTicks()).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimRPSetExpiryTime.setDescription('The minimum time remaining before the Candidate-RP will be\n            declared down.  If the local router is not the BSR, this\n            value is 0.')
pimRPSetComponent = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 6, 1, 6), Integer32().subtype(subtypeSpec=ValueRangeConstraint(1,255)))
if mibBuilder.loadTexts: pimRPSetComponent.setDescription(' A number uniquely identifying the component.  Each\n            protocol instance connected to a separate domain should have\n            a different index value.')
pimCandidateRPTable = MibTable((1, 3, 6, 1, 3, 61, 1, 1, 11), )
if mibBuilder.loadTexts: pimCandidateRPTable.setDescription('The (conceptual) table listing the IP multicast groups for\n            which the local router is to advertise itself as a\n            Candidate-RP when the value of pimComponentCRPHoldTime is\n            non-zero.  If this table is empty, then the local router\n            will advertise itself as a Candidate-RP for all groups\n            (providing the value of pimComponentCRPHoldTime is non-\n            zero).')
pimCandidateRPEntry = MibTableRow((1, 3, 6, 1, 3, 61, 1, 1, 11, 1), ).setIndexNames((0, "PIM-MIB", "pimCandidateRPGroupAddress"), (0, "PIM-MIB", "pimCandidateRPGroupMask"))
if mibBuilder.loadTexts: pimCandidateRPEntry.setDescription('An entry (conceptual row) in the pimCandidateRPTable.')
pimCandidateRPGroupAddress = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 11, 1, 1), IpAddress())
if mibBuilder.loadTexts: pimCandidateRPGroupAddress.setDescription('The IP multicast group address which, when combined with\n            pimCandidateRPGroupMask, identifies a group prefix for which\n            the local router will advertise itself as a Candidate-RP.')
pimCandidateRPGroupMask = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 11, 1, 2), IpAddress())
if mibBuilder.loadTexts: pimCandidateRPGroupMask.setDescription('The multicast group address mask which, when combined with\n            pimCandidateRPGroupMask, identifies a group prefix for which\n            the local router will advertise itself as a Candidate-RP.')
pimCandidateRPAddress = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 11, 1, 3), IpAddress()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: pimCandidateRPAddress.setDescription('The (unicast) address of the interface which will be\n            advertised as a Candidate-RP.')
pimCandidateRPRowStatus = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 11, 1, 4), RowStatus()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: pimCandidateRPRowStatus.setDescription('The status of this row, by which new entries may be\n            created, or old entries deleted from this table.')
pimComponentTable = MibTable((1, 3, 6, 1, 3, 61, 1, 1, 12), )
if mibBuilder.loadTexts: pimComponentTable.setDescription('The (conceptual) table containing objects specific to a PIM\n            domain.  One row exists for each domain to which the router\n            is connected.  A PIM-SM domain is defined as an area of the\n            network over which Bootstrap messages are forwarded.\n            Typically, a PIM-SM router will be a member of exactly one\n            domain.  This table also supports, however, routers which\n            may form a border between two PIM-SM domains and do not\n            forward Bootstrap messages between them.')
pimComponentEntry = MibTableRow((1, 3, 6, 1, 3, 61, 1, 1, 12, 1), ).setIndexNames((0, "PIM-MIB", "pimComponentIndex"))
if mibBuilder.loadTexts: pimComponentEntry.setDescription('An entry (conceptual row) in the pimComponentTable.')
pimComponentIndex = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 12, 1, 1), Integer32().subtype(subtypeSpec=ValueRangeConstraint(1,255)))
if mibBuilder.loadTexts: pimComponentIndex.setDescription('A number uniquely identifying the component.  Each protocol\n            instance connected to a separate domain should have a\n            different index value.  Routers that only support membership\n            in a single PIM-SM domain should use a pimComponentIndex\n            value of 1.')
pimComponentBSRAddress = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 12, 1, 2), IpAddress()).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimComponentBSRAddress.setDescription('The IP address of the bootstrap router (BSR) for the local\n            PIM region.')
pimComponentBSRExpiryTime = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 12, 1, 3), TimeTicks()).setMaxAccess("readonly")
if mibBuilder.loadTexts: pimComponentBSRExpiryTime.setDescription('The minimum time remaining before the bootstrap router in\n            the local domain will be declared down.  For candidate BSRs,\n            this is the time until the component sends an RP-Set\n            message.  For other routers, this is the time until it may\n            accept an RP-Set message from a lower candidate BSR.')
pimComponentCRPHoldTime = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 12, 1, 4), Integer32().subtype(subtypeSpec=ValueRangeConstraint(0,255))).setUnits('seconds').setMaxAccess("readcreate")
if mibBuilder.loadTexts: pimComponentCRPHoldTime.setDescription('The holdtime of the component when it is a candidate RP in\n            the local domain.  The value of 0 is used to indicate that\n            the local system is not a Candidate-RP.')
pimComponentStatus = MibTableColumn((1, 3, 6, 1, 3, 61, 1, 1, 12, 1, 5), RowStatus()).setMaxAccess("readcreate")
if mibBuilder.loadTexts: pimComponentStatus.setDescription('The status of this entry.  Creating the entry creates\n            another protocol instance; destroying the entry disables a\n            protocol instance.')
pimNeighborLoss = NotificationType((1, 3, 6, 1, 3, 61, 1, 0, 1)).setObjects(*(("PIM-MIB", "pimNeighborIfIndex"),))
if mibBuilder.loadTexts: pimNeighborLoss.setDescription('A pimNeighborLoss trap signifies the loss of an adjacency\n            with a neighbor.  This trap should be generated when the\n            neighbor timer expires, and the router has no other\n            neighbors on the same interface with a lower IP address than\n            itself.')
pimMIBConformance = MibIdentifier((1, 3, 6, 1, 3, 61, 2))
pimMIBCompliances = MibIdentifier((1, 3, 6, 1, 3, 61, 2, 1))
pimMIBGroups = MibIdentifier((1, 3, 6, 1, 3, 61, 2, 2))
pimV1MIBCompliance = ModuleCompliance((1, 3, 6, 1, 3, 61, 2, 1, 1)).setObjects(*(("PIM-MIB", "pimV1MIBGroup"),))
if mibBuilder.loadTexts: pimV1MIBCompliance.setDescription('The compliance statement for routers running PIMv1 and\n            implementing the PIM MIB.')
pimSparseV2MIBCompliance = ModuleCompliance((1, 3, 6, 1, 3, 61, 2, 1, 2)).setObjects(*(("PIM-MIB", "pimV2MIBGroup"), ("PIM-MIB", "pimV2CandidateRPMIBGroup"),))
if mibBuilder.loadTexts: pimSparseV2MIBCompliance.setDescription('The compliance statement for routers running PIM Sparse\n            Mode and implementing the PIM MIB.')
pimDenseV2MIBCompliance = ModuleCompliance((1, 3, 6, 1, 3, 61, 2, 1, 3)).setObjects(*(("PIM-MIB", "pimDenseV2MIBGroup"),))
if mibBuilder.loadTexts: pimDenseV2MIBCompliance.setDescription('The compliance statement for routers running PIM Dense Mode\n            and implementing the PIM MIB.')
pimNotificationGroup = NotificationGroup((1, 3, 6, 1, 3, 61, 2, 2, 1)).setObjects(*(("PIM-MIB", "pimNeighborLoss"),))
if mibBuilder.loadTexts: pimNotificationGroup.setDescription('A collection of notifications for signaling important PIM\n            events.')
pimV2MIBGroup = ObjectGroup((1, 3, 6, 1, 3, 61, 2, 2, 2)).setObjects(*(("PIM-MIB", "pimJoinPruneInterval"), ("PIM-MIB", "pimNeighborIfIndex"), ("PIM-MIB", "pimNeighborUpTime"), ("PIM-MIB", "pimNeighborExpiryTime"), ("PIM-MIB", "pimInterfaceAddress"), ("PIM-MIB", "pimInterfaceNetMask"), ("PIM-MIB", "pimInterfaceDR"), ("PIM-MIB", "pimInterfaceHelloInterval"), ("PIM-MIB", "pimInterfaceStatus"), ("PIM-MIB", "pimInterfaceJoinPruneInterval"), ("PIM-MIB", "pimInterfaceCBSRPreference"), ("PIM-MIB", "pimInterfaceMode"), ("PIM-MIB", "pimRPSetHoldTime"), ("PIM-MIB", "pimRPSetExpiryTime"), ("PIM-MIB", "pimComponentBSRAddress"), ("PIM-MIB", "pimComponentBSRExpiryTime"), ("PIM-MIB", "pimComponentCRPHoldTime"), ("PIM-MIB", "pimComponentStatus"), ("PIM-MIB", "pimIpMRouteFlags"), ("PIM-MIB", "pimIpMRouteUpstreamAssertTimer"),))
if mibBuilder.loadTexts: pimV2MIBGroup.setDescription('A collection of objects to support management of PIM Sparse\n            Mode (version 2) routers.')
pimDenseV2MIBGroup = ObjectGroup((1, 3, 6, 1, 3, 61, 2, 2, 5)).setObjects(*(("PIM-MIB", "pimNeighborIfIndex"), ("PIM-MIB", "pimNeighborUpTime"), ("PIM-MIB", "pimNeighborExpiryTime"), ("PIM-MIB", "pimInterfaceAddress"), ("PIM-MIB", "pimInterfaceNetMask"), ("PIM-MIB", "pimInterfaceDR"), ("PIM-MIB", "pimInterfaceHelloInterval"), ("PIM-MIB", "pimInterfaceStatus"), ("PIM-MIB", "pimInterfaceMode"),))
if mibBuilder.loadTexts: pimDenseV2MIBGroup.setDescription('A collection of objects to support management of PIM Dense\n            Mode (version 2) routers.')
pimV2CandidateRPMIBGroup = ObjectGroup((1, 3, 6, 1, 3, 61, 2, 2, 3)).setObjects(*(("PIM-MIB", "pimCandidateRPAddress"), ("PIM-MIB", "pimCandidateRPRowStatus"),))
if mibBuilder.loadTexts: pimV2CandidateRPMIBGroup.setDescription('A collection of objects to support configuration of which\n            groups a router is to advertise itself as a Candidate-RP.')
pimV1MIBGroup = ObjectGroup((1, 3, 6, 1, 3, 61, 2, 2, 4)).setObjects(*(("PIM-MIB", "pimJoinPruneInterval"), ("PIM-MIB", "pimNeighborIfIndex"), ("PIM-MIB", "pimNeighborUpTime"), ("PIM-MIB", "pimNeighborExpiryTime"), ("PIM-MIB", "pimNeighborMode"), ("PIM-MIB", "pimInterfaceAddress"), ("PIM-MIB", "pimInterfaceNetMask"), ("PIM-MIB", "pimInterfaceJoinPruneInterval"), ("PIM-MIB", "pimInterfaceStatus"), ("PIM-MIB", "pimInterfaceMode"), ("PIM-MIB", "pimInterfaceDR"), ("PIM-MIB", "pimInterfaceHelloInterval"), ("PIM-MIB", "pimRPState"), ("PIM-MIB", "pimRPStateTimer"), ("PIM-MIB", "pimRPLastChange"), ("PIM-MIB", "pimRPRowStatus"),))
if mibBuilder.loadTexts: pimV1MIBGroup.setDescription('A collection of objects to support management of PIM\n            (version 1) routers.')
pimNextHopGroup = ObjectGroup((1, 3, 6, 1, 3, 61, 2, 2, 6)).setObjects(*(("PIM-MIB", "pimIpMRouteNextHopPruneReason"),))
if mibBuilder.loadTexts: pimNextHopGroup.setDescription('A collection of optional objects to provide per-next hop\n            information for diagnostic purposes.  Supporting this group\n            may add a large number of instances to a tree walk, but the\n            information in this group can be extremely useful in\n            tracking down multicast connectivity problems.')
pimAssertGroup = ObjectGroup((1, 3, 6, 1, 3, 61, 2, 2, 7)).setObjects(*(("PIM-MIB", "pimIpMRouteAssertMetric"), ("PIM-MIB", "pimIpMRouteAssertMetricPref"), ("PIM-MIB", "pimIpMRouteAssertRPTBit"),))
if mibBuilder.loadTexts: pimAssertGroup.setDescription('A collection of optional objects to provide extra\n            information about the assert election process.  There is no\n            protocol reason to keep such information, but some\n            implementations may already keep this information and make\n            it available.  These objects can also be very useful in\n            debugging connectivity or duplicate packet problems,\n            especially if the assert winner does not support the PIM and\n            IP Multicast MIBs.')
mibBuilder.exportSymbols("PIM-MIB", pimInterfaceDR=pimInterfaceDR, pimMIBObjects=pimMIBObjects, pimDenseV2MIBGroup=pimDenseV2MIBGroup, pimRPEntry=pimRPEntry, pimInterfaceHelloInterval=pimInterfaceHelloInterval, pimIpMRouteEntry=pimIpMRouteEntry, pimRPSetGroupMask=pimRPSetGroupMask, pimRPAddress=pimRPAddress, pimMIB=pimMIB, pimNeighborEntry=pimNeighborEntry, pimIpMRouteAssertRPTBit=pimIpMRouteAssertRPTBit, pimIpMRouteFlags=pimIpMRouteFlags, pimRPSetEntry=pimRPSetEntry, pimInterfaceAddress=pimInterfaceAddress, pimInterfaceEntry=pimInterfaceEntry, pimNotificationGroup=pimNotificationGroup, pimV2MIBGroup=pimV2MIBGroup, pimMIBGroups=pimMIBGroups, pimV1MIBGroup=pimV1MIBGroup, pimAssertGroup=pimAssertGroup, pimComponentTable=pimComponentTable, pimNeighborExpiryTime=pimNeighborExpiryTime, pimTraps=pimTraps, pimNeighborMode=pimNeighborMode, pimNeighborAddress=pimNeighborAddress, pimRPGroupAddress=pimRPGroupAddress, pimRPSetExpiryTime=pimRPSetExpiryTime, pimCandidateRPGroupMask=pimCandidateRPGroupMask, pimIpMRouteUpstreamAssertTimer=pimIpMRouteUpstreamAssertTimer, pimNeighborIfIndex=pimNeighborIfIndex, pimInterfaceNetMask=pimInterfaceNetMask, pimNeighborUpTime=pimNeighborUpTime, pimRPRowStatus=pimRPRowStatus, pimRPSetGroupAddress=pimRPSetGroupAddress, pimNeighborTable=pimNeighborTable, pimNeighborLoss=pimNeighborLoss, pimInterfaceTable=pimInterfaceTable, pimIpMRouteNextHopPruneReason=pimIpMRouteNextHopPruneReason, pimV2CandidateRPMIBGroup=pimV2CandidateRPMIBGroup, pimJoinPruneInterval=pimJoinPruneInterval, pimCandidateRPTable=pimCandidateRPTable, pimInterfaceCBSRPreference=pimInterfaceCBSRPreference, pimComponentIndex=pimComponentIndex, pimInterfaceIfIndex=pimInterfaceIfIndex, pimRPSetComponent=pimRPSetComponent, pimNextHopGroup=pimNextHopGroup, pimRPLastChange=pimRPLastChange, pimRPState=pimRPState, pimRPSetAddress=pimRPSetAddress, pimCandidateRPAddress=pimCandidateRPAddress, pimRPTable=pimRPTable, pimIpMRouteNextHopEntry=pimIpMRouteNextHopEntry, pimSparseV2MIBCompliance=pimSparseV2MIBCompliance, pimRPStateTimer=pimRPStateTimer, pimCandidateRPRowStatus=pimCandidateRPRowStatus, pimInterfaceMode=pimInterfaceMode, pimComponentBSRExpiryTime=pimComponentBSRExpiryTime, pimInterfaceStatus=pimInterfaceStatus, pimIpMRouteAssertMetricPref=pimIpMRouteAssertMetricPref, pimIpMRouteNextHopTable=pimIpMRouteNextHopTable, pimMIBCompliances=pimMIBCompliances, pimComponentStatus=pimComponentStatus, pimIpMRouteAssertMetric=pimIpMRouteAssertMetric, pimDenseV2MIBCompliance=pimDenseV2MIBCompliance, pimMIBConformance=pimMIBConformance, pimRPSetHoldTime=pimRPSetHoldTime, pimV1MIBCompliance=pimV1MIBCompliance, pimIpMRouteTable=pimIpMRouteTable, pimComponentCRPHoldTime=pimComponentCRPHoldTime, pim=pim, pimCandidateRPEntry=pimCandidateRPEntry, pimInterfaceJoinPruneInterval=pimInterfaceJoinPruneInterval, pimComponentEntry=pimComponentEntry, pimCandidateRPGroupAddress=pimCandidateRPGroupAddress, pimComponentBSRAddress=pimComponentBSRAddress, PYSNMP_MODULE_ID=pimMIB, pimRPSetTable=pimRPSetTable)
