-- *****************************************************************
-- This mib was extracted from draft-ietf-pim-mib-v2-01.txt
--
-- January 2003, zhenggao
--
-- Copyright (c) 2003 by Qtech Networks Co.,Ltd.
-- All rights reserved.
-- 
-- *****************************************************************
QTECH-PIM-MIB DEFINITIONS ::= BEGIN

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

qtechPimMIB MODULE-IDENTITY
    LAST-UPDATED "200301200000Z"
    ORGANIZATION "Qtech Networks Co.,Ltd."
    CONTACT-INFO
        "
        Tel: 4008-111-000
        
        E-mail:  service@qtech.com.cn"
    DESCRIPTION
        "This module defines qtech Pim mibs."
    REVISION      "200301200000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { qtechMgmt 27}

qtechPimMIBObjects OBJECT IDENTIFIER ::= { qtechPimMIB 1 }

qtechPimTraps      OBJECT IDENTIFIER ::= { qtechPimMIBObjects 2 }

qtechPim           OBJECT IDENTIFIER ::= { qtechPimMIBObjects 1 }

qtechPimJoinPruneInterval 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 }
    ::= { qtechPim 1 }

-- The PIM Interface Table

qtechPimInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF QtechPimInterfaceEntry
    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."
    ::= { qtechPim 2 }

qtechPimInterfaceEntry OBJECT-TYPE
    SYNTAX     QtechPimInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the qtechPimInterfaceTable."
    INDEX      { qtechPimInterfaceIfIndex }
    ::= { qtechPimInterfaceTable 1 }

QtechPimInterfaceEntry ::= SEQUENCE {
    qtechPimInterfaceIfIndex                   InterfaceIndex,
    qtechPimInterfaceAddress                   IpAddress,
    qtechPimInterfaceNetMask                   IpAddress,
    qtechPimInterfaceMode                      INTEGER,
    qtechPimInterfaceDR                        IpAddress,
    qtechPimInterfaceHelloInterval             Integer32,
    qtechPimInterfaceJoinPruneInterval         Integer32,
    qtechPimInterfaceCBSRPreference            Integer32,
    qtechPimInterfaceTrigHelloInterval         Integer32,
    qtechPimInterfaceHelloHoldtime             Integer32,
    qtechPimInterfaceLanPruneDelay             INTEGER,
    qtechPimInterfacePropagationDelay          Integer32,
    qtechPimInterfaceOverrideInterval          Integer32,
    qtechPimInterfaceGenerationID              INTEGER,
    qtechPimInterfaceJoinPruneHoldtime         Integer32,
    qtechPimInterfaceGraftRetryInterval        Integer32,
    qtechPimInterfaceMaxGraftRetries           Integer32,
    qtechPimInterfaceSRTTLThreshold            Integer32,
    qtechPimInterfaceLanDelayEnabled           TruthValue,
    qtechPimInterfaceSRCapable                 TruthValue,
    qtechPimInterfaceDRPriority                Integer32,
    qtechPimInterfaceNbrCounter                Integer32,     
    qtechPimInterfaceBsrBorderEnabled          EnabledStatus,     
    qtechPimInterfaceCountIn                   Integer32,
    qtechPimInterfaceCountOut                  Integer32,
    qtechPimInterfaceEnabled                   EnabledStatus, 
    qtechPimNeighborFilterAcl                  DisplayString, 
    qtechPimDrSupportAddressBound              DisplayString
}

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

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

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

qtechPimInterfaceMode 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 }
    ::= { qtechPimInterfaceEntry 4 }

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

qtechPimInterfaceHelloInterval 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 }
    ::= { qtechPimInterfaceEntry 6 }

qtechPimInterfaceJoinPruneInterval 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."
    ::= { qtechPimInterfaceEntry 7 }

qtechPimInterfaceCBSRPreference 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 }
    ::= { qtechPimInterfaceEntry 8 }

qtechPimInterfaceTrigHelloInterval 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 } 
    ::= { qtechPimInterfaceEntry 9 } 

qtechPimInterfaceHelloHoldtime 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 } 
    ::= { qtechPimInterfaceEntry 10 } 

qtechPimInterfaceLanPruneDelay OBJECT-TYPE 
    SYNTAX INTEGER { 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 }
    ::= { qtechPimInterfaceEntry 11 }

qtechPimInterfacePropagationDelay 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 } 
    ::= { qtechPimInterfaceEntry 12 }

qtechPimInterfaceOverrideInterval 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 } 
    ::= { qtechPimInterfaceEntry 13 } 

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

qtechPimInterfaceJoinPruneHoldtime 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 }
    ::= { qtechPimInterfaceEntry 15 }

qtechPimInterfaceGraftRetryInterval 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 } 
    ::= { qtechPimInterfaceEntry 16 } 

qtechPimInterfaceMaxGraftRetries 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 } 
    ::= { qtechPimInterfaceEntry 17 }

qtechPimInterfaceSRTTLThreshold 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 }
    ::= { qtechPimInterfaceEntry 18 }

qtechPimInterfaceLanDelayEnabled 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."
    ::= { qtechPimInterfaceEntry 19 }

qtechPimInterfaceSRCapable 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."
    ::= { qtechPimInterfaceEntry 20 }

qtechPimInterfaceDRPriority 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 } 
    ::= { qtechPimInterfaceEntry 21 }

qtechPimInterfaceNbrCounter OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of interface's neighbour."
    ::= { qtechPimInterfaceEntry 22 }
    
qtechPimInterfaceBsrBorderEnabled    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}
    ::= { qtechPimInterfaceEntry 23 }
    
qtechPimInterfaceCountIn       OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION 
        "Number of packets into  the interface since the 
         router has been up."
    ::= { qtechPimInterfaceEntry 24 }

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

qtechPimInterfaceEnabled 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}
    ::= { qtechPimInterfaceEntry 26 } 

qtechPimNeighborFilterAcl   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{""}
    ::= { qtechPimInterfaceEntry 27}    
    
qtechPimDrSupportAddressBound    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{""}
    ::= { qtechPimInterfaceEntry 28 }

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

qtechPimNeighborEntry OBJECT-TYPE
    SYNTAX     QtechPimNeighborEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the qtechPimNeighborTable."
    INDEX      { qtechPimNeighborAddress }
    ::= { qtechPimNeighborTable 1 }

QtechPimNeighborEntry ::= SEQUENCE {
   qtechPimNeighborAddress          IpAddress,
   qtechPimNeighborIfIndex          InterfaceIndex,
   qtechPimNeighborUpTime           TimeTicks,
   qtechPimNeighborExpiryTime       TimeTicks,
   qtechPimNeighborMode             INTEGER,
   qtechPimNeighborLanPruneDelay    Integer32,
   qtechPimNeighborOverrideInterval Integer32,
   qtechPimNeighborTBit             Integer32,
   qtechPimNeighborSRCapable        TruthValue,
   qtechPimNeighborDRPresent        TruthValue
}

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

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

qtechPimNeighborUpTime 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."
    ::= { qtechPimNeighborEntry 3 }

qtechPimNeighborExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The minimum time remaining before this PIM neighbor will be
         aged out."
    ::= { qtechPimNeighborEntry 4 }
    
qtechPimNeighborMode 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."
    ::= { qtechPimNeighborEntry 5 }                   

qtechPimNeighborLanPruneDelay 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."
    ::= { qtechPimNeighborEntry 6 }

qtechPimNeighborOverrideInterval 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."
    ::= { qtechPimNeighborEntry 7 }

qtechPimNeighborTBit 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."
    ::= { qtechPimNeighborEntry 8 }

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

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

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

qtechPimIpMRouteTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF QtechPimIpMRouteEntry
    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."
    ::= { qtechPim 4 }

qtechPimIpMRouteEntry OBJECT-TYPE
    SYNTAX     QtechPimIpMRouteEntry
    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 }
    ::= { qtechPimIpMRouteTable 1 }

QtechPimIpMRouteEntry ::= SEQUENCE {
  qtechPimIpMRouteUpstreamAssertTimer   TimeTicks,
  qtechPimIpMRouteAssertMetric          Integer32,
  qtechPimIpMRouteAssertMetricPref      Integer32,
  qtechPimIpMRouteAssertRPTBit          TruthValue,
  qtechPimIpMRouteFlags                 INTEGER,
  qtechPimIpMRouteRPFNeighbor           IpAddress,
  qtechPimIpMRouteSourceTimer           TimeTicks,
  qtechPimIpMRouteOriginatorSRTTL       Integer32
}

qtechPimIpMRouteUpstreamAssertTimer 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."
    ::= { qtechPimIpMRouteEntry 1 }

qtechPimIpMRouteAssertMetric 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."
    ::= { qtechPimIpMRouteEntry 2 }

qtechPimIpMRouteAssertMetricPref 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."
    ::= { qtechPimIpMRouteEntry 3 }

qtechPimIpMRouteAssertRPTBit 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."
    ::= { qtechPimIpMRouteEntry 4 }

qtechPimIpMRouteFlags OBJECT-TYPE
    SYNTAX  INTEGER {
                  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."
    ::= { qtechPimIpMRouteEntry 5 }

qtechPimIpMRouteRPFNeighbor 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."
    ::= { qtechPimIpMRouteEntry 6 }

qtechPimIpMRouteSourceTimer OBJECT-TYPE 
    SYNTAX TimeTicks
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION 
        "The time before this router ceases originating State
         Refresh messages for this route."
    ::= { qtechPimIpMRouteEntry 7 }
    
qtechPimIpMRouteOriginatorSRTTL  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."
    ::= { qtechPimIpMRouteEntry 8 }

--
-- The PIM Next Hop Table
--

qtechPimIpMRouteNextHopTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF QtechPimIpMRouteNextHopEntry
    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."
    ::= { qtechPim 5 }
qtechPimIpMRouteNextHopEntry OBJECT-TYPE
    SYNTAX     QtechPimIpMRouteNextHopEntry
    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 }
    ::= { qtechPimIpMRouteNextHopTable 1 }

QtechPimIpMRouteNextHopEntry ::= SEQUENCE {
   qtechPimIpMRouteNextHopPruneReason       INTEGER,
   qtechPimIpMRouteNextHopAssertWinner      IpAddress,
   qtechPimIpMRouteNextHopAssertTimer       TimeTicks,
   qtechPimIpMRouteNextHopAssertMetric      Integer32,
   qtechPimIpMRouteNextHopAssertMetricPref  Integer32,
   qtechPimIpMRouteNextHopJoinPruneTimer    TimeTicks
    }

qtechPimIpMRouteNextHopPruneReason 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."
    ::= { qtechPimIpMRouteNextHopEntry 1 }      

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

qtechPimIpMRouteNextHopAssertTimer 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."
    ::= { qtechPimIpMRouteNextHopEntry 3 }

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

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

qtechPimIpMRouteNextHopJoinPruneTimer 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."
    ::= { qtechPimIpMRouteNextHopEntry 6 }

--
-- The PIM RP-Set Table 
--
qtechPimRPSetTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF QtechPimRPSetEntry
    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."
    ::= { qtechPim 6 }

qtechPimRPSetEntry OBJECT-TYPE
    SYNTAX     QtechPimRPSetEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the pimRPSetTable."
    INDEX   { qtechPimRPSetComponent, qtechPimRPSetGroupAddress,
              qtechPimRPSetGroupMask, qtechPimRPSetAddress }
    ::= { qtechPimRPSetTable 1 }

QtechPimRPSetEntry ::= SEQUENCE {
     qtechPimRPSetGroupAddress    IpAddress, 
   qtechPimRPSetGroupMask       IpAddress,
   qtechPimRPSetAddress         IpAddress,
   qtechPimRPSetHoldTime        Integer32,
   qtechPimRPSetExpiryTime      TimeTicks,
   qtechPimRPSetComponent       Integer32,
   qtechPimRPSetUpTime          TimeTicks
    }

qtechPimRPSetGroupAddress 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."
    ::= { qtechPimRPSetEntry 1 }
    
qtechPimRPSetGroupMask 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."
    ::= { qtechPimRPSetEntry 2 }

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

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

qtechPimRPSetExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The minimum time remaining before the Candidate-RP will be
         declared down."
    ::= { qtechPimRPSetEntry 5 }
    
qtechPimRPSetComponent 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."
    ::= { qtechPimRPSetEntry 6 }

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


--
-- The PIM Component Table
--
qtechPimComponentTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF QtechPimComponentEntry
    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."
    ::= { qtechPim 7 }

qtechPimComponentEntry OBJECT-TYPE
    SYNTAX     QtechPimComponentEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the starPimComponentTable."
    INDEX      { qtechPimComponentIndex }
    ::= { qtechPimComponentTable 1 }

QtechPimComponentEntry ::= SEQUENCE {
    qtechPimComponentIndex                  Integer32,
    qtechPimComponentBSRAddress             IpAddress,
    qtechPimComponentBSRExpiryTime          TimeTicks,
    qtechPimComponentCRPHoldTime            Integer32,
    qtechPimComponentBSRUptime              TimeTicks,
    qtechPimComponentBSRPriority            Integer32,
    qtechPimComponentBSRHashMaskLength      Integer32,
    qtechPimComponentBSRNextBsrMessage      TimeTicks,
    qtechPimComponentNextCandRPAdv          TimeTicks
    }

qtechPimComponentIndex 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."
    ::= { qtechPimComponentEntry 1 }

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

qtechPimComponentBSRExpiryTime 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."
    ::= { qtechPimComponentEntry 3 }

qtechPimComponentCRPHoldTime 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."
    ::= { qtechPimComponentEntry 4 }

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

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

qtechPimComponentBSRHashMaskLength    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."
    ::= { qtechPimComponentEntry 7 }

qtechPimComponentBSRNextBsrMessage    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."
    ::= { qtechPimComponentEntry 8 }

qtechPimComponentNextCandRPAdv    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."
    ::= { qtechPimComponentEntry 9}

--
-- PIM State Refresh Objects
--
qtechPimSourceLifetime 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 }
    ::= { qtechPim 8 }
    
qtechPimStateRefreshInterval 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 }
    ::= { qtechPim 9 } 

qtechPimStateRefreshLimitInterval 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 } 
    ::= { qtechPim 10 } 

qtechPimStateRefreshTimeToLive 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 } 
::= { qtechPim 11 }

qtechPimBsrCandidateGroup  OBJECT IDENTIFIER    ::= { qtechPim 12 }

qtechPimBsrCandidateIfindex     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)."
::= { qtechPimBsrCandidateGroup 1 }

qtechPimBsrCandidateHashMaskLength     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 qtechPimBsrCandidateIfindex is 0,then set this value is 
         not valid."
    DEFVAL { 0 }
::= { qtechPimBsrCandidateGroup 2 }

qtechPimBsrCandidatePriority     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 qtechPimBsrCandidateIfindex is 0,then set this value 
         is not valid"
    DEFVAL { 0 }
::= { qtechPimBsrCandidateGroup 3 }

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


qtechPimRPEntry OBJECT-TYPE
    SYNTAX     QtechPimRPEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the pimRPTable."
    INDEX      { qtechPimRPGroupAddress }
    ::= { qtechPimRPTable 1 }

QtechPimRPEntry ::= SEQUENCE {
   qtechPimRPGroupAddress           IpAddress, 
   qtechPimRPAddress                IpAddress,
   qtechPimRPExpiryTime             TimeTicks, 
   qtechPimRPNextRPReachableIn      TimeTicks  
}

qtechPimRPGroupAddress 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."
    ::= { qtechPimRPEntry 1 }

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

qtechPimRPExpiryTime 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."
    ::= { qtechPimRPEntry 3 }

qtechPimRPNextRPReachableIn   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."
    ::= { qtechPimRPEntry 4 }


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

qtechPimStaticRPEntry OBJECT-TYPE
    SYNTAX     QtechPimStaticRPEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the pimStaticRPTable."
    INDEX      { qtechPimStaticRPAddress }
    ::= { qtechPimStaticRPTable 1 }

QtechPimStaticRPEntry ::= SEQUENCE {   
   qtechPimStaticRPAddress                IpAddress, 
   qtechPimStaticRPAddressIsOverride      EnabledStatus, 
   qtechPimStaticRPAclName                DisplayString,
   qtechPimStaticRPStatus                 RowStatus
    }

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

qtechPimStaticRPAddressIsOverride   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 }
::= { qtechPimStaticRPEntry  2 }

qtechPimStaticRPAclName    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 { "" }
::= { qtechPimStaticRPEntry  3 }

qtechPimStaticRPStatus   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."
    ::= {qtechPimStaticRPEntry  4}

qtechPimRpCandidateTable   OBJECT-TYPE
    SYNTAX     SEQUENCE OF QtechPimRpCandidateEntry
    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)."
    ::= { qtechPim 15 } 

qtechPimRpCandidateEntry OBJECT-TYPE
    SYNTAX     QtechPimRpCandidateEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the pimRpCandidateTable."
    INDEX      {  qtechPimRpCandidateIfindex }
    ::= { qtechPimRpCandidateTable 1 }

QtechPimRpCandidateEntry ::= SEQUENCE {   
    qtechPimRpCandidateIfindex         InterfaceIndex,
    qtechPimRpCandidateAclName         DisplayString,
    qtechPimRpCandidateStatus          RowStatus
    }

qtechPimRpCandidateIfindex  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."
    ::= { qtechPimRpCandidateEntry 1 }
    
qtechPimRpCandidateAclName    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 { "" }
    ::= { qtechPimRpCandidateEntry 2 }

qtechPimRpCandidateStatus   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."
    ::= {qtechPimRpCandidateEntry 3}
    
-- PIM Traps
qtechPimNeighborLoss NOTIFICATION-TYPE
    OBJECTS {
       qtechPimNeighborIfIndex
    }
    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."
    ::= { qtechPimTraps 1 }

 
-- compliance statements
qtechPimMIBConformance OBJECT IDENTIFIER ::= { qtechPimMIB 2 }
qtechPimMIBCompliances OBJECT IDENTIFIER ::= { qtechPimMIBConformance 1 }
qtechPimMIBGroups      OBJECT IDENTIFIER ::= { qtechPimMIBConformance 2 }

qtechPimMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the Qtech Pim MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { qtechPimMIBGroup
                 }
                       
        ::= { qtechPimMIBCompliances 1 }

        
-- units of conformance

qtechPimMIBGroup OBJECT-GROUP
        OBJECTS {
        qtechPimJoinPruneInterval,
        qtechPimInterfaceAddress,
        qtechPimInterfaceNetMask,
        qtechPimInterfaceMode,
        qtechPimInterfaceDR,
        qtechPimInterfaceHelloInterval,
        qtechPimInterfaceJoinPruneInterval,
        qtechPimInterfaceCBSRPreference,
        qtechPimInterfaceTrigHelloInterval,
        qtechPimInterfaceHelloHoldtime,
        qtechPimInterfaceLanPruneDelay,
        qtechPimInterfacePropagationDelay,
        qtechPimInterfaceOverrideInterval,
        qtechPimInterfaceGenerationID,
        qtechPimInterfaceJoinPruneHoldtime,
        qtechPimInterfaceGraftRetryInterval,
        qtechPimInterfaceMaxGraftRetries,
        qtechPimInterfaceSRTTLThreshold,
        qtechPimInterfaceLanDelayEnabled,
        qtechPimInterfaceSRCapable,
        qtechPimInterfaceDRPriority,
        qtechPimInterfaceNbrCounter,     
        qtechPimInterfaceBsrBorderEnabled,     
        qtechPimInterfaceCountIn,
        qtechPimInterfaceCountOut,
        qtechPimInterfaceEnabled, 
        qtechPimNeighborFilterAcl, 
        qtechPimDrSupportAddressBound,
        qtechPimNeighborIfIndex,
        qtechPimNeighborUpTime,
        qtechPimNeighborExpiryTime,
        qtechPimNeighborMode,
        qtechPimNeighborLanPruneDelay,
        qtechPimNeighborOverrideInterval,
        qtechPimNeighborTBit,
        qtechPimNeighborSRCapable,
        qtechPimNeighborDRPresent,
        qtechPimIpMRouteUpstreamAssertTimer,
        qtechPimIpMRouteAssertMetric,
        qtechPimIpMRouteAssertMetricPref,
        qtechPimIpMRouteAssertRPTBit,
        qtechPimIpMRouteFlags,
        qtechPimIpMRouteRPFNeighbor,
        qtechPimIpMRouteSourceTimer,
        qtechPimIpMRouteOriginatorSRTTL,
        qtechPimIpMRouteNextHopPruneReason,
        qtechPimIpMRouteNextHopAssertWinner,
        qtechPimIpMRouteNextHopAssertTimer,
        qtechPimIpMRouteNextHopAssertMetric,
        qtechPimIpMRouteNextHopAssertMetricPref,
        qtechPimIpMRouteNextHopJoinPruneTimer,
        qtechPimRPSetHoldTime,
        qtechPimRPSetExpiryTime,
        qtechPimRPSetUpTime,
        qtechPimComponentBSRAddress,
        qtechPimComponentBSRExpiryTime,
        qtechPimComponentCRPHoldTime,
        qtechPimComponentBSRUptime,
        qtechPimComponentBSRPriority,
        qtechPimComponentBSRHashMaskLength,
        qtechPimComponentBSRNextBsrMessage,
        qtechPimComponentNextCandRPAdv,
        qtechPimSourceLifetime,
        qtechPimStateRefreshInterval, 
        qtechPimStateRefreshLimitInterval,
        qtechPimStateRefreshTimeToLive,
        qtechPimBsrCandidateIfindex,
        qtechPimBsrCandidateHashMaskLength,
        qtechPimBsrCandidatePriority,
        qtechPimRPAddress,
        qtechPimRPExpiryTime,  
        qtechPimRPNextRPReachableIn,
        qtechPimStaticRPAddressIsOverride, 
        qtechPimStaticRPAclName,
        qtechPimStaticRPStatus,
        qtechPimRpCandidateAclName,
        qtechPimRpCandidateStatus
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing pim management and
                opertion to a Qtech agent."
        ::= { qtechPimMIBGroups 1 } 
        
qtechPimNotifyGroup NOTIFICATION-GROUP
       NOTIFICATIONS { qtechPimNeighborLoss }
       STATUS     current
       DESCRIPTION
              "The collection of objects which are used to specify 
               notifications for pim."
       ::= { qtechPimMIBGroups 2 } 

END


























