-- *****************************************************************
-- This mib was extracted from draft-ietf-pim-mib-v2-01.txt
--
-- $Copyright$
-- 
-- *****************************************************************
DES7200-PIM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, experimental,
    NOTIFICATION-TYPE,
    Integer32, IpAddress, TimeTicks  FROM SNMPv2-SMI
    DisplayString, RowStatus, TruthValue            FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP,
    NOTIFICATION-GROUP               FROM SNMPv2-CONF
    ipMRouteGroup, ipMRouteSource,
    ipMRouteSourceMask, ipMRouteNextHopGroup,
    ipMRouteNextHopSource, ipMRouteNextHopSourceMask,
    ipMRouteNextHopIfIndex,
    ipMRouteNextHopAddress           FROM IPMROUTE-STD-MIB
    EnabledStatus                FROM P-BRIDGE-MIB 
    myMgmt                FROM DES7200-SMI
    InterfaceIndex                   FROM IF-MIB;

myPimMIB MODULE-IDENTITY
    LAST-UPDATED "200301200000Z"
    ORGANIZATION "$Company$"
    CONTACT-INFO
        "
        Tel: $Telephone$ 
        
        E-mail: $E-mail$"
    DESCRIPTION
        "This module defines my Pim mibs."
    REVISION      "200301200000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { myMgmt 27}

myPimMIBObjects OBJECT IDENTIFIER ::= { myPimMIB 1 }

myPimTraps      OBJECT IDENTIFIER ::= { myPimMIBObjects 2 }

myPim           OBJECT IDENTIFIER ::= { myPimMIBObjects 1 }

myPimJoinPruneInterval OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The default interval at which periodic PIM-SM Join/Prune
         messages are to be sent."
    DEFVAL { 60 }
    ::= { myPim 1 }

-- The PIM Interface Table

myPimInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MyPimInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing the router's PIM interfaces.
         IGMP and PIM are enabled on all interfaces listed in this
         table."
    ::= { myPim 2 }

myPimInterfaceEntry OBJECT-TYPE
    SYNTAX     MyPimInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the myPimInterfaceTable."
    INDEX      { myPimInterfaceIfIndex }
    ::= { myPimInterfaceTable 1 }

MyPimInterfaceEntry ::= SEQUENCE {
    myPimInterfaceIfIndex                   InterfaceIndex,
    myPimInterfaceAddress                   IpAddress,
    myPimInterfaceNetMask                   IpAddress,
    myPimInterfaceMode                      INTEGER,
    myPimInterfaceDR                        IpAddress,
    myPimInterfaceHelloInterval             Integer32,
    myPimInterfaceJoinPruneInterval         Integer32,
    myPimInterfaceCBSRPreference            Integer32,
    myPimInterfaceTrigHelloInterval         Integer32,
    myPimInterfaceHelloHoldtime             Integer32,
    myPimInterfaceLanPruneDelay             Integer32,
    myPimInterfacePropagationDelay          Integer32,
    myPimInterfaceOverrideInterval          Integer32,
    myPimInterfaceGenerationID              Integer32,
    myPimInterfaceJoinPruneHoldtime         Integer32,
    myPimInterfaceGraftRetryInterval        Integer32,
    myPimInterfaceMaxGraftRetries           Integer32,
    myPimInterfaceSRTTLThreshold            Integer32,
    myPimInterfaceLanDelayEnabled           TruthValue,
    myPimInterfaceSRCapable                 TruthValue,
    myPimInterfaceDRPriority                Integer32,
    myPimInterfaceNbrCounter                Integer32,     
    myPimInterfaceBsrBorderEnabled          EnabledStatus,     
    myPimInterfaceCountIn                   Integer32,
    myPimInterfaceCountOut                  Integer32,
    myPimInterfaceEnabled                   EnabledStatus, 
    myPimNeighborFilterAcl                  DisplayString, 
    myPimDrSupportAddressBound              DisplayString
}

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

myPimInterfaceAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The IP address of the PIM interface."
    ::= { myPimInterfaceEntry 2 }

myPimInterfaceNetMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The network mask for the IP address of the PIM interface."
    ::= { myPimInterfaceEntry 3 }

myPimInterfaceMode OBJECT-TYPE
    SYNTAX     INTEGER { dense(1), sparse(2), sparseDense(3) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The configured mode of this PIM interface.  A value of
         sparseDense is only valid for PIMv1."
    DEFVAL     { dense }
    ::= { myPimInterfaceEntry 4 }

myPimInterfaceDR OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The Designated Router on this PIM interface."
    ::= { myPimInterfaceEntry 5 }

myPimInterfaceHelloInterval OBJECT-TYPE
    SYNTAX     Integer32(0..65535)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The frequency at which PIM Hello messages are transmitted
         on this interface."
    DEFVAL     { 30 }
    ::= { myPimInterfaceEntry 6 }

myPimInterfaceJoinPruneInterval OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The frequency at which PIM Join/Prune messages are
         transmitted on this PIM interface.  The default value of
         this object is the pimJoinPruneInterval."
    ::= { myPimInterfaceEntry 7 }

myPimInterfaceCBSRPreference OBJECT-TYPE
    SYNTAX     Integer32 (-1..255)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The preference value for the local interface as a candidate
         bootstrap router.  The value of -1 is used to indicate that
         the local interface is not a candidate BSR interface."
    DEFVAL     { 0 }
    ::= { myPimInterfaceEntry 8 }

myPimInterfaceTrigHelloInterval OBJECT-TYPE 
    SYNTAX Integer32 
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION 
        "The maximum time before a triggered PIM Hello message 
         is transmitted on this interface."
    DEFVAL { 5 } 
    ::= { myPimInterfaceEntry 9 } 

myPimInterfaceHelloHoldtime OBJECT-TYPE 
    SYNTAX Integer32 (0..65535) 
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION 
        "The value set in the Holdtime field of Hello messages 
         transmitted on this interface.  This should be 3.5 
         times the value of pimInterfaceHelloInterval."
    DEFVAL { 105 } 
    ::= { myPimInterfaceEntry 10 } 

myPimInterfaceLanPruneDelay OBJECT-TYPE 
    SYNTAX Integer32 { off (2), on (1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION 
        "Turns the LAN Prune Delay Option off and on on this 
         interface."
    DEFVAL { off }
    ::= { myPimInterfaceEntry 11 }

myPimInterfacePropagationDelay OBJECT-TYPE 
    SYNTAX Integer32 (0..32767)
    UNITS "milliseconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value inserted into the LAN Prune Delay field of a 
         LAN Prune Delay option on this interface."
    DEFVAL { 500 } 
    ::= { myPimInterfaceEntry 12 }

myPimInterfaceOverrideInterval OBJECT-TYPE 
    SYNTAX Integer32 (0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value inserted into the Override Interval field of 
         a LAN Prune Delay option on this interface."
    DEFVAL { 2500 } 
    ::= { myPimInterfaceEntry 13 } 

myPimInterfaceGenerationID OBJECT-TYPE 
    SYNTAX Integer32 { off (2), on (1) }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION 
        "Turns the Generation ID Option off and on on this 
         interface."
    DEFVAL {off} 
    ::= { myPimInterfaceEntry 14 }

myPimInterfaceJoinPruneHoldtime OBJECT-TYPE
    SYNTAX Integer32 (0..65535)
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value inserted into the Holdtime field of a Join/
         Prune message sent on this interface.  The value should
         be 3.5 times pimInterfaceJoinPruneInterval."
    DEFVAL { 210 }
    ::= { myPimInterfaceEntry 15 }

myPimInterfaceGraftRetryInterval OBJECT-TYPE 
    SYNTAX Integer32
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The interval a PIM router waits for a Graft Ack before 
         resending a Graft on this interface."
    DEFVAL { 3 } 
    ::= { myPimInterfaceEntry 16 } 

myPimInterfaceMaxGraftRetries OBJECT-TYPE 
    SYNTAX Integer32 
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The maximum number of times this router will resend a 
         Graft on this interface."
    DEFVAL { 2 } 
    ::= { myPimInterfaceEntry 17 }

myPimInterfaceSRTTLThreshold OBJECT-TYPE 
    SYNTAX Integer32 
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Time To Live in a PIM-DM Refresh message at
         which it is not forwarded on this interface."
    DEFVAL { 0 }
    ::= { myPimInterfaceEntry 18 }

myPimInterfaceLanDelayEnabled 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."
    ::= { myPimInterfaceEntry 19 }

myPimInterfaceSRCapable 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 Capable Option."
    ::= { myPimInterfaceEntry 20 }

myPimInterfaceDRPriority OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Designater Router Priority inserted into the DR
         priority option on this interface."
    DEFVAL { 1 } 
    ::= { myPimInterfaceEntry 21 }

myPimInterfaceNbrCounter OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of interface's neighbour."
    ::= { myPimInterfaceEntry 22 }
    
myPimInterfaceBsrBorderEnabled    OBJECT-TYPE
    SYNTAX    EnabledStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enabled means Define a PIM bootstrap message boundary 
         for the PIM domain,use disabled to remove the PIM border."
    DEFVAL {disabled}
    ::= { myPimInterfaceEntry 23 }
    
myPimInterfaceCountIn       OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION 
        "Number of packets into  the interface since the 
         router has been up."
    ::= { myPimInterfaceEntry 24 }

myPimInterfaceCountOut       OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION 
        "Number of packets out of the interface 
         since the router has been up."
    ::= { myPimInterfaceEntry 25 }

myPimInterfaceEnabled OBJECT-TYPE 
    SYNTAX EnabledStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "use the ip pim command in interface configuration mode. 
         To disable PIM on the interface, use the no form of this 
         command."
    DEFVAL{disabled}
    ::= { myPimInterfaceEntry 26 } 

myPimNeighborFilterAcl   OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The name of the neighbor filter address list,which limits
         the scope of  the neighbor,The default value means all 
         neighbors will be allowed."
    DEFVAL{""}
    ::= { myPimInterfaceEntry 27}    
    
myPimDrSupportAddressBound    OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION 
        "The name of the DR support address  list,which limits the scope of 
         the souce address ,this will be only used when the interface is DR,
         The default value means all souce address will be allowed."
    DEFVAL{""}
    ::= { myPimInterfaceEntry 28 }

--
-- The PIM Neighbor Table
--
myPimNeighborTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MyPimNeighborEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing the router's PIM neighbors."
    ::= { myPim 3 }

myPimNeighborEntry OBJECT-TYPE
    SYNTAX     MyPimNeighborEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the myPimNeighborTable."
    INDEX      { myPimNeighborAddress }
    ::= { myPimNeighborTable 1 }

MyPimNeighborEntry ::= SEQUENCE {
	 myPimNeighborAddress          IpAddress,
	 myPimNeighborIfIndex          InterfaceIndex,
	 myPimNeighborUpTime           TimeTicks,
	 myPimNeighborExpiryTime       TimeTicks,
	 myPimNeighborMode             INTEGER,
	 myPimNeighborLanPruneDelay    Integer32,
	 myPimNeighborOverrideInterval Integer32,
	 myPimNeighborTBit             Integer32,
	 myPimNeighborSRCapable        TruthValue,
	 myPimNeighborDRPresent        TruthValue
}

myPimNeighborAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The IP address of the PIM neighbor for which this entry
         contains information."
    ::= { myPimNeighborEntry 1 }

myPimNeighborIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value of ifIndex for the interface used to reach this
         PIM neighbor."
    ::= { myPimNeighborEntry 2 }

myPimNeighborUpTime 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."
    ::= { myPimNeighborEntry 3 }

myPimNeighborExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The minimum time remaining before this PIM neighbor will be
         aged out."
    ::= { myPimNeighborEntry 4 }
    
myPimNeighborMode OBJECT-TYPE
    SYNTAX     INTEGER { dense(1), sparse(2) }
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
        "The active PIM mode of this neighbor.  This object is
         deprecated for PIMv2 routers since all neighbors on the
         interface must be either dense or sparse as determined by
         the protocol running on the interface."
    ::= { myPimNeighborEntry 5 }                   

myPimNeighborLanPruneDelay OBJECT-TYPE 
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The value of LAN Prune Delay field of the LAN Prune 
         Delay Option received from this neighbor.  A value of 
         0 indicates that no LAN Prune Delay Option was 
         received from this neigbor."
    ::= { myPimNeighborEntry 6 }

myPimNeighborOverrideInterval OBJECT-TYPE 
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The value of Override Interval field of the LAN Prune
         Delay Option received from this neighbor.  A value of 
         0 indicates that no LAN Prune Delay Option was
         received from this neigbor."
    ::= { myPimNeighborEntry 7 }

myPimNeighborTBit OBJECT-TYPE 
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The value of the T bit field of the LAN Prune
         Delay Option received from this neighbor.  The T bit
         specifies the ability of the neighbor to disable
         join suppression."
    ::= { myPimNeighborEntry 8 }

myPimNeighborSRCapable OBJECT-TYPE 
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Evaluates to TRUE if this neighbor is using the State
         Refresh Capable Option."
    ::= { myPimNeighborEntry 9 }

myPimNeighborDRPresent OBJECT-TYPE 
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Evaluates to TRUE if this neighbor is using the
         Designated Router Option."
    ::= { myPimNeighborEntry 10 }

--
-- The PIM IP Multicast Route Table
--

myPimIpMRouteTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MyPimIpMRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing PIM-specific information on
         a subset of the rows of the ipMRouteTable defined in the IP
         Multicast MIB."
    ::= { myPim 4 }

myPimIpMRouteEntry OBJECT-TYPE
    SYNTAX     MyPimIpMRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the pimIpMRouteTable.  There
         is one entry per entry in the ipMRouteTable whose incoming
         interface is running PIM."
    INDEX      { ipMRouteGroup, ipMRouteSource, ipMRouteSourceMask }
    ::= { myPimIpMRouteTable 1 }

MyPimIpMRouteEntry ::= SEQUENCE {
	myPimIpMRouteUpstreamAssertTimer   TimeTicks,
	myPimIpMRouteAssertMetric          Integer32,
	myPimIpMRouteAssertMetricPref      Integer32,
	myPimIpMRouteAssertRPTBit          TruthValue,
	myPimIpMRouteFlags                 Integer32,
	myPimIpMRouteRPFNeighbor           IpAddress,
	myPimIpMRouteSourceTimer           TimeTicks,
	myPimIpMRouteOriginatorSRTTL       Integer32
}

myPimIpMRouteUpstreamAssertTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The time remaining before the router changes its upstream
         neighbor back to its RPF neighbor.  This timer is called the
         Assert timer in the PIM Sparse and Dense mode specification.
         A value of 0 indicates that no Assert has changed the
            upstream neighbor away from the RPF neighbor."
    ::= { myPimIpMRouteEntry 1 }

myPimIpMRouteAssertMetric OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The metric advertised by the assert winner on the upstream
         interface, or 0 if no such assert is in received."
    ::= { myPimIpMRouteEntry 2 }

myPimIpMRouteAssertMetricPref OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The preference advertised by the assert winner on the
         upstream interface, or 0 if no such assert is in effect."
    ::= { myPimIpMRouteEntry 3 }

myPimIpMRouteAssertRPTBit OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value of the RPT-bit advertised by the assert winner on
         the upstream interface, or false if no such assert is in
         effect."
    ::= { myPimIpMRouteEntry 4 }

myPimIpMRouteFlags OBJECT-TYPE
    SYNTAX  Integer32 {
                  rpt(0),
                  spt(1) 
                 }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object describes PIM-specific flags related to a
         multicast state entry.  See the PIM Sparse Mode
         specification for the meaning of the RPT and SPT bits."
    ::= { myPimIpMRouteEntry 5 }

myPimIpMRouteRPFNeighbor OBJECT-TYPE 
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION 
        "The IP Address of the current RPF neighbor.  If there
         is an upstream Assert Winner, it will be the RPF
         neighbor.  Otherwise, the RPF neighbor will be
         the next hop indicated by unicast routing."
    ::= { myPimIpMRouteEntry 6 }

myPimIpMRouteSourceTimer OBJECT-TYPE 
    SYNTAX TimeTicks
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION 
        "The time before this router ceases originating State
         Refresh messages for this route."
    ::= { myPimIpMRouteEntry 7 }
    
myPimIpMRouteOriginatorSRTTL  OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The TTL used in State Refresh messages originated by
         this router for this route."
    ::= { myPimIpMRouteEntry 8 }

--
-- The PIM Next Hop Table
--

myPimIpMRouteNextHopTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MyPimIpMRouteNextHopEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing PIM-specific information on
         a subset of the rows of the ipMRouteNextHopTable defined in
         the IP Multicast MIB."
    ::= { myPim 5 }
myPimIpMRouteNextHopEntry OBJECT-TYPE
    SYNTAX     MyPimIpMRouteNextHopEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the pimIpMRouteNextHopTable.
         There is one entry per entry in the ipMRouteNextHopTable
         whose interface is running PIM and whose
         ipMRouteNextHopState is pruned(1)."
    INDEX   { ipMRouteNextHopGroup, ipMRouteNextHopSource,
              ipMRouteNextHopSourceMask, ipMRouteNextHopIfIndex,
              ipMRouteNextHopAddress }
    ::= { myPimIpMRouteNextHopTable 1 }

MyPimIpMRouteNextHopEntry ::= SEQUENCE {
	 myPimIpMRouteNextHopPruneReason       INTEGER,
	 myPimIpMRouteNextHopAssertWinner      IpAddress,
	 myPimIpMRouteNextHopAssertTimer       TimeTicks,
	 myPimIpMRouteNextHopAssertMetric      Integer32,
	 myPimIpMRouteNextHopAssertMetricPref  Integer32,
	 myPimIpMRouteNextHopJoinPruneTimer    TimeTicks
    }

myPimIpMRouteNextHopPruneReason OBJECT-TYPE
    SYNTAX   INTEGER {
                     other (1),
                     prune (2),
                     assert (3)
                     }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object indicates why the downstream interface was
         pruned, whether in response to a PIM prune message or due to
         PIM Assert processing."
    ::= { myPimIpMRouteNextHopEntry 1 }      

myPimIpMRouteNextHopAssertWinner OBJECT-TYPE 
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION 
        "The IP Address of the Assert Winner."
    ::= { myPimIpMRouteNextHopEntry 2 }

myPimIpMRouteNextHopAssertTimer OBJECT-TYPE 
    SYNTAX TimeTicks
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The time remaining before the PIM router leaves the
         current Assert state.  A value of 0 indicates that the
         router is in the No Info state."
    ::= { myPimIpMRouteNextHopEntry 3 }

myPimIpMRouteNextHopAssertMetric OBJECT-TYPE 
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The metric advertised by the Assert Winner."
    ::= { myPimIpMRouteNextHopEntry 4 }

myPimIpMRouteNextHopAssertMetricPref OBJECT-TYPE 
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The metric preference advertised by the Assert Winner."
    ::= { myPimIpMRouteNextHopEntry 5 }

myPimIpMRouteNextHopJoinPruneTimer OBJECT-TYPE 
    SYNTAX TimeTicks
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The time remaining before the PIM router reverts to
         default operation on this interface.  PIM-SM will 
         cease forwarding, PIM-DM will resume forwarding."
    ::= { myPimIpMRouteNextHopEntry 6 }

--
-- The PIM RP-Set Table 
--
myPimRPSetTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MyPimRPSetEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing PIM information for
         candidate Rendezvous Points (RPs) for IP multicast groups.
         When the local router is the BSR, this information is
         obtained from received Candidate-RP-Advertisements.  When
         the local router is not the BSR, this information is
         obtained from received RP-Set messages."
    ::= { myPim 6 }

myPimRPSetEntry OBJECT-TYPE
    SYNTAX     MyPimRPSetEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the pimRPSetTable."
    INDEX   { myPimRPSetComponent, myPimRPSetGroupAddress,
              myPimRPSetGroupMask, myPimRPSetAddress }
    ::= { myPimRPSetTable 1 }

MyPimRPSetEntry ::= SEQUENCE {
  	 myPimRPSetGroupAddress    IpAddress, 
	 myPimRPSetGroupMask       IpAddress,
	 myPimRPSetAddress         IpAddress,
	 myPimRPSetHoldTime        Integer32,
	 myPimRPSetExpiryTime      TimeTicks,
	 myPimRPSetComponent       Integer32,
	 myPimRPSetUpTime          TimeTicks
    }

myPimRPSetGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The IP multicast group address which, when combined with
         pimRPSetGroupMask, gives the group prefix for which this
         entry contains information about the Candidate-RP."
    ::= { myPimRPSetEntry 1 }
    
myPimRPSetGroupMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The multicast group address mask which, when combined with
         pimRPSetGroupAddress, gives the group prefix for which this
         entry contains information about the Candidate-RP."
    ::= { myPimRPSetEntry 2 }

myPimRPSetAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The IP address of the Candidate-RP."
    ::= { myPimRPSetEntry 3 }

myPimRPSetHoldTime OBJECT-TYPE
    SYNTAX     Integer32 (0..255)
    UNITS      "seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The holdtime of a Candidate-RP."
    ::= { myPimRPSetEntry 4 }

myPimRPSetExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The minimum time remaining before the Candidate-RP will be
         declared down."
    ::= { myPimRPSetEntry 5 }
    
myPimRPSetComponent OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        " A number uniquely identifying the component.  Each
          protocol instance connected to a separate domain should have
          a different index value."
    ::= { myPimRPSetEntry 6 }

myPimRPSetUpTime  OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        " Length of time that this rp has been up."
    ::= { myPimRPSetEntry 7 }


--
-- The PIM Component Table
--
myPimComponentTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MyPimComponentEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table containing objects specific to a PIM
         domain.  One row exists for each domain to which the router
         is connected.  A PIM-SM domain is defined as an area of the
         network over which Bootstrap messages are forwarded.
         Typically, a PIM-SM router will be a member of exactly one
         domain.  This table also supports, however, routers which
         may form a border between two PIM-SM domains and do not
         forward Bootstrap messages between them."
    ::= { myPim 7 }

myPimComponentEntry OBJECT-TYPE
    SYNTAX     MyPimComponentEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the starPimComponentTable."
    INDEX      { myPimComponentIndex }
    ::= { myPimComponentTable 1 }

MyPimComponentEntry ::= SEQUENCE {
    myPimComponentIndex                  Integer32,
    myPimComponentBSRAddress             IpAddress,
    myPimComponentBSRExpiryTime          TimeTicks,
    myPimComponentCRPHoldTime            Integer32,
    myPimComponentBSRUptime              TimeTicks,
    myPimComponentBSRPriority            Integer32,
    myPimComponentBSRHashMaskLength      Integer32,
    myPimComponentBSRNextBsrMessage      TimeTicks,
    myPimComponentNextCandRPAdv          TimeTicks
    }

myPimComponentIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A number uniquely identifying the component.  Each protocol
         instance connected to a separate domain should have a
         different index value.  Routers that only support membership
         in a single PIM-SM domain should use a pimComponentIndex
         value of 1."
    ::= { myPimComponentEntry 1 }

myPimComponentBSRAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The IP address of the bootstrap router (BSR) for the local
         PIM region."
    ::= { myPimComponentEntry 2 }

myPimComponentBSRExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The minimum time remaining before the bootstrap router in
         the local domain will be declared down.  For candidate BSRs,
         this is the time until the component sends an RP-Set
         message.  For other routers, this is the time until it may
         accept an RP-Set message from a lower candidate BSR."
    ::= { myPimComponentEntry 3 }

myPimComponentCRPHoldTime OBJECT-TYPE
    SYNTAX     Integer32 (0..255)
    UNITS      "seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The holdtime of the component when it is a candidate RP in
         the local domain."
    ::= { myPimComponentEntry 4 }

myPimComponentBSRUptime   OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Length of time that this router has been up."
    ::= { myPimComponentEntry 5 }

myPimComponentBSRPriority  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The Priority of Bsr."
    ::= { myPimComponentEntry 6 }

myPimComponentBSRHashMaskLength    OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Length of a mask (32 bits maximum) that is to be ANDed with
         the group address before the hash function is called."
    ::= { myPimComponentEntry 7 }

myPimComponentBSRNextBsrMessage    OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Time (in hours, minutes, and seconds) in which the next
         bootstrap message is due from this BSR."
    ::= { myPimComponentEntry 8 }

myPimComponentNextCandRPAdv    OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Time (in hours, minutes, and seconds) in which the next
         candidate RP advertisement will be sent."
    ::= { myPimComponentEntry 9}

--
-- PIM State Refresh Objects
--
myPimSourceLifetime OBJECT-TYPE 
    SYNTAX Integer32 
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The maximum time this router will continue to
         originate State Refresh messages in the absence of
         traffic from the source itself."
    DEFVAL { 2100 }
    ::= { myPim 8 }
    
myPimStateRefreshInterval OBJECT-TYPE 
    SYNTAX Integer32 (1..255) 
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The interval between successive State Refresh
         messages originated by this router."
    DEFVAL { 60 }
    ::= { myPim 9 } 

myPimStateRefreshLimitInterval OBJECT-TYPE 
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This router will not forward successive State Refresh
         messages received at less than this interval."
    DEFVAL { 0 } 
    ::= { myPim 10 } 

myPimStateRefreshTimeToLive OBJECT-TYPE 
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The TTL to be used by this router's originated State
         Refresh messages if the data packet's TTL is not
         recorded."
    DEFVAL { 16 } 
::= { myPim 11 }

myPimBsrCandidateGroup  OBJECT IDENTIFIER    ::= { myPim 12 }

myPimBsrCandidateIfindex     OBJECT-TYPE 
    SYNTAX Integer32
    MAX-ACCESS read-write  
    STATUS current
    DESCRIPTION 
        "Interface type and number on this router from which the bootstrap router
         address is derived, to make it a candidate. This interface must be enabled
         with Protocol Independent Multicast (PIM)."
::= { myPimBsrCandidateGroup 1 }

myPimBsrCandidateHashMaskLength     OBJECT-TYPE 
    SYNTAX Integer32(0..32)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION 
        "Length of a mask (32 bits maximum) that is to be ANDed with
         the group address before the hash function is called. All 
         groups with the same seed hash (correspond) to the same RP.
         if myPimBsrCandidateIfindex is 0,then set this value is 
         not valid."
    DEFVAL { 0 }
::= { myPimBsrCandidateGroup 2 }

myPimBsrCandidatePriority     OBJECT-TYPE 
    SYNTAX Integer32(0..255)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION 
        "The BSR with the larger priority is preferred. If the priority 
         values are the same, the router with the larger IP address is 
         the BSR.if myPimBsrCandidateIfindex is 0,then set this value 
         is not valid"
    DEFVAL { 0 }
::= { myPimBsrCandidateGroup 3 }

myPimRPTable   OBJECT-TYPE
    SYNTAX     SEQUENCE OF MyPimRPEntry
    MAX-ACCESS not-accessible
    STATUS     current 
    DESCRIPTION 
        "The (conceptual) table listing PIM version 2 information
         for the Rendezvous Points (RPs) for IP multicast groups."
    ::= { myPim 13 }


myPimRPEntry OBJECT-TYPE
    SYNTAX     MyPimRPEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the pimRPTable."
    INDEX      { myPimRPGroupAddress }
    ::= { myPimRPTable 1 }

MyPimRPEntry ::= SEQUENCE {
	 myPimRPGroupAddress           IpAddress,	
	 myPimRPAddress                IpAddress,
	 myPimRPExpiryTime             TimeTicks,	
	 myPimRPNextRPReachableIn      TimeTicks	
}

myPimRPGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The IP multicast group address which, when combined with
         pimRPSetGroupMask, gives the group prefix for which this
         entry contains information about the Candidate-RP."
    ::= { myPimRPEntry 1 }

myPimRPAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The IP address of the RP."
    ::= { myPimRPEntry 2 }

myPimRPExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The minimum time remaining before the RP will be
         declared down.  If the local router is not the BSR, this
         value is 0."
    ::= { myPimRPEntry 3 }

myPimRPNextRPReachableIn   OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Indicates the time the next RP-reachable message will be sent.
         Time is expressed in hours:minutes:seconds."
    ::= { myPimRPEntry 4 }


--
--static RP Table
--
myPimStaticRPTable   OBJECT-TYPE
    SYNTAX     SEQUENCE OF MyPimStaticRPEntry
    MAX-ACCESS not-accessible
    STATUS     current 
    DESCRIPTION 
        "The (conceptual) table listing PIM version 2 information
         for the Rendezvous Points (RPs) for IP multicast groups."
    ::= { myPim 14 }

myPimStaticRPEntry OBJECT-TYPE
    SYNTAX     MyPimStaticRPEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the pimStaticRPTable."
    INDEX      { myPimStaticRPAddress }
    ::= { myPimStaticRPTable 1 }

MyPimStaticRPEntry ::= SEQUENCE {		
	 myPimStaticRPAddress                IpAddress,	
	 myPimStaticRPAddressIsOverride      EnabledStatus,	
 	 myPimStaticRPAclName                DisplayString,
	 myPimStaticRPStatus                 RowStatus
    }

myPimStaticRPAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP address of the RP."
    ::= { myPimStaticRPEntry 1 }

myPimStaticRPAddressIsOverride   OBJECT-TYPE
    SYNTAX   EnabledStatus
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION 
        "Indicates that if there is a conflict, the RP configured with
         this command prevails over the RP learned by Bsr-RP."
    DEFVAL { disabled }
::= { myPimStaticRPEntry  2 }

myPimStaticRPAclName    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-create
    STATUS current
    DESCRIPTION 
        "Name of an access list that defines for which
         multicast groups the RP should be used,the 
         default value means all groups should be 
         used."
    DEFVAL { "" }
::= { myPimStaticRPEntry  3 }

myPimStaticRPStatus   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."
    ::= {myPimStaticRPEntry  4}

myPimRpCandidateTable   OBJECT-TYPE
    SYNTAX     SEQUENCE OF MyPimRpCandidateEntry
    MAX-ACCESS not-accessible
    STATUS     current 
    DESCRIPTION 
        "The (conceptual) table listing the IP multicast groups for
         which the local router is to advertise itself as a
         Candidate-RP when the value of pimComponentCRPHoldTime is
         non-zero.  If this table is empty, then the local router
         will advertise itself as a Candidate-RP for all groups
         (providing the value of pimComponentCRPHoldTime is non-
         zero)."
    ::= { myPim 15 } 

myPimRpCandidateEntry OBJECT-TYPE
    SYNTAX     MyPimRpCandidateEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the pimRpCandidateTable."
    INDEX      {  myPimRpCandidateIfindex }
    ::= { myPimRpCandidateTable 1 }

MyPimRpCandidateEntry ::= SEQUENCE {   
    myPimRpCandidateIfindex         InterfaceIndex,
    myPimRpCandidateAclName         DisplayString,
    myPimRpCandidateStatus          RowStatus
    }

myPimRpCandidateIfindex  OBJECT-TYPE
    SYNTAX InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION 
        "IP address associated with this interface type and number 
         is advertised as a candidate RP address."
    ::= { myPimRpCandidateEntry 1 }
    
myPimRpCandidateAclName    OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    read-create
    STATUS current
    DESCRIPTION 
        "The name of Acl list,that defines the group
         prefixes that are advertised in association 
         with the RP address,the default value means
         all groups will be advertised in association
         with the RP address."
    DEFVAL { "" }
    ::= { myPimRpCandidateEntry 2 }

myPimRpCandidateStatus   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."
    ::= {myPimRpCandidateEntry 3}
    
-- PIM Traps
myPimNeighborLoss NOTIFICATION-TYPE
    OBJECTS {
       myPimNeighborIfIndex
    }
    STATUS             current
    DESCRIPTION
        "A pimNeighborLoss trap signifies the loss of an adjacency
         with a neighbor.  This trap should be generated when the
         neighbor timer expires, and the router has no other
         neighbors on the same interface with a lower IP address than
         itself."
    ::= { myPimTraps 1 }

END


























