ADTRAN-DYNAMIC-COUNTERS-MIB

DEFINITIONS ::= BEGIN

    -- TITLE:     The ADTRAN CN DYNAMIC COUNTERS MIB
    -- PRODUCT:   Modules that support dynamic counters (SM, GE, GPON, AE, ...)
    -- VERSION:   1.0
    -- DATE:      Feb 11, 2013
    --
    -- This MIB Contains tables for dynamic counter creation and reporting on CN products.
    --
    -- HISTORY: * PLEASE DO NOT ADD ANY REVISION HISTORY HERE!  USE REVISION/DESCRIPTION!
    --

IMPORTS

    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, 
    Integer32, IpAddress, Gauge32, Counter64
        FROM SNMPv2-SMI
    RowStatus, PhysAddress, DisplayString
        FROM SNMPv2-TC
    InterfaceIndexOrZero
        FROM IF-MIB
    adIdentity
        FROM ADTRAN-MIB
    adGenSlotInfoIndex
        FROM ADTRAN-GENSLOT-MIB
    adGenDynamicCounter, adGenDynamicCounterID
        FROM ADTRAN-SHARED-CND-SYSTEM-MIB;


    adGenDynamicCounterMIB MODULE-IDENTITY
        LAST-UPDATED "201407310000Z"
        ORGANIZATION "ADTRAN, Inc."
        CONTACT-INFO
            "CND Tech Support
                Postal: ADTRAN, Inc.
                        901 Explorer Blvd.
                        Huntsville, AL  35806
                        Tel: +1 800 726-8663
                        Fax: +1 256 963 6217
                        E-mail: support@adtran.com"
        DESCRIPTION
            "Adtran Dynamic Counter MIB"

        REVISION "201407310000Z"
        DESCRIPTION  "updated adGenDCProfileDiscardReason with none(11)"
        
        REVISION "201406050000Z"
        DESCRIPTION  "Added adGenDCProfileEgressQueueType,adGenDCProfileEgressQueue,
                            adGenDCProfileCtagVlanType, adGenDCProfileCtagVlan,
                            adGenDCProfileCtagPriType, adGenDCProfileCtagPri,
                            adGenDCProfileEvcMap, adGenDCProfileDiscardReason"

        REVISION "201302110000Z"
        DESCRIPTION  "Creation"

        ::= { adGenDynamicCounterID 1 }

--
-- Object Hierarchy
--

adGenDynamicCounterTables      OBJECT IDENTIFIER ::= { adGenDynamicCounter 1 }


--
-- Textual Conventions
--


--
-- Dynamic Counter Slot Table
--

adGenDCSlotTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AdGenDCSlotEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Provides information about dynamic counter slot support."
    ::= { adGenDynamicCounterTables 1 }

adGenDCSlotEntry OBJECT-TYPE
    SYNTAX      AdGenDCSlotEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Provides information about dynamic counter slot support."
    INDEX { adGenSlotInfoIndex }
    ::= { adGenDCSlotTable 1 }

AdGenDCSlotEntry ::=
    SEQUENCE {
       adGenDCSlotSupport                  BITS,
       adGenDCSlotMaxDCProfileIndex        Integer32,
       adGenDCSlotNextDCProfileIndex       Integer32,
       adGenDCSlotMaxDCIndex               Integer32,
       adGenDCSlotNextDCIndex              Integer32,
       adGenDCSlotClearAllDC               INTEGER,
       adGenDCSlotLastError                DisplayString
    }

adGenDCSlotSupport OBJECT-TYPE
    SYNTAX             BITS {
                           color           (0),
                           pBit            (1),
                           sTag            (2),
                           destMacByType   (3),
                           destMac         (4),
                           destIpByType    (5),
                           destIp          (6),
                           srcMacByType    (7),
                           srcMac          (8),
                           srcIpByType     (9),
                           srcIp          (10),
                           ipAndMac       (11),
                           destAndSrc     (12),
                           tx             (13),
                           rx             (14),
                           queue          (15),
                           include        (16),
                           exclude        (17)
                       }
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "Identifies the dynamic counter matching types supported
        by the slot. Each bit will be set if the matching type
        can be used in adGenDCProfileTable. The values are:

          color - can use adGenDCProfileColorType
          pBit - can use adGenDCProfilePBitType and adGenDCProfilePBit
          sTag - can use adGenDCProfileSTagType and adGenDCProfileSTag
          destMacByType - can use adGenDCProfileDestMacType
          destMac - can use adGenDCProfileDestMacAddress
          destIpByType - can use adGenDCProfileDestIpType
          destIp - can use adGenDCProfileDestIpAddress
          srcMacByType - can use adGenDCProfileSrcMacType
          srcMac - can use adGenDCProfileSrcMacAddress
          srcIpByType - can use adGenDCProfileSrcIpType
          srcIp - can use adGenDCProfileSrcIpAddress
          ipAndMac - can match IP and MAC in the same profile
          destAndSrc - can match destination and source in the same profile
          tx - can count transmit statistics
          rx - can count receive statistics
          queue - can count queue statistics
          include - supports including the match in the counts
          exclude - supports excluding the match in the counts
       "

    ::= { adGenDCSlotEntry 1 }

adGenDCSlotMaxDCProfileIndex OBJECT-TYPE
    SYNTAX             Integer32
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "The maximum index value that can be used for the dynamic counter
        profile index on this slot."
    ::= { adGenDCSlotEntry 2 }

adGenDCSlotNextDCProfileIndex OBJECT-TYPE
    SYNTAX             Integer32
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "Identifies the next free index for a dynamic counter profile.
        Reports 0 if there is no available entry."
    ::= { adGenDCSlotEntry 3 }

adGenDCSlotMaxDCIndex OBJECT-TYPE
    SYNTAX             Integer32
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "The maximum index value that can be used for the dynamic counter
        index on this slot."
    ::= { adGenDCSlotEntry 4 }

adGenDCSlotNextDCIndex OBJECT-TYPE
    SYNTAX             Integer32
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "Identifies the next free index for a dynamic counter.
        Reports 0 if there is no available entry."
    ::= { adGenDCSlotEntry 5 }

adGenDCSlotClearAllDC OBJECT-TYPE
    SYNTAX             INTEGER {
                         clearAll   (1),
                         idle       (2)
                       }
    MAX-ACCESS         read-write
    STATUS             current
    DESCRIPTION
       "This will always report idle. To clear all dynamic counter
        counts on the slot, write clearAll to this element."
    ::= { adGenDCSlotEntry 6 }

adGenDCSlotLastError OBJECT-TYPE
    SYNTAX             DisplayString
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "The details of the last error seen at the slot level,
        based on queries to this entry. The main use may be to 
        report the error when there are no more entries available."
    ::= { adGenDCSlotEntry 7 }

--
-- Dynamic Counter Profile Configuration Table
--


adGenDCProfileTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AdGenDCProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Provides information about dynamic counter matching criteria."
    ::= { adGenDynamicCounterTables 2 }

adGenDCProfileEntry OBJECT-TYPE
    SYNTAX      AdGenDCProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Provides information about dynamic counter matching criteria."
    INDEX { adGenSlotInfoIndex, adGenDCProfileIndex }
    ::= { adGenDCProfileTable 1 }

AdGenDCProfileEntry ::=
    SEQUENCE {
       adGenDCProfileIndex                 Integer32,
       adGenDCProfileRowStatus             RowStatus,

       adGenDCProfileColorType             INTEGER,
       adGenDCProfilePBitType              INTEGER,
       adGenDCProfilePBit                  INTEGER,
       adGenDCProfileSTagType              INTEGER,
       adGenDCProfileSTag                  INTEGER,

       adGenDCProfileDestMacType           INTEGER,
       adGenDCProfileDestMacAddress        PhysAddress,
       adGenDCProfileDestIpType            INTEGER,
       adGenDCProfileDestIpAddress         IpAddress,

       adGenDCProfileSrcMacType            INTEGER,
       adGenDCProfileSrcMacAddress         PhysAddress,
       adGenDCProfileSrcIpType             INTEGER,
       adGenDCProfileSrcIpAddress          IpAddress,

       adGenDCProfileLastError             DisplayString,
       
       adGenDCProfileEgressQueueType       INTEGER,
       adGenDCProfileEgressQueue           INTEGER,
       adGenDCProfileCtagVlanType          INTEGER,
       adGenDCProfileCtagVlan              INTEGER,
       adGenDCProfileCtagPriType           INTEGER,
       adGenDCProfileCtagPri               INTEGER,
       adGenDCProfileEvcMap                DisplayString,
       adGenDCProfileDiscardReason         INTEGER

    }

adGenDCProfileIndex OBJECT-TYPE
    SYNTAX             Integer32
    MAX-ACCESS         not-accessible
    STATUS             current
    DESCRIPTION
       "Identifies the index of the dynamic counter profile.
        The index will be from 1 to N, where N is the maximum
        number of dynamic counters supported by the module."
    ::= { adGenDCProfileEntry 1 }

adGenDCProfileRowStatus OBJECT-TYPE
    SYNTAX             RowStatus
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "This object is used to create a new counter profile and 
        delete an existing counter profile. To create, write
        createAndWait(5) or createAndGo(4) to this element. To
        delete, write destroy(6) to this element. The values 
        for notInService(2) and notReady(3) are not used.
        The element will always report active(1), once created."
    ::= { adGenDCProfileEntry 2 }

adGenDCProfileColorType OBJECT-TYPE
    SYNTAX             INTEGER {
                         noMatching   (1),
                         green        (2),
                         yellow       (3),
                         red          (4)
                       }
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Specify the color of the traffic to be matched in this
        profile. The default is noMatching, which means the
        color will not be used in this profile."
    ::= { adGenDCProfileEntry 3 }

adGenDCProfilePBitType OBJECT-TYPE
    SYNTAX             INTEGER {
                         noMatching   (1),
                         pBit         (2)
                       }
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Specify whether the P-Bit is being matched in this
        profile. The default is noMatching, which means the
        P-Bit will not be used in this profile. If pBit
        is set, then the matched P-Bit value is specified in
        adGenDCProfilePBit."
    ::= { adGenDCProfileEntry 4 }

adGenDCProfilePBit OBJECT-TYPE
    SYNTAX             INTEGER (0..7)
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Specify a P-Bit value being matched in this
        profile when adGenDCProfilePBitType is set to pBit.
        This is unused if adGenDCProfilePBitType is set to
        anything else. This value defaults to 0."
    ::= { adGenDCProfileEntry 5 }

adGenDCProfileSTagType OBJECT-TYPE
    SYNTAX             INTEGER {
                         noMatching   (1),
                         sTag         (2),
                         allSTags     (3),
                         noSTag       (4)
                       }
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Specify whether the S-Tag is being matched in this
        profile. The default is noMatching, which means the
        S-Tag will not be used in this profile.

        If sTag is set, then the matching S-Tag value is
        specified in adGenDCProfileSTag.

        If allSTags is set, then this will match all packets
        that have an S-Tag, regardless of value.

        If noSTag is set, then this will match all packets
        that do not have an S-Tag."
    ::= { adGenDCProfileEntry 6 }

adGenDCProfileSTag OBJECT-TYPE
    SYNTAX             INTEGER (0..4094)
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Specify an S-Tag value being matched in this
        profile when adGenDCProfileSTagType is set to sTag.
        This is unused if adGenDCProfileSTagType is set to
        anything else. This value defaults to 0."
    ::= { adGenDCProfileEntry 7 }

adGenDCProfileDestMacType OBJECT-TYPE
    SYNTAX             INTEGER {
                         noMatching   (1),
                         mac          (2),
                         unicast      (3),
                         multicast    (4),
                         broadcast    (5)
                       }
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Specify whether the destination MAC is being matched in 
        this profile. The default is noMatching, which means the
        MAC will not be used in this profile. If mac is set,
        then the matched destination MAC value is specified in
        adGenDCProfileDestMacAddress.

        If unicast is set, then this will match all packets
        that have a unicast destination MAC address.

        If multicast is set, then this will match all packets
        that have a multicast destination MAC address.

        If broadcast is set, then this will match all packets
        that have a broadcast destination MAC address."
    ::= { adGenDCProfileEntry 8 }

adGenDCProfileDestMacAddress OBJECT-TYPE
    SYNTAX             PhysAddress
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Specify a destination MAC address being matched in this
        profile when adGenDCProfileDestMacType is set to mac.
        This is unused if adGenDCProfileDestMacType is set to
        anything else. This defaults to all-0's."
    ::= { adGenDCProfileEntry 9 }

adGenDCProfileDestIpType OBJECT-TYPE
    SYNTAX             INTEGER {
                         noMatching   (1),
                         ip           (2),
                         unicast      (3),
                         multicast    (4),
                         any          (5),
                         none         (6)
                       }
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Specify whether the destination IP is being matched in 
        this profile. The default is noMatching, which means the
        IP will not be used in this profile. If ip is set,
        then the matched destination IP value is specified in
        adGenDCProfileDestIpAddress.

        If unicast is set, then this will match all packets
        that have a unicast destination IP address.

        If multicast is set, then this will match all packets
        that have a multicast destination IP address.

        If any is set, then this will match all packets
        that have an IP address (i.e. all L3 packets).

        If none is set, then this will match all packets
        that do not have an IP address (i.e. L2 packets only)."
    ::= { adGenDCProfileEntry 10 }

adGenDCProfileDestIpAddress OBJECT-TYPE
    SYNTAX             IpAddress
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Specify a destination IP address being matched in this
        profile when adGenDCProfileDestIpType is set to ip.
        This is unused if adGenDCProfileDestIpType is set to
        anything else. This defaults to all-0's."
    ::= { adGenDCProfileEntry 11 }

adGenDCProfileSrcMacType OBJECT-TYPE
    SYNTAX             INTEGER {
                         noMatching   (1),
                         mac          (2)
                       }
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Specify whether the source MAC is being matched in 
        this profile. The default is noMatching, which means the
        MAC will not be used in this profile. If mac is set,
        then the matched source MAC value is specified in
        adGenDCProfileSrcMacAddress."
    ::= { adGenDCProfileEntry 12 }

adGenDCProfileSrcMacAddress OBJECT-TYPE
    SYNTAX             PhysAddress
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Specify a source MAC address being matched in this
        profile when adGenDCProfileSrcMacType is set to mac.
        This is unused if adGenDCProfileSrcMacType is set to
        anything else. This defaults to all-0's."
    ::= { adGenDCProfileEntry 13 }

adGenDCProfileSrcIpType OBJECT-TYPE
    SYNTAX             INTEGER {
                         noMatching   (1),
                         ip           (2),
                         any          (3),
                         none         (4)
                       }
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Specify whether the source IP is being matched in 
        this profile. The default is noMatching, which means the
        IP will not be used in this profile. If ip is set,
        then the matched source IP value is specified in
        adGenDCProfileSrcIpAddress.

        If any is set, then this will match all packets
        that have a source IP address (i.e. all L3 packets).

        If none is set, then this will match all packets
        that do not have a source IP address (i.e. L2 packets only)."
    ::= { adGenDCProfileEntry 14 }

adGenDCProfileSrcIpAddress OBJECT-TYPE
    SYNTAX             IpAddress
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Specify a source IP address being matched in this
        profile when adGenDCProfileSrcIpType is set to ip.
        This is unused if adGenDCProfileSrcIpType is set to
        anything else. This defaults to all-0's."
    ::= { adGenDCProfileEntry 15 }

adGenDCProfileLastError OBJECT-TYPE
    SYNTAX             DisplayString
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "The details of the last error seen for a profile,
        based on queries to this entry."
    ::= { adGenDCProfileEntry 16 }

adGenDCProfileEgressQueueType OBJECT-TYPE
    SYNTAX             INTEGER {
                         noMatching   (1),
                         egressQueue  (2)
                       }
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Specify whether the Egress queue is being matched in this
        profile.

        If egressQueue is set, then the matching egress Queue value is
        specified in adGenDCProfileEgressQueue."
        
    DEFVAL { noMatching }      
    ::= { adGenDCProfileEntry 17 }
    
adGenDCProfileEgressQueue OBJECT-TYPE
    SYNTAX             INTEGER (0..7)
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Egress queue number."
    DEFVAL { 0 }   
    ::= { adGenDCProfileEntry 18 }

adGenDCProfileCtagVlanType OBJECT-TYPE
    SYNTAX             INTEGER {
                         noMatching   (1),
                         cTag         (2),
                         allCTags     (3),
                         noCTag       (4)
                       }
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Specify whether the C-Tag is being matched in this
        profile.

        If cTag is set, then the matching C-Tag value is
        specified in adGenDCProfileCtagVlan.

        If allCTags is set, then this will match all packets
        that have an C-Tag, regardless of value.

        If noCTag is set, then this will match all packets
        that do not have an C-Tag."
        
    DEFVAL { noMatching }      
    ::= { adGenDCProfileEntry 19 }

adGenDCProfileCtagVlan OBJECT-TYPE
    SYNTAX             INTEGER (0..4094)
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Customer VLAN ID used to identify traffic"
    DEFVAL { 0 }      
    ::= { adGenDCProfileEntry 20 }

adGenDCProfileCtagPriType OBJECT-TYPE
    SYNTAX             INTEGER {
                         noMatching   (1),
                         cTagPri      (2)
                       }
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Specify whether the CTag is being matched in this
        profile. If cTagPri is set, then the matched CTag
        value is specified in adGenDCProfileCtagPri."
    DEFVAL { noMatching }   
    ::= { adGenDCProfileEntry 21 }

adGenDCProfileCtagPri OBJECT-TYPE
    SYNTAX             INTEGER (0..7)
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Priority used by the C-Tag on traffic meeting the match criteria."
    DEFVAL { 0 }   
    ::= { adGenDCProfileEntry 22 }

adGenDCProfileEvcMap OBJECT-TYPE
    SYNTAX             DisplayString
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Name of the EVC map.  If null string is set, matching is disabled.
        
        Null string will be the default."
    ::= { adGenDCProfileEntry 23 }

adGenDCProfileDiscardReason OBJECT-TYPE
    SYNTAX             INTEGER {
                         noMatching(1),
                         any(2), 
                         stagMatchFailed(3),
                         egressRecDrop(4),
                         forwardingFailed(5), 
                         fullQueue(6), 
                         invalidQueueDrop(7), 
                         lagNotValid(8),
                         multicastBufferFull(9), 
                         macsaMatchFailed(10),
                         none(11)
                        }
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Configures the dynamic counter to count packets that
        have been dropped due to one of the enumerated drop criteria.
        Discard reason 'none(11)' means that all packets that
        are NOT dropped are counted."
    DEFVAL { noMatching }   
    ::= { adGenDCProfileEntry 24 }

--
-- Dynamic Counter Configuration Table
--


adGenDCConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AdGenDCConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Provides information about dynamic counter configuration.
        This tables connects a profile and an interface into a
        dynamic counter entry."
    ::= { adGenDynamicCounterTables 3 }

adGenDCConfigEntry OBJECT-TYPE
    SYNTAX      AdGenDCConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Provides information about dynamic counter configuration."
    INDEX { adGenSlotInfoIndex, adGenDCConfigIndex }
    ::= { adGenDCConfigTable 1 }

AdGenDCConfigEntry ::=
    SEQUENCE {
       adGenDCConfigIndex                 Integer32,
       adGenDCConfigRowStatus             RowStatus,
       adGenDCConfigProfile               Integer32,
       adGenDCConfigInterface             InterfaceIndexOrZero,
       adGenDCConfigType                  INTEGER,
       adGenDCConfigInterfaceQueue        Integer32,
       adGenDCConfigInclude               INTEGER,
       adGenDCConfigLastError             DisplayString
    }

adGenDCConfigIndex OBJECT-TYPE
    SYNTAX             Integer32
    MAX-ACCESS         not-accessible
    STATUS             current
    DESCRIPTION
       "The index of the dynamic counter."
    ::= { adGenDCConfigEntry 1 }

adGenDCConfigRowStatus OBJECT-TYPE
    SYNTAX             RowStatus
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "This element provides the administrative state.
        This object is used to create a new dynamic counter, 
        delete an existing dynamic counter, and to enable/disable 
        the dynamic counter. To create or delete, write 
        createAndWait(5) or destroy(6) to this element.
        To enable/disable the dynamic counter, write
        active(1) or notInService(2) to this element. The
        value for createAndGo(4) will not be used. If the 
        dynamic counter is requested to go inService when it
        does not have sufficient information, the request will fail
        and the error will be listed in adGenDCConfigLastError."
    ::= { adGenDCConfigEntry 2 }

adGenDCConfigProfile OBJECT-TYPE
    SYNTAX             Integer32
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "The index of the adGenDCProfile that will be used."
    ::= { adGenDCConfigEntry 3 }

adGenDCConfigInterface OBJECT-TYPE
    SYNTAX             InterfaceIndexOrZero
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "The IfIndex of the interface that will be used."
    ::= { adGenDCConfigEntry 4 }

adGenDCConfigType OBJECT-TYPE
    SYNTAX             INTEGER {
                         tx         (1),
                         rx         (2),
                         queue      (3)
                       }
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "The type of the statistics to be gathered, either
        tx, rx, or queue statistics. The statistics types
        are only supported if indicated in adGenDCSlotSupport.
        If queue is specified, the queue number is indicated
        in adGenDCConfigInterfaceQueue."
    ::= { adGenDCConfigEntry 5 }

adGenDCConfigInterfaceQueue OBJECT-TYPE
    SYNTAX             Integer32
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Indicates the queue number, if adGenDCConfigType
        is set to queue."
    ::= { adGenDCConfigEntry 6 }

adGenDCConfigInclude OBJECT-TYPE
    SYNTAX             INTEGER {
                         include     (1),
                         exclude     (2)
                       }
    MAX-ACCESS         read-create
    STATUS             current
    DESCRIPTION
       "Indicates whether the match to the counter profile
        should be included in the counts or excluded from
        the counts. The default value is to include them in
        the counts. This setting is subject to the settings
        in adGenDCSlotSupport."
    ::= { adGenDCConfigEntry 7 }

adGenDCConfigLastError OBJECT-TYPE
    SYNTAX             DisplayString
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "The details of the last error seen for a dynamic counter,
        based on queries to this entry. This may include 
        invalid values, reasons for rejecting configuration
        items, or reasons the counter cannot go running."
    ::= { adGenDCConfigEntry 8 }



--
-- Dynamic Counter Status Table
--


adGenDCStatusTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AdGenDCStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Provides status about the dynamic counter table, including
        counts that have been collected."
    ::= { adGenDynamicCounterTables 4 }

adGenDCStatusEntry OBJECT-TYPE
    SYNTAX      AdGenDCStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Provides status about the dynamic counter table, including
        counts that have been collected."
    INDEX { adGenSlotInfoIndex, adGenDCConfigIndex }
    ::= { adGenDCStatusTable 1 }

AdGenDCStatusEntry ::=
    SEQUENCE {
       adGenDCStatusRowStatus             RowStatus,
       adGenDCStatusOctets                Counter64,
       adGenDCStatusPkts                  Counter64,
       adGenDCStatusAvgBitsPerSec         Gauge32,
       adGenDCStatusClear                 INTEGER
    }

adGenDCStatusRowStatus OBJECT-TYPE
    SYNTAX             RowStatus
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "This object is used to report the operational status
        of the dynamic counters, either inService or notReady."
    ::= { adGenDCStatusEntry 1 }

adGenDCStatusOctets OBJECT-TYPE
    SYNTAX             Counter64
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "The total number of octets / bytes counted by this dynamic counter."
    ::= { adGenDCStatusEntry 2 }

adGenDCStatusPkts OBJECT-TYPE
    SYNTAX             Counter64
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "The total number of packets counted by this dynamic counter."
    ::= { adGenDCStatusEntry 3 }

adGenDCStatusAvgBitsPerSec OBJECT-TYPE
    SYNTAX             Gauge32
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "The average number of bits per second counted on the dynamic counter
        during the last 5 minutes."
    ::= { adGenDCStatusEntry 4 }

adGenDCStatusClear OBJECT-TYPE
    SYNTAX             INTEGER {
                         clear      (1),
                         idle       (2)
                       }
    MAX-ACCESS         read-write
    STATUS             current
    DESCRIPTION
       "This will always report idle. To clear the dynamic counter
        counts, write clear(1) to this element."
    ::= { adGenDCStatusEntry 5 }

END
