-- $Id$
-- $Source$
-- *****************************************************************
-- CISCO-DOCS-EXT-MIB.my: Cisco Data Over Cable Service extension MIB file
--   
-- October 1998, Minnie Lu
-- April   2001, Dhritiman Dasgupta
-- June    2001, Joline Chen
-- Oct     2001, Joline Chen
-- July    2003, Gaurav Aggarwal
--   
-- Copyright (c) 2001-2006, 2010, 2012-2019 by Cisco Systems Inc.
-- All rights reserved.
-- *****************************************************************
-- $Log$
-- *****************************************************************
-- $Endlog$

CISCO-DOCS-EXT-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE,
    Integer32,
    Unsigned32,
    Counter32,
    Counter64,
    IpAddress,
    Gauge32
        FROM SNMPv2-SMI
    OBJECT-GROUP,
    MODULE-COMPLIANCE,
    NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    TruthValue,
    DisplayString,
    MacAddress,
    TimeStamp,
    RowStatus,
    TimeInterval,
    DateAndTime,
    TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    ifIndex,
    ifDescr,
    InterfaceIndex,
    InterfaceIndexOrZero
        FROM IF-MIB
    docsIfCmtsServiceEntry,
    docsIfCmtsCmStatusEntry,
    docsIfCmtsCmStatusIndex,
    docsIfCmtsMacEntry,
    docsIfCmtsCmStatusMacAddress,
    docsIfCmtsCmStatusInetAddressType,
    docsIfCmtsCmStatusInetAddress,
    docsIfCmtsCmStatusDownChannelIfIndex,
    docsIfCmtsCmStatusUpChannelIfIndex,
    docsIfUpstreamChannelEntry,
    TenthdBmV
        FROM DOCS-IF-MIB
    InetAddressPrefixLength
        FROM INET-ADDRESS-MIB
    ChSetId
        FROM DOCS-IF3-MIB
    SnmpTagList
        FROM SNMP-TARGET-MIB
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    InetAddress,
    InetAddressType,
    InetAddressIPv6
        FROM INET-ADDRESS-MIB
    ciscoMgmt
        FROM CISCO-SMI;


ciscoDocsExtMIB MODULE-IDENTITY
    LAST-UPDATED    "201808160000Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
            "Cisco Systems
            Customer Service

            Postal: Cisco Systems
            170 West Tasman Drive
            San Jose, CA 95134
            U.S.A.
            Phone:  +1 800 553-NETS 
            E-mail: cs-ubr@cisco.com"
    DESCRIPTION
        "This is the MIB module for the Cisco specific extension
        objects of Data Over Cable Service, Radio Frequency 
        interface.  There is a standard MIB for Data-Over-Cable 
        Service Interface Specifications (DOCSIS) and in Cisco,
        it is called DOCS-IF-MIB. Besides the objects in 
        DOCS-IF-MIB, this MIB module contains the extension 
        objects to manage the Cable Modem Termination Systems 
        (CMTS).

        This MIB module includes objects for the scheduler 
        that supports Quality of Service (QoS) of MCNS/DOCSIS 
        compliant Radio Frequency (RF) interfaces in Cable Modem 
        Termination Systems (CMTS). And the purpose is to let 
        users configure attributes of the schedulers in 
        order to ensure the Quality of Service and fairness for 
        modem requests according to users' business needs. 
        Also this MIB shows various states of the schedulers 
        for users to monitor of the schedulers' current status. 

        This MIB module also includes connection status objects
        for cable modems and Customer Premise Equipment (CPE) 
        and the purpose is to let users easily get the connection 
        status and manage access group information about cable 
        modems and CPE.

        This MIB module also includes objects for upstream 
        configuration for automated spectrum management in 
        order to mitigate upstream impairment.

        This MIB module also includes objects to keep count of
        the total # of modems, # of registered and # of active
        modems on the mac interface as well as each 
        upstream. 

        Glossary:
        BE       Best Effort

        CPE      Customer Premise Equipment

        CM       Cable Modem

        CMTS     Cable Modem Termination Systems

        DMIC     Dynamic Message Integrity Check

        DOCSIS   Data Over Cable Service Interface Specifications

        IE       Information Element

        NIC      Network Interface Card

        QoS      Quality of Service

        RF       Radio Frequency

        RTPS     Real-Time Polling Service

        SFID     Service Flow ID

        SID      Service Id

        TOD      Time of the Day

        UGS      Unsolicited Grant Service

        UGS-AD   Unsolicited Grant Service with Activity Detection"
    REVISION        "201711100000Z"
    DESCRIPTION
        "Modified index of cdxBundleIpHelperTable
        and cdxBundleIPv6DHCPRelayDestTable"
    REVISION        "201707200000Z"
    DESCRIPTION
        "Modified cdxCmtsCmOnOffNotification, use
        docsIfCmtsCmStatusInetAddressType and
        docsIfCmtsCmStatusInetAddress to replace
        the deprecated docsIfCmtsCmStatusIpAddress"
    REVISION        "201702180000Z"
    DESCRIPTION
        "Added following tables:
        cdxBundleIpHelperTable
        cdxBundleIPv6DHCPRelayTable
        cdxBundleIPv6DHCPRelayDestTable"
    REVISION        "201606080000Z"
    DESCRIPTION
        "Added the cdxWBResilCmTable;
        Added the following notifications:
        cdxWBResilUsPartialServiceNotif
        cdxWBResilUsFullServiceNotif"
    REVISION        "201808160000Z"
    DESCRIPTION
        "Modified the cdxWBResilCmTable"
    REVISION        "201312100000Z"
    DESCRIPTION
        "Added following OBJECT-GROUP:
        cdxCmtsD30LBGroup"
    REVISION        "201303270000Z"
    DESCRIPTION
        "Added following tables:
        cdxCpeIpPrefixTable
        cdxCmtsMtcCmTable
        cdxCmtsUscbSflowTable
        Added following OBJECT-GROUPs:
        cdxCpeIpPrefixGroup
        cdxCmtsMtcCmGroup
        cdxCmtsUscbSflowGroup"
    REVISION        "201209070000Z"
    DESCRIPTION
        "Add the following mib groups:
        cdxWBResilGroup, cdxNotifGroupExt, cdxQosCtrlGroupExt, 
        cdxDownstreamGroup"
    REVISION        "201006090000Z"
    DESCRIPTION
        "Add new object cdxCmCpeDeleteNow to cdxCmCpeTable to delete the
        cable modems."
    REVISION        "200603060000Z"
    DESCRIPTION
        "Following tables are added.

        cdxCmToCpeTable
        cdxCpeToCmTable

        These are used for the direct correlation between
        Cable Modem and Customer Premises Equipment."
    REVISION        "200507010000Z"
    DESCRIPTION
        "Modified the description of cdxCmtsServiceExtEntry.
        Modified the value of lockingMode from 2 to 3."
    REVISION        "200504250000Z"
    DESCRIPTION
        "Modified dxCmtsCmDefaultMaxCpes' lower range from 0
        to -1."
    REVISION        "200407220000Z"
    DESCRIPTION
        "Modified dxCmtsCmDefaultMaxCpes' lower range from 0
        to -1."
    REVISION        "200307300000Z"
    DESCRIPTION
        "Added new objects for supporting DMIC. The objects are
        cdxCmtsCmDMICMode, cdxCmtsCmDMICLockQos and a new table
        cdxCmtsCmStatusDMICTable. Also, one more trap,
        cdxCmtsCmDMICLockNotification is added. Two more states
        were added to cdxCmtsCmStatusValue."
    REVISION        "200302200000Z"
    DESCRIPTION
        "Added new object cdxCmtsCmQosProfile to cdxCmtsCmTable to
        associate a cable modem with a qos profile."
    REVISION        "200210110000Z"
    DESCRIPTION
        "Added new object cdxCmtsCmQosProfile to cdxCmtsCmTable to
        associate a cable modem with a qos profile."
    REVISION        "200110070000Z"
    DESCRIPTION
        "Added new objects cdxIfCmtsCmStatusOnlineTimesNum and
        cdxIfCmtsCmStatusLastResetTime to 
        cdxCmtsCmStatusExtTable."
    REVISION        "200108060000Z"
    DESCRIPTION
        "DOCSIS 1.1 Changes:
        Added new objects cdxIfUpChannelAvgUtil, 
        cdxIfUpChannelAvgContSlots, 
        cdxIfUpChannelRangeSlots in 
        cdxIfUpstreamChannelExtTable. 

        NON-DOCSIS 1.1 Changes:
        Added following objects in cdxIfUpstreamChannelExtTable 
        for providing per upstream UGS statistics information:
        cdxIfUpChannelNumActiveUGS,
        cdxIfUpChannelMaxUGSLastOneHour, 
        cdxIfUpChannelMinUGSLastOneHour,
        cdxIfUpChannelAvgUGSLastOneHour, 
        cdxIfUpChannelMaxUGSLastFiveMins,
        cdxIfUpChannelMinUGSLastFiveMins, 
        cdxIfUpChannelAvgUGSLastFiveMins."
    REVISION        "200104010000Z"
    DESCRIPTION
        "DOCSIS 1.1 Changes:
        1.  Added  cdxUpInfoElemStatsTable to display the per 
        Information Element (IE) statistics.

        2. Added the new queue types in cdxBWQueueNameCode to 
        support the new priority queues of the MAC-Scheduler.

        3. Added the new CM states in cdxCmtsCmStatusValue.

        Non-DOCSIS 1.1 changes:
        4. Added new status information for CM if the connection
        is noisy or if the maximum power has been reached.

        5. Changed the Description for cdxIfUpChannelWidth to
        cater for non-awacs card.

        6. Added new object cdxIfUpChannelInputPowerLevel for
        Upstream Input Power Level."
    REVISION        "200007190000Z"
    DESCRIPTION
        "1.  Added  cdxCmtsCmTotal,cdxCmtsCmActive,
        cdxCmtsCmRegistered to the cdxCmtsMacExtTable to report 
        the number of active,registered,total cable 
        modems on a cable mac interface since boot.

        2.  Added cdxIfUpChannelCmTotal, cdxIfUpChannelCmActive,
        cdxIfUpChannelCmRegistered to the 
        cdxIfUpstreamChannelExtTable to report the number of 
        active,registered,total cable modems connected on an 
        upstream."
    REVISION        "200005170000Z"
    DESCRIPTION
        "1.  Added cdxCmCpeResetNow to reset CM or CPE.
        2.  Added cdxCmtsCmCurrCpeNumber to report the current
        number of CPE connecting to the CM."
    REVISION        "9912280000Z"
    DESCRIPTION
        "1. Added new objects cdxSpecMgmtObjects.
        2. Added new object cdxIfCmtsCmStatusDynSidCount. 
        3. Enhanced cdxQosIfRateLimitTable for a new rate limit 
           algorithm.
        4. Added more status for cdxCmtsCmStatusValue."
    REVISION        "9901210000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { ciscoMgmt 116 }



CdxResettableCounter32 ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This TC describes an object which counts events with the
        following semantics: objects of this type will be set to
        zero(0) on creation or reset indirectly by other objects or
        certain event and will thereafter count appropriate events,
        wrapping back to zero(0) when the value 2^32 is reached.

        Provided that an application discovers the new object within
        the minimum time to wrap it can use the initial value as a
        delta since it last polled the table of which this object is
        part.

        Typically this TC is used in table where the statistical 
        information needs to be re-count after a reset."
    SYNTAX          Gauge32

CdxUpstreamBondGrpList ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "320a"
    STATUS          current
    DESCRIPTION
        "This data type is a human-readable string that represents
        the upstream bonding group list within a MAC Domain.
        When there is no upstream bonding group in a MAC Domain, it
        will be empty."
    SYNTAX          OCTET STRING (SIZE (0..320))
ciscoDocsExtMIBObjects  OBJECT IDENTIFIER
    ::= { ciscoDocsExtMIB 1 }

cdxQosCtrlObjects  OBJECT IDENTIFIER
    ::= { ciscoDocsExtMIBObjects 1 }

cdxQosQueueObjects  OBJECT IDENTIFIER
    ::= { ciscoDocsExtMIBObjects 2 }

cdxCmtsCmCpeObjects  OBJECT IDENTIFIER
    ::= { ciscoDocsExtMIBObjects 3 }

cdxSpecMgmtObjects  OBJECT IDENTIFIER
    ::= { ciscoDocsExtMIBObjects 4 }

cdxWBResilObjects  OBJECT IDENTIFIER
    ::= { ciscoDocsExtMIBObjects 5 }

cdxDownstreamObjects  OBJECT IDENTIFIER
    ::= { ciscoDocsExtMIBObjects 6 }

cdxCmtsMtcCmSfObjects  OBJECT IDENTIFIER
    ::= { ciscoDocsExtMIBObjects 7 }

cdxCmtsDocsisLBObjects  OBJECT IDENTIFIER
    ::= { ciscoDocsExtMIBObjects 8 }

cdxRPDGS7KObjects  OBJECT IDENTIFIER
    ::= { ciscoDocsExtMIBObjects 9 }

cdxCmtsDHCPRelayObjects  OBJECT IDENTIFIER
    ::= { ciscoDocsExtMIBObjects 10 }

cdxCmtsIPv6DHCPRelayObjects  OBJECT IDENTIFIER
    ::= { ciscoDocsExtMIBObjects 11 }

-- Scheduler QoS Control Group
--   
-- To ensure Quality of Service and fairness, the scheduler needs to
-- control the traffic. This group includes attributes that user can
-- configure how the scheduler controls the traffic and attributes
-- showing the current status of the scheduler admission and rate
-- control.
--   
-- For each Service ID, there is one Quality of Service profile
-- associated with it. The QoS profile limits the request (upstream)/
-- packet (downstream) size for the Service ID and also defines the
-- minimum guaranteed upstream bandwidth. Each modem's request
-- associated with a Service ID needs to follow the Quality of
-- Service profile constraints.
--   

--   
-- Quality of Service control upstream table
--   
-- Quality of Service control objects for the upstream interface
--   
-- Because upstream's bandwidth(BW) is limited, the upstream scheduler
-- needs to control the registration according to the upstream's
-- bandwidth(BW) capacity for new cable modem asking to be supported in
-- this upstream.  This table contains the configurable objects that user
-- can enable or disable the controlling process of the scheduler and
-- the state objects that shows the current status of the scheduler.

cdxQosCtrlUpTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxQosCtrlUpEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "For each upstream interface, this table maintains a number
        of objects related to Quality of Service scheduler which uses
        these attributes to control cable modem registration."
    ::= { cdxQosCtrlObjects 1 }

cdxQosCtrlUpEntry OBJECT-TYPE
    SYNTAX          CdxQosCtrlUpEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A list of attributes for each upstream MAC scheduler
        that supports Quality of Service.  Entries in this table
        exist for each ifEntry with ifType of docsCableUpstream(129)."
    REFERENCE
        "Data-Over-Cable Service Interface Specifications (DOCSIS)
             Radio Frequency Interface Specification (SP-RFI-I04-980724), 
             section 6.4 and appendix C.
            
             docsIfQosProfileTable and docsIfCmtsServiceTable in 
             DOCS-IF-MIB.my."
    INDEX           { ifIndex } 
    ::= { cdxQosCtrlUpTable 1 }

CdxQosCtrlUpEntry ::= SEQUENCE {
        cdxQosCtrlUpAdmissionCtrl    TruthValue,
        cdxQosCtrlUpMaxRsvdBWPercent Integer32,
        cdxQosCtrlUpAdmissionRejects Counter32,
        cdxQosCtrlUpReservedBW       Integer32,
        cdxQosCtrlUpMaxVirtualBW     Integer32
}

cdxQosCtrlUpAdmissionCtrl OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The admission control status for minimum guaranteed upstream
        bandwidth scheduling service requests for this upstream.

        When this object is set to 'true', if there is a new modem 
        with minimum guaranteed upstream bandwidth scheduling service
        in its QoS class requesting to be supported in this upstream,
        the upstream scheduler will check the virtual reserved 
        bandwidth remaining capacity before giving admission to this 
        new modem. If there is not enough reserved upstream bandwidth
        to serve the modem's minimum guaranteed bandwidth, the 
        registration request will be rejected.  

        This object is set to 'false' to disable admission control.
        That is, there will be no checking for bandwidth capacity and
        the upstream interface scheduler just admits modem
        registration requests. 

        This object is not meant for Unsolicited Grant Service(UGS) 
        scheduling service as admission control is a requirement in 
        this case." 
    ::= { cdxQosCtrlUpEntry 1 }

cdxQosCtrlUpMaxRsvdBWPercent OBJECT-TYPE
    SYNTAX          Integer32 (10..1000)
    UNITS           "percent"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The percentage of upstream maximum reserved bandwidth to the
        raw bandwidth if the admission control is enabled on this 
        upstream. 

        For example, if the upstream interface has raw bandwidth 
        1,600,000 bits/second and cdxQosCtrlUpMaxRsvdBWPercent is 200 
        percent, then this upstream scheduler will set the maximum of 
        virtual reserved bandwidth capacity to 3,200,000 bits/second 
        (1,600,000 * 2) to serve cable modems with minimum guaranteed 
        upstream bandwidth.  

        The default value is 100 percent (that is, maximum reserved 
        bandwidth is the raw bandwidth.) Whenever the admission control 
        is changed (on to off, off to on), this value will be reset to 
        the default value 100.  

        If the admission control is disabled, the value will be reset 
        to 100 (the default value)." 
    ::= { cdxQosCtrlUpEntry 2 }

cdxQosCtrlUpAdmissionRejects OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The count of cable modem registration requests rejected on
        this upstream interface due to insufficient reserved 
        bandwidth for serving the cable modems with Unsolicited 
        Grant Service (UGS) scheduling service when UGS is 
        supported and for serving the cable modems with minimum 
        guaranteed bandwidth in its Quality of Service class when
        admission control is enabled on this upstream interface ." 
    ::= { cdxQosCtrlUpEntry 3 }

cdxQosCtrlUpReservedBW OBJECT-TYPE
    SYNTAX          Integer32 (0..102400000)
    UNITS           "bits/second"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The current total reserved bandwidth in bits per second of
        this upstream interface.  It is the sum of all cable modems'
        minimum guaranteed bandwidth in bits per second currently 
        supported on this upstream." 
    ::= { cdxQosCtrlUpEntry 4 }

cdxQosCtrlUpMaxVirtualBW OBJECT-TYPE
    SYNTAX          Integer32 (0..102400000)
    UNITS           "bits/second"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The maximum virtual bandwidth capacity of this upstream interface
        if the admission control is enabled. It is the raw bandwidth 
        in bits per second times the percentage. If the admission 
        control is disabled, then this object will contain the value 
        zero." 
    ::= { cdxQosCtrlUpEntry 5 }
 

-- Rate Limiting table
--   
-- After a cable modem is registered, upstream and downstream schedulers
-- will control the bandwidth request/packet size to ensure the Quality of
-- Service and fairness by a rate limiting algorithm.  This table
-- contains attributes related to the rate limiting algorithms.

cdxQosIfRateLimitTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxQosIfRateLimitEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table describes the attributes of rate limiting for
        schedulers in cable upstream and downstream interfaces that 
        support Quality of Service.  The rate limiting process is 
        to ensure the Quality of Service and fairness."
    ::= { cdxQosCtrlObjects 2 }

cdxQosIfRateLimitEntry OBJECT-TYPE
    SYNTAX          CdxQosIfRateLimitEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "List of the rate limiting attributes for cable upstream and
        downstream interfaces schedulers that support Quality of 
        Service. Entries in this table exist for each ifEntry with 
        ifType of docsCableUpstream(129) and docsCableDownstream(128)."
    REFERENCE
        "Data-Over-Cable Service Interface Specifications (DOCSIS)
             Radio Frequency Interface Specification (SP-RFI-I04-980724),
             section 6.4 and appendix C.

             docsIfQosProfileTable and docsIfCmtsServiceTable in
             DOCS-IF-MIB.my."
    INDEX           { ifIndex } 
    ::= { cdxQosIfRateLimitTable 1 }

CdxQosIfRateLimitEntry ::= SEQUENCE {
        cdxQosIfRateLimitAlgm           INTEGER,
        cdxQosIfRateLimitExpWt          Integer32,
        cdxQosIfRateLimitShpMaxDelay    INTEGER,
        cdxQosIfRateLimitShpGranularity INTEGER
}

cdxQosIfRateLimitAlgm OBJECT-TYPE
    SYNTAX          INTEGER  {
                        noRateLimit(1), -- rate limiting process is
                                        -- disabled
                        oneSecBurst(2), -- Bursty 1 second token bucket
                                        -- algorithm
                        carLike(3), -- Average token usage algorithm
                                    -- (CAR-like)
                        wtExPacketDiscard(4), -- Weighted excess packet
                                              -- discard algorithm
                        shaping(5)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "To ensure fairness, the CMTS will throttle the rate for bandwidth
        request (upstream)/packet sent (downstream) at which CMTS issues 
        grants(upstream) or allow packet to be send(downstream) such that 
        the flow never gets more than its provisioned peak rate in bps. 

        There are two directions for every Service Id (Sid) traffic: 
        downstream and upstream. Each direction is called a service flow 
        here and assigned one token bucket with chosen algorithm. 

        The enumerations for the rate limiting algorithm are:
         noRateLimit(1): The rate limiting is disabled. No rate limiting.
         oneSecBurst(2): Bursty 1 second token bucket algorithm.
         carLike(3)    : Average token usage (CAR-like) algorithm 
         wtExPacketDiscard(4) : Weighted excess packet discard algorithm.
         shaping(5): token bucket algorithm with shaping

        Upstream supports the following: 
          No rate limiting (1), 
          Bursty 1 second token bucket algorithm(2), 
          Average token usage (CAR-like) algorithm(3),
          Token bucket algorithm with shaping(5).

        Downstream supports the following:
          No rate limiting (1), 
          Bursty 1 second token bucket algorithm(2),
          Average token usage (CAR-like) algorithm(3),
          Weighted excess packet discard algorithm(4), and
          Token bucket algorithm with shaping(5).

        Token bucket algorithm with shaping is the
        default algorithm for upstream if CMTS is in DOCSIS 1.0 mode
        or DOCSIS 1.1 mode.


        Bursty 1 second token bucket algorithm is the 
        default algorithm for downstream if the CMTS is in
        DOCSIS 1.0 mode. If it is in DOCSIS 1.1 mode the default
        algorithm for downstream is  Token bucket algorithm with
        shaping .

        Each algorithm is described as below:
          No rate limiting: 
            The rate limiting process is disabled and no checking 
            against the maximum bandwidth allowed. 

          Bursty 1 second token bucket rate limiting algorithm: 
            In this algorithm, at the start of every 1 second interval, 
            a service flow's token usage is reset to 0, and every time 
            the modem for that service flow sends a request (upstream) / 
            packet (downstream) the upstream/downstream bandwidth 
            token usage is incremented by the size of the 
            request/packet sent. As long as the service flow's bandwidth 
            token usage is less than the maximum bandwidth in bits 
            per second (peak rate limit) its QoS service class 
            allows, the request/packets will not be restricted. 
            Once the service flow has sent more than its peak rate in the 
            one second interval, it is prevented from sending more 
            data by rejecting request (upstream) or dropping 
            packets (downstream). This is expected to slow down
            the higher layer sources. The token usage counter gets 
            reset to 0 after the 1 second interval has elapsed. The 
            modem for that service flow is free to send more data up to the 
            peak rate limit in the new 1 second interval that follows.  

          Average token usage (Cisco CAR like) algorithm: 
            This algorithm maintains a continuous average of the 
            burst token usage of a service flow. There is no sudden 
            refilling of tokens every 1 second interval. Every time a 
            request/packet is to be handled, the scheduler tries to see 
            how much time has elapsed since last transmission, and 
            computes the number of tokens accumulated by this service flow 
            at its QoS class peak rate. If burst usage of the service flow 
            is less than tokens accumulated, the burst usage is reset to 0 
            and request/packet is forwarded. If the service flow has 
            accumulated fewer tokens than its burst usage, the burst usage 
            shows an outstanding balance usage after decrementing by the 
            tokens accumulated. In such cases, the request/packet is still 
            forwarded, provided the service flow's outstanding usage does 
            not exceed peak rate limit of its QoS class. If outstanding 
            burst usage exceeds the peak rate of the class, the service 
            flow is given some token credit up to a certain maximum credit 
            limit and the request/packet is forwarded. The request/packet 
            is dropped when outstanding usage exceeds peak rate and maximum 
            credit has been used up by this service flow. This algorithm 
            tracks long term average bandwidth usage of the service flow 
            and controls this average usage at the peak rate limit.

          Weighted excess packet discard algorithm:
            This rate limiting algorithm is only available as an option 
            for downstream rate limiting. The algorithm is to maintain an 
            weighted exponential moving average of the loss rate of a 
            service flow over time. The loss rate, expressed in packets, 
            represents the number of packets that can be sent from this 
            service flow in a one second interval before a packet will 
            be dropped. At every one second interval, the loss rate gets 
            updated using the ratio between the flow peak rate (in bps) 
            in its QoS profile and the service flow actual usage (in bps). 
            If the service flow begins to send more than its peak rate 
            continuously, the number of packets it can send in an one 
            second interval before experiencing a drop will slowly keep 
            reducing until cable modem for that service flow slows down 
            as indicated by actual usage less or equal to the peak rate. 

          Token bucket algorithm with shaping:
             If there is no QoS class peak rate limit, forward the 
             request/packet without delay. If there is a QoS peak rate 
             limit, every time a request/packet is to be handled, the 
             scheduler determines the number of bandwidth tokens that this 
             service flow has accumulated over the elapsed time at its 
             QoS class peak rate and increments the tokens counter of the 
             service flow accordingly.  The scheduler limits the token 
             count to the maximum transmit burst (token bucket depth).  
             If token count is greater than the number of tokens required 
             to handle current request/packet, decrement token count by 
             size of request/packet and forwards the request/packet 
             without delay.  If token count is less than the size of 
             request/packet, compute the shaping delay time after 
             which the deficit number of tokens would be available. If 
             shaping delay time is less than the maximum shaping delay, 
             decrement tokens count by size of request/packet and 
             forward this request/packet with the shaping delay in the 
             shaping delay queue. When the delay time expires, the 
             request/packet is forwarded. If shaping delay time is 
             greater than the maximum shaping delay that the subsequent 
             shaper can handle, the request/packet is dropped. Users can
             use cdxQosIfRateLimitShpMaxDelay to configure the the maximum 
             shaping delay and cdxQosIfRateLimitShpGranularity to 
             configure the shaping granularity." 
    ::= { cdxQosIfRateLimitEntry 1 }

cdxQosIfRateLimitExpWt OBJECT-TYPE
    SYNTAX          Integer32 (1..4)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Weight for exponential moving average of loss rate for
        weighted excess packet discard algorithm to maintain.
        The higher value of the weight makes the algorithm
        more sensitive to the recent bandwidth usage by the Sid. 

        The default value is 1 and whenever the rate limiting
        algorithm is changed to weighted excess packet discard 
        algorithm, this value will be reset to the default 1.

        If the rate limiting algorithm is not weighted excess 
        packet discard algorithm, the value will be always the 
        default value 1." 
    ::= { cdxQosIfRateLimitEntry 2 }

cdxQosIfRateLimitShpMaxDelay OBJECT-TYPE
    SYNTAX          INTEGER  {
                        na(1),
                        msec128(2),
                        msec256(3),
                        msec512(4),
                        msec1024(5)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The maximum shaping delay in milliseconds. That is, the maximum
        amount time of buffering the CMTS will allow for any rate exceeded 
        flow.  If the max buffering delay is large, the grants/packets of 
        the flow will be buffered for a longer period of time even though 
        the flow is rate exceeded. This means fewer chances of drops for
        such rate exceeded flow. However, too large a max shaping delay 
        can result is quick drainage of packet buffers at the CMTS, since 
        several packets will be in the shaping (delay) queue waiting for 
        their proper transmission time. Another important point to be noted 
        is that delaying a flows packets (especially TCP flows) for 
        extended periods of time is useless, since the higher protocol 
        layers may assume a packet loss after a certain amount of time.

        The maximum shaping delay is only applied to rate limit algorithm: 
        Token bucket algorithm with shaping.  If the rate limit 
        algorithm is not Token bucket algorithm with shaping, the 
        value is always na(1) which is not applicable.

        If the token count is less than the size of request/packet, CMTS 
        computes the shaping delay time after which the deficit number of 
        tokens would be available. If the shaping delay time is greater 
        than the maximum shaping delay, the request/packet will be dropped.  

        The enumerations for maximum shaping delay are:
          na(1): maximum shaping delay is not applied to the current 
                 rate limit algorithm
         msec128(2): maximum shaping delay is 128 milliseconds  
         msec256(3): maximum shaping delay is 256 milliseconds 
         msec512(4): maximum shaping delay is 512 milliseconds 
        msec1024(5): maximum shaping delay is 1024 milliseconds 

        The downstream maximum shaping delay is configurable and the
        default value is msec128(2). Whenever the downstream rate 
        limit algorithm is changed to Token bucket algorithm with 
        shaping from other rate limit algorithm, the value will 
        be reset to the default value. 

        The upstream maximum shaping delay is not configurable and it 
        is read-only value." 
    ::= { cdxQosIfRateLimitEntry 3 }

cdxQosIfRateLimitShpGranularity OBJECT-TYPE
    SYNTAX          INTEGER  {
                        na(1),
                        msec1(2),
                        msec2(3),
                        msec4(4),
                        msec8(5),
                        msec16(6)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The width in milliseconds of each element in shaping
        delay queue, that is, the shaping granularity.

        The shaping granularity is only applied to rate limit
        algorithm: Token bucket algorithm with shaping. It 
        controls how accurately the algorithm quantizes the shaping 
        delay for a rate exceeded flow. If granularity is large, several 
        shaping delay values will all be quantized to the same element 
        in the queue resulting in less accurate rate shaping for the flows 
        in bits/sec. On the other hand, choosing too small granularity 
        causes more memory to be used for the shaper block, and also 
        can cost a bit more in runtime overhead.

        If the rate limit algorithm is not Token bucket algorithm with 
        shaping, the value is always na(1) which is not applicable.

        The enumerations for shaping granularity are:
          na(1): shaping granularity is not applied to the current 
                 rate limit algorithm
           msec1(2): shaping granularity in 1 milliseconds 
           msec2(3): shaping granularity in 2 milliseconds 
           msec4(4): shaping granularity in 4 milliseconds 
           msec8(5): shaping granularity in 8 milliseconds 
          msec16(6): shaping granularity in 16 milliseconds  

        The downstream shaping granularity is configurable and the
        default value is msec4(4). Whenever the downstream rate limit 
        algorithm is changed to Token bucket algorithm with shaping 
        from other rate limit algorithm, the value will be reset to the 
        default value. 

        The upstream shaping granularity is not configurable and 
        it is read-only value." 
    ::= { cdxQosIfRateLimitEntry 4 }
 

-- Cmts Service Extension Table
--   
-- This table extends the information about a Service ID in
-- docsIfCmtsServiceTable.
--   
-- For each Service ID, there is one Quality of Service profile
-- associated with it and the profile limits the request/packet size
-- for the Service ID. This table shows downstream traffic statistics
-- and the various counts that the Service ID exceeds the limit in its
-- Quality of Service profile.

cdxCmtsServiceExtTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxCmtsServiceExtEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The list contains the additional attributes of a single Service
        ID that provided by docsIfCmtsServiceEntry."
    ::= { cdxQosCtrlObjects 3 }

cdxCmtsServiceExtEntry OBJECT-TYPE
    SYNTAX          CdxCmtsServiceExtEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Additional objects for docsIfCmtsServiceTable entry including
        downstream traffic statistics and excess counts against the 
        Quality of Service limits for each Service ID.
        From DOCSIS 1.1 onwards statistics are maintained for each 
        Service Flow(instead of the Service ID) in the DOCS-QOS-MIB 
        in docsQosServiceFlowStatsTable objects. For Cable modems
        not running in DOCSIS 1.0 mode, the objects  
        cdxIfCmtsServiceOutOctets and cdxIfCmtsServiceOutPackets
        will only support primary service flow."
    REFERENCE
        "Data-Over-Cable Service Interface Specifications (DOCSIS)
             Radio Frequency Interface Specification (SP-RFI-I04-980724),
             section 6.4 and appendix C.

             docsIfQosProfileTable and docsIfCmtsServiceTable in
             DOCS-IF-MIB.my."
    AUGMENTS           { docsIfCmtsServiceEntry  } 
    ::= { cdxCmtsServiceExtTable 1 }

CdxCmtsServiceExtEntry ::= SEQUENCE {
        cdxIfCmtsServiceOutOctets    Counter32,
        cdxIfCmtsServiceOutPackets   Counter32,
        cdxQosMaxUpBWExcessRequests  Counter32,
        cdxQosMaxDownBWExcessPackets Counter32,
        cdxIfCmtsServiceHCInOctets   Counter64,
        cdxIfCmtsServiceHCInPackets  Counter64,
        cdxIfCmtsServiceHCOutOctets  Counter64,
        cdxIfCmtsServiceHCOutPackets Counter64
}

cdxIfCmtsServiceOutOctets OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The cumulative number of Packet Data octets sent for this
        Service ID." 
    ::= { cdxCmtsServiceExtEntry 1 }

cdxIfCmtsServiceOutPackets OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The cumulative number of Packet data packets sent for this
        Service ID." 
    ::= { cdxCmtsServiceExtEntry 2 }

cdxQosMaxUpBWExcessRequests OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of upstream bandwidth requests which exceeds the
        maximum upstream bandwidth allowed for a service defined 
        in the Quality of Service profile associated with this Sid. 
        The request which exceeds the maximum upstream bandwidth 
        allowed will be rejected by the upstream's rate limiting 
        process using one of the rate limiting algorithm. 

        Note that the value of this counter cannot be directly used 
        to know the number of upstream packets that got dropped at 
        the cable modem.  A single upstream packet drop of a modem 
        can result in up to 16 increments in this counter, since the 
        modem keeps retrying and keeps getting bandwidth request 
        drops at CMTS if it has consumed its peak rate."
    REFERENCE
        "docsIfQosProfMaxUpBandwidth object in DOCS-IF-MIB.my." 
    ::= { cdxCmtsServiceExtEntry 3 }

cdxQosMaxDownBWExcessPackets OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of downstream bandwidth packets which exceeds the
        maximum downstream bandwidth allowed for a service defined
        in the Quality of Service profile associated with this Sid. 
        The packet which exceeds the maximum downstream bandwidth 
        allowed will be dropped by the downstream's rate limiting 
        process using one of the rate limiting algorithm."
    REFERENCE
        "docsIfQosProfMaxDownBandwidth object in DOCS-IF-MIB.my." 
    ::= { cdxCmtsServiceExtEntry 4 }

cdxIfCmtsServiceHCInOctets OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The cumulative number of Packet Data octets received on this
        Service ID. The count does not include the size of the Cable
        MAC header. This object is a 64-bit version of
        docsIfCmtsServiceInOctets." 
    ::= { cdxCmtsServiceExtEntry 5 }

cdxIfCmtsServiceHCInPackets OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The cumulative number of Packet Data packets received on this
        Service ID. This object is a 64-bit version of
        docsIfCmtsServiceInPackets." 
    ::= { cdxCmtsServiceExtEntry 6 }

cdxIfCmtsServiceHCOutOctets OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The cumulative number of Packet Data octets sent for this
        Service ID. This object is a 64-bit version of
        cdxIfCmtsServiceOutOctets." 
    ::= { cdxCmtsServiceExtEntry 7 }

cdxIfCmtsServiceHCOutPackets OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The cumulative number of Packet Data packets sent for this
        Service ID. This object is a 64-bit version of
        cdxIfCmtsServiceOutPackets." 
    ::= { cdxCmtsServiceExtEntry 8 }
 

-- Upstream Information Element Statistics Table
--   
-- This table contains the CMTS upstream Mac scheduler statistics for
-- each type of Information Element (IE).
--   
-- The CMTS upstream channel is modeled as a stream of mini-slots.
-- The CMTS generates the allocation MAP to define transmission
-- opportunities on the upstream channel. The MAP defines a variable
-- number of Information Elements (IE) which defines the allowed usage
-- for a range of mini-slots.
--   
-- The Information provided in this table could be dynamic depending on
-- how the the mini-slots are used.

cdxUpInfoElemStatsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxUpInfoElemStatsEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The table contains the attributes of a particular
        Information Element type for each instance of the MAC 
        scheduler. It is indexed by upstream ifIndex. An Entry
        exists for each ifEntry with ifType of docsCableUpstream(129)
        Since each upstream has an instance of a MAC Scheduler so 
        this table has the per MAC scheduler slot information on a
        per Information Element basis."
    ::= { cdxQosCtrlObjects 4 }

cdxUpInfoElemStatsEntry OBJECT-TYPE
    SYNTAX          CdxUpInfoElemStatsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The list of statistics for a type of Information Element(IE)
        which defines the allowed usage for a range of upstream mini
        slots. One entry exists for each Information Element (IE) in
        a upstream which ifType is docsCableUpstream (12)."
    REFERENCE
        "Data-Over-Cable Service Interface Specifications (DOCSIS)
             Radio Frequency Interface Specification (SP-RFI-I05-000714)
             section 7.1.2"
    INDEX           {
                        ifIndex,
                        cdxUpInfoElemStatsNameCode
                    } 
    ::= { cdxUpInfoElemStatsTable 1 }

CdxUpInfoElemStatsEntry ::= SEQUENCE {
        cdxUpInfoElemStatsNameCode INTEGER,
        cdxUpInfoElemStatsIEType   Integer32
}

cdxUpInfoElemStatsNameCode OBJECT-TYPE
    SYNTAX          INTEGER  {
                        reqIE(1),
                        reqOrDataIE(2),
                        initMtnIE(3),
                        stnMtnIE(4),
                        shortGrantIE(5),
                        longGrantIE(6)
                    }
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This entry describes the Information Element (IE) type.
        Enumerations are :
        reqIE(1)          : Request Information Element,
                            The request Information Element provides
                            an upstream interval in which a CM can
                            request the CMTS for bandwidth on the 
                            upstream channel.
        reqOrDataIE(2)    : Request/Data Information Element,
                            The Request/data Information Element 
                            provides an upstream interval in which 
                            request may be made by the CM to the 
                            CMTS for bandwidth or short data 
                            packets may be transmitted on the
                            upstream channel.
        initMtnIE(3)      : Initial Maintenance Information Element,
                            The Initial Maintenance Information 
                            Element provides an interval in which 
                            new stations may join the network.
        stnMtnIE(4)       : Station Maintenance Information Element,
                            The Station Maintenance Information 
                            Element provides an interval in which 
                            stations are expected to perform some 
                            aspect of routine network maintenance , 
                            such as ranging or power adjustment.
        shortGrantIE(5)   : Short Data Grant Information Element,
                            Short data grant Information Element
                            provides the CM an opportunity to 
                            transmit one or more upstream PDU's.
                            Short data grants are used with 
                            intervals equal to or less than the 
                            maximum burst size for the usage 
                            specified in the Upstream Channel 
                            Descriptor.
        longGrantIE(6)    : Long Data Grant Information Element,
                            The long data grant Information Element
                            also provides the CM an opportunity to
                            transmit one or more upstream PDU's.
                            All long data grant Information Elements
                            must have a larger number of mini-slots
                            than that defined for a short data grant
                            Information Element profile defined in
                            the Upstream Channel Descriptor." 
    ::= { cdxUpInfoElemStatsEntry 1 }

cdxUpInfoElemStatsIEType OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The current number of mini-slots used for the Information
        Element type. The value is only a snapshot since the 
        current number of mini-slots of this IE type could be
        changing rapidly." 
    ::= { cdxUpInfoElemStatsEntry 2 }
 

-- Scheduler QoS Queue Group
--   
-- To ensure Quality of Service and fairness, the scheduler
-- maintains a set of queues for different services and puts
-- cable modems requests/packets for that Sid in different
-- queue according to the Quality of Service profile of the
-- Sid.  Each queue has a name and order within the queue set.
-- The scheduler will serve the requests/packets in higher
-- order queue before serving the requests/packets in lower
-- order queue.
--   

--   
-- Scheduler bandwidth request queues table
--   
-- This table displays the attributes for these queues in a cable
-- interface scheduler that supports Quality of Service.

cdxBWQueueTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxBWQueueEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table describes the attributes of queues
        in cable interfaces schedulers that support 
        Quality of Service."
    ::= { cdxQosQueueObjects 1 }

cdxBWQueueEntry OBJECT-TYPE
    SYNTAX          CdxBWQueueEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The list of queue attributes in cable upstream and downstream
        interfaces schedulers that supports Quality of Service. 
        Entries in this table exist for each ifEntry with ifType of 
        docsCableUpstream(129) and docsCableDownstream(128)."
    REFERENCE
        "Data-Over-Cable Service Interface Specifications (DOCSIS)
             Radio Frequency Interface Specification (SP-RFI-I04-980724), 
             section 6.4 and appendix C."
    INDEX           {
                        ifIndex,
                        cdxBWQueueNameCode
                    } 
    ::= { cdxBWQueueTable 1 }

CdxBWQueueEntry ::= SEQUENCE {
        cdxBWQueueNameCode             INTEGER,
        cdxBWQueueOrder                Integer32,
        cdxBWQueueNumServedBeforeYield Integer32,
        cdxBWQueueType                 INTEGER,
        cdxBWQueueMaxDepth             Integer32,
        cdxBWQueueDepth                Integer32,
        cdxBWQueueDiscards             Counter32
}

cdxBWQueueNameCode OBJECT-TYPE
    SYNTAX          INTEGER  {
                        cirQ(1), -- Committed Information Rate Queue
                        tbeQ(2), -- TIERED BEST EFFORT queue
                        p0BEGrantQ(3), -- Priority 0 Best Effort Grant
                                       -- Queue
                        p1BEGrantQ(4), -- Priority 1 Best Effort Grant
                                       -- Queue
                        p2BEGrantQ(5), -- Priority 2 Best Effort Grant
                                       -- Queue
                        p3BEGrantQ(6), -- Priority 3 Best Effort Grant
                                       -- Queue
                        p4BEGrantQ(7), -- Priority 4 Best Effort Grant
                                       -- Queue
                        p5BEGrantQ(8), -- Priority 5 Best Effort Grant
                                       -- Queue
                        p6BEGrantQ(9), -- Priority 6 Best Effort Grant
                                       -- Queue
                        p7BEGrantQ(10), -- Priority 7 Best Effort Grant
                                        -- Queue
                        rngPollQ(11) -- Priority 9 ranging Poll Queue                        
                    }
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The name code for the queue.

        cirQ :CIR queue. The queue is for Committed Information Rate 
              (CIR) type of service which serves Service IDs which
              have minimum guaranteed rate in its QoS profile.
              It is applicable if CMTS is running is either of 
              DOCSIS 1.0 or 1.1 modes.For DOCSIS 1.1 it has 
              priority 8.

        tbeQ :TBE Queue.The queue is for TIERED BEST EFFORT type 
              service which serves Service IDs which does not have 
              minimum guaranteed rate in its QoS profile. It is 
              only applicable if CMTS is running in DOCSIS 1.0
              mode.

        p0BEGrantQ-p7BEGrantQ : BEST EFFORT Queue
              The queues p0BEGrantQ to P7BEGrantQ are for TIERED 
              BEST EFFORT type service which serves Service IDs 
              which do not have minimum guaranteed rate specified
              in the QoS parameters. P0 has lowest priority and P7
              has highest.Best Effort type is purely handled with 
              prioritization in FIFO's and hence demands more 
              number of queues. These queues are applicable only if
              CMTS is running under mode DOCSIS 1.1.

        rngPollQ : RngPoll queue.
              The queue is for the ranging SID's.It has the highest
              priority. This queue information is only provided if
              CMTS is running under mode DOCSIS 1.1."
    REFERENCE
        "Data-Over-Cable Service Interface Specifications (DOCSIS)
             Radio Frequency Interface Specification(SP-RFI-I06-001215) 
             section 6.4 and appendix C." 
    ::= { cdxBWQueueEntry 1 }

cdxBWQueueOrder OBJECT-TYPE
    SYNTAX          Integer32 (0..10)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The relative order of this queue to the other queues within the
        cable interface. The smaller number has higher order. That is,
        0 is the highest order and 10 is the lowest order.  The 
        scheduler will serve the requests in higher order queue up to 
        the number of requests defined in cdxBWQueueNumServedBeforeYield
        before serving requests in the next higher order queue.  

        If there are n queues on this interface, the queue order will 
        be 0 to n-1 and maximum number of requests defined as 
        cdxBWQueueNumServedBeforeYield in order 0 queue will be served 
        before the requests in order 1 queue to be served." 
    ::= { cdxBWQueueEntry 2 }

cdxBWQueueNumServedBeforeYield OBJECT-TYPE
    SYNTAX          Integer32 (0..64)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The maximum number of requests/packets the scheduler can
        serve before yielding to another queue. The value 0 means all 
        requests must be served before yielding to another queue. The 
        range is 0-50 for DOCSIS 1.0 and for DOCSIS 1.1 it is 0-64." 
    ::= { cdxBWQueueEntry 3 }

cdxBWQueueType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        unknown(1),
                        other(2),
                        fifo(3),
                        priority(4)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The queuing type which decides the position of a request/packet
        within the queue.
          unknown : queue type unknown. 
          other   : not fifo, and not priority.
          fifo    : first in first out.
          priority: each bandwidth request has a priority and the 
                    position of the request within the queue depends 
                    on its priority.
          For DOCSIS1.1 all the priority queues are fifo queues." 
    ::= { cdxBWQueueEntry 4 }

cdxBWQueueMaxDepth OBJECT-TYPE
    SYNTAX          Integer32 (0..64)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The maximum number of requests/packets which the queue can
        support.The range is 0-50 for DOCSIS1.0 and for
        DOCSIS1.1 it is 0-64." 
    ::= { cdxBWQueueEntry 5 }

cdxBWQueueDepth OBJECT-TYPE
    SYNTAX          Integer32 (0..64)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The current number of requests/packets in the queue.
        The range is 0-50 for DOCSIS1.0 and for
        DOCSIS1.1 it is 0-64." 
    ::= { cdxBWQueueEntry 6 }

cdxBWQueueDiscards OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of requests/packets discarded because of queue
        overflow (queue depth > queue maximum depth)." 
    ::= { cdxBWQueueEntry 7 }
 

-- CMTS Cable Modem (CM) Customer Premises Equipments (CPE) Group
--   
-- This group contains tables in CMTS for information about
-- Cable Modems (CM) and Customer Premises Equipments (CPE)
-- that connects to Cable Modems.
--   

--   
-- Cable modem (CM) or Customer Premises Equipments (CPE) Table
--   
-- For the information of CM or CPE maintained in CMTS.

cdxCmCpeTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxCmCpeEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains information about cable modems (CM) or
        Customer Premises Equipments (CPE)."
    ::= { cdxCmtsCmCpeObjects 1 }

cdxCmCpeEntry OBJECT-TYPE
    SYNTAX          CdxCmCpeEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The list contains information for a cable modem (CM) or a
        Customer Premises Equipment (CPE). An entry exist for 
        each cable modem supported by CMTS and each Customer Premises 
        Equipment connected to a cable modem supported by CMTS."
    REFERENCE
        "Data-Over-Cable Service Interface Specifications (DOCSIS)
             Radio Frequency Interface Specification (SP-RFI-I04-980724.)
             docsIfCmtsCmStatusTable, docsIfCmtsServiceTable in 
             DOCS-IF-MIB.my."
    INDEX           { cdxCmCpeMacAddress } 
    ::= { cdxCmCpeTable 1 }

CdxCmCpeEntry ::= SEQUENCE {
        cdxCmCpeMacAddress    MacAddress,
        cdxCmCpeType          INTEGER,
        cdxCmCpeIpAddress     IpAddress,
        cdxCmCpeIfIndex       InterfaceIndex,
        cdxCmCpeCmtsServiceId Integer32,
        cdxCmCpeCmStatusIndex Integer32,
        cdxCmCpeAccessGroup   DisplayString,
        cdxCmCpeResetNow      TruthValue,
        cdxCmCpeDeleteNow     TruthValue
}

cdxCmCpeMacAddress OBJECT-TYPE
    SYNTAX          MacAddress
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The Mac address to identify a cable modem or a Customer
        Premises Equipment." 
    ::= { cdxCmCpeEntry 1 }

cdxCmCpeType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        cm(1),
                        cpe(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Indicate this entry is for cable modem or Customer Premises
        Equipment.  The enumerations are: 
         cm(1): cable modem
         cpe(2): Customer Premises Equipment" 
    ::= { cdxCmCpeEntry 2 }

cdxCmCpeIpAddress OBJECT-TYPE
    SYNTAX          IpAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Ip address of the cable modem or Customer Premises Equipment." 
    ::= { cdxCmCpeEntry 3 }

cdxCmCpeIfIndex OBJECT-TYPE
    SYNTAX          InterfaceIndex
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The CMTS cable MAC interface index (ifType of
        docsCableMaclayer(127)) that cable modem or Customer Premises 
        Equipment connects to.  

        Use cdxCmCpeIfIndex and cdxCmCpeCmtsServiceId to identify
        an  entry in docsIfCmtsServiceTable." 
    ::= { cdxCmCpeEntry 4 }

cdxCmCpeCmtsServiceId OBJECT-TYPE
    SYNTAX          Integer32 (1..16383)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The cable modem's primary Service ID if the type is cm.
        The primary Service ID for the CM which the CPE connects if the 
        type is cpe.

        Use cdxCmCpeIfIndex and cdxCmCpeCmtsServiceId to identify an 
        entry in docsIfCmtsServiceTable." 
    ::= { cdxCmCpeEntry 5 }

cdxCmCpeCmStatusIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Pointer to an entry in docsIfCmtsCmStatusTable identifying
        status of the CM (which the CPE connects to.)" 
    ::= { cdxCmCpeEntry 6 }

cdxCmCpeAccessGroup OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "ASCII text to identify the Access Group for a CM or CPE.
        Access Group is to filter the upstream traffic for that
        CM or CPE." 
    ::= { cdxCmCpeEntry 7 }

cdxCmCpeResetNow OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Setting this object to true(1) causes the device to
        reset.  Reading this object always returns false(2).

        For cdxCmCpeType value cm(1),  CMTS removes the 
        CM from the Station Maintenance List and would cause 
        the CM to reset its interface.

        For cdxCmCpeType value cpe(2), CMTS removes the 
        CPE's MAC address from the internal address table.  
        It then rediscovers and associates the CPE with the 
        correct CM during the next DHCP lease cycle.  By resetting 
        the CPE, the user can replace an existing CPE or change 
        its network interface card (NIC)." 
    ::= { cdxCmCpeEntry 8 }

cdxCmCpeDeleteNow OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Setting this object to true(1) causes the CM/CPE to
        be deleted.  Reading this object always returns false(2).

        For cdxCmCpeType value cm(1),  CMTS delete CM from 
        its interface.

        For cdxCmCpeType value cpe(2), CMTS delete CPE from 
        its associated CM." 
    ::= { cdxCmCpeEntry 9 }
 

-- CMTS CM status extension table
--   
-- This table extends the CM status information in docsIfCmtsCmStatusTable

cdxCmtsCmStatusExtTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxCmtsCmStatusExtEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The list contains the additional CM status information."
    ::= { cdxCmtsCmCpeObjects 2 }

cdxCmtsCmStatusExtEntry OBJECT-TYPE
    SYNTAX          CdxCmtsCmStatusExtEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Additional objects for docsIfCmtsCmStatusTable entry."
    REFERENCE
        "Data-Over-Cable Service Interface Specifications (DOCSIS)
             Radio Frequency Interface Specification (SP-RFI-I04-980724.)
             docsIfCmtsCmStatusTable in DOCS-IF-MIB.my."
    AUGMENTS           { docsIfCmtsCmStatusEntry  } 
    ::= { cdxCmtsCmStatusExtTable 1 }

CdxCmtsCmStatusExtEntry ::= SEQUENCE {
        cdxCmtsCmStatusValue            INTEGER,
        cdxIfCmtsCmStatusOnlineTimes    Counter32,
        cdxIfCmtsCmStatusPercentOnline  Integer32,
        cdxIfCmtsCmStatusMinOnlineTime  TimeInterval,
        cdxIfCmtsCmStatusAvgOnlineTime  TimeInterval,
        cdxIfCmtsCmStatusMaxOnlineTime  TimeInterval,
        cdxIfCmtsCmStatusMinOfflineTime TimeInterval,
        cdxIfCmtsCmStatusAvgOfflineTime TimeInterval,
        cdxIfCmtsCmStatusMaxOfflineTime TimeInterval,
        cdxIfCmtsCmStatusDynSidCount    Integer32,
        cdxIfCmtsCmStatusAddlInfo       BITS,
        cdxIfCmtsCmStatusOnlineTimesNum CdxResettableCounter32,
        cdxIfCmtsCmStatusLastResetTime  TimeStamp
}

cdxCmtsCmStatusValue OBJECT-TYPE
    SYNTAX          INTEGER  {
                        offline(1),
                        others(2),
                        initRangingRcvd(3),
                        initDhcpReqRcvd(4),
                        onlineNetAccessDisabled(5),
                        onlineKekAssigned(6),
                        onlineTekAssigned(7),
                        rejectBadMic(8),
                        rejectBadCos(9),
                        kekRejected(10),
                        tekRejected(11),
                        online(12),
                        initTftpPacketRcvd(13),
                        initTodRequestRcvd(14),
                        reset(15),
                        rangingInProgress(16),
                        rangingCompleted(17), -- deprecated
                        dhcpGotIpAddr(18),
                        rejStaleConfig(19),
                        rejIpSpoof(20),
                        rejClassFail(21),
                        rejRegNack(22),
                        bpiKekExpired(23),
                        bpiTekExpired(24),
                        shutdown(25),
                        channelChgInitRangingRcvd(26),
                        channelChgRangingInProgress(27)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Current Cable Modem connectivity state. The object extends
        states in docsIfCmtsCmStatusValue in more details. 

        The enumerations are:
        offline(1)                : modem considered offline.
        others(2)                 : states is in 
                                    docsIfCmtsCmStatusValue.
        initRangingRcvd(3)        : modem sent initial ranging.
        initDhcpReqRcvd(4)        : dhcp request received.
        onlineNetAccessDisabled(5): modem registered, but network    
                                    access for the CM is disabled.
        onlineKekAssigned(6)      : modem registered, BPI enabled
                                    and KEK assigned.
        onlineTekAssigned(7)      : modem registered, BPI enabled
                                    and TEK assigned.
        rejectBadMic(8)           : modem did attempt to register but
                                    registration was refused due to
                                    bad mic.
        rejectBadCos(9)           : modem did attempt to register but
                                    registration was refused due to
                                    bad COS.
        kekRejected(10)           : KEK modem key assignment rejected.
        tekRejected(11)           : TEK modem key assignment rejected.
        online(12)                : modem registered, enabled for data.
        initTftpPacketRcvd(13)    : tftp packet received and option
                                    file transfer started. 
        initTodRquestRcvd(14)     : Time of the Day (TOD) request 
                                    received.
        reset(15)                 : modem is resetting.
        rangingInProgress(16)     : initial ranging is in progress.
        --            rangingCompleted(17)      : initial ranging is completed. (deprecated)
        dhcpGotIpAddr(18)         : modem has got an IP address 
                                    from the DHCP server.
        rejStaleConfig(19)        : modem did attempt to register
                                    but registration was refused
                                    due to stale Config.
        rejIpSpoof(20)            : modem did attempt to register but
                                    registration was refused due to IP
                                    Spoof.
        rejClassFail(21)          : modem did attempt to register but
                                    registration was refused due to 
                                    Class failure.
        rejRegNack(22)            : modem did attempt to register but
                                    no acknowledgement was 
                                    received.
        bpiKekExpired(23)         : KEK modem key assignment expired.
        bpiTekExpired(24)         : TEK modem key assignment expired.
        shutdown(25)              : modem is in shutdown state.
        channelChgInitRangingRcvd(26)  : modem sent initial ranging
                                          during channel change.
        channelChgRangingInProgress(27) : initial ranging is in
                                          progress during channel
                                          change.

        This cdxCmtsCmStatusValue could return initRangingRcvd(3)
        or rangingInProgress(16) when the docsIfCmtsCmStatusValue
        is ranging(2).

        This cdxCmtsCmStatusValue will return others(2) when the
        docsIfCmtsCmStatusValue states is either
        rangingAborted(3), rangingComplete(4), and
        ipComplete(5).

        This cdxCmtsCmStatusValue could return online(12), or
        onlineNetAccessDisabled(5) for CM with BPI disabled, or
        onlineNetAccessDisabled(5) or onlineTekAssigned(7) for
        CM with BPI enabled, when the docsIfCmtsCmStatusValue
        is registrationComplete(6).

        This cdxCmtsCmStatusValue could return either
        rejectBadMic(8), rejectBadCos(9) rejStaleConfig(19) or
        rejRegNack(22) when the docsIfCmtsCmStatusValue
        is accessDenied(7) for possible reasons of cable modem
        registration abort.

        This cdxCmtsCmStatusValue could return either
        onlineKekAssigned(6), kekRejected(10), tekRejected(11),
        or online(12) for the CM with BPI enabled when the
        docsIfCmtsCmStatusValue is registeredBPIInitializing(9).



        FOR DOCSIS 1.0
        --------------
        The ranging, rangingAborted, rangingComplete, and ipComplete 
        states in docsIfCmtsCmStatusValue is others in this object
        since this object is extension of docsIfCmtsCmStatusValue. 

        The registrationComplete state in docsIfCmtsCmStatusValue 
        could be online, onlineNetAccessDisabled, onlineKekAssigned, or 
        onlineTekAssigned in this object.  

        The accessDenied state in docsIfCmtsCmStatusValue could be 
        rejectBadMic, rejectBadCos in this object for the possible
        reasons of cable modem registration abort.

        The states 15 to 25 are not applicable.

        FOR DOCSIS 1.1
        -------------- 

        The registrationComplete state in docsIfCmtsCmStatusValue 
        could be online, onlineNetAccessDisabled, 
        onlineBpiKekAssigned,or onlineBpiTekAssigned in this 
        object.  

        The accessDenied state in docsIfCmtsCmStatusValue could be 
        rejMicFail, rejStaleConfig, rejIpSpoof, rejClassFail, 
        rejRegNack in this object for the possible reasons of cable
        modem registration abort.

        The CMTS only reports states it is able to detect. States
        Online(2) and  rejectBadCos(9) are not applicable for 
        DOCSIS1.1 modems." 
    ::= { cdxCmtsCmStatusExtEntry 1 }

cdxIfCmtsCmStatusOnlineTimes OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of times that the modem changes the connectivity
        state from 'offline' to 'online' over the time period from 
        the modem's first ranging message received by CMTS until 
        now.

        The modem is considered as 'online' when the value for 
        cdxCmtsCmStatusValue is any of the values: online(5), 
        onlineNetAccessDisabled(6), onlineKekAssigned(7), and 
        onlineTekAssigned(8), and the modem is considered as
        'offline' for other values for cdxCmtsCmStatusValue."
    REFERENCE       "cdxCmtsCmStatusValue object." 
    ::= { cdxCmtsCmStatusExtEntry 2 }

cdxIfCmtsCmStatusPercentOnline OBJECT-TYPE
    SYNTAX          Integer32 (0..10000)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The percentage of time that the modem stays 'online' over
        the time period from the modem's first ranging message 
        received by CMTS until now. 

        The value for this object is 100 times bigger than the real 
        percentage value. For example, 32.15% will be value 3215.

        The modem is considered as 'online' when the value for 
        cdxCmtsCmStatusValue is any of the values: online(5), 
        onlineNetAccessDisabled(6), onlineKekAssigned(7), and 
        onlineTekAssigned(8), and the modem is considered as 
        'offline' for other values for cdxCmtsCmStatusValue."
    REFERENCE       "cdxCmtsCmStatusValue object." 
    ::= { cdxCmtsCmStatusExtEntry 3 }

cdxIfCmtsCmStatusMinOnlineTime OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The minimum period of time the modem stayed 'online' over
        the time period from the modem's first ranging message 
        received by CMTS until now.

        The modem is considered as 'online' when the value for 
        cdxCmtsCmStatusValue is any of the values: online(5), 
        onlineNetAccessDisabled(6), onlineKekAssigned(7), and 
        onlineTekAssigned(8), and the modem is considered as 
        'offline' for other values for cdxCmtsCmStatusValue."
    REFERENCE       "cdxCmtsCmStatusValue object." 
    ::= { cdxCmtsCmStatusExtEntry 4 }

cdxIfCmtsCmStatusAvgOnlineTime OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The average period of time the modem stayed 'online' over
        the time period from the modem's first ranging message 
        received by CMTS until now.

        The modem is considered as 'online' when the value for 
        cdxCmtsCmStatusValue is any of the values: online(5), 
        onlineNetAccessDisabled(6), onlineKekAssigned(7), and 
        onlineTekAssigned(8), and the modem is considered as 
        'offline' for other values for cdxCmtsCmStatusValue."
    REFERENCE       "cdxCmtsCmStatusValue object." 
    ::= { cdxCmtsCmStatusExtEntry 5 }

cdxIfCmtsCmStatusMaxOnlineTime OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The maximum period of time the modem stayed 'online' over
        the time period from the modem's first ranging message 
        received by CMTS until now.

        The modem is considered as 'online' when the value for 
        cdxCmtsCmStatusValue is any of the values: online(5), 
        onlineNetAccessDisabled(6), onlineKekAssigned(7), and 
        onlineTekAssigned(8), and the modem is considered as 
        'offline' for other values for cdxCmtsCmStatusValue."
    REFERENCE       "cdxCmtsCmStatusValue object." 
    ::= { cdxCmtsCmStatusExtEntry 6 }

cdxIfCmtsCmStatusMinOfflineTime OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The minimum period of time modem stayed 'offline' over
        the time period from the modem's first ranging message 
        received by CMTS until now.

        The modem is considered as 'online' when the value for 
        cdxCmtsCmStatusValue is any of the values: online(5), 
        onlineNetAccessDisabled(6), onlineKekAssigned(7), and 
        onlineTekAssigned(8), and the modem is considered as 
        'offline' for other values for cdxCmtsCmStatusValue."
    REFERENCE       "cdxCmtsCmStatusValue object." 
    ::= { cdxCmtsCmStatusExtEntry 7 }

cdxIfCmtsCmStatusAvgOfflineTime OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The average period of time the modem stayed 'offline' over
        the time period from the modem's first ranging message 
        received by CMTS until now.

        The modem is considered as 'online' when the value for 
        cdxCmtsCmStatusValue is any of the values: online(5), 
        onlineNetAccessDisabled(6), onlineKekAssigned(7), and 
        onlineTekAssigned(8), and the modem is considered as 
        'offline' for other values for cdxCmtsCmStatusValue."
    REFERENCE       "cdxCmtsCmStatusValue object." 
    ::= { cdxCmtsCmStatusExtEntry 8 }

cdxIfCmtsCmStatusMaxOfflineTime OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The maximum period of time the modem stayed 'offline' over
        the time period from the modem's first ranging message 
        received by CMTS until now.

        The modem is considered as 'online' when the value for 
        cdxCmtsCmStatusValue is any of the values: online(5), 
        onlineNetAccessDisabled(6), onlineKekAssigned(7), and 
        onlineTekAssigned(8), and the modem is considered as 
        'offline' for other values for cdxCmtsCmStatusValue."
    REFERENCE       "cdxCmtsCmStatusValue object." 
    ::= { cdxCmtsCmStatusExtEntry 9 }

cdxIfCmtsCmStatusDynSidCount OBJECT-TYPE
    SYNTAX          Integer32 (0..16383)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of active dynamic SIDs on this modem.
        Prior to getting the assigned the Service Flow IDs(SFID)
        the CM must must complete a number of protocol 
        transactions. The CMTS assigns a temporary Service ID
        (SID) to complete these steps." 
    ::= { cdxCmtsCmStatusExtEntry 10 }

cdxIfCmtsCmStatusAddlInfo OBJECT-TYPE
    SYNTAX          BITS {
                        noisyPlant(0),
                        modemPowerMaxOut(1)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates additional attributes regarding
        the CM.
        1. noisyPlant indicates that the CM connection is noisy.
        2. modemPowerMaxOut indicates that the modem has reached
        its maximum power level.

        A bit of of this object is set to 1 if the condition
        indicated by the bit is satisfied.

        Note that BITS are encoded most significant bit
        first." 
    ::= { cdxCmtsCmStatusExtEntry 11 }

cdxIfCmtsCmStatusOnlineTimesNum OBJECT-TYPE
    SYNTAX          CdxResettableCounter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of times that the modem changes the connectivity
        state from 'offline' to 'online' over the time period from
        the modem's first ranging message received by CMTS until now.

        The modem is considered as 'online' when the value for
        cdxCmtsCmStatusValue is any of the values: online(5),
        onlineNetAccessDisabled(6), onlineKekAssigned(7), and
        onlineTekAssigned(8), and the modem is considered as 'offline'
        for other values for cdxCmtsCmStatusValue.

        The value of this object is reset to 0 if the value in
        cdxIfCmtsCmStatusLastResetTime is changed." 
    ::= { cdxCmtsCmStatusExtEntry 12 }

cdxIfCmtsCmStatusLastResetTime OBJECT-TYPE
    SYNTAX          TimeStamp
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The last cable modem connectivity statistics reset time. If
        the value of  this object is '0', then the cable modem
        connectivity statistics had not been reset." 
    ::= { cdxCmtsCmStatusExtEntry 13 }
 

-- CMTS MAC extension Table
--   
-- This table extends the attributes for CMTS MAC interface.
--   
-- This table includes attributes of the cable modem notification
-- enabling/disabling and the interval of cable modem notification sent
-- by the CMTS for a cable modem that the Mac interface supports. Also,
-- it contains the object to set the Dynamic Message Integrity Check
-- (DMIC) which users can configure how cable modems are handled if CMs
-- fail the DMIC.

cdxCmtsMacExtTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxCmtsMacExtEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains the additions attributes of a CMTS MAC
        interface that provided by docsIfCmtsMacTable."
    ::= { cdxCmtsCmCpeObjects 3 }

cdxCmtsMacExtEntry OBJECT-TYPE
    SYNTAX          CdxCmtsMacExtEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Additional objects for docsIfCmtsMacTable entry including
        the cable modem notification enable/disable and the interval 
        of cable modem notification sent by the CMTS for a cable modem
        that the Mac interface supports. An entry in this table exists 
        for each ifEntry with an ifType of docsCableMaclayer(127).
        Additional objects added to determine the number of 
        active/registered/total cable modems on this cable mac 
        interface since boot. Also, it contains the object to set
        the Dynamic Message Integrity Check (DMIC) which users 
        can configure how cable modems are handled if CMs fail 
        the DMIC."
    REFERENCE       "docsIfCmtsMacTable in DOCS-IF-MIB.my."
    AUGMENTS           { docsIfCmtsMacEntry  } 
    ::= { cdxCmtsMacExtTable 1 }

CdxCmtsMacExtEntry ::= SEQUENCE {
        cdxCmtsCmOnOffTrapEnable   TruthValue,
        cdxCmtsCmOnOffTrapInterval Integer32,
        cdxCmtsCmDefaultMaxCpes    Integer32,
        cdxCmtsCmTotal             Integer32,
        cdxCmtsCmActive            Integer32,
        cdxCmtsCmRegistered        Integer32,
        cdxCmtsCmDMICMode          INTEGER,
        cdxCmtsCmDMICLockQos       Integer32
}

cdxCmtsCmOnOffTrapEnable OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "An indication of whether the cdxCmtsCmOnOffNotification
        is enabled. The default value is false(2)." 
    ::= { cdxCmtsMacExtEntry 1 }

cdxCmtsCmOnOffTrapInterval OBJECT-TYPE
    SYNTAX          Integer32 (0..86400)
    UNITS           "seconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The interval for cdxCmtsCmOnOffNotification sent by CMTS for
        one online/offline state change if cdxCmtsCmOnOffTrapEnable 
        is true. 

        If there are more than one state changes to online/offline 
        for a cable modem during this interval, only one 
        cdxCmtsCmOnOffNotification is sent by CMTS for the first 
        state change to online and one cdxCmtsCmOnOffNotification 
        for the first state changing to offline if 
        cdxCmtsCmOnOffTrapEnable is true.

        This is to avoid too many notifications sent for a cable 
        modem online/offline state changes during a short period
        of time. 

        If the value is 0, then cdxCmtsCmOnOffNotification will be 
        sent for every state changes to online/offline for a cable 
        modem if cdxCmtsCmOnOffTrapEnable is true.  

        If cdxCmtsCmOnOffTrapEnable value changes from true to false 
        or from false to true, this value will remain no change as 
        before. 

        The default value is 600 seconds." 
    ::= { cdxCmtsMacExtEntry 2 }

cdxCmtsCmDefaultMaxCpes OBJECT-TYPE
    SYNTAX          Integer32 (-1..255)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The default maximum number of permitted CPEs per modem
        in this cable interface. A modem can override this 
        value by setting the object cdxCmtsCmMaxCpeNumber
        in the cdxCmtsCmTable.  

        The value -1 means the default value of maximum hosts 
        per modem in this cable interface is not specified.

        The value 0 means no maximum limit.

        Setting the value will not affect the already connected
        CPEs to the modems in this cable interface." 
    ::= { cdxCmtsMacExtEntry 3 }

cdxCmtsCmTotal OBJECT-TYPE
    SYNTAX          Integer32 (0..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The total count of cable modems on this cable mac interface
        since boot." 
    ::= { cdxCmtsMacExtEntry 4 }

cdxCmtsCmActive OBJECT-TYPE
    SYNTAX          Integer32 (0..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The count of cable modems that are active. Active cable
        modems are recognized by the cdxCmtsCmStatusValue 
        other than offline(1)." 
    ::= { cdxCmtsMacExtEntry 5 }

cdxCmtsCmRegistered OBJECT-TYPE
    SYNTAX          Integer32 (0..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The count of cable modems that are registered and online
        on this cable mac interface. Registered cable modems are 
        those with one of the following values. 
        registrationComplete(6) of docsIfCmtsCmStatusValue OR 
        either of online(12), kekRejected(10), 
        onlineKekAssigned(6),tekRejected(11), onlineTekAssigned(7)
        of cdxCmtsCmStatusValue" 
    ::= { cdxCmtsMacExtEntry 6 }

cdxCmtsCmDMICMode OBJECT-TYPE
    SYNTAX          INTEGER  {
                        notConfigured(1),
                        mark(2),
                        lock(3),
                        reject(4)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The Dynamic Shared Secret feature can operate in three
        different modes, depending on what action should be taken 
        for cable modems that fail the CMTS MIC verification check:
        notConfigured(1): It indicates that the DMIC is not 
                          configured for this cable interface.
        mark(2): By default, the Dynamic Shared Secret feature 
                 is enabled on all cable interfaces using the 
                 mark option. In this mode, the CMTS allows 
                 cable modems to come online even if they fail 
                 the CMTS MIC validity check. However, for
                 this modem cdxCmtsCmStatusDMICMode will
                 be labeled as marked.
        lock(3): When the lock option is used, the CMTS assigns 
                 a restrictive QoS configuration to CMs that 
                 fail the MIC validity check twice in a row. A 
                 particular QoS profile to be used for locked 
                 cable modems can be specified by setting 
                 cdxCmtsCmDMICLockQos.
                 If a customer resets their CM, the CM will 
                 reregister but still uses the restricted QoS 
                 profile. A locked CM continues with the 
                 restricted QoS profile until it goes offline 
                 and remains offline for at least 24 hours, at 
                 which point it is allowed to reregister with a 
                 valid DOCSIS configuration file. A system 
                 operator can manually clear the lock on a CM by 
                 setting cdxCmtsCmStatusDMICUnLock object.
        reject(4):  In the reject mode, the CMTS refuses to allow 
                    CMs to come online if they fail the CMTS MIC 
                    validity check."
    DEFVAL          { mark } 
    ::= { cdxCmtsMacExtEntry 7 }

cdxCmtsCmDMICLockQos OBJECT-TYPE
    SYNTAX          Integer32 (1..16383)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "If cdxCmtsCmDMICMode is set to lockingMode(3), this object
        would contain the restrictive QoS profile number as 
        indicated by docsIfQosProfIndex if set and it will 
        have 0 if not applicable or not defined. In case,
        cdxCmtsCmDMICMode is set to lockingMode(3) and this
        object is not defined then the CMTS defaults to special
        QoS profile that limits the downstream and upstream 
        service flows to a maximum rate of 10 kbps. However,
        for this to happen the modems should have the 
        permission to create QoS profile." 
    ::= { cdxCmtsMacExtEntry 8 }
 


-- CMTS Cable Modem channel override operation table and the related
-- objects
--   
-- A CMTS operator may perform downstream/upstream load balancing
-- or failure recovery using cdxCmtsCmChOverTable.  An entry
-- in this table is an operation from CMTS to generates downstream
-- frequency and upstream channel override fields in the RNG-RSP message
-- sent to a cable modem.  A RNG-RSP message is sent to a cable modem
-- during initial maintenance opportunity.
--   
-- This operation causes the uBR to place an entry for the cable
-- modem specified into the override request queue.  The link is
-- then broken by deleting the modem from its polling list.  When
-- the modem attempts initial ranging, the override request
-- causes downstream frequency and upstream channel override
-- fields to be inserted into the RNG-RSP message.

cdxCmtsCmChOverTimeExpiration OBJECT-TYPE
    SYNTAX          Integer32 (1..86400)
    UNITS           "minutes"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The time period to expire a CMTS channel override operation.
        Within the time period, if the CMTS cannot send out a 
        RNG-RSP message with channel override fields to a cable 
        modem specified in the operation, the CMTS will abort 
        the operation. The possible reason is that the cable 
        modem does not repeat the initial ranging. 

        The change to this object will not affect the already active 
        operations in this cdxCmtsCmChOverTable.   

        Once the operation completes, the management station should
        retrieve the values of the cdxCmtsCmChOverState 
        object of interest, and should then delete the entry
        from cdxCmtsCmChOverTable.  In order to prevent old 
        entries from clogging the table, entries will be aged out, 
        but an entry will never be deleted within 15 minutes of 
        completing."
    REFERENCE
        "Data-Over-Cable Service Interface Specifications (DOCSIS)
             Radio Frequency Interface Specification (SP-RFI-I04-980724),
             6.3.2.5.3 Overriding Channels." 
    ::= { cdxCmtsCmCpeObjects 4 }

cdxCmtsCmChOverTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxCmtsCmChOverEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A table of CMTS operation entries to instruct cable modems
        to move to a new downstream and/or upstream channel. 

        An entry in this table is an operation that has been 
        initiated from CMTS to generates downstream frequency and/or 
        upstream channel override fields in the RNG-RSP message sent 
        to a cable modem.  A RNG-RSP message is sent to a cable 
        modem during initial maintenance opportunity. 

        This operation causes the uBR to place an entry for the cable 
        modem specified into the override request queue.  The link is 
        then broken by deleting the modem from its polling list.  When 
        the modem attempts initial ranging, the override request 
        causes downstream frequency and upstream channel override 
        fields to be inserted into the RNG-RSP message."
    ::= { cdxCmtsCmCpeObjects 5 }

cdxCmtsCmChOverEntry OBJECT-TYPE
    SYNTAX          CdxCmtsCmChOverEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A CMTS operation entry to instruct a cable modem to move to
        a new downstream and/or upstream channel.

        A CMTS operator can use this to initiate an operation
        in CMTS to instruct a cable modem to move to a new
        downstream, or upstream channel or both. 

        Each entry consists of the mac address of the cable modem
        to be moved, a new downstream frequency, a new upstream channel 
        id etc..  More than one entries could have for a cable modem,
        so there is a time stamp for each entry to show the time
        when this operation is initiated. 

        A management station wishing to create an entry should
        first generate a pseudo-random serial number to be used
        as the index to this sparse table.  The station should
        then create the associated instance of the row status
        object. It must also, either in the same or in successive
        PDUs, create the associated instance of the command and
        parameter objects. It should also modify the default values
        for any of the parameter objects if the defaults are not
        appropriate.

        Once the appropriate instances of all the command
        objects have been created, either by an explicit SNMP
        set request or by default, the row status should be set
        to active to initiate the operation. Note that this entire
        procedure may be initiated via a single set request which
        specifies a row status  of createAndGo as well as specifies
        valid values for the non-defaulted parameter objects.

        Once an operation has been activated, it cannot be stopped.
        That is, it will run until either the CMTS has generated 
        downstream frequency and/or upstream channel override fields 
        in the RNG-RSP message sent to a cable modem or time out. 
        In either case, the operation is completed.

        Once the operation is completed, the real result of the 
        operation to the cable modem cannot be known from this table.
        The result of the cable modem's downstream frequency and the 
        upstream channel id can be checked from other MIB tables.  
        For example, docsIfCmtsServiceTable from DOCS-IF-MIB can be 
        used to check whether the cable modem's downstream frequency
        and upstream channel id are changed.  Please note that even
        the CMTS has generated downstream frequency and/or upstream 
        channel override fields in the RNG-RSP message sent to a 
        cable modems, if the cable modem cannot lock the instructed 
        downstream frequency or no upstream channel id could be used, 
        it may reconnect back to the original downstream frequency
        and upstream channel id. 

        Once the operation completes, the management station should
        retrieve the values of the cdxCmtsCmChOverState 
        objects of interest, and should then delete the entry.  
        In order to prevent old entries from clogging the table, 
        entries will be aged out, but an entry will never be deleted 
        within 15 minutes of completing."
    REFERENCE
        "Data-Over-Cable Service Interface Specifications (DOCSIS)
             Radio Frequency Interface Specification (SP-RFI-I04-980724),
             6.3.2.5.3 Overriding Channels."
    INDEX           { cdxCmtsCmChOverSerialNumber } 
    ::= { cdxCmtsCmChOverTable 1 }

CdxCmtsCmChOverEntry ::= SEQUENCE {
        cdxCmtsCmChOverSerialNumber     Integer32,
        cdxCmtsCmChOverMacAddress       MacAddress,
        cdxCmtsCmChOverDownFrequency    Integer32,
        cdxCmtsCmChOverUpChannelId      Integer32,
        cdxCmtsCmChOverTrapOnCompletion TruthValue,
        cdxCmtsCmChOverOpInitiatedTime  TimeStamp,
        cdxCmtsCmChOverState            INTEGER,
        cdxCmtsCmChOverRowStatus        RowStatus
}

cdxCmtsCmChOverSerialNumber OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Object which specifies a unique entry in the
        table. A management station wishing to initiate a
        channel override operation should use a pseudo-random 
        value for this object when creating or modifying an 
        instance of a cdxCmtsCmChOverEntry." 
    ::= { cdxCmtsCmChOverEntry 1 }

cdxCmtsCmChOverMacAddress OBJECT-TYPE
    SYNTAX          MacAddress
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The mac address of the cable modem that the CMTS instructs to
        move to a new downstream and/or upstream channel.  

        This column must be set to a valid Mac address currently in
        the CMTS in order for this entry's row status to be set to
        active successfully." 
    ::= { cdxCmtsCmChOverEntry 2 }

cdxCmtsCmChOverDownFrequency OBJECT-TYPE
    SYNTAX          Integer32 (0..1000000000)
    UNITS           "hertz"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The new downstream frequency which the cable modem is
        instructed to move to.  The value 0 is to ask the CMTS not to
        override the downstream frequency."
    DEFVAL          { 0 } 
    ::= { cdxCmtsCmChOverEntry 3 }

cdxCmtsCmChOverUpChannelId OBJECT-TYPE
    SYNTAX          Integer32 (-1..255)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The new channel Id which the cable modem is instructed to
        move to.  The value -1 is to ask the CMTS not to override
        the upstream channel Id."
    DEFVAL          { -1 } 
    ::= { cdxCmtsCmChOverEntry 4 }

cdxCmtsCmChOverTrapOnCompletion OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "Specifies whether or not a cdxCmtsCmChOverNotification
        should be issued on completion of the operation.  If such a 
        notification is desired, it is the responsibility of the 
        management entity to ensure that the SNMP administrative model 
        is configured in such a way as to allow the notification to be 
        delivered."
    DEFVAL          { false } 
    ::= { cdxCmtsCmChOverEntry 5 }

cdxCmtsCmChOverOpInitiatedTime OBJECT-TYPE
    SYNTAX          TimeStamp
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The value of sysUpTime at which the operation was initiated.
        Since it is possible to have more than one entry in this 
        table for a cable modem, this object can help to distinguish 
        the entries for the same cable modem." 
    ::= { cdxCmtsCmChOverEntry 6 }

cdxCmtsCmChOverState OBJECT-TYPE
    SYNTAX          INTEGER  {
                        messageSent(1),
                        commandNotActive(2),
                        noOpNeeded(3),
                        modemNotFound(4),
                        waitToSendMessage(5),
                        timeOut(6)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The status of the specified channel override operation.
        The enumerations are:
          messageSent(1): the CMTS has sent a RNG-RSP message 
                      with channel override to the cable modem. 
          commandNotActive(2): the command is not in active mode
                               due to this entry's row status is not
                               in active yet.
          noOpNeed(3): The downstream frequency and the upstream 
                       channel Id in this entry are the same as 
                       original ones when this entry's row status
                       is set to active, so CMTS does not need to 
                       do any operation.  
          modemNotFound(4): The modem is not found in the CMTS
                            at the time when the command becomes
                            active.
          waitToSendMessage(5): specified the operation is active
                                and CMTS is waiting to send
                                a RNG-RSP message with channel 
                                override to the cable modem.
          timeOut(6): specified the operation is timed out.
                      That is, the CMTS cannot send a RNG-RSP message 
                      with channel override to the cable modem within 
                      the time specified in the object of 
                      cdxCmtsCmChOverTimeExpiration. 
                      The possible reason is that the cable modem
                      does not repeat the initial ranging. 

           The possible state change diagram is as below: 
           [commandNotActive ->] waitToSendMessage -> 
               messageSent or timeOut. 
           [commandNotActive ->] noOpNeeded or modemNotFound."
    REFERENCE
        "Data-Over-Cable Service Interface Specifications (DOCSIS)
             Radio Frequency Interface Specification (SP-RFI-I04-980724),
             6.3.2.5.3 Overriding Channels." 
    ::= { cdxCmtsCmChOverEntry 7 }

cdxCmtsCmChOverRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The status of this table entry.

        This value for cdxCmtsCmChOverMacAddress must be valid Mac 
        address currently in the CMTS in order for the row 
        status to be set to active successfully. 

        Once the row status becomes active and state becomes 
        waitToSendMessage, the entry cannot not be changed except 
        to delete the entry by setting the row status to destroy(6) 
        and since the operation cannot be stopped, the destroy(6) 
        will just cause the SNMP agent to hide the entry from 
        application and the SNMP agent will delete the entry 
        right after the operation is completed." 
    ::= { cdxCmtsCmChOverEntry 8 }
 

-- CMTS Cable modem (CM) Table
--   
-- This table contains attributes or configurable parameters
-- for cable modems from a CMTS.
--   
-- A CMTS operator can use this table to report a cable modem's
-- attributes or configure a cable modem by a cable modem's
-- MAC address.

cdxCmtsCmTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxCmtsCmEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains attributes or configurable parameters
        for cable modems from a CMTS."
    ::= { cdxCmtsCmCpeObjects 6 }

cdxCmtsCmEntry OBJECT-TYPE
    SYNTAX          CdxCmtsCmEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The list contains a cable modem's attributes or
        configurable parameters from a CMTS."
    INDEX           { docsIfCmtsCmStatusIndex } 
    ::= { cdxCmtsCmTable 1 }

CdxCmtsCmEntry ::= SEQUENCE {
        cdxCmtsCmMaxCpeNumber  Integer32,
        cdxCmtsCmCurrCpeNumber Integer32,
        cdxCmtsCmQosProfile    Integer32
}

cdxCmtsCmMaxCpeNumber OBJECT-TYPE
    SYNTAX          Integer32 (-1..255)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The maximum number of permitted CPEs connecting to the
        modem. 

        The value -1 means to use the default value of maximum 
        hosts per modem in the CMTS cable interface which the modem 
        connects to and the value is defined in 
        cdxCmtsCmDefaultMaxCpes in the cdxCmtsMacExtTable. 

        The value 0 means no maximum limit.

        Setting the value will not affect the already connected
        CPEs to the modem." 
    ::= { cdxCmtsCmEntry 1 }

cdxCmtsCmCurrCpeNumber OBJECT-TYPE
    SYNTAX          Integer32 (0..255)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The current number of CPEs connecting to the modem.

        The value 0 means no hosts connecting to the modem." 
    ::= { cdxCmtsCmEntry 2 }

-- This object is similar to the docsIfCmtsServiceQosProfile which
-- is indexed by docsIfCmtsServiceId. However it allows for write
-- capability so that one can change the Qos Profile associated
-- with a cable modem.

cdxCmtsCmQosProfile OBJECT-TYPE
    SYNTAX          Integer32 (0..16383)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The index in docsIfQosProfileTable describing the quality
        of service attributes associated with this particular
        modem's primary SID. 

        When trying to change the value, if the new value is not 
        a valid index in the docsIfQosProfileTable, the modem will 
        retain the old docsIfQosProfileTable entry. If no associated 
        docsIfQosProfileTable entry exists for this modem, 
        this object returns a value of zero on read.

        This object has meaning only for DOCSIS1.0 cable modems.
        For cable modems in DOCSIS1.1 or above mode, this object will 
        report 0 and cannot be changed to any other values since 
        there is no QoS profile associated with cable modems in 
        DOCSIS1.1 or above mode." 
    ::= { cdxCmtsCmEntry 3 }
 

-- CMTS CM status DMIC extension table
--   
-- This table extends the CM status information in
-- docsIfCmtsCmStatusTable.

cdxCmtsCmStatusDMICTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxCmtsCmStatusDMICEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains the list of modems which failed the CMTS
        Dynamic Message Integrity Check (DMIC). The modems are 
        either
        Marked: The modems failed the DMIC check but were still 
                allowed to come online.
        Locked: The modems failed the DMIC check and hence were 
                allowed to come online with a restrictive QoS 
                profile as defined in  cdxCmtsCmDMICLockQos.
        Rejected: The modems failed the DMIC check and hence
                  were not allowed to come online.
        Another objective of the objects in this table is to clear
        the lock on the modems."
    ::= { cdxCmtsCmCpeObjects 7 }

cdxCmtsCmStatusDMICEntry OBJECT-TYPE
    SYNTAX          CdxCmtsCmStatusDMICEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Additional DMIC objects for docsIfCmtsCmStatusTable
        entry."
    INDEX           { docsIfCmtsCmStatusIndex } 
    ::= { cdxCmtsCmStatusDMICTable 1 }

CdxCmtsCmStatusDMICEntry ::= SEQUENCE {
        cdxCmtsCmStatusDMICMode   INTEGER,
        cdxCmtsCmStatusDMICUnLock TruthValue
}

cdxCmtsCmStatusDMICMode OBJECT-TYPE
    SYNTAX          INTEGER  {
                        mark(1),
                        lock(2),
                        reject(3)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This shows all the cable modems that are online or offline
        and that had failed the Dynamic CMTS MIC verification
        check. The state is mentioned as follows:
        mark(1): The modem was allowed to come online.
        lock(2): The modem was allowed to come online but with
                   a restrictive QoS profile as defined by 
                   cdxCmtsCmDMICLockQos.
        reject(3): The modem was not allowed to come online." 
    ::= { cdxCmtsCmStatusDMICEntry 1 }

cdxCmtsCmStatusDMICUnLock OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "When set to TRUE, it forces the cable modems to
        reinitialize, and the cable modems must re-register
        with a valid DOCSIS configuration file before being
        allowed online. Otherwise, the cable modem is locked 
        in its current restricted QoS profile and cannot 
        reregister with a different profile until it has 
        been offline for at least 24 hours.
        If cdxCmtsCmStatusDMICUnLock is set to TRUE, and
        re-init succeeds, that modem row is removed from the
        cdxCmtsCmStatusDMICTable. And if re-init again fails,
        the row remains in that table, possibly with a new
        value for cdxCmtsCmStatusDMICMode
        When polled, it will always return FALSE."
    DEFVAL          { false } 
    ::= { cdxCmtsCmStatusDMICEntry 2 }
 

-- Cable Modem to Customer Premises Equipment (CPE) table

cdxCmToCpeTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxCmToCpeEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains information about CPE connects behind
        cable modem. It will return IP address and IP address type
        of each CPE connect to a CM.

        It is not intended to walk the whole table. An application
        would need to query this table based on the specific indices.
        Otherwise, it will impact the CMTS performance due to the 
        huge size of this table.

        The agent creates/destroys/modifies an entry whenever there
        is a CPE connect to a cable modem or disconnect from a cable
        modem."
    ::= { cdxCmtsCmCpeObjects 8 }

cdxCmToCpeEntry OBJECT-TYPE
    SYNTAX          CdxCmToCpeEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Represents an entry in the table. Each entry is created if
        there is CPE connects to a cable modem.

        The indices uniquely identify a CPE. It is never the intent
        for an application to perform a SNMP Get operation against
        a table of this nature, rather it is the intent to merely
        enumberate mappings. 

        An application would determine the CPEs behind all cable
        modems by performing a SNMP GetNext starting with the
        variable bindings:
        - cdxCmToCpeInetAddressType.0
        - cdxCmToCpeInetAddress.0

        It will return the IP address type and value tuple
        corresponding to the CPE with lowest IP address behind the
        cable modem with the lowest MAC address. An application can
        perform a SNMP GetNext operation with the following variable
        bindings:
        - cdxCmToCpeInetAddressType.x.y.z
        - cdxCmToCpeInetAddress.x.y.z
        where x is MAC address of cable modem, and y.z is IP address
        type and value tuple of the reported CPE.
        An application can repeat this process until it has
        traversed the entire table.

        If the application only wants to know the CPEs behind a
        given cable modem, it can perform a SNMP GetNext opertaion
        with the following:
        - cdxCmToCpeInetAddressType.x
        - cdxCmToCpeInetAddress.x
        where x is MAC address of cable modem."
    REFERENCE
        "Data-Over-Cable Service Interface Specifications (DOCSIS)
             Radio Frequency Interface Specification
             (SP-RFI-I04-980724.) docsIfCmtsCmStatusTable,
             docsIfCmtsServiceTable in DOCS-IF-MIB.my."
    INDEX           {
                        cdxCmToCpeCmMacAddress,
                        cdxCmToCpeInetAddressType,
                        cdxCmToCpeInetAddress
                    } 
    ::= { cdxCmToCpeTable 1 }

CdxCmToCpeEntry ::= SEQUENCE {
        cdxCmToCpeCmMacAddress    MacAddress,
        cdxCmToCpeInetAddressType InetAddressType,
        cdxCmToCpeInetAddress     InetAddress
}

cdxCmToCpeCmMacAddress OBJECT-TYPE
    SYNTAX          MacAddress
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The MAC address that uniquely identifies a cable modem
        that CPEs connects to." 
    ::= { cdxCmToCpeEntry 1 }

cdxCmToCpeInetAddressType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The type of Internet address of the cdxCmToCpeInetAddress." 
    ::= { cdxCmToCpeEntry 2 }

cdxCmToCpeInetAddress OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object identifies the address assigned to this CPE." 
    ::= { cdxCmToCpeEntry 3 }
 

-- Customer Premises Equipments (CPE) to cable modem table

cdxCpeToCmTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxCpeToCmEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains information about cable modems with CPE
        connects to.

        It is not intended to walk the whole table. An application
        would need to query this table base on the specific index.
        Otherwise, it will impact the CMTS performance due to the
        huge size of this table.

        The agent creates/destroys/modifies an entry whenever there
        is update for the cable modem that CPE connects to."
    ::= { cdxCmtsCmCpeObjects 9 }

cdxCpeToCmEntry OBJECT-TYPE
    SYNTAX          CdxCpeToCmEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in cdxCpeToCmTable. Each entry contains information
        on the MAC address, IP Address, and status index for the 
        cable modem with a specific CPE connects to. Each entry is
        created if there is any cable modem with CPE connects to.
        Entries are ordered by cdxCpeToCmCpeMacAddress."
    REFERENCE
        "Data-Over-Cable Service Interface Specifications (DOCSIS)
             Radio Frequency Interface Specification
             (SP-RFI-I04-980724.) docsIfCmtsCmStatusTable,
             docsIfCmtsServiceTable in DOCS-IF-MIB.my."
    INDEX           { cdxCpeToCmCpeMacAddress } 
    ::= { cdxCpeToCmTable 1 }

CdxCpeToCmEntry ::= SEQUENCE {
        cdxCpeToCmCpeMacAddress   MacAddress,
        cdxCpeToCmMacAddress      MacAddress,
        cdxCpeToCmInetAddressType InetAddressType,
        cdxCpeToCmInetAddress     InetAddress,
        cdxCpeToCmStatusIndex     Integer32
}

cdxCpeToCmCpeMacAddress OBJECT-TYPE
    SYNTAX          MacAddress
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object identifies the MAC address of the CPE." 
    ::= { cdxCpeToCmEntry 1 }

cdxCpeToCmMacAddress OBJECT-TYPE
    SYNTAX          MacAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object identifies the MAC address of the cable modem." 
    ::= { cdxCpeToCmEntry 2 }

cdxCpeToCmInetAddressType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The type of Internet address of the cdxCpeToCmInetAddress
        object." 
    ::= { cdxCpeToCmEntry 3 }

cdxCpeToCmInetAddress OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object identifies the address assigned to this cable
        modem." 
    ::= { cdxCpeToCmEntry 4 }

cdxCpeToCmStatusIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "An entry in docsIfCmtsCmStatusTable identifying status
        index of the cable modem which the CPE connects to."
    REFERENCE       "docsIfCmtsCmStatusTable from DOCS-IF-MIB" 
    ::= { cdxCpeToCmEntry 5 }
 


cdxCpeIpPrefixTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxCpeIpPrefixEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The table contains a list CPE's IP Prefix management
        information."
    ::= { cdxCmtsCmCpeObjects 10 }

cdxCpeIpPrefixEntry OBJECT-TYPE
    SYNTAX          CdxCpeIpPrefixEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry contains information of CM's MAC,
        CPE's IP prefix type, CPE's IP prefix address,
        CPE's IP prefix length and CPE's MAC address.
        An entry is created if CPE is associated with a prefix."
    INDEX           {
                        cdxCpeIpPrefixCmMacAddress,
                        cdxCpeIpPrefixType,
                        cdxCpeIpPrefixAddress,
                        cdxCpeIpPrefixLen
                    } 
    ::= { cdxCpeIpPrefixTable 1 }

CdxCpeIpPrefixEntry ::= SEQUENCE {
        cdxCpeIpPrefixCmMacAddress  MacAddress,
        cdxCpeIpPrefixType          InetAddressType,
        cdxCpeIpPrefixAddress       InetAddress,
        cdxCpeIpPrefixLen           InetAddressPrefixLength,
        cdxCpeIpPrefixCpeMacAddress MacAddress,
        cdxCpeIpPrefixCpeType       SnmpAdminString
}

cdxCpeIpPrefixCmMacAddress OBJECT-TYPE
    SYNTAX          MacAddress
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates the MAC address of the cable modem." 
    ::= { cdxCpeIpPrefixEntry 1 }

cdxCpeIpPrefixType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates the IP prefix type of the CPE. This is
        the type of cdxCpeIpPrefixAddress object." 
    ::= { cdxCpeIpPrefixEntry 2 }

cdxCpeIpPrefixAddress OBJECT-TYPE
    SYNTAX          InetAddress (SIZE  (1..96))
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates the IP prefix address. The type of this
        address is determined by the value of 
        cdxCpeIpPrefixType object." 
    ::= { cdxCpeIpPrefixEntry 3 }

cdxCpeIpPrefixLen OBJECT-TYPE
    SYNTAX          InetAddressPrefixLength
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates the IP prefix length of the CPE. This is
        the length of cdxCpeIpPrefixAddress object." 
    ::= { cdxCpeIpPrefixEntry 4 }

cdxCpeIpPrefixCpeMacAddress OBJECT-TYPE
    SYNTAX          MacAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the MAC address of CPE." 
    ::= { cdxCpeIpPrefixEntry 5 }

cdxCpeIpPrefixCpeType OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the type of CPE.
        Device Type: B - CM Bridge, R - CM Router
        IP Assignment Method: D - DHCP
        the format looks like 'R/D'." 
    ::= { cdxCpeIpPrefixEntry 6 }
 

-- CMTS Upstream Group
--   
-- Upstream impairment mitigation techniques are crucial to enhancing
-- the communications reliability of two-way HFC cable plants. The
-- hardware and software based capabilities built in to the CMTS assist
-- in automatic noise mitigation.
--   
-- This group contains tables in CMTS for configuring the upstream
-- channel attributes for automated Spectrum Management.
--   
-- In addition the group also has the count of cable modems on this
-- upstream. Separate counts are used to represent the number of active,
-- registered and total number cable modems on this upstream .
--   

-- CMTS Upstream Channel Table
--   
-- This table contains the additional upstream channel attributes .
-- The additional configurable objects for automated Spectrum Management
-- are the modulation profile and channel width needed for the frequency
-- hop algorithm used for noise mitigation.
--   
-- Another upstream channel attribute is the number of cable modems.
-- There are three objects to represent each of the following counts:
-- Total: # of modems that were seen on this upstream since boot
-- Active: # of modems that are active(not online or reset).
-- Registered: # of modems that are registered and online.
--   
-- The upstream input power attribute is also reported in the table.

cdxIfUpstreamChannelExtTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxIfUpstreamChannelExtEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains upstream channel attributes for
        automated Spectrum management, in addition to the ones
        provided by docsIfUpstreamChannelEntry.
        It also contains upstream channel attributes to count 
        the number of active,registered and total number of cable 
        modems on this upstream."
    ::= { cdxSpecMgmtObjects 1 }

cdxIfUpstreamChannelExtEntry OBJECT-TYPE
    SYNTAX          CdxIfUpstreamChannelExtEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Additional objects for docsIfUpstreamChannelEntry,including
        the secondary upstream channel modulation profile,the 
        lower bound for the channel width and the number of active,
        registered and total number of cable modems on this 
        upstream channel."
    REFERENCE
        "Data-Over-Cable Service Interface Specifications (DOCSIS)
             Radio Frequency Interface Specification (SP-RFI-I04-980724.)
             docsIfUpstreamChannelTable in DOCS-IF-MIB.my."
    AUGMENTS           { docsIfUpstreamChannelEntry  } 
    ::= { cdxIfUpstreamChannelExtTable 1 }

CdxIfUpstreamChannelExtEntry ::= SEQUENCE {
        cdxIfUpChannelWidth              Integer32,
        cdxIfUpChannelModulationProfile  Unsigned32,
        cdxIfUpChannelCmTotal            Integer32,
        cdxIfUpChannelCmActive           Integer32,
        cdxIfUpChannelCmRegistered       Integer32,
        cdxIfUpChannelInputPowerLevel    TenthdBmV,
        cdxIfUpChannelAvgUtil            Integer32,
        cdxIfUpChannelAvgContSlots       Integer32,
        cdxIfUpChannelRangeSlots         Integer32,
        cdxIfUpChannelNumActiveUGS       Unsigned32,
        cdxIfUpChannelMaxUGSLastOneHour  Unsigned32,
        cdxIfUpChannelMinUGSLastOneHour  Unsigned32,
        cdxIfUpChannelAvgUGSLastOneHour  Unsigned32,
        cdxIfUpChannelMaxUGSLastFiveMins Unsigned32,
        cdxIfUpChannelMinUGSLastFiveMins Unsigned32,
        cdxIfUpChannelAvgUGSLastFiveMins Unsigned32
}

cdxIfUpChannelWidth OBJECT-TYPE
    SYNTAX          Integer32 (0..16000000)
    UNITS           "hertz"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The lower bound for the bandwidth of this upstream channel.
        The bandwidth specified by docsIfUpChannelWidth is used as
        the upper bound of the upstream channel. The two objects,
        docsIfUpChannelWidth and cdxIfUpChannelWidth, in 
        conjunction, define the upstream channel width range to be
        used for the automated spectrum management.

        This object returns 0 if the channel width is undefined 
        or unknown.

        For those upstreams in the linecards which do not have the
        automated spectrum management feature, this channel width
        is undefined and always has value 0." 
    ::= { cdxIfUpstreamChannelExtEntry 1 }

cdxIfUpChannelModulationProfile OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The secondary modulation profile for the upstream channel.
        This should be a QPSK modulation profile if the primary profile 
        is QAM-16. The CMTS will switch from primary profile (QAM16) to 
        secondary profile (QPSK) depending on the noise level of a 
        particular spectrum band.

        This is an entry identical to the docsIfModIndex in the 
        docsIfCmtsModulationTable that describes this channel.
        This channel is further instantiated there by a grouping
        of interval usage codes which together fully describe the
        channel modulation. This object returns 0 if the
        docsIfCmtsModulationTable does not exist or is empty." 
    ::= { cdxIfUpstreamChannelExtEntry 2 }

cdxIfUpChannelCmTotal OBJECT-TYPE
    SYNTAX          Integer32 (0..8191)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The total count of cable modems on this upstream channel
        since boot." 
    ::= { cdxIfUpstreamChannelExtEntry 3 }

cdxIfUpChannelCmActive OBJECT-TYPE
    SYNTAX          Integer32 (0..8191)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The count of cable modems that are active.Active cable
        modems are recognized by the cdxCmtsCmStatusValue other  
        than offline(1)." 
    ::= { cdxIfUpstreamChannelExtEntry 4 }

cdxIfUpChannelCmRegistered OBJECT-TYPE
    SYNTAX          Integer32 (0..8191)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The count of cable modems that are registered and online
        on this upstream. Registered cable modems are those
        with one of the following values:
        registrationComplete(6) of docsIfCmtsCmStatusValue OR
        online(12), kekRejected(10), onlineKekAssigned(6),
        tekRejected(11),onlineTekAssigned(7) of 
        cdxCmtsCmStatusValue." 
    ::= { cdxIfUpstreamChannelExtEntry 5 }

cdxIfUpChannelInputPowerLevel OBJECT-TYPE
    SYNTAX          TenthdBmV (-100..250)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The Upstream Input power level at the CMTS interface.
        This is the expected power level and is different from the
        actual power received. If not configured the default value
        is 0 dBmV and is also the optimum setting power level for
        the upstream. For FPGA line cards, the valid range
        is <-10 to 10> dBmV and for ASIC Line cards, it is 
        <-10  to 25> dBmV." 
    ::= { cdxIfUpstreamChannelExtEntry 6 }

cdxIfUpChannelAvgUtil OBJECT-TYPE
    SYNTAX          Integer32 (0..100)
    UNITS           "percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The average percentage of upstream channel utilization.
        This item indicates the running average of percent
        channel utilization in CMTS upstream Mac scheduler." 
    ::= { cdxIfUpstreamChannelExtEntry 7 }

cdxIfUpChannelAvgContSlots OBJECT-TYPE
    SYNTAX          Integer32 (0..100)
    UNITS           "percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The average percentage of contention mini-slots. This
        item indicates the running average of percent
        contention mini-slots in CMTS upstream Mac scheduler." 
    ::= { cdxIfUpstreamChannelExtEntry 8 }

cdxIfUpChannelRangeSlots OBJECT-TYPE
    SYNTAX          Integer32 (0..100)
    UNITS           "percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The average percentage of initial ranging mini-slots.
        This item indicates the running average of percent
        initial ranging mini-slots in CMTS upstream Mac
        scheduler." 
    ::= { cdxIfUpstreamChannelExtEntry 9 }

cdxIfUpChannelNumActiveUGS OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of active
        Unsolicited Grant Service (UGS) on a given upstream.
        This would be used for the user to evaluate traffic 
        load at any given time of the day.

        The Unsolicited Grant Service (UGS) is designed to 
        support real-time service flows that generate fixed
        size data packets on a periodic basis." 
    ::= { cdxIfUpstreamChannelExtEntry 10 }

cdxIfUpChannelMaxUGSLastOneHour OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the maximum number of
        Unsolicited Grant Service (UGS) allocated on a
        given upstream in the last one hour. This would be
        used for the user to evaluate traffic load at any
        given time of the day.

        The Unsolicited Grant Service (UGS) is designed to
        support real-time service flows that generate fixed
        size data packets on a periodic basis." 
    ::= { cdxIfUpstreamChannelExtEntry 11 }

cdxIfUpChannelMinUGSLastOneHour OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the minimum number of
        Unsolicited Grant Service (UGS) allocated on a
        given upstream in the last one hour. This would be
        used for the user to evaluate traffic load at any
        given time of the day.

        The Unsolicited Grant Service (UGS) is designed to
        support real-time service flows that generate fixed
        size data packets on a periodic basis." 
    ::= { cdxIfUpstreamChannelExtEntry 12 }

cdxIfUpChannelAvgUGSLastOneHour OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the average number of
        Unsolicited Grant Service (UGS) allocated on a
        given upstream in the last one hour. This would be
        used for the user to evaluate traffic load at any
        given time of the day.

        The Unsolicited Grant Service (UGS) is designed to
        support real-time service flows that generate fixed
        size data packets on a periodic basis." 
    ::= { cdxIfUpstreamChannelExtEntry 13 }

cdxIfUpChannelMaxUGSLastFiveMins OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the maximum number of
        Unsolicited Grant Service (UGS) allocated on a
        given upstream in the last five minutes. This would 
        be used for the user to evaluate traffic load at
        any given time of the day.

        The Unsolicited Grant Service (UGS) is designed to
        support real-time service flows that generate fixed
        size data packets on a periodic basis." 
    ::= { cdxIfUpstreamChannelExtEntry 14 }

cdxIfUpChannelMinUGSLastFiveMins OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the minimum number of
        Unsolicited Grant Service (UGS) allocated on a
        given upstream in the last five minutes. This would 
        be used for the user to evaluate traffic load at
        any given time of the day.

        The Unsolicited Grant Service (UGS) is designed to
        support real-time service flows that generate fixed
        size data packets on a periodic basis." 
    ::= { cdxIfUpstreamChannelExtEntry 15 }

cdxIfUpChannelAvgUGSLastFiveMins OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the average number of
        Unsolicited Grant Service (UGS) allocated on a
        given upstream in the last five minutes. This would 
        be used for the user to evaluate traffic load at
        any given time of the day.

        The Unsolicited Grant Service (UGS) is designed to
        support real-time service flows that generate fixed
        size data packets on a periodic basis." 
    ::= { cdxIfUpstreamChannelExtEntry 16 }
 


-- The MIB for Wideband RF Resiliency Control

cdxWBResilRFChangeDampenTime OBJECT-TYPE
    SYNTAX          Integer32 (1..65535)
    UNITS           "Second"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the amount of time an RF channel must
        remain in its new state, either UP or DOWN, before the
        transition is considered valid.  This value applies to all
        non-primary RF channels in the CMTS."
    DEFVAL          { 30 } 
    ::= { cdxWBResilObjects 1 }

cdxWBResilRFChangeTriggerPercentage OBJECT-TYPE
    SYNTAX          Integer32 (0..100)
    UNITS           "Percentage"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the percentage of cable modems (CMs) that
        must report that a particular Non Primary RF channel is DOWN,
        before that channel is removed from any/all bonding groups
        with that Non Primary RF channel configured. The value of 0
        will prevent from any bonding group modifications. In order to
        dampen state's changes for an RF channel, the trigger for 
        a channel being restored is one half of this object's value."
    DEFVAL          { 0 } 
    ::= { cdxWBResilObjects 2 }

cdxWBResilRFChangeTriggerCount OBJECT-TYPE
    SYNTAX          Integer32 (0..65535)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the count of cable modems (CMs) that
        must report that a particular Non Primary RF channel is DOWN,
        before that channel is removed from any/all bonding groups
        with that Non Primary RF channel configured. The value of 0
        will prevent from any bonding group modifications. In order to
        dampen state's changes for an RF channel, the trigger for 
        a channel being restored is one half of this object's value."
    DEFVAL          { 0 } 
    ::= { cdxWBResilObjects 3 }

cdxWBResilRFChangeTriggerMoveSecondary OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies whether the secondary service flows are
        allowed to be moved and created on the narrowband interface."
    DEFVAL          { false } 
    ::= { cdxWBResilObjects 4 }

cdxWBResilNotificationEnable OBJECT-TYPE
    SYNTAX          BITS {
                        event(0),
                        cm-recover(1),
                        cm-pmode(2),
                        rf-up(3),
                        rf-down(4),
                        us-resil-recover(5),
                        us-resil-pmode(6)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "An indication of whether the cdxWBResilRFDown, cdxWBResilRFUp,
        cdxWBResilCMPartialServiceNotif, cdxWBResilCMFullServiceNotif, 
        cdxWBResilEvent, cdxWBResilUsFullServiceNotif
        and cdxWBResilUsPartialServiceNotif are enabled."
    DEFVAL          { {  } } 
    ::= { cdxWBResilObjects 5 }

cdxWBResilNotificationsInterval OBJECT-TYPE
    SYNTAX          Integer32 (0..86400)
    UNITS           "Second"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the interval that cdxWBResilEvent traps
        could be sent per cable modem. It is to avoid too many cdxWBResilEvent
        traps sent for a cable modem during a short period of time.
        The default value is 1 (second). If the value is 0, the trap 
        cdxWBResilEvent will be sent for every wideband resiliency event.
        If the value is set to any value greater than 0, for the wideband 
        resiliency events which occurred in the same specific period of time, 
        the CMTS will send only one trap."
    DEFVAL          { 1 } 
    ::= { cdxWBResilObjects 6 }

cdxWBResilEventLevel OBJECT-TYPE
    SYNTAX          INTEGER  {
                        info(1),
                        warning(2),
                        error(3)
                    }
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "This object indicates the priority level of the event." 
    ::= { cdxWBResilObjects 7 }

cdxWBResilEventType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        cmEventMddTimeout(1),
                        cmEventQamFecFailure(2),
                        cmEventMddRecovery(3),
                        cmEventQamFecRecovery(4)
                    }
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "This object indicates the type of the event
        received by CMTS." 
    ::= { cdxWBResilObjects 8 }

cdxWBResilUpdateTime OBJECT-TYPE
    SYNTAX          DateAndTime
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "This object indicates the time when CMTS receives the
        latest wideband resiliency event." 
    ::= { cdxWBResilObjects 9 }

cdxWBResilEventTotalCount OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "The object denotes the count of event CMTS received." 
    ::= { cdxWBResilObjects 10 }

cdxWBResilEventTotalDupCount OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "The object denotes the duplicate count of event CMTS
        received." 
    ::= { cdxWBResilObjects 11 }

cdxUsResilEventType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        other(1),
                        ranging(2),
                        dataBurst(3)
                    }
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "The object denotes the type of upstream partial service event." 
    ::= { cdxWBResilObjects 12 }

cdxWBResilCmTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxWBResilCmEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains information regarding the channel list in the CMTS
        assigned bonding group a cable modem is assigned to use.
        When a modem is operating in partial service this table will contain
        additional information about that cable modem indicating which channels
        are impaired and contributing to partial service."
    ::= { cdxWBResilObjects 13 }

cdxWBResilCmEntry OBJECT-TYPE
    SYNTAX          CdxWBResilCmEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The list contains information for a cable modem(CM).

        Provided the following information for a cable modem:
        How many downstream channels in total;
        How many upstream channels in total;
        How many active downstream channels;
        How many active upstream channels;
        Which downstream channels are in partial service mode(only present in
        cable modem which in partial service mode);
        Which upstream channels are in partial service mode(only present in 
        cable modem which in partial service mode)"
    INDEX           { cdxWBResilCmIndex } 
    ::= { cdxWBResilCmTable 1 }

CdxWBResilCmEntry ::= SEQUENCE {
        cdxWBResilCmIndex             Unsigned32,
        cdxWBResilCmMacAddr           MacAddress,
        cdxWBResilCmTotalDsNum        Unsigned32,
        cdxWBResilCmTotalUsNum        Unsigned32,
        cdxWBResilCmCurrentDsNum      Unsigned32,
        cdxWBResilCmCurrentUsNum      Unsigned32,
        cdxWBResilCmImpairedDsChIndex SnmpTagList,
        cdxWBResilCmImpairedUsChIndex SnmpTagList
}

cdxWBResilCmIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4294967295)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This attribute uniquely identifies a CM.  The CMTS
        must assign a single id value for each CM MAC address seen
        by the CMTS.  The CMTS should ensure that the association
        between an Id and MAC Address remains constant
        during CMTS uptime." 
    ::= { cdxWBResilCmEntry 1 }

cdxWBResilCmMacAddr OBJECT-TYPE
    SYNTAX          MacAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This attribute represents the MAC address of the CM.
        If the CM has multiple MAC addresses, this is the MAC
        address associated with the MAC Domain interface." 
    ::= { cdxWBResilCmEntry 2 }

cdxWBResilCmTotalDsNum OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Total downstream channel number of the CM." 
    ::= { cdxWBResilCmEntry 3 }

cdxWBResilCmTotalUsNum OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Total upstream channel number of the CM." 
    ::= { cdxWBResilCmEntry 4 }

cdxWBResilCmCurrentDsNum OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Current active downstream channel number, it's the total
        downstream channel minus downstream partial service channel
        number." 
    ::= { cdxWBResilCmEntry 5 }

cdxWBResilCmCurrentUsNum OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Current active upstream channel number, it's the total upstream
        channel minus upstream partial service channel number." 
    ::= { cdxWBResilCmEntry 6 }

cdxWBResilCmImpairedDsChIndex OBJECT-TYPE
    SYNTAX          SnmpTagList
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Impaired downstream channel index list.
        The index in list is rf channel ifIndex.
        If there's no downstream channel impaired, return empty.
        The output looks like: '137000 137001 137002'.
        This value appears only in a cable modem which in partial
        service mode."
    DEFVAL          { "" } 
    ::= { cdxWBResilCmEntry 7 }

cdxWBResilCmImpairedUsChIndex OBJECT-TYPE
    SYNTAX          SnmpTagList
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Impaired upstream channel index list.
        The index in list is upstream channel ifIndex.
        If there's no upstream channel impaired, return empty.
        The output looks like: '196408 196409 196410'.
        This value appears only in a cable modem which in partial
        service mode."
    DEFVAL          { "" } 
    ::= { cdxWBResilCmEntry 8 }
 

-- The MIB for cdxDownstream Objects

cdxRFtoPrimaryChannelMappingTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxRFtoPrimaryChannelMappingEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains information of the mapping of
        the physical RF channels to the primary RF channels."
    ::= { cdxDownstreamObjects 1 }

cdxRFtoPrimaryChannelMappingEntry OBJECT-TYPE
    SYNTAX          CdxRFtoPrimaryChannelMappingEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An Entry provides the association between the physical
        RF channels and the primary RF Channels."
    INDEX           { ifIndex } 
    ::= { cdxRFtoPrimaryChannelMappingTable 1 }

CdxRFtoPrimaryChannelMappingEntry ::= SEQUENCE {
        cdxPrimaryChannelIfIndex InterfaceIndex
}

cdxPrimaryChannelIfIndex OBJECT-TYPE
    SYNTAX          InterfaceIndex
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The ifIndex of the primary channel interface." 
    ::= { cdxRFtoPrimaryChannelMappingEntry 1 }
 


cdxPrimaryChanneltoRFMappingTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxPrimaryChanneltoRFMappingEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains information of the mapping of
        the primary RF channels to the physical RF channels."
    ::= { cdxDownstreamObjects 2 }

cdxPrimaryChanneltoRFMappingEntry OBJECT-TYPE
    SYNTAX          CdxPrimaryChanneltoRFMappingEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An Entry provides the association between the primary
        RF channels and the physical RF Channels."
    INDEX           { ifIndex } 
    ::= { cdxPrimaryChanneltoRFMappingTable 1 }

CdxPrimaryChanneltoRFMappingEntry ::= SEQUENCE {
        cdxPhysicalRFIfIndex InterfaceIndex
}

cdxPhysicalRFIfIndex OBJECT-TYPE
    SYNTAX          InterfaceIndex
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The ifIndex of the physical RF channel interface." 
    ::= { cdxPrimaryChanneltoRFMappingEntry 1 }
 


cdxCmtsMtcCmTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxCmtsMtcCmEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains CM management information of Transmit
        Channel Set(TCS) in the system."
    ::= { cdxCmtsMtcCmSfObjects 1 }

cdxCmtsMtcCmEntry OBJECT-TYPE
    SYNTAX          CdxCmtsMtcCmEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry provides the CM statistics and management
        information of a specific TCS. The interface populated in this
        table is of ifType = docsCableMaclayer(127)."
    INDEX           {
                        ifIndex,
                        cdxCmtsMtcTcsId
                    } 
    ::= { cdxCmtsMtcCmTable 1 }

CdxCmtsMtcCmEntry ::= SEQUENCE {
        cdxCmtsMtcTcsId           ChSetId,
        cdxCmtsMtcCmTotal         Unsigned32,
        cdxCMtsMtcCmOperational   Unsigned32,
        cdxCmtsMtcCmRegistered    Unsigned32,
        cdxCmtsMtcCmUnregistered  Unsigned32,
        cdxCmtsMtcCmOffline       Unsigned32,
        cdxCmtsMtcCmWideband      Unsigned32,
        cdxCmtsMtcUpstreamBondGrp CdxUpstreamBondGrpList
}

cdxCmtsMtcTcsId OBJECT-TYPE
    SYNTAX          ChSetId
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates the Id of the Transmit Channel Set." 
    ::= { cdxCmtsMtcCmEntry 1 }

cdxCmtsMtcCmTotal OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the total number of cable modems
        which use this TCS in the MAC domain." 
    ::= { cdxCmtsMtcCmEntry 2 }

cdxCMtsMtcCmOperational OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of operational cable
        modems which uses this TCS in the MAC domain." 
    ::= { cdxCmtsMtcCmEntry 3 }

cdxCmtsMtcCmRegistered OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of registered cable
        modems which use this TCS in the MAC domain." 
    ::= { cdxCmtsMtcCmEntry 4 }

cdxCmtsMtcCmUnregistered OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of unregistered cable
        modem which use this TCS in the MAC domain." 
    ::= { cdxCmtsMtcCmEntry 5 }

cdxCmtsMtcCmOffline OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of offline cable modems
        which uses this TCS in the MAC domain." 
    ::= { cdxCmtsMtcCmEntry 6 }

cdxCmtsMtcCmWideband OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of operational cable
        modems which are in wideband state and use this TCS in
        the MAC domain." 
    ::= { cdxCmtsMtcCmEntry 7 }

cdxCmtsMtcUpstreamBondGrp OBJECT-TYPE
    SYNTAX          CdxUpstreamBondGrpList
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the upstream channel bonding group." 
    ::= { cdxCmtsMtcCmEntry 8 }
 


cdxCmtsUscbSflowTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxCmtsUscbSflowEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains the Upstream Channel Bonding
        Service Flow management information."
    ::= { cdxCmtsMtcCmSfObjects 2 }

cdxCmtsUscbSflowEntry OBJECT-TYPE
    SYNTAX          CdxCmtsUscbSflowEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A entry contains the Service Flow statistics for a specific
        Upstream Channel Bonding group. The interface populated in this
        table is of ifType = docsCableMaclayer(127)."
    INDEX           {
                        ifIndex,
                        cdxCmtsUsBondingGrpId
                    } 
    ::= { cdxCmtsUscbSflowTable 1 }

CdxCmtsUscbSflowEntry ::= SEQUENCE {
        cdxCmtsUsBondingGrpId    Unsigned32,
        cdxCmtsUscbSfTotal       Unsigned32,
        cdxCmtsUscbSfPri         Unsigned32,
        cdxCmtsUscbStaticSfBe    Unsigned32,
        cdxCmtsUscbStaticSfUgs   Unsigned32,
        cdxCmtsUscbStaticSfUgsad Unsigned32,
        cdxCmtsUscbStaticSfRtps  Unsigned32,
        cdxCmtsUscbStaticSfNrtps Unsigned32,
        cdxCmtsUscbDynSfBe       Unsigned32,
        cdxCmtsUscbDynSfUgs      Unsigned32,
        cdxCmtsUscbDynSfUgsad    Unsigned32,
        cdxCmtsUscbDynSfRtps     Unsigned32,
        cdxCmtsUscbDynSfNrtps    Unsigned32,
        cdxCmtsUscbDescr         SnmpAdminString
}

cdxCmtsUsBondingGrpId OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4294967295)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates upstream bonding group
        identifier within the MAC Domain." 
    ::= { cdxCmtsUscbSflowEntry 1 }

cdxCmtsUscbSfTotal OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the total number of service flows
        which use this upstream channel bonding group." 
    ::= { cdxCmtsUscbSflowEntry 2 }

cdxCmtsUscbSfPri OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the total number of  primary
        service flows which use this upstream channel bonding group." 
    ::= { cdxCmtsUscbSflowEntry 3 }

cdxCmtsUscbStaticSfBe OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of static BE service
        flows which use this upstream channel bonding group." 
    ::= { cdxCmtsUscbSflowEntry 4 }

cdxCmtsUscbStaticSfUgs OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of static UGS service
        flows which use this upstream channel bonding group." 
    ::= { cdxCmtsUscbSflowEntry 5 }

cdxCmtsUscbStaticSfUgsad OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of static UGS-AD service
        flows which use this upstream channel bonding group." 
    ::= { cdxCmtsUscbSflowEntry 6 }

cdxCmtsUscbStaticSfRtps OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of static RTPS service
        flows which use this upstream channel bonding group." 
    ::= { cdxCmtsUscbSflowEntry 7 }

cdxCmtsUscbStaticSfNrtps OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of static NRTPS service
        flows which use this upstream channel bonding group." 
    ::= { cdxCmtsUscbSflowEntry 8 }

cdxCmtsUscbDynSfBe OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of dynamic BE service
        flows which use this upstream channel bonding group." 
    ::= { cdxCmtsUscbSflowEntry 9 }

cdxCmtsUscbDynSfUgs OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of dynamic UGS service
        flows which use this upstream channel bonding group." 
    ::= { cdxCmtsUscbSflowEntry 10 }

cdxCmtsUscbDynSfUgsad OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of dynamic UGS-Ad service
        flows which use this upstream channel bonding group." 
    ::= { cdxCmtsUscbSflowEntry 11 }

cdxCmtsUscbDynSfRtps OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of dynamic RTPS service
        flows which use this upstream channel bonding group." 
    ::= { cdxCmtsUscbSflowEntry 12 }

cdxCmtsUscbDynSfNrtps OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of dynamic NRTPS service
        flows which use this upstream channel bonding group." 
    ::= { cdxCmtsUscbSflowEntry 13 }

cdxCmtsUscbDescr OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object indicates the description of upstream channel
        bonding group." 
    ::= { cdxCmtsUscbSflowEntry 14 }
 


cdxCmtsDocsisLBEnable OBJECT-TYPE
    SYNTAX          INTEGER  {
                        true(1),
                        false(2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This is a cisco private object. Setting this object to true(1)
        enables d2.0 loadbalancing on CMTS and allows user to further
        config other options for d3.0 loadbalancing(cdxCmtsD30LBEnable,
        cdxCmtsD30LBUpstreamEnable cdxCmtsD30LBStaticEnable 
                and cdxCmtsD30LBDynEnable). 
        Setting it to false(2) disables all oad balancing operations."
    DEFVAL          { 2 } 
    ::= { cdxCmtsDocsisLBObjects 1 }

cdxCmtsD30LBEnable OBJECT-TYPE
    SYNTAX          INTEGER  {
                        true(1),
                        false(2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Setting this object to true(1) enables d3.0 static
        loadbalancing on CMTS and allows user to further config other
        objects for d3.0 loadbalancing(cdxCmtsD30LBUpstreamEnable and
        cdxCmtsD30LBStaticEnable and cdxCmtsD30LBDynEnable) .
        Setting it to false(2) disables d3.0 loadbalancing."
    DEFVAL          { 2 } 
    ::= { cdxCmtsDocsisLBObjects 2 }

cdxCmtsD30LBUpstreamEnable OBJECT-TYPE
    SYNTAX          INTEGER  {
                        true(1),
                        false(2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Setting this object to true(1) enables upstream loadbalancing
        in docsis 3.0 static loadbalancing. Default is false(2).Only
        if docsis-enable and docsis30-enable set to true can this object
        take effect."
    DEFVAL          { 2 } 
    ::= { cdxCmtsDocsisLBObjects 3 }

cdxCmtsD30LBStaticEnable OBJECT-TYPE
    SYNTAX          INTEGER  {
                        true(1),
                        false(2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Setting this to true(1) enables autonomous D30 LB to move
        wideband modems if LB group is not in a balancing state.Default
        is false(2).
        Only if docsis-enable and docsis30-enable is set to true can
        this object set to true(1)"
    DEFVAL          { 2 } 
    ::= { cdxCmtsDocsisLBObjects 4 }

cdxCmtsD30LBDynEnable OBJECT-TYPE
    SYNTAX          INTEGER  {
                        true(1),
                        false(2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Setting this to true(1) enables autonomous D30 LB to move
        wideband modems if LB group is not in a balancing state.Default
        is false(2).
        Only if docsis-enable and docsis30-enable is set to true can
        this object set to true(1)"
    DEFVAL          { 2 } 
    ::= { cdxCmtsDocsisLBObjects 5 }

cdxRPDGS7KTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxRPDGS7KEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The cdxRPDGS7KTable contains the attributes of GS7K.
        An Entry exists for each instance. 
        It is indexed by GS7K's MacAddress."
    ::= { cdxRPDGS7KObjects 1 }

cdxRPDGS7KEntry OBJECT-TYPE
    SYNTAX          CdxRPDGS7KEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The list of statistics for all the sensor,
        such as volatage, the state of TriSwitch."
    INDEX           { cdxRPDGS7KMacAddress } 
    ::= { cdxRPDGS7KTable 1 }

CdxRPDGS7KEntry ::= SEQUENCE {
        cdxRPDGS7KMacAddress  MacAddress,
        cdxRPDGS7KPS1p24v     Integer32,
        cdxRPDGS7KPS1p8v      Integer32,
        cdxRPDGS7KPS1p5v      Integer32,
        cdxRPDGS7KPS1n6v      Integer32,
        cdxRPDGS7KPS1AC       Integer32,
        cdxRPDGS7KPS2p24v     Integer32,
        cdxRPDGS7KPS2p8v      Integer32,
        cdxRPDGS7KPS2p5v      Integer32,
        cdxRPDGS7KPS2n6v      Integer32,
        cdxRPDGS7KPS2AC       Integer32,
        cdxRPDGS7KTx1OptPower Integer32,
        cdxRPDGS7KRx1OptPower Integer32,
        cdxRPDGS7KTriSwitch   INTEGER,
        cdxRPDGS7KTamp        INTEGER
}

cdxRPDGS7KMacAddress OBJECT-TYPE
    SYNTAX          MacAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is MacAddress of RPDGS7K which is used for index" 
    ::= { cdxRPDGS7KEntry 1 }

cdxRPDGS7KPS1p24v OBJECT-TYPE
    SYNTAX          Integer32 (0..3000)
    UNITS           "0.01VDC"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is the Object of RPDGS7KPS1p24v" 
    ::= { cdxRPDGS7KEntry 2 }

cdxRPDGS7KPS1p8v OBJECT-TYPE
    SYNTAX          Integer32 (0..1000)
    UNITS           "0.01VDC"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is the Object of RPDGS7KPS1p8v" 
    ::= { cdxRPDGS7KEntry 3 }

cdxRPDGS7KPS1p5v OBJECT-TYPE
    SYNTAX          Integer32 (0..625)
    UNITS           "0.01VDC"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is the Object of RPDGS7KPS1p5v" 
    ::= { cdxRPDGS7KEntry 4 }

cdxRPDGS7KPS1n6v OBJECT-TYPE
    SYNTAX          Integer32 (0..800)
    UNITS           "0.01VDC"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is the Object of RPDGS7KPS1n6v" 
    ::= { cdxRPDGS7KEntry 5 }

cdxRPDGS7KPS1AC OBJECT-TYPE
    SYNTAX          Integer32 (300..2000)
    UNITS           "0.1VAC"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is the Object of RPDGS7KPS1AC" 
    ::= { cdxRPDGS7KEntry 6 }

cdxRPDGS7KPS2p24v OBJECT-TYPE
    SYNTAX          Integer32 (0..3000)
    UNITS           "0.01VDC"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "RPDGS7KPS2p24v" 
    ::= { cdxRPDGS7KEntry 7 }

cdxRPDGS7KPS2p8v OBJECT-TYPE
    SYNTAX          Integer32 (0..1000)
    UNITS           "0.01VDC"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is the Object of RPDGS7KPS2p8v" 
    ::= { cdxRPDGS7KEntry 8 }

cdxRPDGS7KPS2p5v OBJECT-TYPE
    SYNTAX          Integer32 (0..625)
    UNITS           "0.01VDC"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is the Object of RPDGS7KPS2p5v" 
    ::= { cdxRPDGS7KEntry 9 }

cdxRPDGS7KPS2n6v OBJECT-TYPE
    SYNTAX          Integer32 (0..800)
    UNITS           "0.01VDC"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is the Object of RPDGS7KPS2n6v" 
    ::= { cdxRPDGS7KEntry 10 }

cdxRPDGS7KPS2AC OBJECT-TYPE
    SYNTAX          Integer32 (300..2000)
    UNITS           "0.1VAC"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is the Object of RPDGS7KPS2AC" 
    ::= { cdxRPDGS7KEntry 11 }

cdxRPDGS7KTx1OptPower OBJECT-TYPE
    SYNTAX          Integer32 (0..300)
    UNITS           "0.01mW"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is the Object of RPDGS7K Tx4 Opt Power" 
    ::= { cdxRPDGS7KEntry 12 }

cdxRPDGS7KRx1OptPower OBJECT-TYPE
    SYNTAX          Integer32 (0..300)
    UNITS           "0.01mW"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is the Object of RPDGS7K Rx4 Opt Power" 
    ::= { cdxRPDGS7KEntry 13 }

cdxRPDGS7KTriSwitch OBJECT-TYPE
    SYNTAX          INTEGER  {
                        low(1),
                        high(2),
                        pad(3)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This is the Object of RPDGS7K TriSwitch,
        The relationship which the number indicates is   
        low(1) for -6dB
        high(2) for 0dB
        pad(3) for off" 
    ::= { cdxRPDGS7KEntry 14 }

cdxRPDGS7KTamp OBJECT-TYPE
    SYNTAX          INTEGER  {
                        intact(1),
                        compromised(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is the Object of RPDGS7K Tamp" 
    ::= { cdxRPDGS7KEntry 15 }
 


cdxBundleIpHelperTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxBundleIpHelperEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A list of cable helper entries on Bundle/Sub-Bundle interface."
    ::= { cdxCmtsDHCPRelayObjects 1 }

cdxBundleIpHelperEntry OBJECT-TYPE
    SYNTAX          CdxBundleIpHelperEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The conceptual row of cdxBundleIpHelperEntry.
        An instance exists for Cable Bundle/Sub-Bundle Interface."
    INDEX           {
                        ifIndex,
                        cdxBundleHelperAddr
                    } 
    ::= { cdxBundleIpHelperTable 1 }

CdxBundleIpHelperEntry ::= SEQUENCE {
        cdxBundleHelperAddr InetAddress,
        cdxBundleHelperType BITS
}

cdxBundleHelperAddr OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Cable helper IP address" 
    ::= { cdxBundleIpHelperEntry 1 }

cdxBundleHelperType OBJECT-TYPE
    SYNTAX          BITS {
                        dva(0),
                        ps(2),
                        stb(3),
                        mta(4),
                        customized(5),
                        host(6),
                        cm(7)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object describes which kind of device will be associated
        to a cable helper. The entity may support more than one device 
        class. For example, the entity supports both host and mta.
        Therefore, bit 1 and bit 3 are set to 1 for this object. If 
        all bits are cleared, the entity supports all device types.
        Note that BITS are encoded most significant bit first." 
    ::= { cdxBundleIpHelperEntry 2 }
 


cdxBundleIPv6DHCPRelayTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxBundleIPv6DHCPRelayEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Ipv6 dhcp relay configurations on Bundle/Sub-Bundle interface."
    ::= { cdxCmtsIPv6DHCPRelayObjects 1 }

cdxBundleIPv6DHCPRelayEntry OBJECT-TYPE
    SYNTAX          CdxBundleIPv6DHCPRelayEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The conceptual row of cdxBundleIPv6DHCPRelayTable.
        An instance exist for the Bundle/Sub-Bundle interface."
    INDEX           { ifIndex } 
    ::= { cdxBundleIPv6DHCPRelayTable 1 }

CdxBundleIPv6DHCPRelayEntry ::= SEQUENCE {
        cdxBundleIPv6DHCPRelayInsertVSSOption   TruthValue,
        cdxBundleIPv6DHCPRelayTrustToRelayReply TruthValue,
        cdxBundleIPv6DHDPRelaySourceIfname      SnmpAdminString
}

cdxBundleIPv6DHCPRelayInsertVSSOption OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Insert VSS option in Relay-Forward Messages"
    DEFVAL          { false } 
    ::= { cdxBundleIPv6DHCPRelayEntry 1 }

cdxBundleIPv6DHCPRelayTrustToRelayReply OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Interface is trusted to process relay-replies"
    DEFVAL          { false } 
    ::= { cdxBundleIPv6DHCPRelayEntry 2 }

cdxBundleIPv6DHDPRelaySourceIfname OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Source interface name for IPv6 DHCP relayed messages" 
    ::= { cdxBundleIPv6DHCPRelayEntry 3 }
 


cdxBundleIPv6DHCPRelayDestTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CdxBundleIPv6DHCPRelayDestEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A list of IPv6 DHCP relay destination entries
        on Cable Bundle/Sub-Bundle interfaces."
    ::= { cdxCmtsIPv6DHCPRelayObjects 2 }

cdxBundleIPv6DHCPRelayDestEntry OBJECT-TYPE
    SYNTAX          CdxBundleIPv6DHCPRelayDestEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The conceptual row of cdxBundleIPv6DHCPRelayDestTable.
        An instance exists for the Cable Bundle/Sub-Bundle interface."
    INDEX           {
                        ifIndex,
                        cdxBundleIPv6DHCPRelayDestOutIfVrfIndex,
                        cdxBundleIPv6DHCPRelayDestAddr,
                        cdxBundleIPv6DHCPRelayDestOutIfIndex
                    } 
    ::= { cdxBundleIPv6DHCPRelayDestTable 1 }

CdxBundleIPv6DHCPRelayDestEntry ::= SEQUENCE {
        cdxBundleIPv6DHCPRelayDestOutIfVrfIndex Unsigned32,
        cdxBundleIPv6DHCPRelayDestAddr          InetAddress,
        cdxBundleIPv6DHCPRelayDestOutIfIndex    InterfaceIndexOrZero,
        cdxBundleIPv6DHCPRelayDestSourceAddress InetAddressIPv6,
        cdxBundleIPv6DHCPRelayDestLinkAddress   InetAddressIPv6
}

cdxBundleIPv6DHCPRelayDestOutIfVrfIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (0..65535)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The vrf identifier that the cdxBundleIPv6DHCPRelayDestOutIfIndex
        belongs to, it is assigned to each VRF and is used to
        uniquely identify it, if it is zero, means in global vrf." 
    ::= { cdxBundleIPv6DHCPRelayDestEntry 1 }

cdxBundleIPv6DHCPRelayDestAddr OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "IPv6 DHCP relay destination address" 
    ::= { cdxBundleIPv6DHCPRelayDestEntry 2 }

cdxBundleIPv6DHCPRelayDestOutIfIndex OBJECT-TYPE
    SYNTAX          InterfaceIndexOrZero
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The snmp ifIndex of the IPv6 DHCP relay destination output interface.
        If the ifIndex is 0, it means there is no output interface specified" 
    ::= { cdxBundleIPv6DHCPRelayDestEntry 3 }

cdxBundleIPv6DHCPRelayDestSourceAddress OBJECT-TYPE
    SYNTAX          InetAddressIPv6
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "IPv6 DHCP relay destination source address" 
    ::= { cdxBundleIPv6DHCPRelayDestEntry 4 }

cdxBundleIPv6DHCPRelayDestLinkAddress OBJECT-TYPE
    SYNTAX          InetAddressIPv6
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "IPv6 DHCP relay destination link address" 
    ::= { cdxBundleIPv6DHCPRelayDestEntry 5 }
 

-- The Cisco DOCS Extension MIB Notifications

ciscoDocsExtNotificationsPrefix  OBJECT IDENTIFIER
    ::= { ciscoDocsExtMIB 2 }

ciscoDocsExtNotifications  OBJECT IDENTIFIER
    ::= { ciscoDocsExtNotificationsPrefix 0 }


cdxCmtsCmOnOffNotification NOTIFICATION-TYPE
    OBJECTS         {
                        docsIfCmtsCmStatusMacAddress,
                        docsIfCmtsCmStatusInetAddressType,
                        docsIfCmtsCmStatusInetAddress,
                        docsIfCmtsCmStatusDownChannelIfIndex,
                        docsIfCmtsCmStatusUpChannelIfIndex,
                        cdxCmCpeCmtsServiceId,
                        cdxCmtsCmStatusValue
                    }
    STATUS          current
    DESCRIPTION
        "This notification indicates that the cable modem coming online
        and going offline. A notification will be sent from CMTS for 
        a cable modem status changing to online or offline
        within the interval specified in cdxCmtsCmOnOffTrapInterval."
   ::= { ciscoDocsExtNotifications 1 }

cdxCmtsCmChOverNotification NOTIFICATION-TYPE
    OBJECTS         {
                        cdxCmtsCmChOverMacAddress,
                        cdxCmtsCmChOverDownFrequency,
                        cdxCmtsCmChOverUpChannelId,
                        cdxCmtsCmChOverOpInitiatedTime,
                        cdxCmtsCmChOverState
                    }
    STATUS          current
    DESCRIPTION
        "This notification is sent at the completion of a CMTS
        channel override operation if 
        cdxCmtsCmChOverTrapOnCompletion is true in the
        original entry.

        Once a channel override operation has been activated, it 
        cannot be stopped.  That is, it will run until either the 
        CMTS has generated downstream frequency and/or upstream 
        channel override fields in the RNG-RSP message sent to a 
        cable modem or 
        cdxCmtsCmChOverTimeExpiration time expired.
        In either case, the operation is completed. State in the 
        cdxCmtsCmChOverState object will tell in which 
        condition the operation is completed."
   ::= { ciscoDocsExtNotifications 2 }

cdxCmtsCmDMICLockNotification NOTIFICATION-TYPE
    OBJECTS         { docsIfCmtsCmStatusMacAddress }
    STATUS          current
    DESCRIPTION
        "This notification is sent whenever a modem is locked because
        it failed the Dynamic Message Integrity Check."
   ::= { ciscoDocsExtNotifications 3 }

cdxWBResilRFDown NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        ifDescr,
                        cdxWBResilEventLevel
                    }
    STATUS          current
    DESCRIPTION
        "This notification indicates that a RF channel changed state to
        logical DOWN state."
   ::= { ciscoDocsExtNotifications 4 }

cdxWBResilRFUp NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        ifDescr,
                        cdxWBResilEventLevel
                    }
    STATUS          current
    DESCRIPTION
        "This notification indicates that a RF channel changed state to
        logical UP state."
   ::= { ciscoDocsExtNotifications 5 }

cdxWBResilCMPartialServiceNotif NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        docsIfCmtsCmStatusMacAddress,
                        docsIfCmtsCmStatusDownChannelIfIndex,
                        cdxWBResilEventLevel,
                        cdxWBResilUpdateTime,
                        cdxWBResilCmImpairedDsChIndex
                    }
    STATUS          current
    DESCRIPTION
        "This notification indicates that a Cable Modem  is in partial
        service. Object docsIfCmtsCmStatusDownChannelIfIndex 
                represents the target wideband/narrowband ifindex."
   ::= { ciscoDocsExtNotifications 6 }

cdxWBResilCMFullServiceNotif NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        docsIfCmtsCmStatusMacAddress,
                        docsIfCmtsCmStatusDownChannelIfIndex,
                        cdxWBResilEventLevel,
                        cdxWBResilUpdateTime
                    }
    STATUS          current
    DESCRIPTION
        "This notification indicates that a Cable Modem  is recovered
        from partial service. Object docsIfCmtsCmStatusDownChannelIfIndex
                represents the target wideband/narrowband ifindex."
   ::= { ciscoDocsExtNotifications 7 }

cdxWBResilEvent NOTIFICATION-TYPE
    OBJECTS         {
                        docsIfCmtsCmStatusMacAddress,
                        cdxWBResilEventType,
                        cdxWBResilUpdateTime,
                        cdxWBResilEventTotalCount,
                        cdxWBResilEventTotalDupCount,
                        cdxWBResilEventLevel
                    }
    STATUS          current
    DESCRIPTION
        "This notification indicates that a wideband resiliency event is
        received by CMTS."
   ::= { ciscoDocsExtNotifications 8 }

cdxWBResilUsPartialServiceNotif NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        docsIfCmtsCmStatusMacAddress,
                        docsIfCmtsCmStatusUpChannelIfIndex,
                        cdxUsResilEventType,
                        cdxWBResilEventLevel,
                        cdxWBResilUpdateTime
                    }
    STATUS          current
    DESCRIPTION
        "This notification indicates that a Cable Modem
        is inenters upstream partial service. 
        Object docsIfCmtsCmStatusUpChannelIfIndex 
        represents the target upstream channel ifindex."
   ::= { ciscoDocsExtNotifications 9 }

cdxWBResilUsFullServiceNotif NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        docsIfCmtsCmStatusMacAddress,
                        docsIfCmtsCmStatusUpChannelIfIndex,
                        cdxUsResilEventType,
                        cdxWBResilEventLevel,
                        cdxWBResilUpdateTime
                    }
    STATUS          current
    DESCRIPTION
        "This notification indicates that a Cable Modem upstream
        channel is recovered from upstream partial
        service to full service mode.
        Object docsIfCmtsCmStatusUpChannelIfIndex represents
        the target upstream channel ifindex."
   ::= { ciscoDocsExtNotifications 10 }
-- The Cisco DOCS Extension MIB Conformance Statements
--   

--   
-- Conformance statement

ciscoDocsExtConformance  OBJECT IDENTIFIER
    ::= { ciscoDocsExtMIB 3 }

cdxDocsExtCompliances  OBJECT IDENTIFIER
    ::= { ciscoDocsExtConformance 1 }

cdxDocsExtGroups  OBJECT IDENTIFIER
    ::= { ciscoDocsExtConformance 2 }


-- compliance statements

cdxDocsExtCompliance MODULE-COMPLIANCE
    STATUS          obsolete
    DESCRIPTION
        "The compliance statement for devices that implement MCNS
        compliant Radio Frequency Interfaces and DOCSIS features."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cdxQosCtrlGroup,
                        cdxQosQueueGroup,
                        cdxCmtsCmCpeGroup
                    }

    OBJECT          cdxCmtsCmChOverTimeExpiration
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { cdxDocsExtCompliances 1 }

cdxDocsExtComplianceRev1 MODULE-COMPLIANCE
    STATUS          obsolete
    DESCRIPTION
        "The compliance statement for devices that implement MCNS
        compliant Radio Frequency Interfaces and DOCSIS features."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cdxQosCtrlGroupRev1,
                        cdxQosQueueGroup,
                        cdxCmtsCmCpeGroupRev1,
                        cdxSpecMgmtGroup
                    }

    OBJECT          cdxCmtsCmChOverTimeExpiration
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { cdxDocsExtCompliances 2 }

cdxDocsExtComplianceRev2 MODULE-COMPLIANCE
    STATUS          obsolete
    DESCRIPTION
        "The compliance statement for devices that implement MCNS
        compliant Radio Frequency Interfaces and DOCSIS 
        features."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cdxQosCtrlGroupRev1,
                        cdxQosQueueGroup,
                        cdxCmtsCmCpeGroupRev2,
                        cdxSpecMgmtGroup
                    }

    OBJECT          cdxCmtsCmChOverTimeExpiration
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { cdxDocsExtCompliances 3 }

cdxDocsExtComplianceRev3 MODULE-COMPLIANCE
    STATUS          obsolete
    DESCRIPTION
        "The compliance statement for devices that implement MCNS
        compliant Radio Frequency Interfaces and DOCSIS
        features."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cdxQosCtrlGroupRev1,
                        cdxQosQueueGroup,
                        cdxCmtsCmCpeGroupRev3,
                        cdxSpecMgmtGroupRev1
                    }

    OBJECT          cdxCmtsCmChOverTimeExpiration
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { cdxDocsExtCompliances 4 }

cdxDocsExtComplianceRev4 MODULE-COMPLIANCE
    STATUS          obsolete
    DESCRIPTION
        "The compliance statement for devices that implement MCNS
        compliant Radio Frequency Interfaces and DOCSIS
        features."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cdxQosCtrlGroupRev2,
                        cdxQosQueueGroup,
                        cdxCmtsCmCpeGroupRev4,
                        cdxSpecMgmtGroupRev1
                    }

    OBJECT          cdxCmtsCmChOverTimeExpiration
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { cdxDocsExtCompliances 5 }

cdxDocsExtComplianceRev5 MODULE-COMPLIANCE
    STATUS          obsolete
    DESCRIPTION
        "The compliance statement for devices that implement MCNS
        compliant Radio Frequency Interfaces and DOCSIS
        features."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cdxQosCtrlGroupRev2,
                        cdxQosQueueGroup,
                        cdxCmtsCmCpeGroupRev4,
                        cdxSpecMgmtGroupRev2,
                        cdxNotifGroup
                    }

    OBJECT          cdxCmtsCmChOverTimeExpiration
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { cdxDocsExtCompliances 6 }

cdxDocsExtComplianceRev6 MODULE-COMPLIANCE
    STATUS          obsolete
    DESCRIPTION
        "The compliance statement for devices that implement MCNS
        compliant Radio Frequency Interfaces and DOCSIS
        features."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cdxQosCtrlGroupRev2,
                        cdxQosQueueGroup,
                        cdxCmtsCmCpeGroupRev4,
                        cdxSpecMgmtGroupRev3,
                        cdxNotifGroup
                    }

    OBJECT          cdxCmtsCmChOverTimeExpiration
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { cdxDocsExtCompliances 7 }

cdxDocsExtComplianceRev7 MODULE-COMPLIANCE
    STATUS          obsolete
    DESCRIPTION
        "The compliance statement for devices that implement MCNS
        compliant Radio Frequency Interfaces and DOCSIS
        features."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cdxQosCtrlGroupRev2,
                        cdxQosQueueGroup,
                        cdxCmtsCmCpeGroupRev5,
                        cdxSpecMgmtGroupRev3,
                        cdxNotifGroup
                    }

    OBJECT          cdxCmtsCmChOverTimeExpiration
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { cdxDocsExtCompliances 8 }

cdxDocsExtComplianceRev8 MODULE-COMPLIANCE
    STATUS          obsolete
    DESCRIPTION
        "The compliance statement for devices that implement MCNS
        compliant Radio Frequency Interfaces and DOCSIS
        features."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cdxQosCtrlGroupRev2,
                        cdxQosQueueGroup,
                        cdxCmtsCmCpeGroupRev6,
                        cdxSpecMgmtGroupRev3,
                        cdxNotifGroup
                    }

    OBJECT          cdxCmtsCmChOverTimeExpiration
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { cdxDocsExtCompliances 9 }

cdxDocsExtComplianceRev9 MODULE-COMPLIANCE
    STATUS          obsolete
    DESCRIPTION
        "The compliance statement for devices that implement MCNS
        compliant Radio Frequency Interfaces and DOCSIS
        features."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cdxQosCtrlGroupRev2,
                        cdxQosQueueGroup,
                        cdxCmtsCmCpeGroupRev7,
                        cdxSpecMgmtGroupRev3,
                        cdxNotifGroupRev1
                    }

    OBJECT          cdxCmtsCmChOverTimeExpiration
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { cdxDocsExtCompliances 10 }

cdxDocsExtComplianceRev10 MODULE-COMPLIANCE
    STATUS          obsolete
    DESCRIPTION
        "The compliance statement for devices that implement MCNS
        compliant Radio Frequency Interfaces and DOCSIS
        features."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cdxQosCtrlGroupRev2,
                        cdxQosQueueGroup,
                        cdxSpecMgmtGroupRev3,
                        cdxCmtsCmCpeGroupRev8,
                        cdxNotifGroupRev1
                    }

    GROUP           cdxCmtsCmCpeDeleteGroup
    DESCRIPTION
        "This group is conditional mandatory for devices that support
        deletion of Cable Modem(CM) or Customer Premises Equipment(CPE)
        in CMTS."

    OBJECT          cdxCmtsCmChOverTimeExpiration
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { cdxDocsExtCompliances 11 }

cdxDocsExtComplianceRev11 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for devices that implement MCNS
        compliant Radio Frequency Interfaces and DOCSIS
        features."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cdxQosCtrlGroupRev2,
                        cdxQosCtrlGroupExt,
                        cdxNotifGroupRev1,
                        cdxQosQueueGroup,
                        cdxCmtsCmCpeGroupRev8,
                        cdxSpecMgmtGroupRev3,
                        cdxDownstreamGroup,
                        cdxNotifGroupExt,
                        cdxWBResilGroup
                    }

    OBJECT          cdxCmtsCmChOverTimeExpiration
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          cdxWBResilRFChangeDampenTime
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          cdxWBResilRFChangeTriggerPercentage
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          cdxWBResilRFChangeTriggerCount
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          cdxWBResilRFChangeTriggerMoveSecondary
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          cdxWBResilNotificationEnable
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          cdxWBResilNotificationsInterval
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { cdxDocsExtCompliances 12 }

cdxDocsExtComplianceRev12 MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "The compliance statement for devices that implement MCNS
        compliant Radio Frequency Interfaces and DOCSIS
        features."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cdxQosCtrlGroupRev2,
                        cdxQosCtrlGroupExt,
                        cdxNotifGroupRev1,
                        cdxQosQueueGroup,
                        cdxCmtsCmCpeGroupRev8,
                        cdxSpecMgmtGroupRev3,
                        cdxDownstreamGroup,
                        cdxNotifGroupExt,
                        cdxWBResilGroup
                    }

    GROUP           cdxCpeIpPrefixGroup
    DESCRIPTION
        "This group is mandatory for platforms which support
        CPE IP Prefix feature."

    GROUP           cdxCmtsMtcCmGroup
    DESCRIPTION
        "This group is mandatory for platforms which
        support CM management information of TCS."

    GROUP           cdxCmtsUscbSflowGroup
    DESCRIPTION
        "This group is mandatory for platforms which
        support Service Flow statistics of Upstream 
        Channel Bonding group."

    OBJECT          cdxCmtsCmChOverTimeExpiration
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          cdxWBResilRFChangeDampenTime
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          cdxWBResilRFChangeTriggerPercentage
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          cdxWBResilRFChangeTriggerCount
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          cdxWBResilRFChangeTriggerMoveSecondary
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          cdxWBResilNotificationEnable
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          cdxWBResilNotificationsInterval
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { cdxDocsExtCompliances 13 }

cdxDocsExtComplianceRev13 MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "The compliance statement for devices that implement MCNS
        compliant Radio Frequency Interfaces and DOCSIS
        features."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cdxQosCtrlGroupRev2,
                        cdxQosCtrlGroupExt,
                        cdxNotifGroupRev1,
                        cdxQosQueueGroup,
                        cdxCmtsCmCpeGroupRev8,
                        cdxSpecMgmtGroupRev3,
                        cdxDownstreamGroup,
                        cdxNotifGroupExt,
                        cdxWBResilGroup,
                        cdxCmtsDocsisLBGroup
                    }

    GROUP           cdxCpeIpPrefixGroup
    DESCRIPTION
        "This group is mandatory for platforms which support CPE IP
        Prefix feature."

    GROUP           cdxCmtsMtcCmGroup
    DESCRIPTION
        "This group is mandatory for platforms which support CM
        management information of TCS."

    GROUP           cdxCmtsUscbSflowGroup
    DESCRIPTION
        "This group is mandatory for platforms which support Service Flow
        statistics of Upstream Channel Bonding group."
    ::= { cdxDocsExtCompliances 14 }

-- MIB groupings

cdxQosCtrlGroup OBJECT-GROUP
    OBJECTS         {
                        cdxQosCtrlUpAdmissionCtrl,
                        cdxQosCtrlUpMaxRsvdBWPercent,
                        cdxQosCtrlUpAdmissionRejects,
                        cdxQosCtrlUpReservedBW,
                        cdxQosCtrlUpMaxVirtualBW,
                        cdxQosIfRateLimitAlgm,
                        cdxQosIfRateLimitExpWt,
                        cdxIfCmtsServiceOutOctets,
                        cdxIfCmtsServiceOutPackets,
                        cdxQosMaxUpBWExcessRequests,
                        cdxQosMaxDownBWExcessPackets
                    }
    STATUS          obsolete
    DESCRIPTION
        "Group of objects implemented in Cable Modem Termination Systems
        (CMTS) cable interfaces for states of the scheduler supporting 
        Data-Over-Cable Service Interface Specifications (DOCSIS)
        1.0 Quality of Service (QoS)."
    ::= { cdxDocsExtGroups 1 }

cdxQosQueueGroup OBJECT-GROUP
    OBJECTS         {
                        cdxBWQueueOrder,
                        cdxBWQueueNumServedBeforeYield,
                        cdxBWQueueType,
                        cdxBWQueueMaxDepth,
                        cdxBWQueueDepth,
                        cdxBWQueueDiscards
                    }
    STATUS          current
    DESCRIPTION
        "Group of objects implemented in Cable Modem Termination Systems
        (CMTS) cable interfaces for the queuing states of the scheduler 
        supporting Data-Over-Cable Service Interface Specifications 
        (DOCSIS) Quality of Service (QoS). Each upstream scheduler 
        maintains a queue set, but the downstream schedulers does not 
        in DOCSIS QoS. So only each upstream has an entry for 
        DOCSIS QoS support."
    ::= { cdxDocsExtGroups 2 }

cdxCmtsCmCpeGroup OBJECT-GROUP
    OBJECTS         {
                        cdxCmCpeType,
                        cdxCmCpeIpAddress,
                        cdxCmCpeIfIndex,
                        cdxCmCpeCmtsServiceId,
                        cdxCmCpeCmStatusIndex,
                        cdxCmCpeAccessGroup,
                        cdxCmtsCmStatusValue,
                        cdxIfCmtsCmStatusOnlineTimes,
                        cdxIfCmtsCmStatusPercentOnline,
                        cdxIfCmtsCmStatusMinOnlineTime,
                        cdxIfCmtsCmStatusAvgOnlineTime,
                        cdxIfCmtsCmStatusMaxOnlineTime,
                        cdxIfCmtsCmStatusMinOfflineTime,
                        cdxIfCmtsCmStatusAvgOfflineTime,
                        cdxIfCmtsCmStatusMaxOfflineTime,
                        cdxCmtsCmOnOffTrapEnable,
                        cdxCmtsCmOnOffTrapInterval,
                        cdxCmtsCmDefaultMaxCpes,
                        cdxCmtsCmChOverTimeExpiration,
                        cdxCmtsCmChOverMacAddress,
                        cdxCmtsCmChOverDownFrequency,
                        cdxCmtsCmChOverUpChannelId,
                        cdxCmtsCmChOverTrapOnCompletion,
                        cdxCmtsCmChOverOpInitiatedTime,
                        cdxCmtsCmChOverState,
                        cdxCmtsCmChOverRowStatus,
                        cdxCmtsCmMaxCpeNumber
                    }
    STATUS          obsolete
    DESCRIPTION
        "Group of objects implemented in Cable Modem Termination Systems
        (CMTS) for managing and monitoring cable modems or Customer 
        Premises Equipments."
    ::= { cdxDocsExtGroups 3 }

cdxQosCtrlGroupRev1 OBJECT-GROUP
    OBJECTS         {
                        cdxQosCtrlUpAdmissionCtrl,
                        cdxQosCtrlUpMaxRsvdBWPercent,
                        cdxQosCtrlUpAdmissionRejects,
                        cdxQosCtrlUpReservedBW,
                        cdxQosCtrlUpMaxVirtualBW,
                        cdxQosIfRateLimitAlgm,
                        cdxQosIfRateLimitExpWt,
                        cdxQosIfRateLimitShpGranularity,
                        cdxQosIfRateLimitShpMaxDelay,
                        cdxIfCmtsServiceOutOctets,
                        cdxIfCmtsServiceOutPackets,
                        cdxQosMaxUpBWExcessRequests,
                        cdxQosMaxDownBWExcessPackets
                    }
    STATUS          obsolete
    DESCRIPTION
        "Group of objects implemented in Cable Modem Termination Systems
        (CMTS) cable interfaces for states of the scheduler supporting 
        Data-Over-Cable Service Interface Specifications (DOCSIS)
        Quality of Service (QoS)."
    ::= { cdxDocsExtGroups 4 }

cdxCmtsCmCpeGroupRev1 OBJECT-GROUP
    OBJECTS         {
                        cdxCmCpeType,
                        cdxCmCpeIpAddress,
                        cdxCmCpeIfIndex,
                        cdxCmCpeCmtsServiceId,
                        cdxCmCpeCmStatusIndex,
                        cdxCmCpeAccessGroup,
                        cdxCmtsCmStatusValue,
                        cdxIfCmtsCmStatusOnlineTimes,
                        cdxIfCmtsCmStatusPercentOnline,
                        cdxIfCmtsCmStatusMinOnlineTime,
                        cdxIfCmtsCmStatusAvgOnlineTime,
                        cdxIfCmtsCmStatusMaxOnlineTime,
                        cdxIfCmtsCmStatusMinOfflineTime,
                        cdxIfCmtsCmStatusAvgOfflineTime,
                        cdxIfCmtsCmStatusMaxOfflineTime,
                        cdxIfCmtsCmStatusDynSidCount,
                        cdxCmtsCmOnOffTrapEnable,
                        cdxCmtsCmOnOffTrapInterval,
                        cdxCmtsCmDefaultMaxCpes,
                        cdxCmtsCmChOverTimeExpiration,
                        cdxCmtsCmChOverMacAddress,
                        cdxCmtsCmChOverDownFrequency,
                        cdxCmtsCmChOverUpChannelId,
                        cdxCmtsCmChOverTrapOnCompletion,
                        cdxCmtsCmChOverOpInitiatedTime,
                        cdxCmtsCmChOverState,
                        cdxCmtsCmChOverRowStatus,
                        cdxCmtsCmMaxCpeNumber
                    }
    STATUS          obsolete
    DESCRIPTION
        "Group of objects implemented in Cable Modem Termination Systems
        (CMTS) for managing and monitoring cable modems or Customer 
        Premises Equipments."
    ::= { cdxDocsExtGroups 5 }

cdxSpecMgmtGroup OBJECT-GROUP
    OBJECTS         {
                        cdxIfUpChannelWidth,
                        cdxIfUpChannelModulationProfile
                    }
    STATUS          obsolete
    DESCRIPTION
        "Group of objects implemented in Cable Modem Termination Systems
        (CMTS) cable interfaces for automated upstream spectrum 
        management."
    ::= { cdxDocsExtGroups 6 }

cdxCmtsCmCpeGroupRev2 OBJECT-GROUP
    OBJECTS         {
                        cdxCmCpeType,
                        cdxCmCpeIpAddress,
                        cdxCmCpeIfIndex,
                        cdxCmCpeCmtsServiceId,
                        cdxCmCpeCmStatusIndex,
                        cdxCmCpeAccessGroup,
                        cdxCmCpeResetNow,
                        cdxCmtsCmStatusValue,
                        cdxIfCmtsCmStatusOnlineTimes,
                        cdxIfCmtsCmStatusPercentOnline,
                        cdxIfCmtsCmStatusMinOnlineTime,
                        cdxIfCmtsCmStatusAvgOnlineTime,
                        cdxIfCmtsCmStatusMaxOnlineTime,
                        cdxIfCmtsCmStatusMinOfflineTime,
                        cdxIfCmtsCmStatusAvgOfflineTime,
                        cdxIfCmtsCmStatusMaxOfflineTime,
                        cdxIfCmtsCmStatusDynSidCount,
                        cdxCmtsCmOnOffTrapEnable,
                        cdxCmtsCmOnOffTrapInterval,
                        cdxCmtsCmDefaultMaxCpes,
                        cdxCmtsCmChOverTimeExpiration,
                        cdxCmtsCmChOverMacAddress,
                        cdxCmtsCmChOverDownFrequency,
                        cdxCmtsCmChOverUpChannelId,
                        cdxCmtsCmChOverTrapOnCompletion,
                        cdxCmtsCmChOverOpInitiatedTime,
                        cdxCmtsCmChOverState,
                        cdxCmtsCmChOverRowStatus,
                        cdxCmtsCmMaxCpeNumber,
                        cdxCmtsCmCurrCpeNumber
                    }
    STATUS          obsolete
    DESCRIPTION
        "Group of objects implemented in Cable Modem
        Termination Systems (CMTS) for managing and monitoring 
        cable modems or Customer Premises Equipments."
    ::= { cdxDocsExtGroups 7 }

cdxSpecMgmtGroupRev1 OBJECT-GROUP
    OBJECTS         {
                        cdxIfUpChannelWidth,
                        cdxIfUpChannelModulationProfile,
                        cdxIfUpChannelCmTotal,
                        cdxIfUpChannelCmActive,
                        cdxIfUpChannelCmRegistered
                    }
    STATUS          obsolete
    DESCRIPTION
        "Group of objects implemented in Cable Modem Termination
        Systems (CMTS) cable interfaces for automated upstream 
        spectrum management."
    ::= { cdxDocsExtGroups 8 }

cdxCmtsCmCpeGroupRev3 OBJECT-GROUP
    OBJECTS         {
                        cdxCmCpeType,
                        cdxCmCpeIpAddress,
                        cdxCmCpeIfIndex,
                        cdxCmCpeCmtsServiceId,
                        cdxCmCpeCmStatusIndex,
                        cdxCmCpeAccessGroup,
                        cdxCmCpeResetNow,
                        cdxCmtsCmStatusValue,
                        cdxIfCmtsCmStatusOnlineTimes,
                        cdxIfCmtsCmStatusPercentOnline,
                        cdxIfCmtsCmStatusMinOnlineTime,
                        cdxIfCmtsCmStatusAvgOnlineTime,
                        cdxIfCmtsCmStatusMaxOnlineTime,
                        cdxIfCmtsCmStatusMinOfflineTime,
                        cdxIfCmtsCmStatusAvgOfflineTime,
                        cdxIfCmtsCmStatusMaxOfflineTime,
                        cdxIfCmtsCmStatusDynSidCount,
                        cdxCmtsCmOnOffTrapEnable,
                        cdxCmtsCmOnOffTrapInterval,
                        cdxCmtsCmDefaultMaxCpes,
                        cdxCmtsCmTotal,
                        cdxCmtsCmActive,
                        cdxCmtsCmRegistered,
                        cdxCmtsCmChOverTimeExpiration,
                        cdxCmtsCmChOverMacAddress,
                        cdxCmtsCmChOverDownFrequency,
                        cdxCmtsCmChOverUpChannelId,
                        cdxCmtsCmChOverTrapOnCompletion,
                        cdxCmtsCmChOverOpInitiatedTime,
                        cdxCmtsCmChOverState,
                        cdxCmtsCmChOverRowStatus,
                        cdxCmtsCmMaxCpeNumber,
                        cdxCmtsCmCurrCpeNumber
                    }
    STATUS          obsolete
    DESCRIPTION
        "Group of objects implemented in Cable Modem
        Termination Systems (CMTS) for managing and monitoring 
        cable modems or Customer Premises Equipments."
    ::= { cdxDocsExtGroups 9 }

cdxQosCtrlGroupRev2 OBJECT-GROUP
    OBJECTS         {
                        cdxQosCtrlUpAdmissionCtrl,
                        cdxQosCtrlUpMaxRsvdBWPercent,
                        cdxQosCtrlUpAdmissionRejects,
                        cdxQosCtrlUpReservedBW,
                        cdxQosCtrlUpMaxVirtualBW,
                        cdxQosIfRateLimitAlgm,
                        cdxQosIfRateLimitExpWt,
                        cdxQosIfRateLimitShpGranularity,
                        cdxQosIfRateLimitShpMaxDelay,
                        cdxIfCmtsServiceOutOctets,
                        cdxIfCmtsServiceOutPackets,
                        cdxQosMaxUpBWExcessRequests,
                        cdxQosMaxDownBWExcessPackets,
                        cdxUpInfoElemStatsIEType
                    }
    STATUS          current
    DESCRIPTION
        "Group of objects implemented in Cable Modem Termination
        Systems (CMTS) cable interfaces for states of the scheduler
        supporting Data-Over-Cable Service Interface Specifications
        (DOCSIS) Quality of Service (QoS).Statistics about the IE 
        types in the Upstream channel."
    ::= { cdxDocsExtGroups 10 }

cdxCmtsCmCpeGroupRev4 OBJECT-GROUP
    OBJECTS         {
                        cdxCmCpeType,
                        cdxCmCpeIpAddress,
                        cdxCmCpeIfIndex,
                        cdxCmCpeCmtsServiceId,
                        cdxCmCpeCmStatusIndex,
                        cdxCmCpeAccessGroup,
                        cdxCmCpeResetNow,
                        cdxCmtsCmStatusValue,
                        cdxIfCmtsCmStatusOnlineTimes,
                        cdxIfCmtsCmStatusPercentOnline,
                        cdxIfCmtsCmStatusMinOnlineTime,
                        cdxIfCmtsCmStatusAvgOnlineTime,
                        cdxIfCmtsCmStatusMaxOnlineTime,
                        cdxIfCmtsCmStatusMinOfflineTime,
                        cdxIfCmtsCmStatusAvgOfflineTime,
                        cdxIfCmtsCmStatusMaxOfflineTime,
                        cdxIfCmtsCmStatusDynSidCount,
                        cdxIfCmtsCmStatusAddlInfo,
                        cdxCmtsCmOnOffTrapEnable,
                        cdxCmtsCmOnOffTrapInterval,
                        cdxCmtsCmDefaultMaxCpes,
                        cdxCmtsCmTotal,
                        cdxCmtsCmActive,
                        cdxCmtsCmRegistered,
                        cdxCmtsCmChOverTimeExpiration,
                        cdxCmtsCmChOverMacAddress,
                        cdxCmtsCmChOverDownFrequency,
                        cdxCmtsCmChOverUpChannelId,
                        cdxCmtsCmChOverTrapOnCompletion,
                        cdxCmtsCmChOverOpInitiatedTime,
                        cdxCmtsCmChOverState,
                        cdxCmtsCmChOverRowStatus,
                        cdxCmtsCmMaxCpeNumber,
                        cdxCmtsCmCurrCpeNumber
                    }
    STATUS          obsolete
    DESCRIPTION
        "Group of objects implemented in Cable Modem
        Termination Systems (CMTS) for managing and monitoring 
        cable modems or Customer Premises Equipments."
    ::= { cdxDocsExtGroups 11 }

cdxSpecMgmtGroupRev2 OBJECT-GROUP
    OBJECTS         {
                        cdxIfUpChannelWidth,
                        cdxIfUpChannelModulationProfile,
                        cdxIfUpChannelCmTotal,
                        cdxIfUpChannelCmActive,
                        cdxIfUpChannelCmRegistered,
                        cdxIfUpChannelInputPowerLevel
                    }
    STATUS          obsolete
    DESCRIPTION
        "Group of objects implemented in Cable Modem Termination
        Systems (CMTS) for upstream interfaces."
    ::= { cdxDocsExtGroups 12 }

cdxNotifGroup NOTIFICATION-GROUP
   NOTIFICATIONS    {
                        cdxCmtsCmOnOffNotification,
                        cdxCmtsCmChOverNotification
                    }
    STATUS          obsolete
    DESCRIPTION
        "A group of notifications implemented in Cable Modem
        Termination Systems (CMTS) for managing and monitoring
        cable modems or Customer Premises Equipments."
    ::= { cdxDocsExtGroups 13 }

cdxSpecMgmtGroupRev3 OBJECT-GROUP
    OBJECTS         {
                        cdxIfUpChannelWidth,
                        cdxIfUpChannelModulationProfile,
                        cdxIfUpChannelCmTotal,
                        cdxIfUpChannelCmActive,
                        cdxIfUpChannelCmRegistered,
                        cdxIfUpChannelInputPowerLevel,
                        cdxIfUpChannelAvgUtil,
                        cdxIfUpChannelAvgContSlots,
                        cdxIfUpChannelRangeSlots,
                        cdxIfUpChannelNumActiveUGS,
                        cdxIfUpChannelMaxUGSLastOneHour,
                        cdxIfUpChannelMinUGSLastOneHour,
                        cdxIfUpChannelAvgUGSLastOneHour,
                        cdxIfUpChannelMaxUGSLastFiveMins,
                        cdxIfUpChannelMinUGSLastFiveMins,
                        cdxIfUpChannelAvgUGSLastFiveMins
                    }
    STATUS          current
    DESCRIPTION
        "Group of objects implemented in Cable Modem Termination
        Systems (CMTS) for upstream interfaces."
    ::= { cdxDocsExtGroups 14 }

cdxCmtsCmCpeGroupRev5 OBJECT-GROUP
    OBJECTS         {
                        cdxCmCpeType,
                        cdxCmCpeIfIndex,
                        cdxCmCpeCmtsServiceId,
                        cdxCmCpeCmStatusIndex,
                        cdxCmCpeAccessGroup,
                        cdxCmCpeResetNow,
                        cdxCmtsCmStatusValue,
                        cdxIfCmtsCmStatusOnlineTimes,
                        cdxIfCmtsCmStatusPercentOnline,
                        cdxIfCmtsCmStatusMinOnlineTime,
                        cdxIfCmtsCmStatusAvgOnlineTime,
                        cdxIfCmtsCmStatusMaxOnlineTime,
                        cdxIfCmtsCmStatusMinOfflineTime,
                        cdxIfCmtsCmStatusAvgOfflineTime,
                        cdxIfCmtsCmStatusMaxOfflineTime,
                        cdxIfCmtsCmStatusDynSidCount,
                        cdxIfCmtsCmStatusAddlInfo,
                        cdxCmtsCmOnOffTrapEnable,
                        cdxCmtsCmOnOffTrapInterval,
                        cdxCmtsCmDefaultMaxCpes,
                        cdxCmtsCmTotal,
                        cdxCmtsCmActive,
                        cdxCmtsCmRegistered,
                        cdxCmtsCmChOverTimeExpiration,
                        cdxCmtsCmChOverMacAddress,
                        cdxCmtsCmChOverDownFrequency,
                        cdxCmtsCmChOverUpChannelId,
                        cdxCmtsCmChOverTrapOnCompletion,
                        cdxCmtsCmChOverOpInitiatedTime,
                        cdxCmtsCmChOverState,
                        cdxCmtsCmChOverRowStatus,
                        cdxCmtsCmMaxCpeNumber,
                        cdxCmtsCmCurrCpeNumber,
                        cdxIfCmtsCmStatusOnlineTimesNum,
                        cdxIfCmtsCmStatusLastResetTime
                    }
    STATUS          obsolete
    DESCRIPTION
        "Group of objects implemented in Cable Modem
        Termination Systems (CMTS) for managing and monitoring
        cable modems or Customer Premises Equipments."
    ::= { cdxDocsExtGroups 15 }

cdxCmtsCmCpeGroupRev6 OBJECT-GROUP
    OBJECTS         {
                        cdxCmCpeType,
                        cdxCmCpeIfIndex,
                        cdxCmCpeCmtsServiceId,
                        cdxCmCpeCmStatusIndex,
                        cdxCmCpeAccessGroup,
                        cdxCmCpeResetNow,
                        cdxCmtsCmStatusValue,
                        cdxIfCmtsCmStatusOnlineTimes,
                        cdxIfCmtsCmStatusPercentOnline,
                        cdxIfCmtsCmStatusMinOnlineTime,
                        cdxIfCmtsCmStatusAvgOnlineTime,
                        cdxIfCmtsCmStatusMaxOnlineTime,
                        cdxIfCmtsCmStatusMinOfflineTime,
                        cdxIfCmtsCmStatusAvgOfflineTime,
                        cdxIfCmtsCmStatusMaxOfflineTime,
                        cdxIfCmtsCmStatusDynSidCount,
                        cdxIfCmtsCmStatusAddlInfo,
                        cdxCmtsCmOnOffTrapEnable,
                        cdxCmtsCmOnOffTrapInterval,
                        cdxCmtsCmDefaultMaxCpes,
                        cdxCmtsCmTotal,
                        cdxCmtsCmActive,
                        cdxCmtsCmRegistered,
                        cdxCmtsCmChOverTimeExpiration,
                        cdxCmtsCmChOverMacAddress,
                        cdxCmtsCmChOverDownFrequency,
                        cdxCmtsCmChOverUpChannelId,
                        cdxCmtsCmChOverTrapOnCompletion,
                        cdxCmtsCmChOverOpInitiatedTime,
                        cdxCmtsCmChOverState,
                        cdxCmtsCmChOverRowStatus,
                        cdxCmtsCmMaxCpeNumber,
                        cdxCmtsCmCurrCpeNumber,
                        cdxCmtsCmQosProfile,
                        cdxIfCmtsCmStatusOnlineTimesNum,
                        cdxIfCmtsCmStatusLastResetTime
                    }
    STATUS          obsolete
    DESCRIPTION
        "Group of objects implemented in Cable Modem
        Termination Systems (CMTS) for managing and monitoring
        cable modems or Customer Premises Equipments."
    ::= { cdxDocsExtGroups 16 }

cdxCmtsCmCpeGroupRev7 OBJECT-GROUP
    OBJECTS         {
                        cdxCmCpeType,
                        cdxCmCpeIpAddress,
                        cdxCmCpeIfIndex,
                        cdxCmCpeCmtsServiceId,
                        cdxCmCpeCmStatusIndex,
                        cdxCmCpeAccessGroup,
                        cdxCmCpeResetNow,
                        cdxCmtsCmStatusValue,
                        cdxIfCmtsCmStatusOnlineTimes,
                        cdxIfCmtsCmStatusPercentOnline,
                        cdxIfCmtsCmStatusMinOnlineTime,
                        cdxIfCmtsCmStatusAvgOnlineTime,
                        cdxIfCmtsCmStatusMaxOnlineTime,
                        cdxIfCmtsCmStatusMinOfflineTime,
                        cdxIfCmtsCmStatusAvgOfflineTime,
                        cdxIfCmtsCmStatusMaxOfflineTime,
                        cdxIfCmtsCmStatusDynSidCount,
                        cdxIfCmtsCmStatusAddlInfo,
                        cdxCmtsCmOnOffTrapEnable,
                        cdxCmtsCmOnOffTrapInterval,
                        cdxCmtsCmDefaultMaxCpes,
                        cdxCmtsCmTotal,
                        cdxCmtsCmActive,
                        cdxCmtsCmRegistered,
                        cdxCmtsCmDMICMode,
                        cdxCmtsCmDMICLockQos,
                        cdxCmtsCmChOverTimeExpiration,
                        cdxCmtsCmChOverMacAddress,
                        cdxCmtsCmChOverDownFrequency,
                        cdxCmtsCmChOverUpChannelId,
                        cdxCmtsCmChOverTrapOnCompletion,
                        cdxCmtsCmChOverOpInitiatedTime,
                        cdxCmtsCmChOverState,
                        cdxCmtsCmChOverRowStatus,
                        cdxCmtsCmMaxCpeNumber,
                        cdxCmtsCmCurrCpeNumber,
                        cdxCmtsCmQosProfile,
                        cdxCmtsCmStatusDMICMode,
                        cdxCmtsCmStatusDMICUnLock,
                        cdxIfCmtsCmStatusOnlineTimesNum,
                        cdxIfCmtsCmStatusLastResetTime
                    }
    STATUS          obsolete
    DESCRIPTION
        "Group of objects implemented in Cable Modem
        Termination Systems (CMTS) for managing and monitoring
        cable modems or Customer Premises Equipments."
    ::= { cdxDocsExtGroups 17 }

cdxCmtsCmCpeGroupRev8 OBJECT-GROUP
    OBJECTS         {
                        cdxCmCpeType,
                        cdxCmCpeIpAddress,
                        cdxCmCpeIfIndex,
                        cdxCmCpeCmtsServiceId,
                        cdxCmCpeCmStatusIndex,
                        cdxCmCpeAccessGroup,
                        cdxCmCpeResetNow,
                        cdxCmtsCmStatusValue,
                        cdxIfCmtsCmStatusOnlineTimes,
                        cdxIfCmtsCmStatusPercentOnline,
                        cdxIfCmtsCmStatusMinOnlineTime,
                        cdxIfCmtsCmStatusAvgOnlineTime,
                        cdxIfCmtsCmStatusMaxOnlineTime,
                        cdxIfCmtsCmStatusMinOfflineTime,
                        cdxIfCmtsCmStatusAvgOfflineTime,
                        cdxIfCmtsCmStatusMaxOfflineTime,
                        cdxIfCmtsCmStatusDynSidCount,
                        cdxIfCmtsCmStatusAddlInfo,
                        cdxCmtsCmOnOffTrapEnable,
                        cdxCmtsCmOnOffTrapInterval,
                        cdxCmtsCmDefaultMaxCpes,
                        cdxCmtsCmTotal,
                        cdxCmtsCmActive,
                        cdxCmtsCmRegistered,
                        cdxCmtsCmDMICMode,
                        cdxCmtsCmDMICLockQos,
                        cdxCmtsCmChOverTimeExpiration,
                        cdxCmtsCmChOverMacAddress,
                        cdxCmtsCmChOverDownFrequency,
                        cdxCmtsCmChOverUpChannelId,
                        cdxCmtsCmChOverTrapOnCompletion,
                        cdxCmtsCmChOverOpInitiatedTime,
                        cdxCmtsCmChOverState,
                        cdxCmtsCmChOverRowStatus,
                        cdxCmtsCmMaxCpeNumber,
                        cdxCmtsCmCurrCpeNumber,
                        cdxCmtsCmQosProfile,
                        cdxCmtsCmStatusDMICMode,
                        cdxCmtsCmStatusDMICUnLock,
                        cdxIfCmtsCmStatusOnlineTimesNum,
                        cdxIfCmtsCmStatusLastResetTime,
                        cdxCmToCpeInetAddressType,
                        cdxCmToCpeInetAddress,
                        cdxCpeToCmMacAddress,
                        cdxCpeToCmInetAddressType,
                        cdxCpeToCmInetAddress,
                        cdxCpeToCmStatusIndex
                    }
    STATUS          current
    DESCRIPTION
        "Group of objects implemented in Cable Modem
        Termination Systems (CMTS) for managing and monitoring
        cable modems or Customer Premises Equipments."
    ::= { cdxDocsExtGroups 18 }

cdxNotifGroupRev1 NOTIFICATION-GROUP
   NOTIFICATIONS    {
                        cdxCmtsCmOnOffNotification,
                        cdxCmtsCmChOverNotification,
                        cdxCmtsCmDMICLockNotification
                    }
    STATUS          current
    DESCRIPTION
        "A group of notifications implemented in Cable Modem
        Termination Systems (CMTS) for managing and monitoring
        cable modems or Customer Premises Equipments."
    ::= { cdxDocsExtGroups 19 }

cdxCmtsCmCpeDeleteGroup OBJECT-GROUP
    OBJECTS         { cdxCmCpeDeleteNow }
    STATUS          current
    DESCRIPTION
        "A collection of object(s) to delete Cable Modem(CM) or Customer
        Premises Equipment(CPE) in CMTS."
    ::= { cdxDocsExtGroups 20 }

cdxWBResilGroup OBJECT-GROUP
    OBJECTS         {
                        cdxWBResilRFChangeDampenTime,
                        cdxWBResilRFChangeTriggerPercentage,
                        cdxWBResilRFChangeTriggerCount,
                        cdxWBResilRFChangeTriggerMoveSecondary,
                        cdxWBResilNotificationEnable,
                        cdxWBResilNotificationsInterval,
                        cdxWBResilEventLevel,
                        cdxWBResilEventType,
                        cdxWBResilUpdateTime,
                        cdxWBResilEventTotalCount,
                        cdxWBResilEventTotalDupCount
                    }
    STATUS          current
    DESCRIPTION
        "Group of objects implemented in Cable Modem
        Termination Systems (CMTS) for managing and monitoring
        Wideband Resiliency information."
    ::= { cdxDocsExtGroups 21 }

cdxNotifGroupExt NOTIFICATION-GROUP
   NOTIFICATIONS    {
                        cdxWBResilRFDown,
                        cdxWBResilRFUp,
                        cdxWBResilCMPartialServiceNotif,
                        cdxWBResilCMFullServiceNotif,
                        cdxWBResilEvent
                    }
    STATUS          current
    DESCRIPTION
        "A group of notifications implemented in Cable Modem
        Termination Systems (CMTS) for managing and monitoring
        wideband resiliency events."
    ::= { cdxDocsExtGroups 22 }

cdxQosCtrlGroupExt OBJECT-GROUP
    OBJECTS         {
                        cdxIfCmtsServiceHCInOctets,
                        cdxIfCmtsServiceHCInPackets,
                        cdxIfCmtsServiceHCOutOctets,
                        cdxIfCmtsServiceHCOutPackets
                    }
    STATUS          current
    DESCRIPTION
        "Group of objects implemented in Cable Modem Termination
        Systems (CMTS) cable interfaces for 64bit couters about sending 
        and receiving for the same SID."
    ::= { cdxDocsExtGroups 23 }

cdxDownstreamGroup OBJECT-GROUP
    OBJECTS         {
                        cdxPrimaryChannelIfIndex,
                        cdxPhysicalRFIfIndex
                    }
    STATUS          current
    DESCRIPTION
        "Group of objects implements in Cable Modem Termination
        System (CMTS for downstream interfaces."
    ::= { cdxDocsExtGroups 24 }

cdxCpeIpPrefixGroup OBJECT-GROUP
    OBJECTS         {
                        cdxCpeIpPrefixCpeMacAddress,
                        cdxCpeIpPrefixCpeType
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects providing CM management information
        of TCS."
    ::= { cdxDocsExtGroups 25 }

cdxCmtsMtcCmGroup OBJECT-GROUP
    OBJECTS         {
                        cdxCmtsMtcCmTotal,
                        cdxCMtsMtcCmOperational,
                        cdxCmtsMtcCmRegistered,
                        cdxCmtsMtcCmUnregistered,
                        cdxCmtsMtcCmOffline,
                        cdxCmtsMtcCmWideband,
                        cdxCmtsMtcUpstreamBondGrp
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects providing CM management
        information of TCS."
    ::= { cdxDocsExtGroups 26 }

cdxCmtsUscbSflowGroup OBJECT-GROUP
    OBJECTS         {
                        cdxCmtsUscbSfTotal,
                        cdxCmtsUscbSfPri,
                        cdxCmtsUscbStaticSfBe,
                        cdxCmtsUscbStaticSfUgs,
                        cdxCmtsUscbStaticSfUgsad,
                        cdxCmtsUscbStaticSfRtps,
                        cdxCmtsUscbStaticSfNrtps,
                        cdxCmtsUscbDynSfBe,
                        cdxCmtsUscbDynSfUgs,
                        cdxCmtsUscbDynSfUgsad,
                        cdxCmtsUscbDynSfRtps,
                        cdxCmtsUscbDynSfNrtps,
                        cdxCmtsUscbDescr
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects providing Upstream Channel
        Bonding Service Flow management information."
    ::= { cdxDocsExtGroups 27 }

cdxCmtsDocsisLBGroup OBJECT-GROUP
    OBJECTS         {
                        cdxCmtsD30LBEnable,
                        cdxCmtsD30LBUpstreamEnable,
                        cdxCmtsD30LBStaticEnable,
                        cdxCmtsD30LBDynEnable,
                        cdxCmtsDocsisLBEnable
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects providing config of D3.0
        Load Balancing Feature."
    ::= { cdxDocsExtGroups 28 }

END


