----------------------------------------------------------------
--
-- Pragmatic General Multicast (PGM) MIB
--
----------------------------------------------------------------
--
--
-- Full MIB for the PGM protocol incorporating Network Element 
-- (router), source, receiver and DLR functionality
--
-- extracted from draft-petrova-pgmmib-01.txt

PGM-MIB DEFINITIONS ::= BEGIN
IMPORTS
   OBJECT-TYPE, Counter32, Integer32, Unsigned32, NOTIFICATION-TYPE,
   MODULE-IDENTITY, IpAddress, TimeTicks, experimental, BITS
     FROM SNMPv2-SMI
   MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
     FROM SNMPv2-CONF
   InterfaceIndex
     FROM IF-MIB;

pgmMIB MODULE-IDENTITY
    LAST-UPDATED "200205010000Z"
    ORGANIZATION 
        "Cisco Systems + Tibco Software Inc + Nortel Networks"
    CONTACT-INFO
        "   Richard Edmonstone
            redmonst@cisco.com
            +44 131 561 3621
            Cisco Systems, Inc.
            170 West Tasman Drive,
            San Jose, CA 95134
            USA
            
            Rajiv Raghunarayan
            raraghun@cisco.com 
            +91 80 532 1300
            Cisco Systems, Inc.
            170 West Tasman Drive,
            San Jose, CA 95134
            USA
            
            Devendra Raut
            draut@nortelnetworks.com
            (408)495-2859
            Nortel Networks
            4401 Great America Parkway,
            Santa Clara, CA 95052

            Moses Sun
            mosun@nortelnetworks.com
            (979)694-7156
            Nortel Networks
            4401 Great America Parkway
            Santa Clara, CA, 
            USA

            Todd L. Montgomery
            tmontgomery@tibco.com
            (304)291-5972
            Tibco Software Inc.
            29W110 Butterfield Rd, Suite 205
            Warrenville, IL 60555
            USA

            Michael Garwood
            mgarwood@tibco.com
            (630)393-7363 ext.275
            Tibco Software Inc.
            29W110 Butterfield Rd, Suite 205
            Warrenville, IL 60555 
            USA

            Luna Petrova
            lpetrova@tibco.com
            (630)393-7363 ext.330
            Tibco Software Inc.
            29W110 Butterfield Rd, Suite 205
            Warrenville, IL 60555 
            USA"
    DESCRIPTION
        "The MIB module for managing PGM implementations."
    REVISION "200205010000Z"
    DESCRIPTION
        "Rev 2.0: SNMP Notifications added to the MIB."
  ::= { experimental 112 } -- assigned by IANA.

pgm                    OBJECT IDENTIFIER ::= { pgmMIB 1 }
pgmNetworkElement      OBJECT IDENTIFIER ::= { pgm 1 }
pgmSource              OBJECT IDENTIFIER ::= { pgm 2 }
pgmReceiver            OBJECT IDENTIFIER ::= { pgm 3 }
pgmDLR                 OBJECT IDENTIFIER ::= { pgm 4 }
pgmNotificationPrefix  OBJECT IDENTIFIER ::= { pgmMIB 2 }

-- PGM Network Element

pgmNeEnable OBJECT-TYPE
    SYNTAX  INTEGER {
            enable(1),
            disable(2)
            }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
            "Enable/Disable Parameter indicates whether
             this PGM operation is enabled or disabled."
    DEFVAL  { enable }
    ::= { pgmNetworkElement 1 }

pgmNeSessionLifeTime  OBJECT-TYPE
    SYNTAX     Unsigned32(0..2147483647) 
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current 
    DESCRIPTION
            "The length of the idle time (seconds) following
             which a PGM session will be aged out. An idle PGM
             session means there is no SPM message received
             from the upstream.
             Value of 0 indicates no timeout."
    DEFVAL  { 300 }
    ::= { pgmNetworkElement 2 }

pgmNeMaxReXmitStates OBJECT-TYPE
    SYNTAX     Integer32(-2..2147483647)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The Maximum number of retransmission state entries.
             The value of -1 means network element has no
             limitation.
             The value of -2 means not supported by this
             implementation."
    ::= { pgmNetworkElement 3 }

pgmNeMaxSessions OBJECT-TYPE
    SYNTAX     Integer32(-2..2147483647)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The maximum number of state sessions supported.
             The value of -1 means network element has no
             limitation.
             The value of -2 means not supported by this
             implementation."
    ::= { pgmNetworkElement 4 }

-- The PGM NE Network Interface 

-- The PGM NE Network Interface tables contain 
-- per-interface information about the PGM protocol. 
-- The information is grouped into three major categories: 
-- fault, configuration and performance management.

pgmNeInterface OBJECT IDENTIFIER ::= { pgmNetworkElement 100 }

pgmNeTotalInterfacesNumberOfEntries OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of entries in the PGM Interface 
             table."
    ::= { pgmNeInterface 1 }

-- The PGM NE Network Interface configuration table  

pgmNeIfConfigTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF PgmNeIfConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table holding per interface configuration 
             information relating to PGM Network Element
             operation."
    ::= {pgmNeInterface 3}

pgmNeIfConfigEntry OBJECT-TYPE
    SYNTAX     PgmNeIfConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Per Interface Configuration Information."
    INDEX   { pgmNeIfConfigIndex }
    ::= { pgmNeIfConfigTable 1 }

PgmNeIfConfigEntry ::= SEQUENCE {
    pgmNeIfConfigIndex
        InterfaceIndex,
    pgmNeIfPgmEnable
        INTEGER,
    pgmNeIfNakRptInterval
        Unsigned32,
    pgmNeIfNakRptRate
        Unsigned32,
    pgmNeIfNakRdataInterval
        Unsigned32,
    pgmNeIfNakEliminateInterval
        Unsigned32
    }

pgmNeIfConfigIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "A unique value for each interface. Its value
             ranges between 1 and the value of ifNumber. The
             value for each interface must remain constant at 
             least from one re-initialization of the entity's 
             network management system to the next
             re-initialization."
    ::= { pgmNeIfConfigEntry 1 }

pgmNeIfPgmEnable OBJECT-TYPE
    SYNTAX     INTEGER {
                 enable(1),
                 disable(2)
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Allows PGM to be enabled and disabled per
             Network Interface.

             PGM can be enabled or disabled per Network
             Interface, only if PGM is enabled for this
             Network Element."
    ::= { pgmNeIfConfigEntry 2 }

pgmNeIfNakRptInterval  OBJECT-TYPE
    SYNTAX     Unsigned32(1..4294967295)
    UNITS      "milliseconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The length of time (milliseconds) for which a
             network element will repeat a NAK while waiting
             for a corresponding NCF. This interval is counted
             down from the transmission of a NAK."
    DEFVAL  { 100 }
    ::= { pgmNeIfConfigEntry 3 }

pgmNeIfNakRptRate  OBJECT-TYPE
    SYNTAX     Unsigned32(1..4294967295)
    UNITS      "number of NAKs per second"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The rate at which NAKs are repeated."
    DEFVAL  { 2  }
    ::= { pgmNeIfConfigEntry 4 }

pgmNeIfNakRdataInterval  OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The length of time (milliseconds) for which
             a network element will wait for the
             corresponding RDATA. This interval is counted
             down from the time a matching NCF is received.
             This value must be greater than the 
             pgmNeIfNakEliminateInterval."
    DEFVAL  { 10000 }
    ::= { pgmNeIfConfigEntry 5 }

pgmNeIfNakEliminateInterval OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The length of time (milliseconds) for which
             a network element will eliminate NAKs for 
             a specific TSI/SQN.  This interval is counted 
             down from the time the first NAK is 
             established. This value must 
             be smaller than pgmNeIfNakRdataInterval."
    DEFVAL  { 5000 }
    ::= { pgmNeIfConfigEntry 6 }
    
-- The PGM NE Interface performance table.
-- This is primarily statistical information 
-- about packets received and sent on the interface

pgmNeIfPerformanceTable OBJECT-TYPE
    SYNTAX SEQUENCE OF PgmNeIfPerformanceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table holding per interface performance 
             information related to PGM Network Element
             operation."
    ::= {pgmNeInterface 4}

pgmNeIfPerformanceEntry OBJECT-TYPE
    SYNTAX     PgmNeIfPerformanceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Per Interface Information for Network Elements."
    INDEX   { pgmNeIfPerformanceIndex }
    ::= { pgmNeIfPerformanceTable 1 }

PgmNeIfPerformanceEntry ::= SEQUENCE {
    pgmNeIfPerformanceIndex
        InterfaceIndex,
    pgmNeIfReXmitStates
        Counter32,
    pgmNeIfReXmitTimedOut
        Counter32,
    pgmNeIfInSpms
        Counter32,
    pgmNeIfOutSpms
        Counter32,
    pgmNeIfInParitySpms
        Counter32,
    pgmNeIfOutParitySpms
        Counter32,
    pgmNeIfInRdata
        Counter32,
    pgmNeIfOutRdata
        Counter32,
    pgmNeIfInParityRdata
        Counter32,
    pgmNeIfOutParityRdata
        Counter32,
    pgmNeIfInRdataNoSessionErrors
        Counter32,
    pgmNeIfUniqueNaks
        Counter32,
    pgmNeIfInNaks
        Counter32,
    pgmNeIfOutNaks
        Counter32,
    pgmNeIfUniqueParityNaks
        Counter32,
    pgmNeIfInParityNaks
        Counter32,
    pgmNeIfOutParityNaks
        Counter32,
    pgmNeIfInNakNoSessionErrors
        Counter32,
    pgmNeIfInNakSeqErrors
        Counter32,
    pgmNeIfInParityNakTgErrors
        Counter32,
    pgmNeIfInNnaks
        Counter32,
    pgmNeIfOutNnaks
        Counter32,
    pgmNeIfInParityNnaks
        Counter32,
    pgmNeIfOutParityNnaks
        Counter32,
    pgmNeIfInNnakNoSessionErrors
        Counter32,
    pgmNeIfInNcfs
        Counter32,
    pgmNeIfOutNcfs
        Counter32,
    pgmNeIfInParityNcfs
        Counter32,
    pgmNeIfOutParityNcfs
        Counter32,
    pgmNeIfInNcfNoSessionErrors
        Counter32,
    pgmNeIfInRedirectNcfs
        Counter32,
    pgmNeIfMalformed
        Counter32,
    pgmNeIfSpmFromSource
        Counter32,
    pgmNeIfSpmBadSqn
        Counter32,
    pgmNeIfSpmError
        Counter32,
    pgmNeIfPollRandomIgnore
        Counter32,
    pgmNeIfPollTsiStateError
        Counter32,
    pgmNeIfPollParentError
        Counter32,
    pgmNeIfPollTypeError
        Counter32,
    pgmNeIfPollError
        Counter32,
    pgmNeIfPollSuccess
        Counter32,
    pgmNeIfPollOriginated
        Counter32,
    pgmNeIfPolrNoState
        Counter32,
    pgmNeIfPolrError
        Counter32,
    pgmNeIfPolrParityError
        Counter32,
    pgmNeIfPolrSuccess
        Counter32,
    pgmNeIfPolrOriginated
        Counter32,
    pgmNeIfNcfError
        Counter32,
    pgmNeIfNcfParityError
        Counter32,
    pgmNeIfNcfPartialParity
        Counter32,
    pgmNeIfNcfReceived
        Counter32,
    pgmNeIfNcfAnticipated
        Counter32,
    pgmNeIfNcfRedirecting
        Counter32,
    pgmNeIfNakEliminated
        Counter32,
    pgmNeIfNakError
        Counter32,
    pgmNeIfNakParityError
        Counter32,
    pgmNeIfNNakEliminated
        Counter32,
    pgmNeIfNNakError
        Counter32,
    pgmNeIfNNakParityError
        Counter32,
    pgmNeIfNNakCongestionReports
        Counter32,
    pgmNeIfNakRetryExpired
        Counter32,
    pgmNeIfNakRetryExpiredDLR
        Counter32,
    pgmNeIfNakForwardedDLR
        Counter32,
    pgmNeIfNakRetransmitted
        Counter32,
    pgmNeIfRdataEliminatedOIF
        Counter32,
    pgmNeIfRdataEliminatedSqn
        Counter32,
    pgmNeIfInRdataFragments
        Counter32,
    pgmNeIfRdataFragmentsNoSessionErrors
        Counter32,
    pgmNeIfRdataFragmentsEliminatedOIF
        Counter32,
    pgmNeIfRdataFragmentsEliminatedSqn
        Counter32,
    pgmNeIfOutRdataFragments
        Counter32
}

pgmNeIfPerformanceIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "A unique value for each interface. Its value
             ranges between 1 and the value of ifNumber.  
             The value for each interface must remain 
             constant at least from one re-initialization 
             of the entity's network management system
             to the next re-initialization."
    ::= { pgmNeIfPerformanceEntry 1 }

pgmNeIfReXmitStates OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total retransmit state entries for this
             interface."
    ::= { pgmNeIfPerformanceEntry 2 }
 
pgmNeIfReXmitTimedOut OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of timed-out retransmit state
             entries for this interface."
    ::= { pgmNeIfPerformanceEntry 3 }

pgmNeIfInSpms OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of SPMs received  on the PGM
             interface."
    ::= { pgmNeIfPerformanceEntry 4 }

pgmNeIfOutSpms OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of SPMs sent out from the PGM
             interface."
    ::= { pgmNeIfPerformanceEntry 5 }

pgmNeIfInParitySpms OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of parity SPMs received on the
             PGM interface."
    ::= { pgmNeIfPerformanceEntry 6 }

pgmNeIfOutParitySpms OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of parity SPMs sent out from the
             PGM interface."
    ::= { pgmNeIfPerformanceEntry 7 }

pgmNeIfInRdata OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of RDATA received on the PGM
             interface."
    ::= { pgmNeIfPerformanceEntry 8 }

pgmNeIfOutRdata OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of RDATA sent out from the 
             PGM interface."
    ::= { pgmNeIfPerformanceEntry 9 }

pgmNeIfInParityRdata OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of parity RDATA received on the
             PGM interface."
    ::= { pgmNeIfPerformanceEntry 10 }

pgmNeIfOutParityRdata OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of parity RDATA sent out from 
             the PGM interface."
    ::= { pgmNeIfPerformanceEntry 11 }

pgmNeIfInRdataNoSessionErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of received RDATA discarded because
             of no session."
    ::= { pgmNeIfPerformanceEntry 12 }

pgmNeIfUniqueNaks OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of unique NAKs received on 
             this interface."
    ::= { pgmNeIfPerformanceEntry 13 }

pgmNeIfInNaks OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of NAKs received on the PGM
             interface."
    ::= { pgmNeIfPerformanceEntry 14 }

pgmNeIfOutNaks OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of NAKs sent out from the
             PGM interface."
    ::= { pgmNeIfPerformanceEntry 15 }

pgmNeIfUniqueParityNaks OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of unique parity NAKs received
             on this interface."
    ::= { pgmNeIfPerformanceEntry 16 }

pgmNeIfInParityNaks OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of parity NAKs received on the
             PGM interface."
    ::= { pgmNeIfPerformanceEntry 17 }

pgmNeIfOutParityNaks OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of parity NAKs sent out from
             the PGM interface."
    ::= { pgmNeIfPerformanceEntry 18 }

pgmNeIfInNakNoSessionErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of received NAKs discarded because of
             no session."
    ::= { pgmNeIfPerformanceEntry 19 }

pgmNeIfInNakSeqErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of received NAKs discarded because
             of out of sequence (out of retransmit window)."
    ::= { pgmNeIfPerformanceEntry 20 }

pgmNeIfInParityNakTgErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of received parity NAKs discarded 
             because out of parity TG window."
    ::= { pgmNeIfPerformanceEntry 21 }

pgmNeIfInNnaks OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of NNAKs received on the PGM
             interface."
    ::= { pgmNeIfPerformanceEntry 22 }

pgmNeIfOutNnaks OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of NNAKs sent out from the
             PGM interface."
    ::= { pgmNeIfPerformanceEntry 23 }

pgmNeIfInParityNnaks OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of parity NNAKs received on
             the PGM interface."
    ::= { pgmNeIfPerformanceEntry 24 }

pgmNeIfOutParityNnaks OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of parity NNAKs sent out from
             the PGM interface."
    ::= { pgmNeIfPerformanceEntry 25 }

pgmNeIfInNnakNoSessionErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of received NNAKs discarded because 
             of no session."
    ::= { pgmNeIfPerformanceEntry 26 }

pgmNeIfInNcfs OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of NCFs received on the PGM
             interface."
    ::= { pgmNeIfPerformanceEntry 27 }

pgmNeIfOutNcfs OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of NCFs sent out from the PGM
             interface."
    ::= { pgmNeIfPerformanceEntry 28 }

pgmNeIfInParityNcfs OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of parity NCFs received on the
             PGM interface."
    ::= { pgmNeIfPerformanceEntry 29 }

pgmNeIfOutParityNcfs OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of parity NCFs sent out from 
             the PGM interface."
    ::= { pgmNeIfPerformanceEntry 30 }

pgmNeIfInNcfNoSessionErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of received NCFs discarded because
             of no session."
    ::= { pgmNeIfPerformanceEntry 31 }

pgmNeIfInRedirectNcfs OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of redirected NCFs received on the
             PGM interface."
    ::= { pgmNeIfPerformanceEntry 32 }

pgmNeIfMalformed OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of malformed PGM packets."
    ::= { pgmNeIfPerformanceEntry 33 }

pgmNeIfSpmFromSource OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of SPM packets received from source."
    ::= { pgmNeIfPerformanceEntry 34 }

pgmNeIfSpmBadSqn OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of SPM packets discarded due to bad
             SQN."
    ::= { pgmNeIfPerformanceEntry 35 }

pgmNeIfSpmError OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of SPM packets discarded due to 
             operational error. Some examples of operational
             errors are failure to create TSI state for SPM,
             parity SPM for a TSI with no parity."
    ::= { pgmNeIfPerformanceEntry 36 }

pgmNeIfPollRandomIgnore OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of POLL packets not replied due to random
             condition failing."
    ::= { pgmNeIfPerformanceEntry 37 }

pgmNeIfPollTsiStateError OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of POLL packets discarded due to no 
             matching TSI state."
    ::= { pgmNeIfPerformanceEntry 38 }

pgmNeIfPollParentError OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of POLL packets discarded due to
             unknown parent."
    ::= { pgmNeIfPerformanceEntry 39 }

pgmNeIfPollTypeError OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of POLL packets discarded due to failed
             type matching."
    ::= { pgmNeIfPerformanceEntry 40 }

pgmNeIfPollError OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of POLL packets discarded due to
             operational error."
    ::= { pgmNeIfPerformanceEntry 41 }

pgmNeIfPollSuccess OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of successfully scheduled POLRs."
    ::= { pgmNeIfPerformanceEntry 42 }

pgmNeIfPollOriginated OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of polls originated on this interface."
    ::= { pgmNeIfPerformanceEntry 43 }

pgmNeIfPolrNoState OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of POLRs discarded due to no matching
             state."
    ::= { pgmNeIfPerformanceEntry 44 }

pgmNeIfPolrError OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of POLRs discarded due to operational 
             error."
    ::= { pgmNeIfPerformanceEntry 45 }

pgmNeIfPolrParityError OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of parity POLRs received for non-parity
             TSI."
    ::= { pgmNeIfPerformanceEntry 46 }

pgmNeIfPolrSuccess OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of POLRs recorded successfully."
    ::= { pgmNeIfPerformanceEntry 47 }

pgmNeIfPolrOriginated OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of POLRs originated by this interface."
    ::= { pgmNeIfPerformanceEntry 48 }

pgmNeIfNcfError OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NCFs ignored due to no packet memory,
             due to packet processing errors."
    ::= { pgmNeIfPerformanceEntry 49 }

pgmNeIfNcfParityError OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NCFs ignored. Incremented when a parity
             NCF is received on a session for which no parity 
             capability has been advertised in the session's 
             SPMs."
    ::= { pgmNeIfPerformanceEntry 50 }

pgmNeIfNcfPartialParity OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NCFs ignored due to not enough parity 
             blocks acknowledged."
    ::= { pgmNeIfPerformanceEntry 51 }

pgmNeIfNcfReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NCFs that confirm an outstanding NAK."
    ::= { pgmNeIfPerformanceEntry 52 }

pgmNeIfNcfAnticipated OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NCFs that cause NAK anticipation."
    ::= { pgmNeIfPerformanceEntry 53 }

pgmNeIfNcfRedirecting OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NCFs received as consequence of 
             redirected NAK."
    ::= { pgmNeIfPerformanceEntry 54 }

pgmNeIfNakEliminated OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NAKs eliminated by retransmission 
             state."
    ::= { pgmNeIfPerformanceEntry 55 }

pgmNeIfNakError OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of errors creating retransmission state
             or NAK, due to NAK packet processing."
    ::= { pgmNeIfPerformanceEntry 56 }

pgmNeIfNakParityError OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NAKs ignored, due to no parity
             available. Incremented when parity NAK is 
             received on this session, for which no parity
             capability has been advartised."
    ::= { pgmNeIfPerformanceEntry 57 }

pgmNeIfNNakEliminated OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NNAKs eliminated by retransmission 
             state."
    ::= { pgmNeIfPerformanceEntry 58 }

pgmNeIfNNakError OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of errors encountered creating 
             retransmission state OR nak."
    ::= { pgmNeIfPerformanceEntry 59 }

pgmNeIfNNakParityError OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of Null NAKs ignored, due to no parity
             available. Incremented when parity NNAK is 
             received on this session, for which no parity
             capability has been advartised."
    ::= { pgmNeIfPerformanceEntry 60 }

pgmNeIfNNakCongestionReports OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NAKs forwarded as NNAK as congestion
             report only."
    ::= { pgmNeIfPerformanceEntry 61 }

pgmNeIfNakRetryExpired OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of NAKs timed out after
             retrying."
    ::= { pgmNeIfPerformanceEntry 62 }

pgmNeIfNakRetryExpiredDLR OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NAKs unconfirmed by DLR."
    ::= { pgmNeIfPerformanceEntry 63 }

pgmNeIfNakForwardedDLR OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NAKs forwarded out this i/f to DLR
             with retransmission state."
    ::= { pgmNeIfPerformanceEntry 64 }

pgmNeIfNakRetransmitted OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Total number of NAKs retransmitted out this i/f."
    ::= { pgmNeIfPerformanceEntry 65 }

pgmNeIfRdataEliminatedOIF OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of RDATA packets eliminated by lack of
             OIF's."
    ::= { pgmNeIfPerformanceEntry 66 }

pgmNeIfRdataEliminatedSqn OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of RDATA packets eliminated by lack of
             SQN."
    ::= { pgmNeIfPerformanceEntry 67 }

pgmNeIfInRdataFragments OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Total number of RDATA fragments received."
    ::= { pgmNeIfPerformanceEntry 68 }

pgmNeIfRdataFragmentsNoSessionErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of RDATA fragments eliminated by lack of
             GSI."
    ::= { pgmNeIfPerformanceEntry 69 }

pgmNeIfRdataFragmentsEliminatedOIF OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of RDATA fragments eliminated by lack of
             OIFs."
    ::= { pgmNeIfPerformanceEntry 70 }

pgmNeIfRdataFragmentsEliminatedSqn OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of RDATA fragments eliminated by lack of
             SQN."
    ::= { pgmNeIfPerformanceEntry 71 }

pgmNeIfOutRdataFragments OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Total number of RDATA fragments forwarded."
    ::= { pgmNeIfPerformanceEntry 72 }

--
-- PGM Network Element Transport Session Identifier
--     
pgmNeTsi OBJECT IDENTIFIER ::= { pgmNetworkElement 101 }

pgmNeTotalTsiNumberOfEntries OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of sessions in the PGM NE TSI
             table."
    ::= { pgmNeTsi 1 }

-- The PGM Transport Session Identifier (TSI) table
-- The TSI information is grouped into three major categories:
-- fault, configuration and performance management.

-- The PGM NE TSI fault management table 
-- This table contains state and some general
-- per TSI information

pgmNeTsiTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF PgmNeTsiEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table holding per-tsi state information."
    ::= {pgmNeTsi 2}

pgmNeTsiEntry OBJECT-TYPE
    SYNTAX     PgmNeTsiEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Transport Session is identified by Global ID and
             Source Port."
    INDEX   { pgmNeTsiGlobalId, pgmNeTsiDataSourcePort }
    ::= { pgmNeTsiTable 1 }

PgmNeTsiEntry ::= SEQUENCE {
    pgmNeTsiGlobalId
        OCTET STRING,
    pgmNeTsiDataSourcePort
        Unsigned32,
    pgmNeTsiStateBits
        BITS,
    pgmNeTsiDataDestinationPort
        Unsigned32,
    pgmNeTsiSourceAddress
        IpAddress,
    pgmNeTsiGroupAddress
        IpAddress,
    pgmNeTsiUpstreamAddress
        IpAddress,
    pgmNeTsiUpstreamIfIndex
        InterfaceIndex,
    pgmNeTsiDlrAddress
        IpAddress
   }

pgmNeTsiGlobalId OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (12))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The Globally unique source identifier for this
             transport session."
    ::= {pgmNeTsiEntry 1 }

pgmNeTsiDataSourcePort OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Data source port."
    ::= {pgmNeTsiEntry 2}

pgmNeTsiStateBits OBJECT-TYPE
    SYNTAX     BITS { initialising(0), 
                      spmSqnStateValid(1), 
                      dlrCanProvideParity(2) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "State associated with the TSI."
    ::= {pgmNeTsiEntry 3 }

pgmNeTsiDataDestinationPort OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Data destination port."
    ::= {pgmNeTsiEntry 4 }

pgmNeTsiSourceAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "IP address of the source."
    ::= {pgmNeTsiEntry 5 }

pgmNeTsiGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Multicast group destination address."
    ::= {pgmNeTsiEntry 6 }

pgmNeTsiUpstreamAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP address of the upstream PGM neighbouring
             element for this TSI."
    ::= { pgmNeTsiEntry 7 }

pgmNeTsiUpstreamIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The index of the upstream PGM element for the
             entry."
    ::= { pgmNeTsiEntry 8 }

pgmNeTsiDlrAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "IP Address of a known DLR that will be used if
             required."
    ::= {pgmNeTsiEntry 9 }


-- PGM Network Element TSI Configuration Management Table
-- Since the Network Element cannot be configured 
-- per TSI, configuration table is not implemented


-- PGM Network Element TSI Performance Management Table

pgmNeTsiPerformanceTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF PgmNeTsiPerformanceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table holding details of every transport 
             flow known by the Network Element."
    ::= {pgmNeTsi 4}

pgmNeTsiPerformanceEntry OBJECT-TYPE
    SYNTAX     PgmNeTsiPerformanceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Transport session description."
    INDEX   { pgmNeTsiPerformanceGlobalId, 
              pgmNeTsiPerformanceDataSourcePort }
    ::= { pgmNeTsiPerformanceTable 1 }

PgmNeTsiPerformanceEntry ::= SEQUENCE {
    pgmNeTsiPerformanceGlobalId
        OCTET STRING,
    pgmNeTsiPerformanceDataSourcePort
        Unsigned32,
    pgmNeTsiSessionTrailEdgeSeq
        Counter32,
    pgmNeTsiSessionIncrSeq
        Counter32,
    pgmNeTsiLeadEdgeSeq
        Counter32,
    pgmNeTsiInSpms
        Counter32,
    pgmNeTsiOutSpms
        Counter32,
    pgmNeTsiInParitySpms
        Counter32,
    pgmNeTsiOutParitySpms
        Counter32,
    pgmNeTsiTotalReXmitStates
        Counter32,
    pgmNeTsiTotalReXmitTimedOut
        Counter32,
    pgmNeTsiInRdata
        Counter32,
    pgmNeTsiOutRdata
        Counter32,
    pgmNeTsiInParityRdata
        Counter32,
    pgmNeTsiOutParityRdata
        Counter32,
    pgmNeTsiInRdataNoStateErrors
        Counter32,
    pgmNeTsiUniqueNaks
        Counter32,
    pgmNeTsiInNaks
        Counter32,
    pgmNeTsiOutNaks
        Counter32,
    pgmNeTsiUniqueParityNaks
        Counter32,
    pgmNeTsiInParityNaks
        Counter32,
    pgmNeTsiOutParityNaks
        Counter32,
    pgmNeTsiInNakSeqErrors
        Counter32,
    pgmNeTsiInNnaks
        Counter32,
    pgmNeTsiOutNnaks
        Counter32,
    pgmNeTsiInParityNnaks
        Counter32,
    pgmNeTsiOutParityNnaks
        Counter32,
    pgmNeTsiInNcfs
        Counter32,
    pgmNeTsiOutNcfs
        Counter32,
    pgmNeTsiInParityNcfs
        Counter32,
    pgmNeTsiOutParityNcfs
        Counter32,
    pgmNeTsiSpmSequenceNumber
        Unsigned32,
    pgmNeTsiTransmissionGroupSize
        Unsigned32,
    pgmNeTsiTimeout
        TimeTicks,
    pgmNeTsiLastTtl
        Unsigned32,
    pgmNeTsiLinkLossRate
        Unsigned32,
    pgmNeTsiPathLossRate
        Unsigned32,
    pgmNeTsiReceiverLossRate
        Unsigned32,
    pgmNeTsiCongestionReportLead
        Unsigned32,
    pgmNeTsiCongestionReportWorstReceiver
        IpAddress
}

pgmNeTsiPerformanceGlobalId OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (12))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The Globally unique source identifier for this
             transport session."
    ::= {pgmNeTsiPerformanceEntry 1 }

pgmNeTsiPerformanceDataSourcePort OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Data source port."
    ::= {pgmNeTsiPerformanceEntry 2}

pgmNeTsiSessionTrailEdgeSeq OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The trailing edge sequence of the transmit 
             window."
    ::= { pgmNeTsiPerformanceEntry 3 }

pgmNeTsiSessionIncrSeq OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The sequence number defining the leading edge of
             the increment window."
    ::= { pgmNeTsiPerformanceEntry 4 }

pgmNeTsiLeadEdgeSeq OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The leading edge sequence of the transmit 
             window."
    ::= { pgmNeTsiPerformanceEntry 5 }

pgmNeTsiInSpms OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of SPMs received for this
             session."
    ::= { pgmNeTsiPerformanceEntry 6 }
 
pgmNeTsiOutSpms OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of SPMs sent out for this
             session."
    ::= { pgmNeTsiPerformanceEntry 7 }

pgmNeTsiInParitySpms OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of Parity SPMs received for 
             this session."
    ::= { pgmNeTsiPerformanceEntry 8 }

pgmNeTsiOutParitySpms OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of Parity SPMs sent out for
             this session."
    ::= { pgmNeTsiPerformanceEntry 9 }

pgmNeTsiTotalReXmitStates OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total retransmit states for this session."
    ::= { pgmNeTsiPerformanceEntry 10 }

pgmNeTsiTotalReXmitTimedOut OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total timed-out retransmit state entries for 
             this session."
    ::= { pgmNeTsiPerformanceEntry 11 }

pgmNeTsiInRdata OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of RDATAs received for this
             session."
    ::= { pgmNeTsiPerformanceEntry 12 }

pgmNeTsiOutRdata OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of RDATAs sent out from this
             session."
    ::= { pgmNeTsiPerformanceEntry 13 }

pgmNeTsiInParityRdata OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of parity RDATAs received for
             this session."
    ::= { pgmNeTsiPerformanceEntry 14 }

pgmNeTsiOutParityRdata OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of parity RDATAs sent out from
             this session."
    ::= { pgmNeTsiPerformanceEntry 15 }

pgmNeTsiInRdataNoStateErrors OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of received RDATA discarded 
             due to no retransmit state."
    ::= { pgmNeTsiPerformanceEntry 16 }

pgmNeTsiUniqueNaks OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of unique NAKs received for 
             this session."
    ::= { pgmNeTsiPerformanceEntry 17 }

pgmNeTsiInNaks OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of NAKs received for this
             session."
    ::= { pgmNeTsiPerformanceEntry 18 }

pgmNeTsiOutNaks OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of NAKs sent out from this
             session."
    ::= { pgmNeTsiPerformanceEntry 19 }

pgmNeTsiUniqueParityNaks OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of unique parity NAKs received 
             for this session."
    ::= { pgmNeTsiPerformanceEntry 20 }

pgmNeTsiInParityNaks OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of parity NAKs received for
             this session."
    ::= { pgmNeTsiPerformanceEntry 21 }

pgmNeTsiOutParityNaks OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of parity NAKs sent out from 
             this session."
    ::= { pgmNeTsiPerformanceEntry 22 }

pgmNeTsiInNakSeqErrors OBJECT-TYPE
    SYNTAX     Counter32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of received NAKs discarded 
             because of out of sequence (out of retransmit
             window)."
    ::= { pgmNeTsiPerformanceEntry 23 }

pgmNeTsiInNnaks OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of NNAKs received for this
             session."
    ::= { pgmNeTsiPerformanceEntry 24 }

pgmNeTsiOutNnaks OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of NNAKs sent out from this
             session."
    ::= { pgmNeTsiPerformanceEntry 25 }

pgmNeTsiInParityNnaks OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of parity NNAKs received for
             this session."
    ::= { pgmNeTsiPerformanceEntry 26 }

pgmNeTsiOutParityNnaks OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of parity NNAKs sent out from
             this session."
    ::= { pgmNeTsiPerformanceEntry 27 }

pgmNeTsiInNcfs OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of NCFs received for this
             session."
    ::= { pgmNeTsiPerformanceEntry 28 }

pgmNeTsiOutNcfs OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of NCFs sent out from this
             session."
    ::= { pgmNeTsiPerformanceEntry 29 }

pgmNeTsiInParityNcfs OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of parity NCFs received for
             this session."
    ::= { pgmNeTsiPerformanceEntry 30 }

pgmNeTsiOutParityNcfs OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of Parity NCFs sent out from
             this session."
    ::= { pgmNeTsiPerformanceEntry 31 }

pgmNeTsiSpmSequenceNumber OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Sequence number of the last seen SPM."
    ::= {pgmNeTsiPerformanceEntry 32 }

pgmNeTsiTransmissionGroupSize OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Advertised size of the transmission group for
             this transport session."
    ::= {pgmNeTsiPerformanceEntry 33 }

pgmNeTsiTimeout OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Time left for this entry to expire."
    ::= {pgmNeTsiPerformanceEntry 34 }

pgmNeTsiLastTtl OBJECT-TYPE
    SYNTAX     Unsigned32(1..255)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "IP TTL of last seen valid SPM."
    ::= {pgmNeTsiPerformanceEntry 35 }

pgmNeTsiLinkLossRate OBJECT-TYPE
    SYNTAX     Unsigned32(0..100)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Worst reported link loss rate for congestion
             control. This is reported as a percentage."
    ::= {pgmNeTsiPerformanceEntry 36 }

pgmNeTsiPathLossRate OBJECT-TYPE
    SYNTAX     Unsigned32 (0..100)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Worst reported path loss rate for congestion
             control. This is reported as a percentage."
    ::= {pgmNeTsiPerformanceEntry 37 }

pgmNeTsiReceiverLossRate OBJECT-TYPE
    SYNTAX     Unsigned32 (0..100)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Worst reported receiver loss rate for congestion
             control. This is reported as a percentage."
    ::= {pgmNeTsiPerformanceEntry 38 }

pgmNeTsiCongestionReportLead OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Data lead sequence number associated with the
              worst reported receiver loss rate."
    ::= {pgmNeTsiPerformanceEntry 39 }

pgmNeTsiCongestionReportWorstReceiver OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "IP address of the receiver that reported the
             worst receiver loss rate."
    ::= {pgmNeTsiPerformanceEntry 40 }

-- The PGM Retransmission table

-- The PGM Retransmission table contains 
-- information about current retransmission requests.
-- This information is held per sequence number, or in 
-- the case of FEC, every transmission group, for which
-- retransmission has been requested.

pgmNeTsiRtxNumberOfEntries OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of entries in the retransmission table."
    ::= { pgmNeTsi 5 }

pgmNeTsiRtxTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF PgmNeTsiRtxEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table holding information for every sequence
             number, or in the case of FEC,  every 
             transmission group, for which retransmission has 
             been requested."
    ::= {pgmNeTsi 6 }

pgmNeTsiRtxEntry OBJECT-TYPE
    SYNTAX     PgmNeTsiRtxEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Per sequence number / transmission group
             information."
    INDEX   { pgmNeTsiGlobalId,
              pgmNeTsiDataSourcePort,
              pgmNeTsiRtxSequenceNumber,
              pgmNeTsiRtxSequenceNumberType }
    ::= { pgmNeTsiRtxTable 1 }

PgmNeTsiRtxEntry ::= SEQUENCE {
    pgmNeTsiRtxSequenceNumber
        Unsigned32,
    pgmNeTsiRtxSequenceNumberType
        INTEGER,
    pgmNeTsiRtxReqParityTgCount
        Counter32,
    pgmNeTsiRtxTimeout
        TimeTicks,
    pgmNeTsiRtxStateBits
        BITS
}

pgmNeTsiRtxSequenceNumber OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "For non-parity retransmission, a sequence number.
             For parity retransmission, a transmission group
             and packet count."
    ::= {pgmNeTsiRtxEntry 1 }

pgmNeTsiRtxSequenceNumberType OBJECT-TYPE
    SYNTAX     INTEGER {
                 selective(1),
                  tg(2)
               }
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Selective Sequence Number and TG Sequence
             Number."
    ::= {pgmNeTsiRtxEntry 2 }

pgmNeTsiRtxReqParityTgCount OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The Requested number of missing parity packets
             of specific Tg. The largest counter of the 
             received NAK will be stored in this mib. This 
             variable is valid for parity packets only."
    ::= { pgmNeTsiRtxEntry 4 }

pgmNeTsiRtxTimeout OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "When this state will expire."
    ::= {pgmNeTsiRtxEntry 5 }

pgmNeTsiRtxStateBits OBJECT-TYPE
    SYNTAX     BITS {
                    initialising(0),
                    eliminating(1),
                    redirecting(2),
                    stateCreatedByNullNAK(3),
                    listNAKentry(4),
                    parityState(5)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "State associated with retransmission entry."
    ::= {pgmNeTsiRtxEntry 6 }

-- The PGM Retransmission interfaces table

-- The PGM Retransmission interfaces table contains 
-- information about what interfaces will be sent 
-- retransmitted data for a particular
-- retransmission entry

pgmNeTsiRtxIfNumberOfEntries OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of entries in the retransmission 
             interfaces table."
    ::= { pgmNeTsi 7 }

pgmNeTsiRtxIfTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF PgmNeTsiRtxIfEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table holding information of every 
             interface for which retransmit state for 
             a particular sequence number or transmission 
             group has to be sent."
    ::= {pgmNeTsi 8}

pgmNeTsiRtxIfEntry OBJECT-TYPE
    SYNTAX     PgmNeTsiRtxIfEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Destination interfaces for a particular 
             retransmit state."
    INDEX   { pgmNeTsiGlobalId,
              pgmNeTsiDataSourcePort,
              pgmNeTsiRtxSequenceNumber,
              pgmNeTsiRtxSequenceNumberType,
              pgmNeTsiRtxIfIndex } 
    ::= { pgmNeTsiRtxIfTable 1 }

PgmNeTsiRtxIfEntry ::= SEQUENCE {
    pgmNeTsiRtxIfIndex
        InterfaceIndex,
    pgmNeTsiRtxIfPacketCount
        Counter32
}

pgmNeTsiRtxIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "A unique value for each interface. Its value
             ranges between 1 and the value of ifNumber. 
             The value for each interface must remain 
             constant at least from one re-initialization
             of the entity's network management system to
             the next re-initialization."
    ::= { pgmNeTsiRtxIfEntry 1 }

pgmNeTsiRtxIfPacketCount OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of repair data packets still to be 
             retransmitted on this interface. For non-parity 
             retransmission this will never have a value 
             greater than 1. For parity retransmission, 
             any number can be present."
    ::= { pgmNeTsiRtxIfEntry 2 }

-- The PGM Poll Response table

-- The PGM Poll Response table contains information 
-- about PGM parent's of this network element who are 
-- currently polling it.

pgmNeTsiPolrNumberOfEntries OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of entries in the poll response table."
    ::= { pgmNeTsi 9 }

pgmNeTsiPolrTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF PgmNeTsiPolrEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table holding state information about what
             PGM parents are polling this Network Element."
    ::= { pgmNeTsi 10 }

pgmNeTsiPolrEntry OBJECT-TYPE
    SYNTAX     PgmNeTsiPolrEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "State information for a Network Element that 
             is being polled by its parents"
    INDEX   { pgmNeTsiGlobalId,
              pgmNeTsiDataSourcePort,
              pgmNeTsiPolrSource }
    ::= { pgmNeTsiPolrTable 1 }

PgmNeTsiPolrEntry ::= SEQUENCE {
    pgmNeTsiPolrSource
        IpAddress,
    pgmNeTsiPolrSequenceNumber
        Unsigned32
}

pgmNeTsiPolrSource OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "IP Address of parent who is polling this 
             device."
    ::= { pgmNeTsiPolrEntry 1 }

pgmNeTsiPolrSequenceNumber OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Sequence number of last POLR from the source."
    ::= { pgmNeTsiPolrEntry 2 }

-- The PGM Poll table

-- The PGM Poll table contains information related to
-- polling that this Network Element is doing for 
-- its children

pgmNeTsiPollNumberOfEntries OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of entries in the poll table."
    ::= { pgmNeTsi 11 }

pgmNeTsiPollTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF PgmNeTsiPollEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table holding state information related 
             to polling that this Network Element is doing 
             for its children."
    ::= { pgmNeTsi 12 }

pgmNeTsiPollEntry OBJECT-TYPE
    SYNTAX     PgmNeTsiPollEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "State information for a Network Element that
             is polling its children."
    INDEX   { pgmNeTsiGlobalId,
              pgmNeTsiDataSourcePort,
              pgmNeTsiPollType }
    ::= { pgmNeTsiPollTable 1 }

PgmNeTsiPollEntry ::= SEQUENCE {
    pgmNeTsiPollType
        INTEGER,
    pgmNeTsiPollSequence
        Unsigned32,
    pgmNeTsiPollChildBackoff
        Unsigned32,
    pgmNeTsiPollMask
        Unsigned32,
    pgmNeTsiPollPeriod
        Unsigned32,
    pgmNeTsiPollCount
        Counter32,
    pgmNeTsiPollTimeout
        TimeTicks
}

pgmNeTsiPollType OBJECT-TYPE
    SYNTAX     INTEGER { 
                  general(1), 
                  dlr(2) 
               }
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Type of Poll."
    ::= { pgmNeTsiPollEntry 1 }

pgmNeTsiPollSequence OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Sequence number of the most recent POLL packet
             that we sent."
    ::= { pgmNeTsiPollEntry 2 }

pgmNeTsiPollChildBackoff OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Backoff advertised to be used by child of poll."
    ::= { pgmNeTsiPollEntry 3 }

pgmNeTsiPollMask OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Mask being used in poll."
    ::= { pgmNeTsiPollEntry 4 }

pgmNeTsiPollPeriod OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Period of poll."
    ::= { pgmNeTsiPollEntry 5 }

pgmNeTsiPollCount OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of Poll responses (POLRs) received."
    ::= { pgmNeTsiPollEntry 6 }

pgmNeTsiPollTimeout OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Remaining Time Ticks to next poll."
    ::= { pgmNeTsiPollEntry 7 }


--
-- PGM Source 
-- 

-- PGM Source general management information


pgmSourceSaveDefaults  OBJECT-TYPE
    SYNTAX     INTEGER { initial (1),
                         save (2), 
                         pending (3),
                         success (4),
                         failure (5) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Flag used to initiate the storing 
             of all default variable values to 
             non-volatile storage and to report the 
             result of the operation.
             The following values can only be read,
             never written :
             initial(1) - returned prior to any requests
             for saving the default configuration
             pending(3) - saving in progress
             success(4) - returned when a save(2) request
             is successful
             failure(5) - returned when a save(2) request
             is unsuccessful

             The following values can only be written,
             never read :
             save(2) - to indicate that the default
             configuration should be saved."
    ::= { pgmSource 1 }

pgmSourceLastUpdateTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of TimeTicks since the last update
             of the non-volatile storage." 
    ::= { pgmSource 2 }

pgmSourceDefaultTtl OBJECT-TYPE
    SYNTAX     Unsigned32(1..255)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Default TTL used by the PGM Source."
    ::= { pgmSource 3 }

pgmSourceDefaultAdvMode OBJECT-TYPE
    SYNTAX     INTEGER { data(1), 
                         time(2),
                         applctrl(3),
                         other(4) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Flag to indicate that the transmit window is
             advanced with data, by time, under application
             control, or any other method."
    ::= { pgmSource 4 }

pgmSourceDefaultLateJoin OBJECT-TYPE
    SYNTAX     INTEGER { 
                  enable(1), 
                  disable(2) 
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Flag to indicate whether or not the sender will
             accept late joiners."
    ::= { pgmSource 5 }

pgmSourceDefaultTxwMaxRte OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Maximum transmit rate in bytes/second."
    ::= { pgmSource 6 }

pgmSourceDefaultTxwSecs OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Transmit window size in seconds."
    ::= { pgmSource 7 }

pgmSourceDefaultTxwAdvSecs OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Transmit window advance in seconds. This value
             should always be set to a value smaller than
             the pgmSourceTxwSecs."
    ::= { pgmSource 8 }

pgmSourceDefaultAdvIvl OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Advance interval in milliseconds. Always a
             valid parameter when advancing with time.
             Valid only in cases of absence of lost data
             when advancing with data."
    ::= { pgmSource 9 }

pgmSourceDefaultSpmIvl OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "SPM interval in milliseconds."
    ::= { pgmSource 10 }

pgmSourceDefaultSpmHeartBeatIvlMin OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "SPM heartbeat interval in milliseconds."
    ::= { pgmSource 11 }

pgmSourceDefaultSpmHeartBeatIvlMax OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Maximum SPM heartbeat interval in milliseconds."
    ::= { pgmSource 12 }

pgmSourceDefaultRdataBackoffIvl OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "RDATA backoff interval in milliseconds."
    ::= { pgmSource 13 }

pgmSourceDefaultFECProactiveParitySize OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Number of proactive parity messages per FEC
             block."
    ::= { pgmSource 14 }

pgmSourceDefaultGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The default IP Multicast group address 
             used by the sender."
    ::= { pgmSource 15 }

pgmSourceUpdateSinceLastSave OBJECT-TYPE
    SYNTAX     INTEGER
               {
                   notUpdated(1),
                   updated(2)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Specifies if any of the Source Default
             variables have been updated or not,
             since the last successful pgmSourceSaveDefaults.
             notUpdated - none of the default Source
                          variables were set after the last
                          successful save to a non-volatile
                          storage.
             updated - at least one of the default Source
                          variables were set after the last
                          successful save to a non-volatile
                          storage."
    ::= { pgmSource 16 }

-- PGM Source per TSI management information

pgmSourceTsi OBJECT IDENTIFIER ::= { pgmSource 100 }

pgmSourceNumberOfEntries OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of PGM Source sessions."
    ::= { pgmSourceTsi 1 }

-- PGM Source Fault Management Table

pgmSourceTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF PgmSourceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table holding per TSI fault
             management and general information
             related to PGM Source."
    ::= {pgmSourceTsi 2}

pgmSourceEntry OBJECT-TYPE
    SYNTAX     PgmSourceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Per PGM sender information."
    INDEX   { pgmSourceGlobalId,
              pgmSourceSourcePort }
    ::= { pgmSourceTable 1 }

PgmSourceEntry ::= SEQUENCE {
    pgmSourceGlobalId
        OCTET STRING,
    pgmSourceSourcePort
        Unsigned32,
    pgmSourceSourceAddress
        IpAddress,
    pgmSourceGroupAddress
        IpAddress,
    pgmSourceDestPort
        Unsigned32,
    pgmSourceSourceGsi
        OCTET STRING,
    pgmSourceSourcePortNumber
        Unsigned32
    }

pgmSourceGlobalId OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (12))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Globally unique session identifier (GSI)."
    ::= { pgmSourceEntry 1 }

pgmSourceSourcePort OBJECT-TYPE
    SYNTAX     Unsigned32(0..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Source port number."
    ::= { pgmSourceEntry 2 }

pgmSourceSourceAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Source IP address."
    ::= { pgmSourceEntry 3 }

pgmSourceGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "IP Multicast group address used by the
             sender."
    ::= { pgmSourceEntry 4 }

pgmSourceDestPort OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Destination port number."
    ::= { pgmSourceEntry 5 }

pgmSourceSourceGsi OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (12))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Globally unique session identifier (GSI)."
    ::= { pgmSourceEntry 6 }

pgmSourceSourcePortNumber OBJECT-TYPE
    SYNTAX     Unsigned32(0..65535)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Source port number."
    ::= { pgmSourceEntry 7 }


-- PGM Source Configuration Management Table

pgmSourceConfigTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF PgmSourceConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table holding per TSI 
             configuration information
             related to the PGM Source."
    ::= {pgmSourceTsi 3}

pgmSourceConfigEntry OBJECT-TYPE
    SYNTAX     PgmSourceConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Per PGM sender information."
    INDEX   { pgmSourceConfigGlobalId,
              pgmSourceConfigSourcePort }
    ::= { pgmSourceConfigTable 1 }

PgmSourceConfigEntry ::= SEQUENCE {
    pgmSourceConfigGlobalId
        OCTET STRING,
    pgmSourceConfigSourcePort
        Unsigned32,
    pgmSourceTtl
        Unsigned32,
    pgmSourceAdvMode
        INTEGER,
    pgmSourceLateJoin
        INTEGER,
    pgmSourceTxwMaxRte
        Unsigned32,
    pgmSourceTxwSecs
        Unsigned32,
    pgmSourceTxwAdvSecs
        Unsigned32,
    pgmSourceAdvIvl
        Unsigned32,
    pgmSourceSpmIvl
        Unsigned32,
    pgmSourceSpmHeartBeatIvlMin
        Unsigned32,
    pgmSourceSpmHeartBeatIvlMax
        Unsigned32,
    pgmSourceRdataBackoffIvl
        Unsigned32,
    pgmSourceFEC
        INTEGER,
    pgmSourceFECTransmissionGrpSize
        Unsigned32,
    pgmSourceFECProactiveParitySize
        Unsigned32,
    pgmSourceSpmPathAddress
        IpAddress
    }

pgmSourceConfigGlobalId OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (12))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Globally unique session identifier (GSI)."
    ::= { pgmSourceConfigEntry 1 }

pgmSourceConfigSourcePort OBJECT-TYPE
    SYNTAX     Unsigned32(0..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Source port number."
    ::= { pgmSourceConfigEntry 2 }

pgmSourceTtl OBJECT-TYPE
    SYNTAX     Unsigned32(1..255)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "TTL used by sender."
    ::= { pgmSourceConfigEntry 3 }

pgmSourceAdvMode OBJECT-TYPE
    SYNTAX     INTEGER { data(1), 
                         time(2),
                        applctrl(3),
                        other(4) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Flag to indicate that the transmit window is
             advanced with data, by time, under application
             control, or any other method."
    ::= { pgmSourceConfigEntry 4 }

pgmSourceLateJoin OBJECT-TYPE
    SYNTAX     INTEGER { 
                  enable(1), 
                  disable(2) 
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Flag to indicate whether or not the sender will
             accept late joiners."
    ::= { pgmSourceConfigEntry 5 }

pgmSourceTxwMaxRte OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Maximum transmit rate in bytes/second."
    ::= { pgmSourceConfigEntry 6 }

pgmSourceTxwSecs OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Transmit window size in seconds."
    ::= { pgmSourceConfigEntry 7 }

pgmSourceTxwAdvSecs OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Transmit window advance in seconds. This value
             should always be set to a value smaller than
             the pgmSourceTxwSecs."
    ::= { pgmSourceConfigEntry 8 }

pgmSourceAdvIvl OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Advance interval in milliseconds. Always a
             valid parameter when advancing with time.
             Valid only in cases of absence of lost data
             when advancing with data."
    ::= { pgmSourceConfigEntry 9 }

pgmSourceSpmIvl OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "SPM interval in milliseconds."
    ::= { pgmSourceConfigEntry 10 }

pgmSourceSpmHeartBeatIvlMin OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "SPM heartbeat interval in milliseconds."
    ::= { pgmSourceConfigEntry 11 }

pgmSourceSpmHeartBeatIvlMax OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Maximum SPM heartbeat interval in milliseconds."
    ::= { pgmSourceConfigEntry 12 }

pgmSourceRdataBackoffIvl OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "RDATA backoff interval in milliseconds."
    ::= { pgmSourceConfigEntry 13 }

pgmSourceFEC OBJECT-TYPE
    SYNTAX     INTEGER { disabled(1),
                         enabledFixedPacketSize(2),
                         enabledVariablePacketSize(3) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Flag to indicate whether or not FEC is enabled
             and whether it supports variable or fixed size
             messages."
    ::= { pgmSourceConfigEntry 14 }

pgmSourceFECTransmissionGrpSize OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "FEC transmission group size."
    ::= { pgmSourceConfigEntry 15 }

pgmSourceFECProactiveParitySize OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Number of proactive parity messages per FEC
             block."
    ::= { pgmSourceConfigEntry 16 }

pgmSourceSpmPathAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Ip Address for the NAKs to be sent,
             in case that NE is not set."
    ::= { pgmSourceConfigEntry 17 }

-- PGM Source Performance Management Table

pgmSourcePerformanceTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF PgmSourcePerformanceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table holding per TSI performance 
             information related to the PGM Source."
    ::= {pgmSourceTsi 4}

pgmSourcePerformanceEntry OBJECT-TYPE
    SYNTAX     PgmSourcePerformanceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Per PGM sender information."
    INDEX   { pgmSourcePerformanceGlobalId,
              pgmSourcePerformanceSourcePort }
    ::= { pgmSourcePerformanceTable 1 }

PgmSourcePerformanceEntry ::= SEQUENCE {
    pgmSourcePerformanceGlobalId
        OCTET STRING,
    pgmSourcePerformanceSourcePort
        Unsigned32,
    pgmSourceDataBytesSent
        Counter32,
    pgmSourceDataMsgsSent
        Counter32,
    pgmSourceBytesBuffered
        Counter32,
    pgmSourceMsgsBuffered
        Counter32,
    pgmSourceBytesRetransmitted
        Counter32,
    pgmSourceMsgsRetransmitted
        Counter32,
    pgmSourceBytesSent
        Counter32,
    pgmSourceRawNaksReceived
        Counter32,
    pgmSourceNaksIgnored
        Counter32,
    pgmSourceCksumErrors
        Counter32,
    pgmSourceMalformedNaks
        Counter32,
    pgmSourcePacketsDiscarded
        Counter32,
    pgmSourceNaksRcvd
        Counter32,
    pgmSourceParityBytesRetransmitted
        Counter32,
    pgmSourceSelectiveBytesRetransmited
	Counter32,
    pgmSourceParityMsgsRetransmitted
	Counter32,
    pgmSourceSelectiveMsgsRetransmitted
	Counter32,
    pgmSourceBytesAdmit
	Counter32,
    pgmSourceMsgsAdmit
	Counter32,
    pgmSourceParityNakPacketsReceived
	Counter32,
    pgmSourceSelectiveNakPacketsReceived
	Counter32,
    pgmSourceParityNaksReceived
	Counter32,
    pgmSourceSelectiveNaksReceived
	Counter32,
    pgmSourceParityNaksIgnored
	Counter32,
    pgmSourceSelectiveNaksIgnored
	Counter32,
    pgmSourceAckErrors
	Counter32,
    pgmSourcePgmCCAcker
	IpAddress,
    pgmSourceTransmissionCurrentRate
	Counter32,
    pgmSourceAckPacketsReceived
	Counter32,
    pgmSourceNNakPacketsReceived
	Counter32,
    pgmSourceParityNNakPacketsReceived
	Counter32,
    pgmSourceSelectiveNNakPacketsReceived
	Counter32,
    pgmSourceNNaksReceived
	Counter32,
    pgmSourceParityNNaksReceived
	Counter32,
    pgmSourceSelectiveNNaksReceived
	Counter32,
    pgmSourceNNakErrors
	Counter32
}

pgmSourcePerformanceGlobalId OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (12))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Globally unique source identifier (GSI)."
    ::= { pgmSourcePerformanceEntry 1 }

pgmSourcePerformanceSourcePort OBJECT-TYPE
    SYNTAX     Unsigned32(0..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Source port number."
    ::= { pgmSourcePerformanceEntry 2 }

pgmSourceDataBytesSent OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of data bytes sent for this TSI."
    ::= { pgmSourcePerformanceEntry 3 }

pgmSourceDataMsgsSent OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of data messages sent for this TSI."
    ::= { pgmSourcePerformanceEntry 4 }

pgmSourceBytesBuffered OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of bytes currently buffered for this 
             TSI."
    ::= { pgmSourcePerformanceEntry 5 }

pgmSourceMsgsBuffered OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of messages currently buffered for 
             this TSI."
    ::= { pgmSourcePerformanceEntry 6 }

pgmSourceBytesRetransmitted OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of bytes retransmitted for this TSI."
    ::= { pgmSourcePerformanceEntry 7 }

pgmSourceMsgsRetransmitted OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of messages retransmitted for this TSI."
    ::= { pgmSourcePerformanceEntry 8 }

pgmSourceBytesSent OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of bytes send for this TSI. Includes
             IP header and non-data messages."
    ::= { pgmSourcePerformanceEntry 9 }

pgmSourceRawNaksReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Raw number of NAK packets received."
    ::= { pgmSourcePerformanceEntry 10 }

pgmSourceNaksIgnored OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of ignored Naks for this TSI, due to
             duplicate NAKs reception."
    ::= { pgmSourcePerformanceEntry 11 }

pgmSourceCksumErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of checksum errors for this TSI."
    ::= { pgmSourcePerformanceEntry 12 }

pgmSourceMalformedNaks OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of malformed NAK packets."
    ::= { pgmSourcePerformanceEntry 13 }

pgmSourcePacketsDiscarded OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of discarded data packets. This counter
             is used to count all discarded incoming packets
             per TSI in cases of duplicates, header and
             packet errors, etc." 
    ::= { pgmSourcePerformanceEntry 14 }

pgmSourceNaksRcvd OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of Sequence Numbers NAKed."
    ::= { pgmSourcePerformanceEntry 15 }

pgmSourceParityBytesRetransmitted OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of bytes sent in parity retransmissions."
    ::= { pgmSourcePerformanceEntry 16 }

pgmSourceSelectiveBytesRetransmited OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of bytes sent in selective retransmissions."
    ::= { pgmSourcePerformanceEntry 17 }

pgmSourceParityMsgsRetransmitted OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of parity retransmissions sent."
    ::= { pgmSourcePerformanceEntry 18 }

pgmSourceSelectiveMsgsRetransmitted OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of selective retransmissions sent."
    ::= { pgmSourcePerformanceEntry 19 }

pgmSourceBytesAdmit OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of bytes currently in the rate controled
             admit queue. Includes IP header, UDP header if
             encapsulated, PGM header, and data."
    ::= { pgmSourcePerformanceEntry 20 }

pgmSourceMsgsAdmit OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of messages currently in the rate controled
             admit queue. Includes data messages, retransmissions,
             and SPMs."
    ::= { pgmSourcePerformanceEntry 21 }

pgmSourceParityNakPacketsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of parity NAK packets received."
    ::= { pgmSourcePerformanceEntry 22 }

pgmSourceSelectiveNakPacketsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of selective NAK packets received."
    ::= { pgmSourcePerformanceEntry 23 }

pgmSourceParityNaksReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual parity NAKs received."
    ::= { pgmSourcePerformanceEntry 24 }

pgmSourceSelectiveNaksReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual selective NAKs received."
    ::= { pgmSourcePerformanceEntry 25 }

pgmSourceParityNaksIgnored OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual parity NAKs ignored."
    ::= { pgmSourcePerformanceEntry 26 }

pgmSourceSelectiveNaksIgnored OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual selective NAKs ignored."
    ::= { pgmSourcePerformanceEntry 27 }

pgmSourceAckErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of ACK packets received with error in
             them, different than checksum error."
    ::= { pgmSourcePerformanceEntry 28 }

pgmSourcePgmCCAcker OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Ip Address of the currently designated pgm
             congestion control ACKER."
    ::= { pgmSourcePerformanceEntry 29 }

pgmSourceTransmissionCurrentRate OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Current transmission rate."
    ::= { pgmSourcePerformanceEntry 30 }

pgmSourceAckPacketsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of ACK packets received."
    ::= { pgmSourcePerformanceEntry 31 }

pgmSourceNNakPacketsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of Null NAKs received."
    ::= { pgmSourcePerformanceEntry 32 }

pgmSourceParityNNakPacketsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of parity Null NAK packets received."
    ::= { pgmSourcePerformanceEntry 33 }

pgmSourceSelectiveNNakPacketsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of selective Null NAK packets received."
    ::= { pgmSourcePerformanceEntry 34 }

pgmSourceNNaksReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual NAKs, received in Null
             NAK packets."
    ::= { pgmSourcePerformanceEntry 35 }

pgmSourceParityNNaksReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual parity NAKs, 
             received in Null NAK packets."
    ::= { pgmSourcePerformanceEntry 36 }

pgmSourceSelectiveNNaksReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual  NAKs, 
             received in Null NAK packets."
    ::= { pgmSourcePerformanceEntry 37 }

pgmSourceNNakErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of Null NAK packets received that contain
             error, different than checksum error."
    ::= { pgmSourcePerformanceEntry 38 }

--
-- PGM Receiver 
--

-- PGM Receiver general management information

pgmReceiverSaveDefaults OBJECT-TYPE
    SYNTAX     INTEGER { initial (1),
                         save (2), 
                         pending (3),
                         success (4),
                         failure (5) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Flag used to initiate the storing 
             of all default variable values to 
             non-volatile storage and to report the 
             result of the operation.
             The following values can only be read,
             never written :
             initial(1) - returned prior to any requests
             for saving the default configuration
             pending(3) - saving in progress
             success(4) - returned when a save(2) request
             is successful
             failure(5) - returned when a save(2) request
             is unsuccessful

             The following values can only be written,
             never read :
             save(2) - to indicate that the default
             configuration should be saved."
    ::= { pgmReceiver 1 }

pgmReceiverLastUpdateTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of TimeTicks since the last update
             of the non-volatile storage." 
    ::= { pgmReceiver 2 }

pgmReceiverDefaultNakBackoffIvl OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "NAK random backoff interval."
    ::= { pgmReceiver 3 }

pgmReceiverDefaultNakRepeatIvl OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "NAK repeat interval."
    ::= { pgmReceiver 4 }

pgmReceiverDefaultNakNcfRetries OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Max NAK retries while witing for matching NCF."
    ::= { pgmReceiver 5 }

pgmReceiverDefaultNakRdataIvl OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Default NAK RDATA interval, i.e the amount of
             time to cease NAKs for a particular piece of
             data after a corresponding NCF has been received."
    ::= { pgmReceiver 6 }

pgmReceiverDefaultNakDataRetries OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Max NAK retries while waiting for missing data."
    ::= { pgmReceiver 7 }

pgmReceiverDefaultSendNaks OBJECT-TYPE
    SYNTAX     INTEGER { 
                        enabled(1), 
                        disabled(2) 
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Flag to indicate whether or not receiver should
             send NAKs or be totally passive."
    ::= { pgmReceiver 8 }

pgmReceiverDefaultLateJoin OBJECT-TYPE
    SYNTAX     INTEGER { 
                        enabled(1), 
                        disabled(2) 
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Flag to indicate whether or not the receiver
             should wait for a OPT_JOIN SPM before 
             attempting to late join."
    ::= { pgmReceiver 9 }

pgmReceiverDefaultNakTtl OBJECT-TYPE
    SYNTAX     Unsigned32(1..255)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "TTL on NAK packets sent for loss."
    ::= { pgmReceiver 10 }

pgmReceiverDefaultDeliveryOrder OBJECT-TYPE
    SYNTAX     INTEGER {
                        unordered(1),
                        ordered(2)
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Packet Delivery Order for the receiving 
             application."
    ::= { pgmReceiver 11 }

pgmReceiverDefaultNextPgmHop OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Next hop PGM router address. This option
             sets the default address to send NAKs to,
             instead of sending to the last hop address." 
    ::= { pgmReceiver 12 }

pgmReceiverDefaultGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Default IP Multicast group address 
             used by the sender."
    ::= { pgmReceiver 13 }

pgmReceiverUpdateSinceLastSave OBJECT-TYPE
    SYNTAX     INTEGER
               {
                   notUpdated(1),
                   updated(2)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Specifies if any of the Receiver Default
             variables have been updated or not,
             since the last successful pgmSourceSaveDefaults.
             notUpdated - none of the default Receiver
                          variables were set after the last
                          successful save to a non-volatile
                          storage.
             updated - at least one of the default Receiver
                          variables were set after the last
                          successful save to a non-volatile
                          storage."
    ::= { pgmReceiver 14 }

pgmReceiverDefaultNakFailureThresholdTimer OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Timer that defines the default 
             interval of time during which unrecoverable
             lost packets are monitored
             for purposes of SNMP trap generation."
    ::= { pgmReceiver 15 }

pgmReceiverDefaultNakFailureThreshold OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The default number of unrecoverable 
             lost packets within the defined interval
             after which an SNMP trap is generated."
    ::= { pgmReceiver 16 }


-- PGM Receiver per Receiver management information

pgmReceiverTsi OBJECT IDENTIFIER ::= { pgmReceiver 100 }

pgmReceiverNumberOfEntries OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of PGM Receivers."
    ::= { pgmReceiverTsi 1 }

-- PGM Receiver Fault Management Table

pgmReceiverTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF PgmReceiverEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table holding per TSI fault 
             management and general information 
             related to the PGM Receiver."
    ::= {pgmReceiverTsi 2}

pgmReceiverEntry OBJECT-TYPE
    SYNTAX     PgmReceiverEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Per PGM receiver fault management
             and general information."
    INDEX   { pgmReceiverGlobalId,
              pgmReceiverSourcePort,
              pgmReceiverInstance }
    ::= { pgmReceiverTable 1 }

PgmReceiverEntry ::= SEQUENCE {
    pgmReceiverGlobalId
        OCTET STRING,
    pgmReceiverSourcePort
        Unsigned32,
    pgmReceiverInstance
        Unsigned32,
    pgmReceiverGroupAddress
        IpAddress,
    pgmReceiverDestPort
        Unsigned32,
    pgmReceiverSourceAddress
        IpAddress,
    pgmReceiverLastHop
        IpAddress,
    pgmReceiverSourceGsi
        OCTET STRING,
    pgmReceiverSourcePortNumber
        Unsigned32,
    pgmReceiverUniqueInstance
        Unsigned32
    }

pgmReceiverGlobalId OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (12))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Globally unique source identifier (GSI)."
    ::= { pgmReceiverEntry 1 }

pgmReceiverSourcePort OBJECT-TYPE
    SYNTAX     Unsigned32(0..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Source port number."
    ::= { pgmReceiverEntry 2 }

pgmReceiverInstance OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Positive number, uniquely identifying 
             a Receiver."
    ::= { pgmReceiverEntry 3 }

pgmReceiverGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "IP Multicast group address used by the sender."
    ::= { pgmReceiverEntry 4 }

pgmReceiverDestPort OBJECT-TYPE
    SYNTAX     Unsigned32(0..65535)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Destination port number."
    ::= { pgmReceiverEntry 5 }

pgmReceiverSourceAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Source IP address number."
    ::= { pgmReceiverEntry 6 }

pgmReceiverLastHop OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Last hop PGM router address."
    ::= { pgmReceiverEntry 7 }

pgmReceiverSourceGsi OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (12))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Globally unique source identifier (GSI)."
    ::= { pgmReceiverEntry 8 }

pgmReceiverSourcePortNumber OBJECT-TYPE
    SYNTAX     Unsigned32(0..65535)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Source port number."
    ::= { pgmReceiverEntry 9 }

pgmReceiverUniqueInstance OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Positive number, uniquely identifying 
             a Receiver."
    ::= { pgmReceiverEntry 10 }

-- PGM Receiver Configuration Management Table

pgmReceiverConfigTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF PgmReceiverConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table holding per TSI configuration 
             management information related 
             to the PGM Receiver."
    ::= {pgmReceiverTsi 3 }

pgmReceiverConfigEntry OBJECT-TYPE
    SYNTAX     PgmReceiverConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Per PGM receiver configuration management
             information."
    INDEX   { pgmReceiverConfigGlobalId,
              pgmReceiverConfigSourcePort,
              pgmReceiverConfigInstance }
    ::= { pgmReceiverConfigTable 1 }

PgmReceiverConfigEntry ::= SEQUENCE {
    pgmReceiverConfigGlobalId
        OCTET STRING,
    pgmReceiverConfigSourcePort
        Unsigned32,
    pgmReceiverConfigInstance
        Unsigned32,
    pgmReceiverNakBackoffIvl
        Unsigned32,
    pgmReceiverNakRepeatIvl
        Unsigned32,
    pgmReceiverNakNcfRetries
        Unsigned32,
    pgmReceiverNakRdataIvl
        Unsigned32,
    pgmReceiverNakDataRetries
        Unsigned32,
    pgmReceiverSendNaks
        INTEGER,
    pgmReceiverLateJoin
        INTEGER,
    pgmReceiverNakTtl
        Unsigned32,
    pgmReceiverDeliveryOrder
        INTEGER,
    pgmReceiverMcastNaks
        INTEGER,
    pgmReceiverNakFailureThresholdTimer
        Unsigned32,
    pgmReceiverNakFailureThreshold
        Unsigned32
    }

pgmReceiverConfigGlobalId OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (12))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Globally unique source identifier (GSI)."
    ::= { pgmReceiverConfigEntry 1 }

pgmReceiverConfigSourcePort OBJECT-TYPE
    SYNTAX     Unsigned32(0..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Source port number."
    ::= { pgmReceiverConfigEntry 2 }

pgmReceiverConfigInstance OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Positive number, uniquely identifying 
             a Receiver."
    ::= { pgmReceiverConfigEntry 3 }

pgmReceiverNakBackoffIvl OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "NAK random backoff interval."
    ::= { pgmReceiverConfigEntry 4 }

pgmReceiverNakRepeatIvl OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "NAK repeat interval."
    ::= { pgmReceiverConfigEntry 5 }

pgmReceiverNakNcfRetries OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Max NAK retries while witing for matching NCF."
    ::= { pgmReceiverConfigEntry 6 }

pgmReceiverNakRdataIvl OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "NAK RDATA interval."
    ::= { pgmReceiverConfigEntry 7 }

pgmReceiverNakDataRetries OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Max NAK retries while waiting for missing data."
    ::= { pgmReceiverConfigEntry 8 }

pgmReceiverSendNaks OBJECT-TYPE
    SYNTAX     INTEGER { 
                        enabled(1), 
                        disabled(2) 
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Flag to indicate whether or not receiver should
             send NAKs or be totally passive."
    ::= { pgmReceiverConfigEntry 9 }

pgmReceiverLateJoin OBJECT-TYPE
    SYNTAX     INTEGER { 
                        enabled(1), 
                        disabled(2) 
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Flag to indicate whether or not the receiver
             should wait for a OPT_JOIN SPM before 
             attempting to late join."
    ::= { pgmReceiverConfigEntry 10 }

pgmReceiverNakTtl OBJECT-TYPE
    SYNTAX     Unsigned32(1..255)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "TTL on NAK packets sent for loss."
    ::= { pgmReceiverConfigEntry 11 }

pgmReceiverDeliveryOrder OBJECT-TYPE
    SYNTAX     INTEGER {
                        unordered(1),
                        ordered(2)
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Packet Delivery Order for the receiving 
             application."
    ::= { pgmReceiverConfigEntry 12 }

pgmReceiverMcastNaks OBJECT-TYPE
    SYNTAX     INTEGER { 
                        enabled(1), 
                        disabled(2) 
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Flag to indicate whether or not receiver should
             send multicast NAKs."
    ::= { pgmReceiverConfigEntry 13 }

pgmReceiverNakFailureThresholdTimer OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Timer that defines per receiver
             interval of time during which unrecoverable
             lost packets are monitored
             for purposes of SNMP trap generation."
    ::= { pgmReceiverConfigEntry 14 }

pgmReceiverNakFailureThreshold OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The number of unrecoverable lost packets 
             within the defined interval
             after which an SNMP trap is generated."
    ::= { pgmReceiverConfigEntry 15 }


-- PGM Receiver Performance Management Table

pgmReceiverPerformanceTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF PgmReceiverPerformanceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table holding per TSI
             performance management information 
             related to the PGM Receiver."
    ::= {pgmReceiverTsi 4}

pgmReceiverPerformanceEntry OBJECT-TYPE
    SYNTAX     PgmReceiverPerformanceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Per PGM Receiver session performance 
             management information."
    INDEX   { pgmReceiverPerformanceGlobalId,
              pgmReceiverPerformanceSourcePort,
              pgmReceiverPerformanceInstance }
    ::= { pgmReceiverPerformanceTable 1 }

PgmReceiverPerformanceEntry ::= SEQUENCE {
    pgmReceiverPerformanceGlobalId
        OCTET STRING,
    pgmReceiverPerformanceSourcePort
        Unsigned32,
    pgmReceiverPerformanceInstance
        Unsigned32,
    pgmReceiverDataBytesReceived
        Counter32,
    pgmReceiverDataMsgsReceived
        Counter32,
    pgmReceiverNaksSent
        Counter32,
    pgmReceiverNaksRetransmitted
        Counter32,
    pgmReceiverNakFailures
        Counter32,
    pgmReceiverBytesReceived
        Counter32,
    pgmReceiverNaksSuppressed
        Counter32,
    pgmReceiverCksumErrors
        Counter32,
    pgmReceiverMalformedSpms
        Counter32,
    pgmReceiverMalformedOdata
        Counter32,
    pgmReceiverMalformedRdata
        Counter32,
    pgmReceiverMalformedNcfs
        Counter32,
    pgmReceiverPacketsDiscarded
        Counter32,
    pgmReceiverLosses
        Counter32,
    pgmReceiverBytesDeliveredToApp
        Counter32,
    pgmReceiverMsgsDeliveredToApp
        Counter32,
    pgmReceiverDupSpms
        Counter32,
    pgmReceiverDupDatas
        Counter32,
    pgmReceiverDupParities
        Counter32,
    pgmReceiverNakPacketsSent
        Counter32,
    pgmReceiverParityNakPacketsSent
        Counter32,
    pgmReceiverSelectiveNakPacketsSent
        Counter32,
    pgmReceiverParityNaksSent
        Counter32,
    pgmReceiverSelectiveNaksSent
        Counter32,
    pgmReceiverParityNaksRetransmitted
        Counter32,
    pgmReceiverSelectiveNaksRetransmitted
        Counter32,
    pgmReceiverNaksFailed
        Counter32,
    pgmReceiverParityNaksFailed
        Counter32,
    pgmReceiverSelectiveNaksFailed
        Counter32,
    pgmReceiverNaksFailedRxwAdvanced
        Counter32,
    pgmReceiverNaksFaledNcfRetriesExceeded
        Counter32,
    pgmReceiverNaksFailedDataRetriesExceeded
        Counter32,
    pgmReceiverNaksFailedGenExpired
        Counter32,
    pgmReceiverNakFailuresDelivered
        Counter32,
    pgmReceiverParityNaksSuppressed
        Counter32,
    pgmReceiverSelectiveNaksSuppressed
        Counter32,
    pgmReceiverNakErrors
        Counter32,
    pgmReceiverOutstandingParityNaks
        Counter32,
    pgmReceiverOutstandingSelectiveNaks
        Counter32,
    pgmReceiverLastActivity
        Counter32,
    pgmReceiverNakSvcTimeMin
        Counter32,
    pgmReceiverNakSvcTimeMean
        Counter32,
    pgmReceiverNakSvcTimeMax
        Counter32,
    pgmReceiverNakFailTimeMin
        Counter32,
    pgmReceiverNakFailTimeMean
        Counter32,
    pgmReceiverNakFailTimeMax
        Counter32,
    pgmReceiverNakTransmitMin
        Counter32,
    pgmReceiverNakTransmitMean
        Counter32,
    pgmReceiverNakTransmitMax
        Counter32,
    pgmReceiverAcksSent
        Counter32,
    pgmReceiverRxwTrail
        Counter32,
    pgmReceiverRxwLead
        Counter32,
    pgmReceiverNakFailuresLastInterval
        Counter32,
    pgmReceiverLastIntervalNakFailures
        Counter32
}

pgmReceiverPerformanceGlobalId OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (12))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Globally unique source identifier (GSI)."
    ::= { pgmReceiverPerformanceEntry 1 }

pgmReceiverPerformanceSourcePort OBJECT-TYPE
    SYNTAX     Unsigned32(0..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Source port number."
    ::= { pgmReceiverPerformanceEntry 2 }

pgmReceiverPerformanceInstance OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Positive number, uniquely identifying 
             a Receiver."
    ::= { pgmReceiverPerformanceEntry 3 }

pgmReceiverDataBytesReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of data bytes received for this PGM
             Receiver session."
    ::= { pgmReceiverPerformanceEntry 4 }

pgmReceiverDataMsgsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of data messages received for this
             PGM Receiver session."
    ::= { pgmReceiverPerformanceEntry 5 }

pgmReceiverNaksSent OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NAKs sent for this session."
    ::= { pgmReceiverPerformanceEntry 6 }

pgmReceiverNaksRetransmitted OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NAKs retransmitted for this 
             session."
    ::= { pgmReceiverPerformanceEntry 7 }

pgmReceiverNakFailures OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NAK failures for this session.
             This counter represents the number of
             unrecoverable/unrepairable data packets."
    ::= { pgmReceiverPerformanceEntry 8 }

pgmReceiverBytesReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of bytes received for this session.
             It counts all bytes received, including IP 
             and PGM header and non-data messages."
    ::= { pgmReceiverPerformanceEntry 9 }

pgmReceiverNaksSuppressed OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of suppressed NAKs."
    ::= { pgmReceiverPerformanceEntry 10 }

pgmReceiverCksumErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of checksum errors for this session."
    ::= { pgmReceiverPerformanceEntry 11 }

pgmReceiverMalformedSpms OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of malformed SPMs for this session."
    ::= { pgmReceiverPerformanceEntry 12 }

pgmReceiverMalformedOdata OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of malformed ODATA packets for this
             session."
    ::= { pgmReceiverPerformanceEntry 13 }

pgmReceiverMalformedRdata OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of malformed RDATA packets for this
             session."
    ::= { pgmReceiverPerformanceEntry 14 }

pgmReceiverMalformedNcfs OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of malformed NCF packets for this
             session."
    ::= { pgmReceiverPerformanceEntry 15 }

pgmReceiverPacketsDiscarded OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of discarded packets for this
             session."
    ::= { pgmReceiverPerformanceEntry 16 }

pgmReceiverLosses OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of detected missed packets for 
             this session. This counter is incremented
             every time a Receiver detects a missing 
             packet."
    ::= { pgmReceiverPerformanceEntry 17 }

pgmReceiverBytesDeliveredToApp OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of bytes, delivered to the
             application."
    ::= { pgmReceiverPerformanceEntry 18 }

pgmReceiverMsgsDeliveredToApp OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of messages, delivered to the
             application."
    ::= { pgmReceiverPerformanceEntry 19 }

pgmReceiverDupSpms OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of duplicate SPMs."
    ::= { pgmReceiverPerformanceEntry 20 }

pgmReceiverDupDatas OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of duplicate RDATA/ODATA."
    ::= { pgmReceiverPerformanceEntry 21 }

pgmReceiverDupParities OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of duplicate parities seen."
    ::= { pgmReceiverPerformanceEntry 22 }

pgmReceiverNakPacketsSent OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NAK packets sent.
             Includes parity and selective."
    ::= { pgmReceiverPerformanceEntry 23 }

pgmReceiverParityNakPacketsSent OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of parity NAK packets sent."
    ::= { pgmReceiverPerformanceEntry 24 }

pgmReceiverSelectiveNakPacketsSent OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of selective NAK packets sent."
    ::= { pgmReceiverPerformanceEntry 25 }

pgmReceiverParityNaksSent OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual parity NAK packets sent."
    ::= { pgmReceiverPerformanceEntry 26 }

pgmReceiverSelectiveNaksSent OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual selective NAK packets sent."
    ::= { pgmReceiverPerformanceEntry 27 }

pgmReceiverParityNaksRetransmitted OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual parity NAKs retransmitted."
    ::= { pgmReceiverPerformanceEntry 28 }

pgmReceiverSelectiveNaksRetransmitted OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual selective NAKs retransmitted."
    ::= { pgmReceiverPerformanceEntry 29 }

pgmReceiverNaksFailed OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual NAKs that failed."
    ::= { pgmReceiverPerformanceEntry 30 }

pgmReceiverParityNaksFailed OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual parity NAKs that failed."
    ::= { pgmReceiverPerformanceEntry 31 }

pgmReceiverSelectiveNaksFailed OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual selective NAKs that failed."
    ::= { pgmReceiverPerformanceEntry 32 }

pgmReceiverNaksFailedRxwAdvanced OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual NAKs that failed, due to the
             window being advanced over them."
    ::= { pgmReceiverPerformanceEntry 33 }

pgmReceiverNaksFaledNcfRetriesExceeded OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual NAKs that failed, due to ncf
             retry limit exceeded."
    ::= { pgmReceiverPerformanceEntry 34 }

pgmReceiverNaksFailedDataRetriesExceeded OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual NAKs that failed, due to data 
             retry limit exceeded."
    ::= { pgmReceiverPerformanceEntry 35 }

pgmReceiverNaksFailedGenExpired OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual NAKs that failed, due to NAK
             generation interval expiring before it 
             could be repaired."
    ::= { pgmReceiverPerformanceEntry 36 }

pgmReceiverNakFailuresDelivered OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NAK failures delivered to application."
    ::= { pgmReceiverPerformanceEntry 37 }

pgmReceiverParityNaksSuppressed OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual parity NAKs that were
             suppressed from being sent due to reception
             of an NCF or ODATA/RDATA for the loss."
    ::= { pgmReceiverPerformanceEntry 38 }

pgmReceiverSelectiveNaksSuppressed OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual selective NAKs that were
             suppressed from being sent due to reception
             of an NCF or ODATA/RDATA for the loss."
    ::= { pgmReceiverPerformanceEntry 39 }

pgmReceiverNakErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NAK packets, that contained
             errors in them."
    ::= { pgmReceiverPerformanceEntry 40 }

pgmReceiverOutstandingParityNaks OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Current number of outstanding individual parity 
             NAKs that are waiting to be repaired."
    ::= { pgmReceiverPerformanceEntry 41 }

pgmReceiverOutstandingSelectiveNaks OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Current number of outstanding individual selective
             NAKs that are waiting to be repaired."
    ::= { pgmReceiverPerformanceEntry 42 }

pgmReceiverLastActivity OBJECT-TYPE
    SYNTAX  Counter32  
    UNITS      "seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Last time activity was observed from
             the Source. In seconds since the epoch,
             January 1, 1970."
    ::= { pgmReceiverPerformanceEntry 43 }

pgmReceiverNakSvcTimeMin OBJECT-TYPE
    SYNTAX     Counter32
    UNITS      "miliseconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The min time that it took for a loss
             to be repaired."
    ::= { pgmReceiverPerformanceEntry 44 }

pgmReceiverNakSvcTimeMean OBJECT-TYPE
    SYNTAX     Counter32
    UNITS      "miliseconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The mean time that it took for all losses
             to be repaired."
    ::= { pgmReceiverPerformanceEntry 45 }

pgmReceiverNakSvcTimeMax OBJECT-TYPE
    SYNTAX     Counter32
    UNITS      "miliseconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The max time that it took for a loss
             to be repaired."
    ::= { pgmReceiverPerformanceEntry 46 }

pgmReceiverNakFailTimeMin OBJECT-TYPE
    SYNTAX     Counter32
    UNITS      "miliseconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The min time it took for a loss
             to be considered unrecoverable."
    ::= { pgmReceiverPerformanceEntry 47 }

pgmReceiverNakFailTimeMean OBJECT-TYPE
    SYNTAX     Counter32
    UNITS      "miliseconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The mean time it took for all losses
            to be considered unrecoverable."
    ::= { pgmReceiverPerformanceEntry 48 }

pgmReceiverNakFailTimeMax OBJECT-TYPE
    SYNTAX     Counter32
    UNITS      "miliseconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The max time it took for a loss
             to be considered unrecoverable."
    ::= { pgmReceiverPerformanceEntry 49 }

pgmReceiverNakTransmitMin OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The min number of times an individual NAK
             needed to be retransmitted before it was repaired."
    ::= { pgmReceiverPerformanceEntry 50 }

pgmReceiverNakTransmitMean OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The mean number of times an individual NAK
             needed to be retransmitted before it was repaired."
    ::= { pgmReceiverPerformanceEntry 51 }

pgmReceiverNakTransmitMax OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The max number of times an individual NAK
             needed to be retransmitted before it was repaired."
    ::= { pgmReceiverPerformanceEntry 52 }

pgmReceiverAcksSent OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of ACKs sent from the congestion
             control operation."
    ::= { pgmReceiverPerformanceEntry 53 }

pgmReceiverRxwTrail OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Sequence number of the trailing edge of 
             the transmission window as is being advertised
             by the sender."
    ::= { pgmReceiverPerformanceEntry 54 }

pgmReceiverRxwLead OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Sequence number of the leading edge of 
             the transmission window as is being advertised
             by the sender."
    ::= { pgmReceiverPerformanceEntry 55 }

pgmReceiverNakFailuresLastInterval OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The actual number of seconds since the
             last pgmReceiverLastIntervalNakFailures
             counter reset due to number of nak failures 
             threshold exceeded."
    ::= { pgmReceiverPerformanceEntry 56 }

pgmReceiverLastIntervalNakFailures OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of actual unrecoverable failures for 
             the requested threshold interval for this session."
    ::= { pgmReceiverPerformanceEntry 57 }

--
-- Designated Local Repairer (DLR) 
--

-- Designated Local Repairer (DLR) Default Configuration

pgmDlrSaveDefaults OBJECT-TYPE
    SYNTAX     INTEGER { initial (1),
                         save (2), 
                         pending (3),
                         success (4),
                         failure (5) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Flag used to initiate the storing 
             of all default variable values to 
             non-volatile storage and to report the 
             result of the operation.
             The following values can only be read,
             never written :
             initial(1) - returned prior to any requests
             for saving the default configuration
             pending(3) - saving in progress
             success(4) - returned when a save(2) request
             is successful
             failure(5) - returned when a save(2) request
             is unsuccessful

             The following values can only be written,
             never read :
             save(2) - to indicate that the default
             configuration should be saved."
    ::= { pgmDLR 1 }

pgmDlrLastUpdateTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of TimeTicks since the last update
             of the non-volatile storage." 
    ::= { pgmDLR 2 }

pgmDlrGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Multicast group address to listen for traffic
             on."
    ::= { pgmDLR 3 }

pgmDlrCacheRtx OBJECT-TYPE
    SYNTAX     INTEGER
               {
                   cacheOFF(1),
                   cacheON(2)
               } 
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Specifies if the NE should also cache data for
             retransmission or simply suppress duplicate 
             NAKs and forward the NAKs to it's parent NE or
             sender."  
    ::= { pgmDLR 4 }

pgmDlrActivityIvl OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Specifies the delay between activity checks
             for specific PGM sessions."
    ::= { pgmDLR 5 }

pgmDlrMaxRate OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Specifies the maximum rate (in bps) for
             retransmissions."
    ::= { pgmDLR 6 }

pgmDlrParentNeAddr OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Ip Address of the NE to send all NAKs to."
    ::= { pgmDLR 7 }

pgmDlrUpdateSinceLastSave OBJECT-TYPE
    SYNTAX     INTEGER
               {
                   notUpdated(1),
                   updated(2)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Specifies if any of the Dlr Default
             variables have been updated or not,
             since the last successful pgmDlrSaveDefaults.
             notUpdated - none of the default Dlr
                          variables were set after the last
                          successful save to a non-volatile
                          storage.
             updated - at least one of the default Dlr
                          variables were set after the last
                          successful save to a non-volatile
                          storage."
    ::= { pgmDLR 8 }


--
-- PGM DLR Source/Re-transmitter Sessions
--
pgmDlrSource OBJECT IDENTIFIER ::= { pgmDLR 100 }

pgmDlrSourceNumberOfEntries OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of PGM Source sessions for
             the PGM DLR."
    ::= { pgmDlrSource 1 }

-- PGM Dlr Source Fault Management Table

pgmDlrSourceTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF PgmDlrSourceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table holding per TSI fault 
             management and general information 
             related to the PGM DLR Source sessions."
    ::= {pgmDlrSource 2}

pgmDlrSourceEntry OBJECT-TYPE
    SYNTAX     PgmDlrSourceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Per PGM DLR Source sessions fault 
             management information."
    INDEX   { pgmDlrSourceGlobalId,
              pgmDlrSourceSourcePort }
    ::= { pgmDlrSourceTable 1 }

PgmDlrSourceEntry ::= SEQUENCE {
    pgmDlrSourceGlobalId
        OCTET STRING,
    pgmDlrSourceSourcePort
        Unsigned32,
    pgmDlrSourceGroupAddress
        IpAddress,
    pgmDlrSourceSourceGsi
        OCTET STRING,
    pgmDlrSourceSourcePortNumber
        Unsigned32
    }

pgmDlrSourceGlobalId OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (12))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Globally unique source identifier (GSI)."
    ::= { pgmDlrSourceEntry 1 }

pgmDlrSourceSourcePort OBJECT-TYPE
    SYNTAX     Unsigned32(0..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Source port number."
    ::= { pgmDlrSourceEntry 2 }

pgmDlrSourceGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Multicast group interface address 
             to send multicast packets on."
    ::= { pgmDlrSourceEntry 3 }

pgmDlrSourceSourceGsi OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (12))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Globally unique source identifier (GSI)."
    ::= { pgmDlrSourceEntry 4 }

pgmDlrSourceSourcePortNumber OBJECT-TYPE
    SYNTAX     Unsigned32(0..65535)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Source port number."
    ::= { pgmDlrSourceEntry 5 }

-- PGM DLR Source Configuration Management Table

pgmDlrSourceConfigTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF PgmDlrSourceConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table holding per TSI configuration 
             management information related to the 
             PGM DLR Source sessions."
    ::= {pgmDlrSource 3}

pgmDlrSourceConfigEntry OBJECT-TYPE
    SYNTAX     PgmDlrSourceConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Per PGM DLR Source sessions configuration 
             management information."
    INDEX   { pgmDlrSourceConfigGlobalId,
              pgmDlrSourceConfigSourcePort }
    ::= { pgmDlrSourceConfigTable 1 }

PgmDlrSourceConfigEntry ::= SEQUENCE {
    pgmDlrSourceConfigGlobalId
        OCTET STRING,
    pgmDlrSourceConfigSourcePort
        Unsigned32,
    pgmDlrSourceGroupTtl
        Unsigned32,
    pgmDlrSourceRdataBackoffIvl
        Unsigned32
    }

pgmDlrSourceConfigGlobalId OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (12))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Globally unique source identifier (GSI)."
    ::= { pgmDlrSourceConfigEntry 1 }

pgmDlrSourceConfigSourcePort OBJECT-TYPE
    SYNTAX     Unsigned32(0..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Source port number."
    ::= { pgmDlrSourceConfigEntry 2 }

pgmDlrSourceGroupTtl OBJECT-TYPE
    SYNTAX     Unsigned32(1..255)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "This option sets the default TTL to use for
             multicast packets. "
    ::= { pgmDlrSourceConfigEntry 3 }

pgmDlrSourceRdataBackoffIvl OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "milliseconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "This option sets the default RDATA backoff
             interval. The value is expressed in milliseconds.
             The  value of 0 indicates no backoff."
    ::= { pgmDlrSourceConfigEntry 4 }


-- PGM DLR Source Performance Management Table

pgmDlrSourcePerformanceTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF PgmDlrSourcePerformanceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table holding per TSI performance 
             management information related to the 
             PGM DLR Source sessions."
    ::= {pgmDlrSource 4}

pgmDlrSourcePerformanceEntry OBJECT-TYPE
    SYNTAX     PgmDlrSourcePerformanceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Per PGM DLR Source performance management
             information."
    INDEX   { pgmDlrSourcePerformanceGlobalId,
              pgmDlrSourcePerformanceSourcePort }
    ::= { pgmDlrSourcePerformanceTable 1 }

PgmDlrSourcePerformanceEntry ::= SEQUENCE {
    pgmDlrSourcePerformanceGlobalId
        OCTET STRING,
    pgmDlrSourcePerformanceSourcePort
        Unsigned32,
    pgmDlrSourceRdataMsgsSent
       Counter32,
    pgmDlrSourceRdataBytesSent
       Counter32,
    pgmDlrSourceBytesSent
       Counter32,
    pgmDlrSourceNaksRcvd
       Counter32,
    pgmDlrSourceNaksIgnored
       Counter32,
    pgmDlrSourceNakErrors
       Counter32,
    pgmDlrSourceDiscards
        Counter32,
    pgmDlrSourceCksumErrors
       Counter32,
    pgmDlrSourceNNaksSent
        Counter32,
    pgmDlrSourceBytesBuffered
        Counter32,
    pgmDlrSourceMsgsBuffered
        Counter32,
    pgmDlrSourceParityBytesRetransmitted
        Counter32,
    pgmDlrSourceSelectiveBytesRetransmited
	Counter32,
    pgmDlrSourceParityMsgsRetransmitted
	Counter32,
    pgmDlrSourceSelectiveMsgsRetransmitted
	Counter32,
    pgmDlrSourceBytesAdmit
	Counter32,
    pgmDlrSourceMsgsAdmit
	Counter32,
    pgmDlrSourceNakPacketsReceived
        Counter32,
    pgmDlrSourceParityNakPacketsReceived
	Counter32,
    pgmDlrSourceSelectiveNakPacketsReceived
	Counter32,
    pgmDlrSourceParityNaksReceived
	Counter32,
    pgmDlrSourceSelectiveNaksReceived
	Counter32,
    pgmDlrSourceParityNaksIgnored
	Counter32,
    pgmDlrSourceSelectiveNaksIgnored
	Counter32,
    pgmDlrSourceAckErrors
	Counter32,
    pgmDlrSourceNNakErrors
	Counter32,
    pgmDlrSourceAckPacketsReceived
	Counter32,
    pgmDlrSourceNNakPacketsReceived
	Counter32,
    pgmDlrSourceParityNNakPacketsReceived
	Counter32,
    pgmDlrSourceSelectiveNNakPacketsReceived
	Counter32,
    pgmDlrSourceNNaksReceived
	Counter32,
    pgmDlrSourceParityNNaksReceived
	Counter32,
    pgmDlrSourceSelectiveNNaksReceived
	Counter32
    }

pgmDlrSourcePerformanceGlobalId OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (12))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Globally unique source identifier (GSI)."
    ::= { pgmDlrSourcePerformanceEntry 1 }

pgmDlrSourcePerformanceSourcePort OBJECT-TYPE
    SYNTAX     Unsigned32(0..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "Source port number."
    ::= { pgmDlrSourcePerformanceEntry 2 }

pgmDlrSourceRdataMsgsSent OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of Repair Data (RDATA) packets sent for
             this PGM DLR."
    ::= { pgmDlrSourcePerformanceEntry 3 }

pgmDlrSourceRdataBytesSent OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of RDATA bytes sent."
    ::= { pgmDlrSourcePerformanceEntry 4 }

pgmDlrSourceBytesSent OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of bytes sent. This includes IP and
             PGM header and non-data msgs."
    ::= { pgmDlrSourcePerformanceEntry 5 }

pgmDlrSourceNaksRcvd OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NAKs received on this TSI."
    ::= { pgmDlrSourcePerformanceEntry 6 }

pgmDlrSourceNaksIgnored OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NAKs ignored on this TSI, due to
             duplicates."
    ::= { pgmDlrSourcePerformanceEntry 7 }

pgmDlrSourceNakErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of malformed NAKs on this TSI."
    ::= { pgmDlrSourcePerformanceEntry 8 }

pgmDlrSourceDiscards OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of discarded packets on this TSI.
             This counter is used to count all discarded
             incoming packets per TSI in cases of 
             duplicates, header and packet errors, etc." 
    ::= { pgmDlrSourcePerformanceEntry 9 }

pgmDlrSourceCksumErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of checksum errors on this TSI."
    ::= { pgmDlrSourcePerformanceEntry 10 }

pgmDlrSourceNNaksSent OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of Null NAKs (in number of packets) 
             sent by this PGM DLR session."
    ::= { pgmDlrSourcePerformanceEntry 11 }

pgmDlrSourceBytesBuffered OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of bytes currently buffered for this
             TSI."
    ::= { pgmDlrSourcePerformanceEntry 12 }

pgmDlrSourceMsgsBuffered OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of messages currently buffered for
             this TSI."
    ::= { pgmDlrSourcePerformanceEntry 13 }

pgmDlrSourceParityBytesRetransmitted OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of bytes sent in parity retransmissions."
    ::= { pgmDlrSourcePerformanceEntry 14 }

pgmDlrSourceSelectiveBytesRetransmited OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of bytes sent in selective retransmissions."
    ::= { pgmDlrSourcePerformanceEntry 15 }

pgmDlrSourceParityMsgsRetransmitted OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of parity retransmissions sent."
    ::= { pgmDlrSourcePerformanceEntry 16 }

pgmDlrSourceSelectiveMsgsRetransmitted OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of selective retransmissions sent."
    ::= { pgmDlrSourcePerformanceEntry 17 }

pgmDlrSourceBytesAdmit OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of bytes currently in the rate controled
             admit queue. Includes IP header, UDP header if
             encapsulated, PGM header, and data."
    ::= { pgmDlrSourcePerformanceEntry 18 }

pgmDlrSourceMsgsAdmit OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of messages currently in the rate controled
             admit queue. Includes data messages, retransmissions,
             and SPMs."
    ::= { pgmDlrSourcePerformanceEntry 19 }

pgmDlrSourceNakPacketsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of NAK packets received."
    ::= { pgmDlrSourcePerformanceEntry 20 }

pgmDlrSourceParityNakPacketsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of parity NAK packets received."
    ::= { pgmDlrSourcePerformanceEntry 21 }

pgmDlrSourceSelectiveNakPacketsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of selective NAK packets received."
    ::= { pgmDlrSourcePerformanceEntry 22 }

pgmDlrSourceParityNaksReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual parity NAKs received."
    ::= { pgmDlrSourcePerformanceEntry 23 }

pgmDlrSourceSelectiveNaksReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual selective NAKs received."
    ::= { pgmDlrSourcePerformanceEntry 24 }

pgmDlrSourceParityNaksIgnored OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual parity NAKs ignored."
    ::= { pgmDlrSourcePerformanceEntry 25 }

pgmDlrSourceSelectiveNaksIgnored OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual selective NAKs ignored."
    ::= { pgmDlrSourcePerformanceEntry 26 }

pgmDlrSourceAckErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of ACK packets received with error in
             them, different than checksum error."
    ::= { pgmDlrSourcePerformanceEntry 27 }

pgmDlrSourceNNakErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of Null NAK packets received that contain
             error, rSifferent than checksum error."
    ::= { pgmDlrSourcePerformanceEntry 28 }

pgmDlrSourceAckPacketsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of ACK packets received."
    ::= { pgmDlrSourcePerformanceEntry 29 }

pgmDlrSourceNNakPacketsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of Null NAKs received."
    ::= { pgmDlrSourcePerformanceEntry 30 }

pgmDlrSourceParityNNakPacketsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of parity Null NAK packets received."
    ::= { pgmDlrSourcePerformanceEntry 31 }

pgmDlrSourceSelectiveNNakPacketsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of selective Null NAK packets received."
    ::= { pgmDlrSourcePerformanceEntry 32 }

pgmDlrSourceNNaksReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual NAKs, received in Null
             NAK packets."
    ::= { pgmDlrSourcePerformanceEntry 33 }

pgmDlrSourceParityNNaksReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual parity NAKs,
             received in Null NAK packets."
    ::= { pgmDlrSourcePerformanceEntry 34 }

pgmDlrSourceSelectiveNNaksReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Number of individual  NAKs,
             received in Null NAK packets."
    ::= { pgmDlrSourcePerformanceEntry 35 }

-- Notifications

pgmNotifications       OBJECT IDENTIFIER ::= 
                       { pgmNotificationPrefix 0 }

pgmStart NOTIFICATION-TYPE
    STATUS      current
    DESCRIPTION
        "This trap is sent when the pgm snmp agent starts"
    ::= { pgmNotifications 1 }

pgmStop NOTIFICATION-TYPE
    STATUS      current
    DESCRIPTION
        "This trap is sent when the pgm snmp agent terminates"
    ::= { pgmNotifications 2 }

-- PGM Source Specific Traps

pgmNewSourceTrap NOTIFICATION-TYPE
    OBJECTS { 
             pgmSourceSourceGsi,
             pgmSourceSourcePortNumber
            }
    STATUS   current    
    DESCRIPTION
            "New Source Session created."
    ::= { pgmNotifications 3 }

pgmClosedSourceTrap NOTIFICATION-TYPE
    OBJECTS { 
             pgmSourceSourceGsi,
             pgmSourceSourcePortNumber
            }
    STATUS   current    
    DESCRIPTION
            "Source Session closed."
    ::= { pgmNotifications 4 }

-- PGM Receiver Specific Traps

pgmNewReceiverTrap NOTIFICATION-TYPE
    OBJECTS { 
             pgmReceiverSourceGsi,
             pgmReceiverSourcePortNumber,
             pgmReceiverUniqueInstance
            }
    STATUS   current    
    DESCRIPTION
            "New Receiver Session created.
             This trap is optional."
    ::= { pgmNotifications 5 }

pgmClosedReceiverTrap NOTIFICATION-TYPE
    OBJECTS { 
             pgmReceiverSourceGsi,
             pgmReceiverSourcePortNumber,
             pgmReceiverUniqueInstance
            }
    STATUS   current    
    DESCRIPTION
            "Receiver Session closed.
             This trap is optional."
    ::= { pgmNotifications 6 }

pgmNakFailuresTrap NOTIFICATION-TYPE
    OBJECTS { 
             pgmReceiverSourceGsi,
             pgmReceiverSourcePortNumber,
             pgmReceiverUniqueInstance,
             pgmReceiverNakFailureThresholdTimer,
             pgmReceiverNakFailureThreshold,
             pgmReceiverNakFailuresLastInterval,
             pgmReceiverLastIntervalNakFailures
            }
    STATUS   current    
    DESCRIPTION
            "The number of unrecovered lost packets
             exceeded the threshold limit for the 
             corresponding threshold interval."
    ::= { pgmNotifications 7 }

-- PGM Dlr Source Specific Traps

pgmNewDlrSourceTrap NOTIFICATION-TYPE
    OBJECTS { 
             pgmDlrSourceSourceGsi,
             pgmDlrSourceSourcePortNumber
            }
    STATUS   current    
    DESCRIPTION
            "New Dlr Source Session created."
    ::= { pgmNotifications 8 }

pgmClosedDlrSourceTrap NOTIFICATION-TYPE
    OBJECTS { 
             pgmDlrSourceSourceGsi,
             pgmDlrSourceSourcePortNumber
            }
    STATUS   current    
    DESCRIPTION
            "Dlr Source Session closed."
    ::= { pgmNotifications 9 }

-- Conformance information

pgmMIBConformance OBJECT IDENTIFIER ::= { pgmMIB 3 }
pgmMIBCompliances OBJECT IDENTIFIER ::= { pgmMIBConformance 1 }
pgmMIBGroups      OBJECT IDENTIFIER ::= { pgmMIBConformance 2 }

-- Compliance statements

pgmNetworkElementMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for devices running as PGM 
             Network Elements."
    MODULE  -- this module
      MANDATORY-GROUPS { pgmNetworkElementMIBGroup }

    ::= { pgmMIBCompliances 1 }

pgmSourceMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for devices running as PGM
             sources."
    MODULE  -- this module
      MANDATORY-GROUPS { pgmSourceMIBGroup }

    ::= { pgmMIBCompliances 2 }

pgmReceiverMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for devices running as PGM
             receivers."
    MODULE  -- this module
      MANDATORY-GROUPS { pgmReceiverMIBGroup }

    ::= { pgmMIBCompliances 3 }

pgmDLRMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for devices running as PGM
             designated local repairers (DLR)."
    MODULE  -- this module
      MANDATORY-GROUPS { pgmDLRMIBGroup,
                         pgmReceiverMIBGroup }

    ::= { pgmMIBCompliances 4 }

pgmTrapsMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for PGM traps."
    MODULE  -- this module
      MANDATORY-GROUPS { pgmTrapsMIBGroup, 
                         pgmTrapsSourceMIBGroup,
                         pgmTrapsReceiverMIBGroup,
                         pgmTrapsDlrSourceMIBGroup }
    ::= { pgmMIBCompliances 5 }

-- Units of conformance

pgmNetworkElementMIBGroup OBJECT-GROUP
    OBJECTS { pgmNeEnable, 
              pgmNeSessionLifeTime, 
              pgmNeMaxReXmitStates,
              pgmNeMaxSessions, 
              pgmNeTotalInterfacesNumberOfEntries, 
              pgmNeIfPgmEnable, 
              pgmNeIfNakRptInterval,
              pgmNeIfNakRptRate,
              pgmNeIfNakRdataInterval,
              pgmNeIfNakEliminateInterval,
              pgmNeIfReXmitStates, 
              pgmNeIfReXmitTimedOut,
              pgmNeIfInSpms, 
              pgmNeIfOutSpms, 
              pgmNeIfInParitySpms,
              pgmNeIfOutParitySpms, 
              pgmNeIfInRdata, 
              pgmNeIfOutRdata,
              pgmNeIfInParityRdata, 
              pgmNeIfOutParityRdata,
              pgmNeIfInRdataNoSessionErrors, 
              pgmNeIfUniqueNaks,
              pgmNeIfInNaks, 
              pgmNeIfOutNaks, 
              pgmNeIfUniqueParityNaks, 
              pgmNeIfInParityNaks, 
              pgmNeIfOutParityNaks,
              pgmNeIfInNakNoSessionErrors, 
              pgmNeIfInNakSeqErrors,
              pgmNeIfInParityNakTgErrors, 
              pgmNeIfInNnaks,
              pgmNeIfOutNnaks, 
              pgmNeIfInParityNnaks,
              pgmNeIfOutParityNnaks, 
              pgmNeIfInNnakNoSessionErrors, 
              pgmNeIfInNcfs, 
              pgmNeIfOutNcfs, 
              pgmNeIfInParityNcfs, 
              pgmNeIfOutParityNcfs, 
              pgmNeIfInNcfNoSessionErrors, 
              pgmNeIfInRedirectNcfs, 
              pgmNeIfMalformed,
              pgmNeIfSpmFromSource, 
              pgmNeIfSpmBadSqn, 
              pgmNeIfSpmError, 
              pgmNeIfPollRandomIgnore, 
              pgmNeIfPollTsiStateError,
              pgmNeIfPollParentError, 
              pgmNeIfPollTypeError,
              pgmNeIfPollError, 
              pgmNeIfPollSuccess,
              pgmNeIfPollOriginated, 
              pgmNeIfPolrNoState,
              pgmNeIfPolrError, 
              pgmNeIfPolrParityError,
              pgmNeIfPolrSuccess, 
              pgmNeIfPolrOriginated,
              pgmNeIfNcfError, 
              pgmNeIfNcfParityError, 
              pgmNeIfNcfPartialParity, 
              pgmNeIfNcfReceived, 
              pgmNeIfNcfAnticipated,
              pgmNeIfNcfRedirecting, 
              pgmNeIfNakEliminated,
              pgmNeIfNakError, 
              pgmNeIfNakParityError, 
              pgmNeIfNNakEliminated, 
              pgmNeIfNNakError,
              pgmNeIfNNakParityError,
              pgmNeIfNNakCongestionReports, 
              pgmNeIfNakRetryExpired,
              pgmNeIfNakRetryExpiredDLR, 
              pgmNeIfNakForwardedDLR, 
              pgmNeIfNakRetransmitted,
              pgmNeIfRdataEliminatedOIF,
              pgmNeIfRdataEliminatedSqn, 
              pgmNeIfInRdataFragments,
              pgmNeIfRdataFragmentsNoSessionErrors,
              pgmNeIfRdataFragmentsEliminatedOIF,
              pgmNeIfRdataFragmentsEliminatedSqn,
              pgmNeIfOutRdataFragments, 
              pgmNeTotalTsiNumberOfEntries,
              pgmNeTsiStateBits,
              pgmNeTsiDataDestinationPort, 
              pgmNeTsiSourceAddress,
              pgmNeTsiGroupAddress, 
              pgmNeTsiUpstreamAddress,
              pgmNeTsiUpstreamIfIndex, 
              pgmNeTsiDlrAddress,
              pgmNeTsiSessionTrailEdgeSeq, 
              pgmNeTsiSessionIncrSeq,
              pgmNeTsiLeadEdgeSeq, 
              pgmNeTsiInSpms, 
              pgmNeTsiOutSpms,
              pgmNeTsiInParitySpms, 
              pgmNeTsiOutParitySpms,
              pgmNeTsiTotalReXmitStates, 
              pgmNeTsiTotalReXmitTimedOut,
              pgmNeTsiInRdata, 
              pgmNeTsiOutRdata,
              pgmNeTsiInParityRdata, 
              pgmNeTsiOutParityRdata,
              pgmNeTsiInRdataNoStateErrors, 
              pgmNeTsiUniqueNaks,
              pgmNeTsiInNaks, 
              pgmNeTsiOutNaks,
              pgmNeTsiUniqueParityNaks, 
              pgmNeTsiInParityNaks,
              pgmNeTsiOutParityNaks, 
              pgmNeTsiInNakSeqErrors,
              pgmNeTsiInNnaks, 
              pgmNeTsiOutNnaks,
              pgmNeTsiInParityNnaks, 
              pgmNeTsiOutParityNnaks,
              pgmNeTsiInNcfs, 
              pgmNeTsiOutNcfs, 
              pgmNeTsiInParityNcfs,
              pgmNeTsiOutParityNcfs, 
              pgmNeTsiSpmSequenceNumber,
              pgmNeTsiTransmissionGroupSize, 
              pgmNeTsiTimeout,
              pgmNeTsiLastTtl, 
              pgmNeTsiLinkLossRate,
              pgmNeTsiPathLossRate, 
              pgmNeTsiReceiverLossRate,
              pgmNeTsiCongestionReportLead,
              pgmNeTsiCongestionReportWorstReceiver,
              pgmNeTsiRtxNumberOfEntries,
              pgmNeTsiRtxReqParityTgCount,
              pgmNeTsiRtxTimeout, 
              pgmNeTsiRtxStateBits,
              pgmNeTsiRtxIfNumberOfEntries,
              pgmNeTsiRtxIfPacketCount, 
              pgmNeTsiPolrNumberOfEntries,
              pgmNeTsiPolrSequenceNumber,
              pgmNeTsiPollNumberOfEntries, 
              pgmNeTsiPollSequence, 
              pgmNeTsiPollChildBackoff,
              pgmNeTsiPollMask, 
              pgmNeTsiPollPeriod, 
              pgmNeTsiPollCount,
              pgmNeTsiPollTimeout }
    STATUS  current
    DESCRIPTION
         "A collection of objects to support 
          management of PGM Network Elements."
    ::= { pgmMIBGroups 1 }

pgmSourceMIBGroup OBJECT-GROUP
    OBJECTS { pgmSourceSaveDefaults,
              pgmSourceLastUpdateTime,
              pgmSourceDefaultTtl,
              pgmSourceDefaultAdvMode,
              pgmSourceDefaultLateJoin,
              pgmSourceDefaultTxwMaxRte,
              pgmSourceDefaultTxwSecs,
              pgmSourceDefaultTxwAdvSecs,
              pgmSourceDefaultAdvIvl,
              pgmSourceDefaultSpmIvl,
              pgmSourceDefaultSpmHeartBeatIvlMin,
              pgmSourceDefaultSpmHeartBeatIvlMax,
              pgmSourceDefaultRdataBackoffIvl,
              pgmSourceDefaultFECProactiveParitySize,
              pgmSourceDefaultGroupAddress,
              pgmSourceUpdateSinceLastSave,
              pgmSourceNumberOfEntries,
              pgmSourceSourceAddress,
              pgmSourceGroupAddress, 
              pgmSourceDestPort,
              pgmSourceSourceGsi,
              pgmSourceSourcePortNumber, 
              pgmSourceTtl, 
              pgmSourceAdvMode, 
              pgmSourceLateJoin,
              pgmSourceTxwMaxRte, 
              pgmSourceTxwSecs,
              pgmSourceTxwAdvSecs, 
              pgmSourceAdvIvl,
              pgmSourceSpmIvl,
              pgmSourceSpmHeartBeatIvlMin,
              pgmSourceSpmHeartBeatIvlMax, 
              pgmSourceRdataBackoffIvl,
              pgmSourceFEC, 
              pgmSourceFECTransmissionGrpSize, 
              pgmSourceFECProactiveParitySize, 
              pgmSourceSpmPathAddress,
              pgmSourceDataBytesSent,
              pgmSourceDataMsgsSent, 
              pgmSourceBytesBuffered,
              pgmSourceMsgsBuffered, 
              pgmSourceBytesRetransmitted,
              pgmSourceMsgsRetransmitted, 
              pgmSourceBytesSent,
              pgmSourceRawNaksReceived, 
              pgmSourceNaksIgnored,
              pgmSourceCksumErrors, 
              pgmSourceMalformedNaks,
              pgmSourcePacketsDiscarded, 
              pgmSourceNaksRcvd,
              pgmSourceParityBytesRetransmitted,
              pgmSourceSelectiveBytesRetransmited,
              pgmSourceParityMsgsRetransmitted,
              pgmSourceSelectiveMsgsRetransmitted,
              pgmSourceBytesAdmit,
              pgmSourceMsgsAdmit,
              pgmSourceParityNakPacketsReceived,
              pgmSourceSelectiveNakPacketsReceived,
              pgmSourceParityNaksReceived,
              pgmSourceSelectiveNaksReceived,
              pgmSourceParityNaksIgnored,
              pgmSourceSelectiveNaksIgnored,
              pgmSourceAckErrors,
              pgmSourcePgmCCAcker,
              pgmSourceTransmissionCurrentRate,
              pgmSourceAckPacketsReceived,
              pgmSourceNNakPacketsReceived,
              pgmSourceParityNNakPacketsReceived,
              pgmSourceSelectiveNNakPacketsReceived,
              pgmSourceNNaksReceived,
              pgmSourceParityNNaksReceived,
              pgmSourceSelectiveNNaksReceived,
              pgmSourceNNakErrors }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support management of
             PGM sources."
    ::= { pgmMIBGroups 2 }

pgmReceiverMIBGroup OBJECT-GROUP
    OBJECTS { pgmReceiverSaveDefaults,
              pgmReceiverLastUpdateTime,
              pgmReceiverDefaultNakBackoffIvl,
              pgmReceiverDefaultNakRepeatIvl,
              pgmReceiverDefaultNakNcfRetries,
              pgmReceiverDefaultNakRdataIvl,
              pgmReceiverDefaultNakDataRetries,
              pgmReceiverDefaultSendNaks,
              pgmReceiverDefaultLateJoin,
              pgmReceiverDefaultNakTtl,
              pgmReceiverDefaultDeliveryOrder,
              pgmReceiverDefaultNextPgmHop,
              pgmReceiverDefaultGroupAddress,
              pgmReceiverUpdateSinceLastSave,
              pgmReceiverDefaultNakFailureThresholdTimer,
              pgmReceiverDefaultNakFailureThreshold,
              pgmReceiverNumberOfEntries, 
              pgmReceiverGroupAddress,
              pgmReceiverDestPort, 
              pgmReceiverSourceAddress, 
              pgmReceiverLastHop, 
              pgmReceiverSourceGsi,
              pgmReceiverSourcePortNumber,
              pgmReceiverUniqueInstance,
              pgmReceiverNakBackoffIvl,
              pgmReceiverNakRepeatIvl, 
              pgmReceiverNakNcfRetries,
              pgmReceiverNakRdataIvl, 
              pgmReceiverNakDataRetries,
              pgmReceiverSendNaks, 
              pgmReceiverLateJoin,
              pgmReceiverNakTtl, 
              pgmReceiverDeliveryOrder,
              pgmReceiverMcastNaks,
              pgmReceiverNakFailureThresholdTimer,
              pgmReceiverNakFailureThreshold,
              pgmReceiverDataBytesReceived, 
              pgmReceiverDataMsgsReceived,
              pgmReceiverNaksSent, 
              pgmReceiverNaksRetransmitted,
              pgmReceiverNakFailures, 
              pgmReceiverBytesReceived,
              pgmReceiverNaksSuppressed, 
              pgmReceiverCksumErrors,
              pgmReceiverMalformedSpms, 
              pgmReceiverMalformedOdata,
              pgmReceiverMalformedRdata, 
              pgmReceiverMalformedNcfs,
              pgmReceiverPacketsDiscarded, 
              pgmReceiverLosses,
              pgmReceiverBytesDeliveredToApp,
              pgmReceiverMsgsDeliveredToApp, 
              pgmReceiverDupSpms,
              pgmReceiverDupDatas, 
              pgmReceiverDupParities,
              pgmReceiverNakPacketsSent,
              pgmReceiverParityNakPacketsSent,
              pgmReceiverSelectiveNakPacketsSent,
              pgmReceiverParityNaksSent,
              pgmReceiverSelectiveNaksSent,
              pgmReceiverParityNaksRetransmitted,
              pgmReceiverSelectiveNaksRetransmitted,
              pgmReceiverNaksFailed,
              pgmReceiverParityNaksFailed,
              pgmReceiverSelectiveNaksFailed,
              pgmReceiverNaksFailedRxwAdvanced,
              pgmReceiverNaksFaledNcfRetriesExceeded,
              pgmReceiverNaksFailedDataRetriesExceeded,
              pgmReceiverNaksFailedGenExpired,
              pgmReceiverNakFailuresDelivered,
              pgmReceiverParityNaksSuppressed,
              pgmReceiverSelectiveNaksSuppressed,
              pgmReceiverNakErrors,
              pgmReceiverOutstandingParityNaks,
              pgmReceiverOutstandingSelectiveNaks,
              pgmReceiverLastActivity,
              pgmReceiverNakSvcTimeMin,
              pgmReceiverNakSvcTimeMean,
              pgmReceiverNakSvcTimeMax,
              pgmReceiverNakFailTimeMin,
              pgmReceiverNakFailTimeMean,
              pgmReceiverNakFailTimeMax,
              pgmReceiverNakTransmitMin,
              pgmReceiverNakTransmitMean,
              pgmReceiverNakTransmitMax,
              pgmReceiverAcksSent,
              pgmReceiverRxwTrail,
              pgmReceiverRxwLead,
              pgmReceiverNakFailuresLastInterval,
              pgmReceiverLastIntervalNakFailures }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support management of
             PGM receivers."
    ::= { pgmMIBGroups 3 }

pgmDLRMIBGroup OBJECT-GROUP
    OBJECTS { pgmDlrSaveDefaults, 
              pgmDlrLastUpdateTime,
              pgmDlrGroupAddress, 
              pgmDlrCacheRtx,
              pgmDlrActivityIvl, 
              pgmDlrMaxRate, 
              pgmDlrParentNeAddr, 
              pgmDlrUpdateSinceLastSave,
              pgmDlrSourceNumberOfEntries,
              pgmDlrSourceGroupAddress, 
              pgmDlrSourceSourceGsi,
              pgmDlrSourceSourcePortNumber, 
              pgmDlrSourceGroupTtl,
              pgmDlrSourceRdataBackoffIvl,
              pgmDlrSourceRdataMsgsSent, 
              pgmDlrSourceRdataBytesSent,
              pgmDlrSourceBytesSent,
              pgmDlrSourceNaksRcvd, 
              pgmDlrSourceNaksIgnored,
              pgmDlrSourceNakErrors, 
              pgmDlrSourceDiscards,
              pgmDlrSourceCksumErrors,
              pgmDlrSourceNNaksSent,
              pgmDlrSourceBytesBuffered,
              pgmDlrSourceMsgsBuffered,
              pgmDlrSourceParityBytesRetransmitted,
              pgmDlrSourceSelectiveBytesRetransmited,
              pgmDlrSourceParityMsgsRetransmitted,
              pgmDlrSourceSelectiveMsgsRetransmitted,
              pgmDlrSourceBytesAdmit,
              pgmDlrSourceMsgsAdmit,
              pgmDlrSourceNakPacketsReceived,
              pgmDlrSourceParityNakPacketsReceived,
              pgmDlrSourceSelectiveNakPacketsReceived,
              pgmDlrSourceParityNaksReceived,
              pgmDlrSourceSelectiveNaksReceived,
              pgmDlrSourceParityNaksIgnored,
              pgmDlrSourceSelectiveNaksIgnored,
              pgmDlrSourceAckErrors,
              pgmDlrSourceNNakErrors,
              pgmDlrSourceAckPacketsReceived,
              pgmDlrSourceNNakPacketsReceived,
              pgmDlrSourceParityNNakPacketsReceived,
              pgmDlrSourceSelectiveNNakPacketsReceived,
              pgmDlrSourceNNaksReceived,
              pgmDlrSourceParityNNaksReceived,
              pgmDlrSourceSelectiveNNaksReceived }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support management of 
             PGM designated local repairers (DLR)."
    ::= { pgmMIBGroups 4 }

pgmTrapsMIBGroup NOTIFICATION-GROUP
    NOTIFICATIONS { pgmStart,
                    pgmStop }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support pgm 
             specific traps."
    ::= { pgmMIBGroups 5 }

pgmTrapsSourceMIBGroup NOTIFICATION-GROUP
    NOTIFICATIONS { pgmNewSourceTrap,
                    pgmClosedSourceTrap }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support pgm 
             source specific traps."
    ::= { pgmMIBGroups 6 }

pgmTrapsReceiverMIBGroup NOTIFICATION-GROUP
    NOTIFICATIONS { pgmNewReceiverTrap,
                    pgmClosedReceiverTrap,
                    pgmNakFailuresTrap }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support pgm 
             receiver specific traps."
    ::= { pgmMIBGroups 7 }

pgmTrapsDlrSourceMIBGroup NOTIFICATION-GROUP
    NOTIFICATIONS { pgmNewDlrSourceTrap,
                    pgmClosedDlrSourceTrap }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support pgm 
             dlr source specific traps."
    ::= { pgmMIBGroups 8 }


END

