DOCS-IF-MIB DEFINITIONS ::= BEGIN

  IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
  -- do not import        BITS,
        Unsigned32,
        Integer32,
        Counter32,
        Counter64,
        TimeTicks,
        IpAddress,
        transmission
                FROM SNMPv2-SMI
        TEXTUAL-CONVENTION,
        MacAddress,
        RowStatus,
        TruthValue,
        TimeInterval,
        TimeStamp
                FROM SNMPv2-TC
        OBJECT-GROUP,

        MODULE-COMPLIANCE
                FROM SNMPv2-CONF
        ifIndex, InterfaceIndexOrZero
                FROM IF-MIB
        InetAddressType,
        InetAddress
                FROM INET-ADDRESS-MIB
        IANAifType
                FROM IANAifType-MIB;

docsIfMib MODULE-IDENTITY
        LAST-UPDATED    "200212200000Z" -- December 20, 2002
        ORGANIZATION    "IETF IPCDN Working Group"
        CONTACT-INFO
            "        David Raftus
             Postal: Imedia Semiconductor       
                     340 Terry Fox Drive, Suite 202
                     Ottawa Ontario
                     Canada
             Phone:  +1 613 592 1052 ext.222
             E-mail: david.raftus@imedia.com           

             IETF IPCDN Working Group
             General Discussion: ipcdn@ietf.org
             Subscribe: http://www.ietf.org/mailman/listinfo/ipcdn
             Archive: ftp://ftp.ietf.org/ietf-mail-archive/ipcdn
             Co-chairs: Richard Woundy, RWoundy@broadband.att.com
                        Jean-Francois Mule, jf.mule@cablelabs.com"
        DESCRIPTION
            "This is the MIB Module for DOCSIS 2.0 compliant Radio
             Frequency (RF) interfaces in Cable Modems (CM) and
             Cable Modem Termination Systems (CMTS)."
        REVISION "200212200000Z"
        DESCRIPTION
            "pre-RFC draft v5: 
             Modified by David Raftus to add channel utilization related objects,
             upstream channel equalization related objects, a cmts upstream minislot
             counter table, a cmts downstream byte counter table, 64 bit versions of
             existing 32 bit docsIfSigQTable objects, and perform some editorial   
             adjustments.
             pre-RFC draft v4:
             Modified by David Raftus to fix docsIfUpChannelWidth range 
             in  compliance statements to accommodate 6.4Mhz channel at 
             5.12 Msymbol/sec. Also adjusted description of 
             docsIfUpChannelStatus to use correct rowStatus terminology.
             pre-RFC draft v3:
             Modified by David Raftus to add new textual convention
             describing upstream modulation status. Also clarified
             some object descriptions, fixed error in
             docsIfSignalQualityEntry, fixed upstreamTable compliance
             statements.
             pre-RFC draft v2:
             Modified by David Raftus to add capability to adjust
             and verify upstream channel parameters as a group.
             Also adjusted syntax and clarified descriptions of
             selected objects.
             pre-RFC draft v1:
             Modified by Aviv Goren and David Raftus to accommodate 
             Docsis 2.0 Advanced Phy capabilities, as well as to
             incorporate objects from the docsIfExt mib.
             Modified by Rich Woundy to use IPv6-friendly
             address objects, to accommodate EuroDOCSIS, and
             to correct the SYNTAX of various objects."
        REVISION "199908190000Z"
        DESCRIPTION
            "Initial Version, published as RFC 2670.
             Modified by Mike StJohns to fix problems identified by
             the first pass of the MIB doctor.  Of special note,
             docsIfRangingResp and docsIfCmtsInsertionInterval were
             obsoleted and replaced by other objects with the same
             functionality, but more appropriate SYNTAX."
        ::= { transmission 127 }
             


-- Textual Conventions

TenthdBmV ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "d-1"
        STATUS       current
        DESCRIPTION
            "This data type represents power levels that are normally
             expressed in dBmV. Units are in tenths of a dBmV;
             for example, 5.1 dBmV will be represented as 51."
        SYNTAX       Integer32

TenthdB ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "d-1"
        STATUS       current
        DESCRIPTION
            "This data type represents power levels that are normally
             expressed in dB. Units are in tenths of a dB;
             for example, 5.1 dB will be represented as 51."
        SYNTAX       Integer32

DocsisVersion ::= TEXTUAL-CONVENTION
       STATUS          current
       DESCRIPTION     "Indicates the DOCSIS version number."
       SYNTAX          INTEGER {
           docsis10 (1),
           docsis11 (2),
           docsis20 (3)
       }

DocsisQosVersion ::= TEXTUAL-CONVENTION
       STATUS          current
       DESCRIPTION     "Indicates the quality of service level."
       SYNTAX          INTEGER {
           docsis10 (1),
           docsis11 (2)
       }

DocsisUpstreamType ::= TEXTUAL-CONVENTION
       STATUS          current
       DESCRIPTION     "Indicates the DOCSIS Upstream Channel Type."
       SYNTAX          INTEGER {
           unknown (0),
           tdma (1),
           atdma (2),
           scdma (3),
           tdmaAndAtdma (4)
       }

DocsisUpstreamTypeStatus ::= TEXTUAL-CONVENTION
       STATUS          current
       DESCRIPTION     "Indicates the DOCSIS Upstream Channel Type Status. 
                        The shared channel indicator type is not valid, since
                        this type is used to specifically identify PHY mode."
       SYNTAX          INTEGER {
           unknown (0),
           tdma (1),
           atdma (2),
           scdma (3)
       }


docsIfMibObjects  OBJECT IDENTIFIER ::= { docsIfMib 1 }
docsIfBaseObjects OBJECT IDENTIFIER ::= { docsIfMibObjects 1 }
docsIfCmObjects   OBJECT IDENTIFIER ::= { docsIfMibObjects 2 }
docsIfCmtsObjects OBJECT IDENTIFIER ::= { docsIfMibObjects 3 }

--
-- BASE GROUP
--

--
-- The following table is implemented on both the Cable Modem (CM)
-- and the Cable Modem Termination System (CMTS). This table is
-- read only for the CM.
--


docsIfDownstreamChannelTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfDownstreamChannelEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table describes the attributes of downstream
             channels (frequency bands)."
        REFERENCE
            "Document [25] from References, Table 6-12 and Table 6-13."
        ::= { docsIfBaseObjects 1 }

docsIfDownstreamChannelEntry OBJECT-TYPE
        SYNTAX      DocsIfDownstreamChannelEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry provides a list of attributes for a single
             Downstream channel.
             An entry in this table exists for each ifEntry with an
             ifType of docsCableDownstream(128)."
        INDEX { ifIndex }
        ::= { docsIfDownstreamChannelTable 1 }

DocsIfDownstreamChannelEntry ::= SEQUENCE {
            docsIfDownChannelId               Integer32,
            docsIfDownChannelFrequency        Integer32,
            docsIfDownChannelWidth            Integer32,
            docsIfDownChannelModulation       INTEGER,
            docsIfDownChannelInterleave       INTEGER,
            docsIfDownChannelPower            TenthdBmV,
            docsIfDownChannelAnnex            INTEGER
        }

docsIfDownChannelId OBJECT-TYPE
        SYNTAX      Integer32 (0..255)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The Cable Modem Termination System (CMTS) identification
             of the downstream channel within this particular MAC
             interface. If the interface is down, the object returns
             the most current value. If the downstream channel ID is
             unknown, this object returns a value of 0."
        ::= { docsIfDownstreamChannelEntry 1 }

docsIfDownChannelFrequency  OBJECT-TYPE
        SYNTAX      Integer32 (0..1000000000)
        UNITS       "hertz"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The center of the downstream frequency associated with
             this channel. This object will return the current tuner
             frequency. If a CMTS provides IF output, this object
             will return 0, unless this CMTS is in control of the
             final downstream RF frequency.  See the associated
             compliance object for a description of valid frequencies
             that may be written to this object."
        REFERENCE
            "Document [25] from References, Tables 4-1, 6-14."
        ::= { docsIfDownstreamChannelEntry 2 }

docsIfDownChannelWidth  OBJECT-TYPE
        SYNTAX      Integer32 (0..16000000)
        UNITS       "hertz"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The bandwidth of this downstream channel. Most
             implementations are expected to support a channel width
             of 6 MHz (North America) and/or 8 MHz (Europe).  See the
             associated compliance object for a description of the
             valid channel widths for this object."
        REFERENCE
            "Document [25] from References, Table 6-14."
        ::= { docsIfDownstreamChannelEntry 3 }

docsIfDownChannelModulation OBJECT-TYPE
        SYNTAX      INTEGER {
            unknown(1),
            other(2),
            qam64(3),
            qam256(4),
            qam512(5),
            qam1024(6),
            qpsk(7),
            qam16(8)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The modulation type associated with this downstream
             channel. If the interface is down, this object either
             returns the configured value (CMTS), the most current
             value (CM), or the value of unknown(1).  See the
             associated conformance object for write conditions and
             limitations. See the reference for specifics on the
             modulation profiles implied by qam64 and qam256."
        REFERENCE
            "Document [25] from References, Table 6-14."
        ::= { docsIfDownstreamChannelEntry 4 }

docsIfDownChannelInterleave OBJECT-TYPE
        SYNTAX      INTEGER {
            unknown(1),
            other(2),
            taps8Increment16(3),
            taps16Increment8(4),
            taps32Increment4(5),
            taps64Increment2(6),
            taps128Increment1(7),
            taps12increment17(8)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The Forward Error Correction (FEC) interleaving used
             for this downstream channel.
             Values are defined as follows:
             taps8Increment16(3):   protection 5.9/4.1 usec,
                                    latency .22/.15 msec
             taps16Increment8(4):   protection 12/8.2 usec,
                                    latency .48/.33 msec
             taps32Increment4(5):   protection 24/16 usec,
                                    latency .98/.68 msec
             taps64Increment2(6):   protection 47/33 usec,
                                    latency 2/1.4 msec
             taps128Increment1(7):  protection 95/66 usec,
                                    latency 4/2.8 msec
             taps12increment17(8):  protection 18/14 usec,
                                    latency 0.43/0.32 msec
                                    taps12increment17 is implemented in 
                                    conformance with EuroDOCSIS document
                                    'Adapted MIB-definitions - and a 
                                    clarification for MPEG-related issues - for 
                                    EuroDOCSIS cable modem systems' by tComLabs
                                    and should only be used for a EuroDOCSIS MAC 
                                    interface.   

             If the interface is down, this object either returns
             the configured value (CMTS), the most current value (CM),
             or the value of unknown(1).
             The value of other(2) is returned if the interleave
             is known but not defined in the above list.
             See the associated conformance object for write
             conditions and limitations. See the reference for the FEC
             configuration described by the setting of this object."
        REFERENCE
            "Document [25] from References, Table 6-13."
        ::= { docsIfDownstreamChannelEntry 5 }

docsIfDownChannelPower OBJECT-TYPE
        SYNTAX      TenthdBmV
        UNITS       "dBmV"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "At the CMTS, the operational transmit power. At the CM,
             the received power level. May be set to zero at the CM
             if power level measurement is not supported.
             If the interface is down, this object either returns
             the configured value (CMTS), the most current value (CM)
             or the value of 0. See the associated conformance object
             for write conditions and limitations. See the reference
             for recommended and required power levels."
        REFERENCE
            "Document [25] from References,Table 6-15."
        ::= { docsIfDownstreamChannelEntry 6 }

docsIfDownChannelAnnex OBJECT-TYPE
        SYNTAX      INTEGER {
            unknown(1),
            other(2),
            annexA(3),
            annexB(4),
            annexC(5)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The value of this object indicates the conformance of
             the implementation to important regional cable standards.
             annexA : Annex A from ITU-J83 is used.
             annexB : Annex B from ITU-J83 is used.
             annexC : Annex C from ITU-J83 is used. 
             AnnexB is used for DOCSIS implementations"
        REFERENCE
            "Document [28] from References, Section 2.2"
        ::= { docsIfDownstreamChannelEntry 7 }

--
-- The following table is implemented on both the CM and the CMTS.
-- For the CM, only attached channels appear in the table.  For the
-- CM, this table is read only as well.
--

docsIfUpstreamChannelTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfUpstreamChannelEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table describes the attributes of attached upstream
             channels."
        ::= { docsIfBaseObjects 2 }

docsIfUpstreamChannelEntry OBJECT-TYPE
        SYNTAX      DocsIfUpstreamChannelEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "List of attributes for a single upstream channel. For
             Docsis 2.0 CMTSs, an entry in this table exists for 
             each ifEntry with an ifType of docsCableUpstreamChannel (205).
             For Docsis 1.x CM/CMTSs and Docsis 2.0 CMs, an entry in this table exists 
             for each ifEntry with an ifType of docsCableUpstreamInterface (129)."
        INDEX { ifIndex }
        ::= { docsIfUpstreamChannelTable 1 }

DocsIfUpstreamChannelEntry ::= SEQUENCE {
            docsIfUpChannelId                     Integer32, 
            docsIfUpChannelFrequency              Integer32,
            docsIfUpChannelWidth                  Integer32,
            docsIfUpChannelModulationProfile      Unsigned32,
            docsIfUpChannelSlotSize               Unsigned32,
            docsIfUpChannelTxTimingOffset         Unsigned32,
            docsIfUpChannelRangingBackoffStart    Integer32,
            docsIfUpChannelRangingBackoffEnd      Integer32,
            docsIfUpChannelTxBackoffStart         Integer32,
            docsIfUpChannelTxBackoffEnd           Integer32,
            docsIfUpChannelScdmaActiveCodes       Unsigned32,
            docsIfUpChannelScdmaCodesPerSlot      Integer32,
            docsIfUpChannelScdmaFrameSize         Unsigned32,
            docsIfUpChannelScdmaHoppingSeed       Unsigned32,
            docsIfUpChannelType                   DocsisUpstreamType,
            docsIfUpChannelCloneFrom              InterfaceIndexOrZero,
            docsIfUpChannelUpdate                 TruthValue,
            docsIfUpChannelStatus                 RowStatus,
            docsIfUpChannelPreEqEnable            TruthValue
        }

docsIfUpChannelId OBJECT-TYPE
        SYNTAX      Integer32 (0..255)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The CMTS identification of the upstream channel."
        ::= { docsIfUpstreamChannelEntry 1 }

docsIfUpChannelFrequency OBJECT-TYPE
        SYNTAX      Integer32 (0..1000000000)
        UNITS       "hertz"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The center of the frequency band associated with this
             upstream interface. This object returns 0 if the frequency
             is undefined or unknown. Minimum permitted upstream
             frequency is 5,000,000 Hz for current technology.  See
             the associated conformance object for write conditions
             and limitations."
        REFERENCE
            "Document [25] from References, Table 4-2."
        ::= { docsIfUpstreamChannelEntry 2 }

docsIfUpChannelWidth OBJECT-TYPE
        SYNTAX      Integer32 (0..64000000)
        UNITS       "hertz"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The bandwidth of this upstream interface. This object
             returns 0 if the interface width is undefined or unknown.
             Minimum permitted interface width is 200,000 Hz currently.
             See the associated conformance object for write conditions
             and limitations."
        REFERENCE
            "Document [25] from References, Table 6-12."
        ::= { docsIfUpstreamChannelEntry 3 }


docsIfUpChannelModulationProfile OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "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 entry does not exist or
             docsIfCmtsModulationTable is empty. See
             the associated conformance object for write conditions
             and limitations."
        REFERENCE
            "Document [25] from References, Table 8-19."
        ::= { docsIfUpstreamChannelEntry 4 }

docsIfUpChannelSlotSize OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Applicable to TDMA and ATDMA channel types only.
             The number of 6.25 microsecond ticks in each upstream mini-
             slot. Returns zero if the value is undefined, unknown or in
             case of an SCDMA channel.
             See the associated conformance object for write
             conditions and limitations. "
        REFERENCE
            "Document [25] from References, Section 8.1.2.4."
        ::= { docsIfUpstreamChannelEntry 5 }

docsIfUpChannelTxTimingOffset OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "At the CM, a measure of the current round trip time obtained from the
             ranging offset (initial ranging offset + ranging offset adjustments).
             At the CMTS, the maximum of timing offset, among all the CMs that 
             are/were present on the channel, taking into account all ( initial + 
             periodic )timing offset corrections that were sent for each of the CMs.
             Generally, these measurements are positive, but if the 
             measurements are negative, the value of this object is zero. Used for 
             timing of CM upstream transmissions to ensure synchronized arrivals at 
             the CMTS. Units are in terms of (6.25 microseconds/64)."
        REFERENCE
            "Document [25] from References, Section 6.2.18."
        ::= { docsIfUpstreamChannelEntry 6 }

docsIfUpChannelRangingBackoffStart OBJECT-TYPE
        SYNTAX      Integer32 (0..16)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The initial random backoff window to use when retrying
             Ranging Requests. Expressed as a power of 2. A value of 16
             at the CMTS indicates that a proprietary adaptive retry
             mechanism is to be used. See the associated conformance
             object for write conditions and limitations."
        REFERENCE
            "Document [25] from References, Section 8.3.4."
        ::= { docsIfUpstreamChannelEntry 7 }

docsIfUpChannelRangingBackoffEnd OBJECT-TYPE
        SYNTAX      Integer32 (0..16)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The final random backoff window to use when retrying
             Ranging Requests. Expressed as a power of 2. A value of 16
             at the CMTS indicates that a proprietary adaptive retry
             mechanism is to be used. See the associated conformance
             object for write conditions and limitations."
        REFERENCE
            "Document [25] from References, Section 8.3.4."
        ::= { docsIfUpstreamChannelEntry 8 }

docsIfUpChannelTxBackoffStart OBJECT-TYPE
        SYNTAX      Integer32 (0..16)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The initial random backoff window to use when retrying
             transmissions. Expressed as a power of 2. A value of 16
             at the CMTS indicates that a proprietary adaptive retry
             mechanism is to be used. See the associated conformance
             object for write conditions and limitations."
        REFERENCE
            "Document [25] from References, Section 8.3.4."
        ::= { docsIfUpstreamChannelEntry 9 }

docsIfUpChannelTxBackoffEnd OBJECT-TYPE
        SYNTAX      Integer32 (0..16)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The final random backoff window to use when retrying
             transmissions. Expressed as a power of 2. A value of 16
             at the CMTS indicates that a proprietary adaptive retry
             mechanism is to be used. See the associated conformance
             object for write conditions and limitations."
        REFERENCE
            "Document [25] from References, Section 8.3.4."
        ::= { docsIfUpstreamChannelEntry 10 }

docsIfUpChannelScdmaActiveCodes  OBJECT-TYPE
        SYNTAX     Unsigned32 (0 | 64..128)
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "Applicable for SCDMA channel types only.
             Number of active codes. Returns zero for
             Non-SCDMA channel types. Note that legal 
             values from 64..128 MUST be non-prime."
        REFERENCE
            "Document [25] from References, Section 6.2.11.2.1."
        ::= { docsIfUpstreamChannelEntry 11 }

docsIfUpChannelScdmaCodesPerSlot OBJECT-TYPE
        SYNTAX      Integer32(0 | 2..32)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Applicable for SCDMA channel types only.
             The number of SCDMA codes per mini-slot.
             Returns zero if the value is undefined, unknown or in
             case of a TDMA or ATDMA channel."
        REFERENCE
            "Document [25] from References, Section 6.2.11.2.1."
        ::= { docsIfUpstreamChannelEntry 12 }

docsIfUpChannelScdmaFrameSize OBJECT-TYPE
        SYNTAX      Unsigned32 (0..32)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Applicable for SCDMA channel types only.
             SCDMA Frame size in units of spreading intervals. 
             This value returns zero for non SCDMA Profiles."
        REFERENCE
            " Document [25] from References, Section 6.2.12."
        ::= { docsIfUpstreamChannelEntry 13 }

docsIfUpChannelScdmaHoppingSeed OBJECT-TYPE
        SYNTAX     Unsigned32 (0..32767)
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "Applicable for SCDMA channel types only.
             15 bit seed used for code hopping sequence initialization.
             Returns zero for non-SCDMA channel types."
        REFERENCE
            "Document [25] from References, Section 6.2.14.1."
        ::= { docsIfUpstreamChannelEntry 14 }

docsIfUpChannelType OBJECT-TYPE
        SYNTAX      DocsisUpstreamType
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Defines the Upstream channel type.
             Given the channel type, other channel attributes can be checked
             for value validity at the time of entry creation and update."
        REFERENCE
            "Document [25] from References, Section 6.2.1."
        ::= { docsIfUpstreamChannelEntry 15 }

docsIfUpChannelCloneFrom OBJECT-TYPE
        SYNTAX      InterfaceIndexOrZero
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Intended for use when a temporary inactive upstream table row is
             created for the purpose of manipulating SCDMA parameters for an
             active row. Refer to the descriptions of docsIfUpChannelStatus 
             and docsIfUpChannelUpdate for details of this procedure.
             This object contains the ifIndex value of the active upstream
             row whose SCDMA parameters are to be adjusted.
             Although this object was created to facilitate SCDMA parameter
             adjustment, it may also be used at the vendor's discretion for
             non-SCDMA parameter adjustment.
             This object must contain a value of zero for active upstream rows."
        ::= { docsIfUpstreamChannelEntry 16 }

docsIfUpChannelUpdate OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Used to perform the transfer of adjusted SCDMA parameters from the
             temporary upstream row to the active upstream row indicated by the
             docsIfUpChannelCloneFrom object. The transfer is initiated through 
             an SNMP SET of TRUE to this object. The SNMP SET will fail with a
             GEN_ERROR (snmpv1) or COMMIT_FAILED_ERROR (snmpv2c/v3) if the adjusted
             SCDMA parameter values are not compatible with each other.
             Although this object was created to facilitate SCDMA parameter
             adjustment, it may also be used at the vendor's discretion for
             non-SCDMA parameter adjustment.
             An SNMP GET of this object always returns FALSE."
        ::= { docsIfUpstreamChannelEntry 17 }


docsIfUpChannelStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object is generally intended to be used for the creation of
             a temporary inactive upstream row for the purpose of adjusting
             the SCDMA channel parameters of an active upstream row. 
             The recommended procedure is:
             1) Create an inactive row through an SNMP SET using createAndWait(5).
                Use an ifIndex value outside the operational range of the system.
             2) Set the docsIfUpChannelCloneFrom field to the ifIndex value of
                the active row whose SCDMA parameters require adjustment.
             3) Adjust the SCDMA parameter values using the new temporary inactive
                row.
             4) Update the active row by setting object docsIfUpChannelUpdate to
                TRUE. This SET will fail if the adjusted SCDMA parameters are not
                compatible with each other.
             5) Delete the temporary row through an SNMP SET using DELETE.

             The following restrictions apply to this object:
             1) This object must contain a value of active(1) for active rows.
             2) Temporary inactive rows must be created using createAndWait(5).
             3) The only possible status change of a row created using 
                createAndWait(5) (ie notInService(2)) is to destroy(6).
                These temporary rows must never become active.
             4) A status transition from active (1) to destroy (6) is not
                permitted. Entries with docsIfUpChannelStatus set to active(1) 
                are logically linked to a physical interface, not temporarily 
                created to clone parameters. The Interface MIB (RFC 2863)
                ifAdminStatus should be used to take an Upstream Channel offline.

             Although this object was created to facilitate SCDMA parameter
             adjustment, it may also be used at the vendor's discretion for
             non-SCDMA parameter adjustment."
        ::= { docsIfUpstreamChannelEntry 18 }


docsIfUpChannelPreEqEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "At the CMTS, used to enable or disable pre-equalization on the
       upstream channel represented by this table instance. 
       At the CM, this object is read-only and reflects the status of 
       pre-equalization as represented in the RNG-RSP."
        ::= { docsIfUpstreamChannelEntry 19 }




-- The following table describes the attributes of each class of
-- service.  The entries in this table are referenced from the
-- docsIfServiceEntries.  They exist as a separate table in order to
-- reduce redundant information in docsIfServiceTable.
--
-- This table is implemented at both the CM and the CMTS.
-- The CM need only maintain entries for the classes of service
-- referenced by its docsIfServiceTable.
--

docsIfQosProfileTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfQosProfileEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes for each class of service."
        ::= { docsIfBaseObjects 3 }

docsIfQosProfileEntry OBJECT-TYPE
        SYNTAX      DocsIfQosProfileEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes for a single class of service.

             If implemented as read-create in the Cable Modem
             Termination System, creation of entries in this table is
             controlled by the value of docsIfCmtsQosProfilePermissions.

             If implemented as read-only, entries are created based
             on information in REG-REQ MAC messages received from
             Cable Modems (Cable Modem Termination System
             implementation), or based on information extracted from
             the TFTP option file (Cable Modem implementation).
             In the Cable Modem Termination system, read-only entries
             are removed if no longer referenced by
             docsIfCmtsServiceTable.

             An entry in this table must not be removed while it is
             referenced by an entry in docsIfCmServiceTable (Cable Modem)
             or docsIfCmtsServiceTable (Cable Modem Termination System).

             An entry in this table should not be changeable while
             it is referenced by an entry in docsIfCmtsServiceTable.

             If this table is created automatically, there should only
             be a single entry for each Class of Service. Multiple
             entries with the same Class of Service parameters are not
             recommended."
        INDEX { docsIfQosProfIndex }
        ::= { docsIfQosProfileTable 1 }

DocsIfQosProfileEntry ::= SEQUENCE {
            docsIfQosProfIndex                Integer32,
            docsIfQosProfPriority             Integer32,
            docsIfQosProfMaxUpBandwidth       Integer32,
            docsIfQosProfGuarUpBandwidth      Integer32,
            docsIfQosProfMaxDownBandwidth     Integer32,
            docsIfQosProfMaxTxBurst           Integer32,  -- Deprecated
            docsIfQosProfBaselinePrivacy      TruthValue,
            docsIfQosProfStatus               RowStatus,
            docsIfQosProfMaxTransmitBurst     Integer32
        }

docsIfQosProfIndex OBJECT-TYPE
        SYNTAX      Integer32 (1..16383)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The index value that uniquely identifies an entry
             in the docsIfQosProfileTable."
        ::= { docsIfQosProfileEntry 1 }

docsIfQosProfPriority  OBJECT-TYPE
        SYNTAX      Integer32 (0..7)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "A relative priority assigned to this service when
             allocating bandwidth. Zero indicates lowest priority
             and seven indicates highest priority.
             Interpretation of priority is device-specific.
             MUST NOT be changed while this row is active."
        REFERENCE
            "Document [25] from References, Appendix C.1.1.4."
        DEFVAL { 0 }
        ::= { docsIfQosProfileEntry 2 }

docsIfQosProfMaxUpBandwidth OBJECT-TYPE
        SYNTAX      Integer32 (0..100000000)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The maximum upstream bandwidth, in bits per second,
             allowed for a service with this service class.
             Zero if there is no restriction of upstream bandwidth.
             MUST NOT be changed while this row is active."
        REFERENCE
            "Document [25] from References, Appendix C.1.1.4."

        DEFVAL { 0 }
        ::= { docsIfQosProfileEntry 3 }

docsIfQosProfGuarUpBandwidth OBJECT-TYPE
        SYNTAX      Integer32 (0..100000000)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Minimum guaranteed upstream bandwidth, in bits per second,
             allowed for a service with this service class.
             MUST NOT be changed while this row is active."
        REFERENCE
            "Document [25] from References, Appendix C.1.1.4."
        DEFVAL { 0 }
        ::= { docsIfQosProfileEntry 4 }

docsIfQosProfMaxDownBandwidth OBJECT-TYPE
        SYNTAX      Integer32 (0..100000000)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The maximum downstream bandwidth, in bits per second,
             allowed for a service with this service class.
             Zero if there is no restriction of downstream bandwidth.
             MUST NOT be changed while this row is active."
        REFERENCE
            "Document [25] from References, Appendix C.1.1.4."

        DEFVAL { 0 }
        ::= { docsIfQosProfileEntry 5 }

docsIfQosProfMaxTxBurst OBJECT-TYPE
        SYNTAX      Integer32 (0..255)
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
            "The maximum number of mini-slots that may be requested
             for a single upstream transmission.
             A value of zero means there is no limit.
             MUST NOT be changed while this row is active.
             This object has been deprecated and replaced by 
             docsIfQosProfMaxTransmitBurst, to fix a mismatch
             of the units and value range with respect to the DOCSIS
             Maximum Upstream Channel Transmit Burst Configuration
             Setting."
        REFERENCE
            "Document [25] from References, C.1.1.4."
        DEFVAL { 0 }
        ::= { docsIfQosProfileEntry 6 }

docsIfQosProfBaselinePrivacy  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates whether Baseline Privacy is enabled for this
             service class.
             MUST NOT be changed while this row is active."
        DEFVAL { false }
        ::= { docsIfQosProfileEntry 7 }

docsIfQosProfStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is object is to used to create or delete rows in
             this table.  This object MUST NOT be changed from active
             while the row is referenced by the any entry in either
             docsIfCmServiceTable (on the CM), or the
             docsIfCmtsServiceTable (on the CMTS)."
        ::= { docsIfQosProfileEntry 8 }

docsIfQosProfMaxTransmitBurst OBJECT-TYPE
        SYNTAX      Integer32 (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The maximum number of bytes that may be requested for a 
             single upstream transmission. A value of zero means there 
             is no limit. Note: This value does not include any 
             physical layer overhead.
             MUST NOT be changed while this row is active."
        REFERENCE
            "Document [25] from References, Appendix C.1.1.4."
        DEFVAL { 0 }
        ::= { docsIfQosProfileEntry 9 }

docsIfSignalQualityTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfSignalQualityEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "At the CM, describes the PHY signal quality of downstream
             channels. At the CMTS, describes the PHY signal quality of
             upstream channels. At the CMTS, this table may exclude
             contention intervals."
        ::= { docsIfBaseObjects 4 }

docsIfSignalQualityEntry OBJECT-TYPE
        SYNTAX      DocsIfSignalQualityEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "At the CM, describes the PHY characteristics of a
             downstream channel. At the CMTS, describes the PHY signal
             quality of an upstream channel.
             An entry in this table exists for each ifEntry with an
             ifType of docsCableUpstreamChannel(205) for Cable Modem Termination
             Systems and docsCableDownstream(128) for Cable Modems."
        INDEX { ifIndex }
        ::= { docsIfSignalQualityTable 1 }

DocsIfSignalQualityEntry ::= SEQUENCE {
            docsIfSigQIncludesContention  TruthValue,
            docsIfSigQUnerroreds          Counter32,
            docsIfSigQCorrecteds          Counter32,
            docsIfSigQUncorrectables      Counter32,
            docsIfSigQSignalNoise         TenthdB,
            docsIfSigQMicroreflections    Integer32,
            docsIfSigQEqualizationData    OCTET STRING,
            docsIfSigQExtUnerroreds       Counter64,
            docsIfSigQExtCorrecteds       Counter64,
            docsIfSigQExtUncorrectables   Counter64
        }

docsIfSigQIncludesContention OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "true(1) if this CMTS includes contention intervals in
             the counters in this table. Always false(2) for CMs."
        REFERENCE
            "Document [25] from References,
             Section 9.4.1"
        ::= { docsIfSignalQualityEntry 1 }

docsIfSigQUnerroreds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received on this channel without error.
             This includes all codewords, whether or not they
             were part of frames destined for this device."
        REFERENCE
            "Document [25] from References, Section 6.2.5."
        ::= { docsIfSignalQualityEntry 2 }

docsIfSigQCorrecteds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received on this channel with correctable
             errors. This includes all codewords, whether or not
             they were part of frames destined for this device."
        REFERENCE
            "Document [25] from References, Section 6.2.5."
        ::= { docsIfSignalQualityEntry 3 }

docsIfSigQUncorrectables OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received on this channel with uncorrectable
             errors. This includes all codewords, whether or not
             they were part of frames destined for this device."
        REFERENCE
            "Document [25] from References, Section 6.2.5."
        ::= { docsIfSignalQualityEntry 4 }

docsIfSigQSignalNoise OBJECT-TYPE
        SYNTAX      TenthdB
        UNITS       "dB"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Signal/Noise ratio as perceived for this channel.
             At the CM, describes the Signal/Noise of the downstream
             channel.  At the CMTS, describes the average Signal/Noise
             of the upstream channel."
        REFERENCE
            "Document [25] from References, Tables 4-1 and 4-2"
        ::= { docsIfSignalQualityEntry 5 }

docsIfSigQMicroreflections OBJECT-TYPE
        SYNTAX      Integer32 (0..255)
        UNITS       "dBc"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Total microreflections including in-channel response
             as perceived on this interface, measured in dBc below
             the signal level.
             This object is not assumed to return an absolutely
             accurate value, but should give a rough indication
             of microreflections received on this interface.
             It is up to the implementer to provide information
             as accurate as possible."
        REFERENCE
            "Document [25] from References, Tables 4-1 and 4-2"
        ::= { docsIfSignalQualityEntry 6 }

docsIfSigQEqualizationData OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "At the CM, returns the equalization data for the downstream
             channel. At the CMTS, returns the average equalization
             data for the upstream channel. Returns an empty string
             if the value is unknown or if there is no equalization
             data available or defined."
        REFERENCE
            "Document [25] from References, Table 8-21."
        ::= { docsIfSignalQualityEntry 7 }

docsIfSigQExtUnerroreds OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received on this channel without error.
             This includes all codewords, whether or not they
             were part of frames destined for this device.
             This is the 64 bit version of docsIfSigQUnerroreds."
        REFERENCE
            "Document [25] from References, Section 6.2.5."
        ::= { docsIfSignalQualityEntry 8 }

docsIfSigQExtCorrecteds OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received on this channel with correctable
             errors. This includes all codewords, whether or not
             they were part of frames destined for this device.
             This is the 64 bit version of docsIfSigQCorrecteds."
        REFERENCE
            "Document [25] from References, Section 6.2.5."
        ::= { docsIfSignalQualityEntry 9 }

docsIfSigQExtUncorrectables OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received on this channel with uncorrectable
             errors. This includes all codewords, whether or not
             they were part of frames destined for this device.
             This is the 64 bit version of docsIfSigQUncorrectables."
        REFERENCE
            "Document [25] from References, Section 6.2.5."
        ::= { docsIfSignalQualityEntry 10 }


--
-- DOCSIS Version of the device
--

docsIfDocsisBaseCapability  OBJECT-TYPE
           SYNTAX      DocsisVersion
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
                "Indication of the DOCSIS capability of the device. 
                 This object mirrors docsIfDocsisCapability from the
                 DocsIfExt mib." 
        REFERENCE
            "Document [25] from References, Annex G."
           ::= { docsIfBaseObjects 5 }


--
-- CABLE MODEM GROUP
--

-- #######


--
-- The CM MAC Table
--

docsIfCmMacTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmMacEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes of each CM MAC interface,
             extending the information available from ifEntry."
        ::= { docsIfCmObjects 1 }

docsIfCmMacEntry OBJECT-TYPE
        SYNTAX      DocsIfCmMacEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry containing objects describing attributes of
             each MAC entry, extending the information in ifEntry.
             An entry in this table exists for each ifEntry with an
             ifType of docsCableMaclayer(127)."
        INDEX { ifIndex }
        ::= { docsIfCmMacTable 1 }

DocsIfCmMacEntry ::= SEQUENCE {
            docsIfCmCmtsAddress           MacAddress,
            docsIfCmCapabilities          BITS,
            docsIfCmRangingRespTimeout    TimeTicks,
            docsIfCmRangingTimeout        TimeInterval        
         }

docsIfCmCmtsAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Identifies the CMTS that is believed to control this MAC
             domain. At the CM, this will be the source address from
             SYNC, MAP, and other MAC-layer messages. If the CMTS is
             unknown, returns 00-00-00-00-00-00."
        REFERENCE
            "Document [25] from References, Section 8.2.2."
        ::= { docsIfCmMacEntry 1 }

docsIfCmCapabilities OBJECT-TYPE
        SYNTAX      BITS {
            atmCells(0),
            concatenation(1)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Identifies the capabilities of the MAC implementation
             at this interface. Note that packet transmission is
             always supported. Therefore, there is no specific bit
             required to explicitly indicate this capability.
             Note that BITS objects are encoded most significant bit
             first. For example, if bit 1 is set, the value of this
             object is the octet string '40'H."
        ::= { docsIfCmMacEntry 2 }


-- This object has been obsoleted and replaced by
-- docsIfCmRangingTimeout to correct the typing to TimeInterval. New
-- implementations of the MIB should use docsIfCmRangingTimeout instead.

docsIfCmRangingRespTimeout OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  read-write
        STATUS      obsolete
        DESCRIPTION
            "Waiting time for a Ranging Response packet."
        REFERENCE
            "Document [25] from References, Section 9.1.6."
        DEFVAL { 20 }
        ::= { docsIfCmMacEntry 3 }

docsIfCmRangingTimeout OBJECT-TYPE
        SYNTAX      TimeInterval
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Waiting time for a Ranging Response packet."
        REFERENCE
            "Document [25] from References,
             Section 9.1.6, timer T3."
        DEFVAL { 20 }
        ::= { docsIfCmMacEntry 4 }

--
-- CM status table.
-- This table is implemented only at the CM.
--

docsIfCmStatusTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table maintains a number of status objects
             and counters for Cable Modems."
        ::= { docsIfCmObjects 2 }

docsIfCmStatusEntry OBJECT-TYPE
        SYNTAX      DocsIfCmStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A set of status objects and counters for a single MAC
             layer instance in a Cable Modem.
             An entry in this table exists for each ifEntry with an
             ifType of docsCableMaclayer(127)."
        INDEX { ifIndex }
        ::= { docsIfCmStatusTable 1 }

DocsIfCmStatusEntry ::= SEQUENCE {
            docsIfCmStatusValue                     INTEGER,
            docsIfCmStatusCode                      OCTET STRING,
            docsIfCmStatusTxPower                   TenthdBmV,
            docsIfCmStatusResets                    Counter32,
            docsIfCmStatusLostSyncs                 Counter32,
            docsIfCmStatusInvalidMaps               Counter32,
            docsIfCmStatusInvalidUcds               Counter32,
            docsIfCmStatusInvalidRangingResponses   Counter32,
            docsIfCmStatusInvalidRegistrationResponses Counter32,
            docsIfCmStatusT1Timeouts                Counter32,
            docsIfCmStatusT2Timeouts                Counter32,
            docsIfCmStatusT3Timeouts                Counter32,
            docsIfCmStatusT4Timeouts                Counter32,
            docsIfCmStatusRangingAborteds           Counter32,
            docsIfCmStatusDocsisOperMode            DocsisQosVersion,
            docsIfCmStatusModulationType            DocsisUpstreamTypeStatus,
            docsIfCmStatusEqualizationData          OCTET STRING
        }


docsIfCmStatusValue OBJECT-TYPE
        SYNTAX      INTEGER {
            other(1),
            notReady(2),
            notSynchronized(3),
            phySynchronized(4),
            usParametersAcquired(5),
            rangingComplete(6),
            ipComplete(7),
            todEstablished(8),
            securityEstablished(9),
            paramTransferComplete(10),
            registrationComplete(11),
            operational(12),
            accessDenied(13)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current Cable Modem connectivity state, as specified
             in the RF Interface Specification. Interpretations for
             state values 1-12 are clearly outlined in the Document [25]
             reference given below.
             As stated in the description for object docsIfCmtsCmStatusValue,
             accessDenied(13)indicates the CMTS has sent a Registration
             Aborted message to the CM."
        REFERENCE
            "Document [25] from References, Section 11.2.
             Document [26] from References, Section 6.3.4.2."
        ::= { docsIfCmStatusEntry 1 }

docsIfCmStatusCode OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Status code for this Cable Modem as defined in the
             RF Interface Specification. The status code consists
             of a single character indicating error groups, followed
             by a two- or three-digit number indicating the status
             condition."
        REFERENCE
            "Document [26] from References, Appendix F."
        ::= { docsIfCmStatusEntry 2 }

docsIfCmStatusTxPower OBJECT-TYPE
        SYNTAX      TenthdBmV
        UNITS       "dBmV"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The operational transmit power for the attached upstream
             channel."
        REFERENCE
            "Document [25] from References, Section 6.2.18."
        ::= { docsIfCmStatusEntry 3 }

docsIfCmStatusResets OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the CM reset or initialized this interface."
        ::= { docsIfCmStatusEntry 4 }

docsIfCmStatusLostSyncs OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the CM lost synchronization with
             the downstream channel."
        REFERENCE
            "Document [25] from References, Section 8.3.2."
        ::= { docsIfCmStatusEntry 5 }


docsIfCmStatusInvalidMaps OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the CM received invalid MAP messages."
        REFERENCE
            "Document [25] from References, Section 8.3.4."
        ::= { docsIfCmStatusEntry 6 }

docsIfCmStatusInvalidUcds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the CM received invalid UCD messages."
        REFERENCE
            "Document [25] from References, Section 8.3.3."
        ::= { docsIfCmStatusEntry 7 }

docsIfCmStatusInvalidRangingResponses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the CM received invalid ranging response
             messages."
        REFERENCE
            "Document [25] from References, Section 8.3.6."
        ::= { docsIfCmStatusEntry 8 }

docsIfCmStatusInvalidRegistrationResponses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the CM received invalid registration
             response messages."
        REFERENCE
            "Document [25] from References, Section 8.3.8."
        ::= { docsIfCmStatusEntry 9 }

docsIfCmStatusT1Timeouts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times counter T1 expired in the CM."
        REFERENCE
            "Document [25] from References, Figure 9-2."
        ::= { docsIfCmStatusEntry 10 }

docsIfCmStatusT2Timeouts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times counter T2 expired in the CM."
        REFERENCE
            "Document [25] from References, Figure 9-2."
        ::= { docsIfCmStatusEntry 11 }

docsIfCmStatusT3Timeouts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times counter T3 expired in the CM."
        REFERENCE
            "Document [25] from References, Figure 9-2."
        ::= { docsIfCmStatusEntry 12 }

docsIfCmStatusT4Timeouts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times counter T4 expired in the CM."
        REFERENCE
            "Document [25] from References, Figure 9-2."
        ::= { docsIfCmStatusEntry 13 }

docsIfCmStatusRangingAborteds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the ranging process was aborted
             by the CMTS."
        REFERENCE
            "Document [25] from References, Section 9.3.3."
        ::= { docsIfCmStatusEntry 14 }

docsIfCmStatusDocsisOperMode OBJECT-TYPE
        SYNTAX      DocsisQosVersion
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
             "Indication whether the device has registered using 1.0 Class of
              Service or 1.1 Quality of Service.
              An unregistered CM should indicate 1.1 QOS for a 
              docsIfDocsisBaseCapability value of Docsis 1.1/2.0. An unregistered
		  CM should indicate 1.0 COS for a docsIfDocsisBaseCapability value 
              of Docsis 1.0.
              This object mirrors docsIfCmDocsisOperMode from the docsIfExt mib."
        REFERENCE
            "Document [25] from References, Annex G."
        ::= { docsIfCmStatusEntry 15 }

docsIfCmStatusModulationType OBJECT-TYPE
         SYNTAX      DocsisUpstreamTypeStatus
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "Indicates modulation type status currently used by the CM.
              Since this object specifically identifies PHY mode, the shared
              upstream channel type is not permitted."
        REFERENCE
            "Document [25] from References, Section 6.2.1."

         ::= { docsIfCmStatusEntry 16 }

docsIfCmStatusEqualizationData OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Pre-equalization data for this CM after convolution with 
             data indicated in the RNG-RSP.
             Returns an empty string if the value is unknown or if there 
             is no equalization data available or defined. The value should 
             be formatted as defined in the following REFERENCE."
        REFERENCE
            "Document [25] from References, Figure 8-23."
        ::= { docsIfCmStatusEntry 17 }


--
-- The Cable Modem Service Table
--

docsIfCmServiceTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmServiceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes of each upstream service queue
             on a CM."
        ::= { docsIfCmObjects 3 }

docsIfCmServiceEntry OBJECT-TYPE
        SYNTAX      DocsIfCmServiceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes of an upstream bandwidth service
             queue.
             An entry in this table exists for each Service ID.
             The primary index is an ifIndex with an ifType of
             docsCableMaclayer(127)."
        INDEX { ifIndex, docsIfCmServiceId }
        ::= { docsIfCmServiceTable 1 }

DocsIfCmServiceEntry ::= SEQUENCE {
            docsIfCmServiceId               Integer32,
            docsIfCmServiceQosProfile       Integer32,
            docsIfCmServiceTxSlotsImmed     Counter32,
            docsIfCmServiceTxSlotsDed       Counter32,
            docsIfCmServiceTxRetries        Counter32,
            docsIfCmServiceTxExceededs      Counter32,
            docsIfCmServiceRqRetries        Counter32,
            docsIfCmServiceRqExceededs      Counter32,
            docsIfCmServiceExtTxSlotsImmed  Counter64,
            docsIfCmServiceExtTxSlotsDed    Counter64
         }

docsIfCmServiceId OBJECT-TYPE
        SYNTAX      Integer32 (1..16383)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Identifies a service queue for upstream bandwidth. The
             attributes of this service queue are shared between the
             CM and the CMTS. The CMTS allocates upstream bandwidth
             to this service queue based on requests from the CM and
             on the class of service associated with this queue."
        ::= { docsIfCmServiceEntry 1 }

docsIfCmServiceQosProfile OBJECT-TYPE
        SYNTAX      Integer32 (0..16383)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The index in docsIfQosProfileTable describing the quality
             of service attributes associated with this particular
             service. If no associated entry in docsIfQosProfileTable
             exists, this object returns a value of zero."
        ::= { docsIfCmServiceEntry 2 }

docsIfCmServiceTxSlotsImmed OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of upstream mini-slots which have been used to
             transmit data PDUs in immediate (contention) mode. This
             includes only those PDUs that are presumed to have
             arrived at the headend (i.e., those which were explicitly
             acknowledged.) It does not include retransmission attempts
             or mini-slots used by Requests."
        REFERENCE
            "Document [25] from References, Section 9.4."
        ::= { docsIfCmServiceEntry 3 }

docsIfCmServiceTxSlotsDed OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of upstream mini-slots which have been used to
             transmit data PDUs in dedicated mode (i.e., as a result
             of a unicast Data Grant)."
        REFERENCE
            "Document [25] from References, Section 9.4."
        ::= { docsIfCmServiceEntry 4 }

docsIfCmServiceTxRetries OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of attempts to transmit data PDUs containing
             requests for acknowledgment that did not result in
             acknowledgment."
        REFERENCE
            "Document [25] from References, Section 9.4."
        ::= { docsIfCmServiceEntry 5 }

docsIfCmServiceTxExceededs OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of data PDUs transmission failures due to
             excessive retries without acknowledgment."
        REFERENCE
            "Document [25] from References, Section 9.4."
        ::= { docsIfCmServiceEntry 6 }

docsIfCmServiceRqRetries OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of attempts to transmit bandwidth requests
             which did not result in acknowledgment."
        REFERENCE
            "Document [25] from References, Section 9.4."
        ::= { docsIfCmServiceEntry 7 }


docsIfCmServiceRqExceededs OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of requests for bandwidth which failed due to
             excessive retries without acknowledgment."
        REFERENCE
            "Document [25] from References, Section 9.4."
        ::= { docsIfCmServiceEntry 8 }

docsIfCmServiceExtTxSlotsImmed OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of upstream mini-slots which have been used to
             transmit data PDUs in immediate (contention) mode. This
             includes only those PDUs that are presumed to have
             arrived at the headend (i.e., those which were explicitly
             acknowledged.) It does not include retransmission attempts
             or mini-slots used by Requests."
        REFERENCE
            "Document [25] from References, Section 9.4."
        ::= { docsIfCmServiceEntry 9 }

docsIfCmServiceExtTxSlotsDed OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of upstream mini-slots which have been used to
             transmit data PDUs in dedicated mode (i.e., as a result
             of a unicast Data Grant)."
        REFERENCE
            "Document [25] from References, Section 9.4."
        ::= { docsIfCmServiceEntry 10 }



--
-- CMTS GROUP
--

--
-- The CMTS MAC Table
--

docsIfCmtsMacTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmtsMacEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes of each CMTS MAC interface,
             extending the information available from ifEntry.
             Mandatory for all CMTS devices."
        ::= { docsIfCmtsObjects 1 }

docsIfCmtsMacEntry OBJECT-TYPE
        SYNTAX      DocsIfCmtsMacEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry containing objects describing attributes of each
             MAC entry, extending the information in ifEntry.
             An entry in this table exists for each ifEntry with an
             ifType of docsCableMaclayer(127)."
        INDEX { ifIndex }
        ::= { docsIfCmtsMacTable 1 }

DocsIfCmtsMacEntry ::= SEQUENCE {
            docsIfCmtsCapabilities            BITS,
            docsIfCmtsSyncInterval            Integer32,
            docsIfCmtsUcdInterval             Integer32,
            docsIfCmtsMaxServiceIds           Integer32,
            docsIfCmtsInsertionInterval       TimeTicks,   -- Obsolete                                   
            docsIfCmtsInvitedRangingAttempts  Integer32,
            docsIfCmtsInsertInterval          TimeInterval
        }


docsIfCmtsCapabilities OBJECT-TYPE
        SYNTAX      BITS {
            atmCells(0),
            concatenation(1)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Identifies the capabilities of the CMTS MAC
             implementation at this interface. Note that packet
             transmission is always supported. Therefore, there
             is no specific bit required to explicitly indicate
             this capability.
             Note that BITS objects are encoded most significant bit
             first. For example, if bit 1 is set, the value of this
             object is the octet string '40'H."
        ::= { docsIfCmtsMacEntry 1 }

docsIfCmtsSyncInterval OBJECT-TYPE
        SYNTAX      Integer32 (1..200)
        UNITS       "Milliseconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The interval between CMTS transmission of successive SYNC
             messages at this interface."
        REFERENCE
            "Document [25] from References, Section 9.3."
        ::= { docsIfCmtsMacEntry 2 }

docsIfCmtsUcdInterval OBJECT-TYPE
        SYNTAX      Integer32 (1..2000)
        UNITS       "Milliseconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The interval between CMTS transmission of successive
             Upstream Channel Descriptor messages for each upstream
             channel at this interface."
        REFERENCE
            "Document [25] from References, Section 9.3"
        ::= { docsIfCmtsMacEntry 3 }

docsIfCmtsMaxServiceIds OBJECT-TYPE
        SYNTAX     Integer32 (1..16383)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The maximum number of service IDs that may be
             simultaneously active."
        ::= { docsIfCmtsMacEntry 4 }

-- This object has been obsoleted and replaced by
-- docsIfCmtsInsertInterval to fix a SYNTAX typing problem.  New
-- implementations of this MIB should use that object instead.
docsIfCmtsInsertionInterval OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  read-write
        STATUS      obsolete
        DESCRIPTION
            "The amount of time to elapse between each broadcast
             station maintenance grant. Broadcast station maintenance
             grants are used to allow new cable modems to join the
             network. Zero indicates that a vendor-specific algorithm
             is used instead of a fixed time. Maximum amount of time
             permitted by the specification is 2 seconds."
        REFERENCE
            "Document [25] from References, Annex B."
        ::= { docsIfCmtsMacEntry 5 }

docsIfCmtsInvitedRangingAttempts OBJECT-TYPE
        SYNTAX      Integer32 (0..1024)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The maximum number of attempts to make on invitations
             for ranging requests. A value of zero means the system
             should attempt to range forever."
        REFERENCE
            "Document [25] from References, Section 9.3.3 and Annex B."        
        ::= { docsIfCmtsMacEntry 6 }

docsIfCmtsInsertInterval OBJECT-TYPE
        SYNTAX      TimeInterval
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The amount of time to elapse between each broadcast
             station maintenance grant. Broadcast station maintenance
             grants are used to allow new cable modems to join the
             network. Zero indicates that a vendor-specific algorithm
             is used instead of a fixed time. Maximum amount of time
             permitted by the specification is 2 seconds."
        REFERENCE
            "Document [25] from References, Annex B."
        ::= { docsIfCmtsMacEntry 7 }


--
--
-- CMTS status table.
--

docsIfCmtsStatusTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmtsStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "For the MAC layer, this group maintains a number of
             status objects and counters."
        ::= { docsIfCmtsObjects 2 }

docsIfCmtsStatusEntry OBJECT-TYPE
        SYNTAX      DocsIfCmtsStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
           "Status entry for a single MAC layer.
             An entry in this table exists for each ifEntry with an
             ifType of docsCableMaclayer(127)."
        INDEX { ifIndex }
        ::= { docsIfCmtsStatusTable 1 }

DocsIfCmtsStatusEntry ::= SEQUENCE {
            docsIfCmtsStatusInvalidRangeReqs        Counter32,
            docsIfCmtsStatusRangingAborteds         Counter32,
            docsIfCmtsStatusInvalidRegReqs          Counter32,
            docsIfCmtsStatusFailedRegReqs           Counter32,
            docsIfCmtsStatusInvalidDataReqs         Counter32,
            docsIfCmtsStatusT5Timeouts              Counter32
        }

docsIfCmtsStatusInvalidRangeReqs OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object counts invalid RNG-REQ messages received on
             this interface."
        REFERENCE
            "Document [25] from References, Section 8.3.5."

        ::= { docsIfCmtsStatusEntry 1 }

docsIfCmtsStatusRangingAborteds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object counts ranging attempts that were explicitly
             aborted by the CMTS."
        REFERENCE
            "Document [25] from References, Section 8.3.6."
        ::= { docsIfCmtsStatusEntry 2 }

docsIfCmtsStatusInvalidRegReqs OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object counts invalid REG-REQ messages received on
             this interface. That is, syntax, out of range parameters,
             or erroneous requests."
        REFERENCE
            "Document [25] from References, Section 8.3.7."
        ::= { docsIfCmtsStatusEntry 3 }

docsIfCmtsStatusFailedRegReqs OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object counts failed registration attempts. Included are
            docsIfCmtsStatusInvalidRegReqs, authentication and class of 
            service failures."
        REFERENCE
            "Document [25] from References, Section 8.3.7."
        ::= { docsIfCmtsStatusEntry 4 }

docsIfCmtsStatusInvalidDataReqs OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object counts invalid data request messages
             received on this interface."
        ::= { docsIfCmtsStatusEntry 5 }

docsIfCmtsStatusT5Timeouts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object counts the number of times counter T5
             expired on this interface."
        REFERENCE
            "Document [25] from References, Figure 9-2."
        ::= { docsIfCmtsStatusEntry 6 }


--
-- CM status table (within CMTS).
-- This table is implemented only at the CMTS.
-- It contains per CM status information available in the CMTS.
--

docsIfCmtsCmStatusTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmtsCmStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A set of objects in the CMTS, maintained for each
             Cable Modem connected to this CMTS."
        ::= { docsIfCmtsObjects 3 }

docsIfCmtsCmStatusEntry OBJECT-TYPE
        SYNTAX      DocsIfCmtsCmStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Status information for a single Cable Modem.
             An entry in this table exists for each Cable Modem
             that is connected to the CMTS implementing this table."
        INDEX { docsIfCmtsCmStatusIndex }
        ::= { docsIfCmtsCmStatusTable 1 }

DocsIfCmtsCmStatusEntry ::= SEQUENCE {
            docsIfCmtsCmStatusIndex               Integer32,
            docsIfCmtsCmStatusMacAddress          MacAddress,
            docsIfCmtsCmStatusIpAddress           IpAddress,   -- Deprecated
            docsIfCmtsCmStatusDownChannelIfIndex  InterfaceIndexOrZero,
            docsIfCmtsCmStatusUpChannelIfIndex    InterfaceIndexOrZero,
            docsIfCmtsCmStatusRxPower             TenthdBmV,
            docsIfCmtsCmStatusTimingOffset        Unsigned32,
            docsIfCmtsCmStatusEqualizationData    OCTET STRING,
            docsIfCmtsCmStatusValue               INTEGER,
            docsIfCmtsCmStatusUnerroreds          Counter32,
            docsIfCmtsCmStatusCorrecteds          Counter32,
            docsIfCmtsCmStatusUncorrectables      Counter32,
            docsIfCmtsCmStatusSignalNoise         TenthdB,
            docsIfCmtsCmStatusMicroreflections    Integer32,
            docsIfCmtsCmStatusExtUnerroreds       Counter64,
            docsIfCmtsCmStatusExtCorrecteds       Counter64,
            docsIfCmtsCmStatusExtUncorrectables   Counter64,
            docsIfCmtsCmStatusDocsisRegMode       DocsisQosVersion,
            docsIfCmtsCmStatusModulationType      DocsisUpstreamTypeStatus,
            docsIfCmtsCmStatusInetAddressType     InetAddressType,
            docsIfCmtsCmStatusInetAddress         InetAddress,
            docsIfCmtsCmStatusValueLastUpdate     TimeStamp
        }

docsIfCmtsCmStatusIndex OBJECT-TYPE
        SYNTAX      Integer32 (1..2147483647)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Index value to uniquely identify an entry in this table.
             For an individual Cable Modem, this index value should
             not change during CMTS uptime."
        ::= { docsIfCmtsCmStatusEntry 1 }

docsIfCmtsCmStatusMacAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "MAC address of this Cable Modem. If the Cable Modem has
             multiple MAC addresses, this is the MAC address associated
             with the Cable interface."
        REFERENCE
            "Document [25] from References, Section 8.2.2."
        ::= { docsIfCmtsCmStatusEntry 2 }

docsIfCmtsCmStatusIpAddress OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
            "IP address of this Cable Modem. If the Cable Modem has no
             IP address assigned, or the IP address is unknown, this
             object returns a value of 0.0.0.0. If the Cable Modem has
             multiple IP addresses, this object returns the IP address
             associated with the Cable interface.
             This object has been deprecated and replaced by
             docsIfCmtsCmStatusInetAddressType and
             docsIfCmtsCmStatusInetAddress, to enable IPv6 addressing
             in the future."
        ::= { docsIfCmtsCmStatusEntry 3 }

docsIfCmtsCmStatusDownChannelIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndexOrZero
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "IfIndex of the downstream channel this CM is connected
             to. If the downstream channel is unknown, this object
             returns a value of zero."
        ::= { docsIfCmtsCmStatusEntry 4 }

docsIfCmtsCmStatusUpChannelIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndexOrZero
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "IfIndex of the upstream channel this CM is connected
             to. If the upstream channel is unknown, this object
             returns a value of zero."
        ::= { docsIfCmtsCmStatusEntry 5 }

docsIfCmtsCmStatusRxPower OBJECT-TYPE
        SYNTAX      TenthdBmV
        UNITS       "dBmV"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The receive power as perceived for upstream data from
             this Cable Modem.
             If the receive power is unknown, this object returns
             a value of zero."
        REFERENCE
            "Document [25] from References, Table 6-11."
        ::= { docsIfCmtsCmStatusEntry 6 }

docsIfCmtsCmStatusTimingOffset OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "A measure of the current round trip time for this CM.
             Used for timing of CM upstream transmissions to ensure
             synchronized arrivals at the CMTS. Units are in terms
             of 6.25 microseconds/(64*256). Returns zero if the value
             is unknown."
        REFERENCE
            "Document [25] from References, Section 6.2.18."
        ::= { docsIfCmtsCmStatusEntry 7 }

docsIfCmtsCmStatusEqualizationData OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Equalization data for this CM. Returns an empty string
             if the value is unknown or if there is no equalization
             data available or defined."
        REFERENCE
            "Document [25] from References, Figure 8-23."
        ::= { docsIfCmtsCmStatusEntry 8 }

docsIfCmtsCmStatusValue OBJECT-TYPE
        SYNTAX      INTEGER {
            other(1),
            ranging(2),
            rangingAborted(3),
            rangingComplete(4),
            ipComplete(5),
            registrationComplete(6),
            accessDenied(7),
            operational(8), -- deprecated, ECN OSS2-N-03069
            registeredBPIInitializing(9)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current Cable Modem connectivity state, as specified
             in the RF Interface Specification. Returned status
             information is the CM status as assumed by the CMTS,
             and indicates the following events:
             other(1)
                Any state other than below.
             ranging(2)
                The CMTS has received an Initial Ranging Request
                message from the CM, and the ranging process is not
                yet complete.
             rangingAborted(3)
                The CMTS has sent a Ranging Abort message to the CM.
             rangingComplete(4)
                The CMTS has sent a Ranging Complete message to the CM.
             ipComplete(5)
                The CMTS has received a DHCP reply message and forwarded
                it to the CM.
             registrationComplete(6)
                The CMTS has sent a Registration Response message to
                the CM.
             accessDenied(7)
                The CMTS has sent a Registration Aborted message
                to the CM.
             operational(8)
                If Baseline Privacy is enabled for the CM, the CMTS has 
                completed Baseline Privacy initialization. If Baseline 
                Privacy is not enabled, equivalent to registrationComplete.
             registeredBPIInitializing(9)
                Baseline Privacy is enabled, CMTS is in the process of 
                completing the Baseline Privacy initialization. This state
                can last for a significant time in the case of failures
                during the process. After Baseline Privacy initialization
                is complete, the CMTS will repost back the value
                registrationComplete(6).
                
             The CMTS only needs to report states it is able to detect."
        REFERENCE
            "Document [25] from References, Section 11.2."
        ::= { docsIfCmtsCmStatusEntry 9 }

docsIfCmtsCmStatusUnerroreds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received without error from this Cable Modem."
        REFERENCE
            "Document [25] from References, Section 6.2.5."
        ::= { docsIfCmtsCmStatusEntry 10 }

docsIfCmtsCmStatusCorrecteds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received with correctable errors from this
             Cable Modem."
        REFERENCE
            "Document [25] from References, Section 6.2.5."
        ::= { docsIfCmtsCmStatusEntry 11 }

docsIfCmtsCmStatusUncorrectables OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received with uncorrectable errors from this
             Cable Modem."
        REFERENCE
            "Document [25] from References, Section 6.2.5."
        ::= { docsIfCmtsCmStatusEntry 12 }

docsIfCmtsCmStatusSignalNoise OBJECT-TYPE
        SYNTAX      TenthdB
        UNITS       "dB"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Signal/Noise ratio as perceived for upstream data from
             this Cable Modem.
             If the Signal/Noise is unknown, this object returns
             a value of zero."
        REFERENCE
            "Document [25] from References, Tables 4-1 and 4-2."
        ::= { docsIfCmtsCmStatusEntry 13 }

docsIfCmtsCmStatusMicroreflections OBJECT-TYPE
        SYNTAX      Integer32 (0..255)
        UNITS       "dBc"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Total microreflections including in-channel response
             as perceived on this interface, measured in dBc below
             the signal level.
             This object is not assumed to return an absolutely
             accurate value, but should give a rough indication
             of microreflections received on this interface.
             It is up to the implementer to provide information
             as accurate as possible."
        REFERENCE
            "Document [25] from References, Tables 4-1 and 4-2"
        ::= { docsIfCmtsCmStatusEntry 14 }

docsIfCmtsCmStatusExtUnerroreds OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received without error from this Cable Modem."
        REFERENCE
            "Document [25] from References, Section 6.2.5."
        ::= { docsIfCmtsCmStatusEntry 15 }

docsIfCmtsCmStatusExtCorrecteds OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received with correctable errors from this
             Cable Modem."
        REFERENCE
            "Document [25] from References, Section 6.2.5."
        ::= { docsIfCmtsCmStatusEntry 16 }

docsIfCmtsCmStatusExtUncorrectables OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received with uncorrectable errors from this
             Cable Modem."
        REFERENCE
            "Document [25] from References, Section 6.2.5."
        ::= { docsIfCmtsCmStatusEntry 17 }

docsIfCmtsCmStatusDocsisRegMode OBJECT-TYPE
           SYNTAX      DocsisQosVersion
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
               " Indication whether the CM has registered using 1.0 Class of
                 Service or 1.1 Quality of Service.
                 This object mirrors docsIfCmtsCmStatusDocsisMode from the 
                 docsIfExt mib."
        REFERENCE
            "Document [25] from References, Annex G."
           ::= { docsIfCmtsCmStatusEntry 18 }

docsIfCmtsCmStatusModulationType OBJECT-TYPE
         SYNTAX      DocsisUpstreamTypeStatus
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "Indicates modulation type currently used by the CM. Since
              this object specifically identifies PHY mode, the shared
              type is not permitted. If the upstream channel is unknown, 
              this object returns a value of zero."
        REFERENCE
            "Document [25] from References, Table 8-19."
         ::= { docsIfCmtsCmStatusEntry 19 }

docsIfCmtsCmStatusInetAddressType OBJECT-TYPE
           SYNTAX      InetAddressType
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
               "The type of internet address of
                docsIfCmtsCmStatusInetAddress. If the cable modem
                Internet address is unassigned or unknown, then the
                value of this object is unknown(0)."
           ::= { docsIfCmtsCmStatusEntry 20 }

   docsIfCmtsCmStatusInetAddress OBJECT-TYPE
          SYNTAX      InetAddress
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
               "Internet address of this Cable Modem. If the Cable Modem
                has no Internet address assigned, or the Internet address
                is unknown, the value of this object is the empty string.
                If the Cable Modem has multiple Internet addresses, this
                object returns the Internet address associated with the
                Cable (i.e. RF MAC) interface."
           ::= { docsIfCmtsCmStatusEntry 21 }
           
   docsIfCmtsCmStatusValueLastUpdate OBJECT-TYPE
          SYNTAX      TimeStamp
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
               "The value of sysUpTime when docsIfCmtsCmStatusValue was last updated"
           ::= { docsIfCmtsCmStatusEntry 22 }

--
-- The CMTS Service Table.
--

docsIfCmtsServiceTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmtsServiceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes of upstream service queues
             in a Cable Modem Termination System."
        ::= { docsIfCmtsObjects 4 }

docsIfCmtsServiceEntry OBJECT-TYPE
        SYNTAX      DocsIfCmtsServiceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes of a single upstream bandwidth
             service queue.


INTERNET-DRAFT          DOCSIS RF Interface MIB            November 2001



             Entries in this table exist for each ifEntry with an
             ifType of docsCableMaclayer(127), and for each service
             queue (Service ID) within this MAC layer.
             Entries in this table are created with the creation of
             individual Service IDs by the MAC layer and removed
             when a Service ID is removed."
        INDEX { ifIndex, docsIfCmtsServiceId }
        ::= { docsIfCmtsServiceTable 1 }

DocsIfCmtsServiceEntry ::= SEQUENCE {
            docsIfCmtsServiceId               Integer32,
            docsIfCmtsServiceCmStatusIndex    Integer32,   -- Deprecated
            docsIfCmtsServiceAdminStatus      INTEGER,
            docsIfCmtsServiceQosProfile       Integer32,
            docsIfCmtsServiceCreateTime       TimeStamp,
            docsIfCmtsServiceInOctets         Counter32,
            docsIfCmtsServiceInPackets        Counter32,
            docsIfCmtsServiceNewCmStatusIndex Integer32
        }

docsIfCmtsServiceId OBJECT-TYPE
        SYNTAX      Integer32 (1..16383)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Identifies a service queue for upstream bandwidth. The
             attributes of this service queue are shared between the
             Cable Modem and the Cable Modem Termination System.
             The CMTS allocates upstream bandwidth to this service
             queue based on requests from the CM and on the class of
             service associated with this queue."
        ::= { docsIfCmtsServiceEntry 1 }

docsIfCmtsServiceCmStatusIndex OBJECT-TYPE
        SYNTAX      Integer32 (0..65535)
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
            "Pointer to an entry in docsIfCmtsCmStatusTable identifying
             the Cable Modem using this Service Queue. If multiple
             Cable Modems are using this Service Queue, the value of
             this object is zero.
             This object has been deprecated and replaced by
             docsIfCmtsServiceNewCmStatusIndex, to fix a mismatch
             of the value range with respect to docsIfCmtsCmStatusIndex
             (1..2147483647)."
        ::= { docsIfCmtsServiceEntry 2 }

docsIfCmtsServiceAdminStatus OBJECT-TYPE
        SYNTAX      INTEGER {
            enabled(1),
            disabled(2),
            destroyed(3) }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Allows a service class for a particular modem to be
             suppressed, (re-)enabled, or deleted altogether."
        ::= { docsIfCmtsServiceEntry 3 }

docsIfCmtsServiceQosProfile OBJECT-TYPE
        SYNTAX      Integer32 (0..16383)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The index in docsIfQosProfileTable describing the quality
             of service attributes associated with this particular
             service. If no associated docsIfQosProfileTable entry
             exists, this object returns a value of zero."
        ::= { docsIfCmtsServiceEntry 4 }

docsIfCmtsServiceCreateTime OBJECT-TYPE

        SYNTAX      TimeStamp
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The value of sysUpTime when this entry was created."
        ::= { docsIfCmtsServiceEntry 5 }

docsIfCmtsServiceInOctets OBJECT-TYPE
        SYNTAX      Counter32
        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"
        ::= { docsIfCmtsServiceEntry 6 }

docsIfCmtsServiceInPackets OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The cumulative number of Packet Data packets received
             on this Service ID."
        ::= { docsIfCmtsServiceEntry 7 }

docsIfCmtsServiceNewCmStatusIndex OBJECT-TYPE
        SYNTAX      Integer32 (0..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Pointer (via docsIfCmtsCmStatusIndex) to an entry in
             docsIfCmtsCmStatusTable identifying the Cable Modem
             using this Service Queue. If multiple Cable Modems are
             using this Service Queue, the value of this object is
             zero."
        ::= { docsIfCmtsServiceEntry 8 }

--
-- The following table provides upstream channel modulation profiles.
-- Entries in this table can be
-- re-used by one or more upstream channels. An upstream channel will
-- have a modulation profile
-- for each value of docsIfModIntervalUsageCode.
--


docsIfCmtsModulationTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmtsModulationEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes a modulation profile associated with one or more
             upstream channels."
        ::= { docsIfCmtsObjects 5 }

docsIfCmtsModulationEntry OBJECT-TYPE
        SYNTAX      DocsIfCmtsModulationEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes a modulation profile for an Interval Usage Code
             for one or more upstream channels.
             Entries in this table are created by the operator. Initial
             default entries may be created at system initialization
             time. No individual objects have to be specified in order
             to create an entry in this table.
             Note that some objects do not have DEFVALs, but do have
             calculated defaults and need not be specified during row
             creation.
             There is no restriction on the changing of values in this
             table while their associated rows are active."
        INDEX { docsIfCmtsModIndex, docsIfCmtsModIntervalUsageCode}
        ::= { docsIfCmtsModulationTable 1 }

DocsIfCmtsModulationEntry ::= SEQUENCE {
            docsIfCmtsModIndex                    Integer32,
            docsIfCmtsModIntervalUsageCode        INTEGER,
            docsIfCmtsModControl                  RowStatus,
            docsIfCmtsModType                     INTEGER,
            docsIfCmtsModPreambleLen              Integer32,
            docsIfCmtsModDifferentialEncoding     TruthValue,
            docsIfCmtsModFECErrorCorrection       Integer32,
            docsIfCmtsModFECCodewordLength        Integer32,
            docsIfCmtsModScramblerSeed            Integer32,
            docsIfCmtsModMaxBurstSize             Integer32,
            docsIfCmtsModGuardTimeSize            Unsigned32,
            docsIfCmtsModLastCodewordShortened    TruthValue,
            docsIfCmtsModScrambler                TruthValue,
            docsIfCmtsModByteInterleaverDepth     Unsigned32,
            docsIfCmtsModByteInterleaverBlockSize Unsigned32,
            docsIfCmtsModPreambleType             INTEGER,
            docsIfCmtsModTcmErrorCorrectionOn     TruthValue,
            docsIfCmtsModScdmaInterleaverStepSize Unsigned32,
            docsIfCmtsModScdmaSpreaderEnable      TruthValue,
            docsIfCmtsModScdmaSubframeCodes       Unsigned32,
            docsIfCmtsModChannelType              DocsisUpstreamType
        }

docsIfCmtsModIndex OBJECT-TYPE
        SYNTAX       Integer32 (1..2147483647)
        MAX-ACCESS   not-accessible
        STATUS      current
        DESCRIPTION
             "An index into the Channel Modulation table representing
              a group of Interval Usage Codes, all associated with the
              same channel."
        ::= { docsIfCmtsModulationEntry 1 }

docsIfCmtsModIntervalUsageCode OBJECT-TYPE
        SYNTAX       INTEGER {
            request(1),
            requestData(2),
            initialRanging(3),
            periodicRanging(4),
            shortData(5),
            longData(6),
            advPhyShortData(9),
            advPhyLongData(10),
            ugs(11)
        }
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An index into the Channel Modulation table which, when
             grouped with other Interval Usage Codes, fully
             instantiate all modulation sets for a given upstream
             channel."
        REFERENCE
            "Document [25] from References, Table 8-20."
        ::= { docsIfCmtsModulationEntry 2 }

docsIfCmtsModControl OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Controls and reflects the status of rows in this table."
        ::= { docsIfCmtsModulationEntry 3 }

docsIfCmtsModType  OBJECT-TYPE
        SYNTAX      INTEGER {
            other(1),
            qpsk(2),
            qam16(3),
            qam8(4),
            qam32(5),
            qam64(6),
            qam128(7),
            qam256(8)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The modulation type used on this channel. Returns
             other(1) if the modulation type is neither 
             qpsk, qam16, qam8, qam32, qam64 or qam128.
             Type qam128 is used for SCDMA channels only.
             See the reference for the modulation profiles
             implied by different modulation types."
        REFERENCE
            "Document [25] from References, Table 8-19."
        DEFVAL { qpsk }
        ::= { docsIfCmtsModulationEntry 4 }

docsIfCmtsModPreambleLen OBJECT-TYPE
        SYNTAX      Integer32 (0..1536)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The preamble length for this modulation profile in bits.
             Default value is the minimum needed by the implementation
             at the CMTS for the given modulation profile."
        REFERENCE
            "Document [25] from References, Table 8-19."
        ::= { docsIfCmtsModulationEntry 5 }

docsIfCmtsModDifferentialEncoding OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Specifies whether or not differential encoding is used
             on this channel."
        REFERENCE
            "Document [25] from References, Table 8-19."
        DEFVAL { false }
        ::= { docsIfCmtsModulationEntry 6 }

docsIfCmtsModFECErrorCorrection OBJECT-TYPE
        SYNTAX      Integer32 (0..16)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The number of correctable errored bytes (t) used in
             forward error correction code. The value of 0 indicates
             no correction is employed. The number of check bytes
             appended will be twice this value."
        REFERENCE
            "Document [25] from References, Table 8-19."
        DEFVAL { 0 }
        ::= { docsIfCmtsModulationEntry 7 }

docsIfCmtsModFECCodewordLength OBJECT-TYPE
        SYNTAX      Integer32 (1..255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The number of data bytes (k) in the forward error
             correction codeword.
             This object is not used if docsIfCmtsModFECErrorCorrection
             is zero."
        REFERENCE
            "Document [25] from References, Table 8-19."
        DEFVAL { 32 }
        ::= { docsIfCmtsModulationEntry 8 }

docsIfCmtsModScramblerSeed OBJECT-TYPE
        SYNTAX      Integer32 (0..32767)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The 15 bit seed value for the scrambler polynomial."
        REFERENCE
            "Document [25] from References, Table 8-19."
        DEFVAL { 0 }
        ::= { docsIfCmtsModulationEntry 9 }

docsIfCmtsModMaxBurstSize OBJECT-TYPE
        SYNTAX      Integer32 (0..255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The maximum number of mini-slots that can be transmitted
             during this channel's burst time. Returns zero if the
             burst length is bounded by the allocation MAP rather than
             this profile.
             Default value is 0 except for shortData, where it is 8."
        REFERENCE
            "Document [25] from References, Table 8-19."
        ::= { docsIfCmtsModulationEntry 10 }

docsIfCmtsModGuardTimeSize OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of symbol-times which must follow the end of
             this channel's burst. Default value is the minimum time
             needed by the implementation for this modulation profile."
        REFERENCE
            "Document [25] from References, Table 8-19."
        ::= { docsIfCmtsModulationEntry 11 }

docsIfCmtsModLastCodewordShortened OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Indicates if the last FEC codeword is truncated."
        REFERENCE
            "Document [25] from References, Table 8-19."
        DEFVAL { true }
        ::= { docsIfCmtsModulationEntry 12 }

docsIfCmtsModScrambler OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Indicates if the scrambler is employed."
        REFERENCE
            "Document [25] from References, Table 8-19."
        DEFVAL { false }
        ::= { docsIfCmtsModulationEntry 13 }

docsIfCmtsModByteInterleaverDepth     OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            " ATDMA Byte Interleaver Depth (Ir). This object returns 1 for                    
              non ATDMA profiles. "
        REFERENCE
            "Document [25] from References, Table 8-19."
        DEFVAL { 1 }
        ::= { docsIfCmtsModulationEntry 14 }

docsIfCmtsModByteInterleaverBlockSize OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            " ATDMA Byte Interleaver Block size (Br). This object returns 
              zero for non ATDMA profiles "
        REFERENCE
            "Document [25] from References, Table 8-19."
        DEFVAL { 18 }
        ::= { docsIfCmtsModulationEntry 15 }

docsIfCmtsModPreambleType        OBJECT-TYPE
        SYNTAX       INTEGER {
            unknown(0),
            qpsk0(1),
            qpsk1(2)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Preamble type for DOCSIS 2.0 bursts"
        REFERENCE
            "Document [25] from References, Table 8-19."
        DEFVAL { qpsk0 }
        ::= { docsIfCmtsModulationEntry 16 }

docsIfCmtsModTcmErrorCorrectionOn OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            " Trellis Code Modulation (TCM) On/Off. This value returns false for 
              non S-CDMA profiles."
        REFERENCE
            "Document [25] from References, Table 8-19."
        DEFVAL { false }
        ::= { docsIfCmtsModulationEntry 17 }

docsIfCmtsModScdmaInterleaverStepSize OBJECT-TYPE
        SYNTAX      Unsigned32 (0 | 1..32)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            " S-CDMA Interleaver step size. This value returns zero 
              for non S-CDMA profiles."
        REFERENCE
            "Document [25] from References, Table 8-19."
             
        DEFVAL { 1 }
        ::= { docsIfCmtsModulationEntry 18 }

docsIfCmtsModScdmaSpreaderEnable      OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            " S-CDMA spreader. This value returns false for non S-CDMA
              profiles. Default value for IUC 3 and 4 is OFF, for 
              all other IUCs it is ON."
        REFERENCE
            "Document [25] from References, Table 8-19."
        ::= { docsIfCmtsModulationEntry 19 }

docsIfCmtsModScdmaSubframeCodes      OBJECT-TYPE
        SYNTAX      Unsigned32 (0 | 1..128)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            " S-CDMA sub-frame size. This value returns zero 
              for non S-CDMA profiles."
        REFERENCE
            "Document [25] from References, Table 8-19."
        DEFVAL { 1 }
        ::= { docsIfCmtsModulationEntry 20 }

docsIfCmtsModChannelType              OBJECT-TYPE
        SYNTAX      DocsisUpstreamType
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Describes the modulation channel type for this modulation entry."
        REFERENCE
            "Document [25] from References, Table 8-19."
        DEFVAL { tdma }
        ::= { docsIfCmtsModulationEntry 21 }

docsIfCmtsQosProfilePermissions OBJECT-TYPE
        SYNTAX      BITS {
            createByManagement(0),
            updateByManagement(1),
            createByModems(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object specifies permitted methods of creating
             entries in docsIfQosProfileTable.
             CreateByManagement(0) is set if entries can be created
             using SNMP. UpdateByManagement(1) is set if updating
             entries using SNMP is permitted. CreateByModems(2)
             is set if entries can be created based on information
             in REG-REQ MAC messages received from Cable Modems.
             Information in this object is only applicable if
             docsIfQosProfileTable is implemented as read-create.
             Otherwise, this object is implemented as read-only
             and returns CreateByModems(2).
             Either CreateByManagement(0) or CreateByModems(1)
             must be set when writing to this object.
             Note that BITS objects are encoded most significant bit
             first. For example, if bit 2 is set, the value of this
             object is the octet string '20'H."
        ::= { docsIfCmtsObjects 6 }

docsIfCmtsMacToCmTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmtsMacToCmEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This is a table to provide a quick access index into the
             docsIfCmtsCmStatusTable. There is exactly one row in this
             table for each row in the docsIfCmtsCmStatusTable. In
             general, the management station should use this table only
             to get a pointer into the docsIfCmtsCmStatusTable (which
             corresponds to the CM's RF interface MAC address), and
             should not iterate (e.g. GetNext through) this table."
    ::= { docsIfCmtsObjects 7 }

docsIfCmtsMacToCmEntry OBJECT-TYPE
        SYNTAX      DocsIfCmtsMacToCmEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A row in the docsIfCmtsMacToCmTable.
             An entry in this table exists for each Cable Modem
             that is connected to the CMTS implementing this table."
        INDEX   { docsIfCmtsCmMac }
        ::= {docsIfCmtsMacToCmTable 1 }

DocsIfCmtsMacToCmEntry ::= SEQUENCE {
                docsIfCmtsCmMac     MacAddress,
                docsIfCmtsCmPtr     Integer32
        }

docsIfCmtsCmMac OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The RF side MAC address for the referenced CM. (E.g. the
             interface on the CM that has docsCableMacLayer(127) as
             its ifType."
    ::= { docsIfCmtsMacToCmEntry 1 }

docsIfCmtsCmPtr OBJECT-TYPE
        SYNTAX      Integer32 (1..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "An row index into docsIfCmtsCmStatusTable. When queried
             with the correct instance value (e.g. a CM's MAC address),
             returns the index in docsIfCmtsCmStatusTable which
             represents that CM."
    ::= { docsIfCmtsMacToCmEntry 2 }


-- The following independent object and associated table provide
-- operators with a mechanism to evaluate the load/utilization of
-- both upstream and downstream physical channels. This information
-- may be used for capacity planning and incident analysis, and may
-- be particularly helpful in provisioning of high value QOS.
--
-- Utilization is expressed as an index representing the calculated
-- percentage utilization of the upstream or downstream channel in 
-- the most recent sampling interval (ie. utilization interval).
-- Refer to the DESCRIPTION field of the docsIfCmtsChannelUtUtilization
-- object for definitions and calculation details.


docsIfCmtsChannelUtilizationInterval OBJECT-TYPE
        SYNTAX      Integer32 (0..86400)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The time interval in seconds over which the channel utilization
             index is calculated. All upstream/downstream channels use the
             same docsIfCmtsChannelUtilizationInterval. 
             Setting a value of zero disables utilization reporting.
             A channel utilization index is calculated over a fixed window
             applying to the most recent docsIfCmtsChannelUtilizationInterval.
             It would therefore be prudent to use a relatively short
             docsIfCmtsChannelUtilizationInterval."
        ::= { docsIfCmtsObjects 8 }


docsIfCmtsChannelUtilizationTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmtsChannelUtilizationEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Reports utilization statistics for attached upstream and
             downstream physical channels."
        ::= { docsIfCmtsObjects 9 }

docsIfCmtsChannelUtilizationEntry OBJECT-TYPE
        SYNTAX      DocsIfCmtsChannelUtilizationEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Utilization statistics for a single upstream or downstream
             physical channel. An entry exists in this table for each
             ifEntry with an ifType equal to docsCableDownstreamInterface
             (128) or docsCableUpstreamInterface (129)."
        INDEX { ifIndex, docsIfCmtsChannelUtIfType, docsIfCmtsChannelUtId }
        ::= { docsIfCmtsChannelUtilizationTable 1 }

DocsIfCmtsChannelUtilizationEntry ::= SEQUENCE {
            docsIfCmtsChannelUtIfType         IANAifType,
            docsIfCmtsChannelUtId             Integer32, 
            docsIfCmtsChannelUtUtilization    Integer32
        }

docsIfCmtsChannelUtIfType OBJECT-TYPE
        SYNTAX       IANAifType
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
             "The secondary index into this table. Indicates the IANA
              interface type associated with this physical channel. Only
              docsCableDownstreamInterface (128) and
              docsCableUpstreamInterface (129) are valid."
        ::= { docsIfCmtsChannelUtilizationEntry 1 }

docsIfCmtsChannelUtId OBJECT-TYPE
        SYNTAX       Integer32 (1..255)
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
             "The tertiary index into this table. Indicates the CMTS
              identifier for this physical channel."
        ::= { docsIfCmtsChannelUtilizationEntry 2 }

docsIfCmtsChannelUtUtilization OBJECT-TYPE
        SYNTAX       Integer32 (0..100)
        UNITS        "percent"
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
             "The calculated and truncated utilization index for this
              physical upstream or downstream channel, accurate as of 
              the most recent docsIfCmtsChannelUtilizationInterval.

              Upstream Channel Utilization Index:
              The upstream channel utilization index is expressed as a 
              percentage of minislots utilized on the physical channel, regardless 
              of burst type. For an Initial Maintenance region, the minislots 
              for the complete region are considered utilized if the CMTS 
              received an upstream burst within the region from any CM on the 
              physical channel.  For contention REQ and REQ/DATA regions, the    
              minislots for a transmission opportunity within the region are 
              considered utilized if the CMTS received an upstream burst within 
              the opportunity from any CM on the physical channel. For all other 
              regions, utilized minislots are those in which the CMTS granted
              bandwidth to any unicast SID on the physical channel.

              For an upstream interface that has multiple logical upstream 
              channels enabled, the utilization index is a weighted sum of 
              utilization indices for the logical channels. The weight for 
              each utilization index is the percentage of upstream minislots 
              allocated for the corresponding logical channel.
              Example: 
              If 75% of bandwidth is allocated to the first logical channel 
              and 25% to the second, and the utilization indices for each are 
              60 and 40 respectively, the utilization index for the upstream 
              physical channel is (60 * 0.75) + (40 * 0.25) = 55. This figure 
              applies to the most recent utilization interval. 

              Downstream Channel Utilization Index:
              The downstream channel utilization index is a percentage expressing 
              the ratio between bytes used to transmit data versus the total number 
              of bytes transmitted in the raw bandwidth of the MPEG channel. As
              with the upstream utilization index, the calculated value represents 
              the most recent utilization interval.
              Formula:
              Downstream utilization index = 
              (100 * (data bytes / raw bytes)) = 
              (100 * ((raw bytes - stuffed bytes) / raw bytes))
              
              Definitions:
              Data bytes: Number of bytes transmitted as data in the                            
                          docsIfCmtsChannelUtilizationInterval. 
              Stuffed bytes: Number of filler bytes transmitted as non-data in the 
                             DocsIfCmtsChannelUtilizationInterval.
              Raw bandwidth: Total number of bytes available for transmitting data,
                             not including bytes used for headers and other overhead.
              Raw bytes: (raw bandwidth * docsIfCmtsChannelUtilizationInterval)."

        ::= { docsIfCmtsChannelUtilizationEntry 3 }


-- The following table provides operators with input data appropriate for
-- calculating downstream channel utilization.  Operators may use the 
-- docsIfCmtsChannelUtilizationTable, or perform their own polling of the
-- docsIfCmtsDownChannelCounterTable objects to characterize their downstream
-- channel usage. 
-- The 32 bit counter objects are included to provide backward compatibility 
-- with SNMPv1 managers, which cannot access 64 bit counter objects.

docsIfCmtsDownChannelCounterTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmtsDownChannelCounterEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table is implemented at the CMTS to collect downstream
             channel statistics for utilization calculations."
        ::= { docsIfCmtsObjects 10 }

docsIfCmtsDownChannelCounterEntry OBJECT-TYPE
        SYNTAX      DocsIfCmtsDownChannelCounterEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry provides a list of traffic counters for a single
             downstream channel.
             An entry in this table exists for each ifEntry with an
             ifType of docsCableDownstream(128)."
        INDEX { ifIndex }
        ::= { docsIfCmtsDownChannelCounterTable 1 }

DocsIfCmtsDownChannelCounterEntry ::= SEQUENCE {
            docsIfCmtsDownChnlCtrId              Integer32,
            docsIfCmtsDownChnlCtrTotalBytes      Counter32,
            docsIfCmtsDownChnlCtrUsedBytes       Counter32,                    
            docsIfCmtsDownChnlCtrExtTotalBytes   Counter64,
            docsIfCmtsDownChnlCtrExtUsedBytes    Counter64                    
        }

docsIfCmtsDownChnlCtrId OBJECT-TYPE
        SYNTAX      Integer32 (0..255)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The Cable Modem Termination System (CMTS) identification
             of the downstream channel within this particular MAC
             interface. If the interface is down, the object returns
             the most current value. If the downstream channel ID is
             unknown, this object returns a value of 0."
        ::= { docsIfCmtsDownChannelCounterEntry 1 }

docsIfCmtsDownChnlCtrTotalBytes OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "At the CMTS, the total number of bytes in the Payload portion
             of MPEG Packets (ie. not including MPEG header or pointer_field)
             transported by this downstream channel since CMTS initialization.
             This is the 32 bit version of docsIfCmtsDownChnlCtrExtTotalBytes,
             included to provide back compatibility with SNMPv1 managers."
        ::= { docsIfCmtsDownChannelCounterEntry 2 }

docsIfCmtsDownChnlCtrUsedBytes OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "At the CMTS, the total number of DOCSIS data bytes transported
             by this downstream channel since CMTS initialization. The number
             of data bytes is defined as the total number of bytes transported
             in DOCSIS payloads minus the number of stuff bytes transported in
             DOCSIS payloads.
             This is the 32 bit version of docsIfCmtsDownChnlCtrExtUsedBytes,
             included to provide back compatibility with SNMPv1 managers."
        ::= { docsIfCmtsDownChannelCounterEntry 3 }

docsIfCmtsDownChnlCtrExtTotalBytes OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "At the CMTS, the total number of bytes in the Payload portion
             of MPEG Packets (ie. not including MPEG header or pointer_field)
             transported by this downstream channel since CMTS initialization.
             This is the 64 bit version of docsIfCmtsDownChnlCtrTotalBytes, and
             will not be accessible to SNMPv1 managers."
        ::= { docsIfCmtsDownChannelCounterEntry 4 }

docsIfCmtsDownChnlCtrExtUsedBytes OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "At the CMTS, the total number of DOCSIS data bytes transported
             by this downstream channel since CMTS initialization. The number
             of data bytes is defined as the total number of bytes transported
             in DOCSIS payloads minus the number of stuff bytes transported in
             DOCSIS payloads.
             This is the 64 bit version of docsIfCmtsDownChnlCtrUsedBytes, and
             will not be accessible to SNMPv1 managers."
        ::= { docsIfCmtsDownChannelCounterEntry 5 }




-- The following table provides operators with input data appropriate for
-- calculating upstream channel utilization, and for determining the traffic
-- characteristics of upstream channels.
-- Operators may use the docsIfCmtsChannelUtilizationTable, or perform their own 
-- polling of the docsIfCmtsUpChannelCounterTable objects for utilization
-- determination.
-- The first four 32 and 64 objects in this table are mandatory. Vendors may 
-- choose to implement the remaining optional objects to provide operators with 
-- finer characterization of upstream channel traffic patterns.
-- The 32 bit counter objects are included to provide backward compatibility 
-- with SNMPv1 managers, which cannot access 64 bit counter objects.
 

docsIfCmtsUpChannelCounterTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmtsUpChannelCounterEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table is implemented at the CMTS to provide upstream
             channel statistics appropriate for channel utilization
             calculations."
        ::= { docsIfCmtsObjects 11 }

docsIfCmtsUpChannelCounterEntry OBJECT-TYPE
        SYNTAX      DocsIfCmtsUpChannelCounterEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "List of traffic statistics for a single upstream channel.
             For Docsis 2.0 CMTSs, an entry in this table exists for 
             each ifEntry with an ifType of docsCableUpstreamChannel (205).
             For Docsis 1.x CMTSs, an entry in this table exists for each
             ifEntry with an ifType of docsCableUpstreamInterface (129)."
        INDEX { ifIndex }
        ::= { docsIfCmtsUpChannelCounterTable 1 }

DocsIfCmtsUpChannelCounterEntry ::= SEQUENCE {
            docsIfCmtsUpChnlCtrId                          Integer32, 
            docsIfCmtsUpChnlCtrTotalMslots                 Counter32,          
            docsIfCmtsUpChnlCtrUcastGrantedMslots          Counter32,
            docsIfCmtsUpChnlCtrTotalCntnMslots             Counter32,
            docsIfCmtsUpChnlCtrUsedCntnMslots              Counter32,
            docsIfCmtsUpChnlCtrExtTotalMslots              Counter64,
            docsIfCmtsUpChnlCtrExtUcastGrantedMslots       Counter64,
            docsIfCmtsUpChnlCtrExtTotalCntnMslots          Counter64,
            docsIfCmtsUpChnlCtrExtUsedCntnMslots           Counter64,
            docsIfCmtsUpChnlCtrCollCntnMslots              Counter32,
            docsIfCmtsUpChnlCtrTotalCntnReqMslots          Counter32,
            docsIfCmtsUpChnlCtrUsedCntnReqMslots           Counter32,
            docsIfCmtsUpChnlCtrCollCntnReqMslots           Counter32,
            docsIfCmtsUpChnlCtrTotalCntnReqDataMslots      Counter32,
            docsIfCmtsUpChnlCtrUsedCntnReqDataMslots       Counter32,
            docsIfCmtsUpChnlCtrCollCntnReqDataMslots       Counter32,
            docsIfCmtsUpChnlCtrTotalCntnInitMaintMslots    Counter32,
            docsIfCmtsUpChnlCtrUsedCntnInitMaintMslots     Counter32,
            docsIfCmtsUpChnlCtrCollCntnInitMaintMslots     Counter32,
            docsIfCmtsUpChnlCtrExtCollCntnMslots           Counter64,
            docsIfCmtsUpChnlCtrExtTotalCntnReqMslots       Counter64,
            docsIfCmtsUpChnlCtrExtUsedCntnReqMslots        Counter64,
            docsIfCmtsUpChnlCtrExtCollCntnReqMslots        Counter64,
            docsIfCmtsUpChnlCtrExtTotalCntnReqDataMslots   Counter64,
            docsIfCmtsUpChnlCtrExtUsedCntnReqDataMslots    Counter64,
            docsIfCmtsUpChnlCtrExtCollCntnReqDataMslots    Counter64,
            docsIfCmtsUpChnlCtrExtTotalCntnInitMaintMslots Counter64,
            docsIfCmtsUpChnlCtrExtUsedCntnInitMaintMslots  Counter64,
            docsIfCmtsUpChnlCtrExtCollCntnInitMaintMslots  Counter64
        }


docsIfCmtsUpChnlCtrId OBJECT-TYPE
        SYNTAX      Integer32 (0..255)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The CMTS identification of the upstream channel."
        ::= { docsIfCmtsUpChannelCounterEntry 1 }


docsIfCmtsUpChnlCtrTotalMslots OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of all minislots
             defined for this upstream logical channel. This count includes
             all IUCs and SIDs, even those allocated to the NULL SID for
             a 2.0 logical channel which is inactive.
             This is the 32 bit version of docsIfCmtsUpChnlCtrExtTotalMslots,
             and is included for back compatibility with SNMPv1 managers.
             Support for this object is mandatory."
        ::= { docsIfCmtsUpChannelCounterEntry 2 }


docsIfCmtsUpChnlCtrUcastGrantedMslots OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of unicast granted
             minislots on the upstream logical channel, regardless of burst
             type. Unicast granted minislots are those in which the CMTS
             assigned bandwidth to any unicast SID on the logical channel.
             This is the 32 bit version of docsIfCmtsUpChnlCtrExtUcastGrantedMslots,
             and is included for back compatibility with SNMPv1 managers.
             Support for this object is mandatory."
        ::= { docsIfCmtsUpChannelCounterEntry 3 }


docsIfCmtsUpChnlCtrTotalCntnMslots OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention minislots
             defined for this upstream logical channel. This count includes
             all minislots assigned to a broadcast or multicast SID on the
             logical channel. 
             This is the 32 bit version of docsIfCmtsUpChnlCtrExtTotalCntnMslots,
             and is included for back compatibility with SNMPv1 managers.
             Support for this object is mandatory."
        ::= { docsIfCmtsUpChannelCounterEntry 4 }


docsIfCmtsUpChnlCtrUsedCntnMslots OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention minislots
             utilized on the upstream logical channel. For contention regions,
             utilized minislots are those in which the CMTS correctly received
             an upstream burst from any CM on the upstream logical channel.
             This is the 32 bit version of docsIfCmtsUpChnlCtrExtUsedCntnMslots,
             and is included for back compatibility with SNMPv1 managers.
             Support for this object is mandatory."
        ::= { docsIfCmtsUpChannelCounterEntry 5 }


docsIfCmtsUpChnlCtrExtTotalMslots OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of all minislots
             defined for this upstream logical channel. This count includes
             all IUCs and SIDs, even those allocated to the NULL SID for
             a 2.0 logical channel which is inactive.
             This is the 64 bit version of docsIfCmtsUpChnlCtrTotalMslots,
             and will not be accessible to SNMPv1 managers.
             Support for this object is mandatory."
        ::= { docsIfCmtsUpChannelCounterEntry 6 }


docsIfCmtsUpChnlCtrExtUcastGrantedMslots OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of unicast granted
             minislots on the upstream logical channel, regardless of burst
             type. Unicast granted minislots are those in which the CMTS
             assigned bandwidth to any unicast SID on the logical channel.
             This is the 64 bit version of docsIfCmtsUpChnlCtrUcastGrantedMslots,
             and will not be accessible to SNMPv1 managers.
             Support for this object is mandatory."
        ::= { docsIfCmtsUpChannelCounterEntry 7 }


docsIfCmtsUpChnlCtrExtTotalCntnMslots OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention minislots
             defined for this upstream logical channel. This count includes
             all minislots assigned to a broadcast or multicast SID on the
             logical channel. 
             This is the 64 bit version of docsIfCmtsUpChnlCtrTotalCntnMslots,
             and will not be accessible to SNMPv1 managers.
             Support for this object is mandatory."
        ::= { docsIfCmtsUpChannelCounterEntry 8 }


docsIfCmtsUpChnlCtrExtUsedCntnMslots OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention minislots
             utilized on the upstream logical channel. For contention regions,
             utilized minislots are those in which the CMTS correctly received
             an upstream burst from any CM on the upstream logical channel.
             This is the 64 bit version of docsIfCmtsUpChnlCtrUsedCntnMslots,
             and will not be accessible to SNMPv1 managers.
             Support for this object is mandatory."
        ::= { docsIfCmtsUpChannelCounterEntry 9 }


docsIfCmtsUpChnlCtrCollCntnMslots OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention minislots 
             subjected to collisions on the upstream logical channel. For 
             contention regions, these are the minislots applicable to bursts 
             that the CMTS detected, but could not correctly receive.  
             This is the 32 bit version of docsIfCmtsUpChnlCtrExtCollCntnMslots,
             and is included for back compatibility with SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             a value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 10 }


docsIfCmtsUpChnlCtrTotalCntnReqMslots OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention request
             minislots defined for this upstream logical channel. This count 
             includes all minislots for IUC1 assigned to a broadcast or multicast 
             SID on the logical channel. 
             This is the 32 bit version of docsIfCmtsUpChnlCtrExtTotalCntnReqMslots,
             and is included for back compatibility with SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 11 }


docsIfCmtsUpChnlCtrUsedCntnReqMslots OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention request
             minislots utilized on this upstream logical channel. This count 
             includes all contention minislots for IUC1 applicable to bursts
             that the CMTS correctly received.             
             This is the 32 bit version of docsIfCmtsUpChnlCtrExtUsedCntnReqMslots,
             and is included for back compatibility with SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 12 }


docsIfCmtsUpChnlCtrCollCntnReqMslots OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention request
             minislots subjected to collisions on this upstream logical channel.  
             This includes all contention minislots for IUC1 applicable to bursts
             that the CMTS detected, but could not correctly receive.             
             This is the 32 bit version of docsIfCmtsUpChnlCtrExtCollCntnReqMslots,
             and is included for back compatibility with SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 13 }


docsIfCmtsUpChnlCtrTotalCntnReqDataMslots OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention request
             data minislots defined for this upstream logical channel. This count 
             includes all minislots for IUC2 assigned to a broadcast or multicast 
             SID on the logical channel. 
             This is the 32 bit version of
             docsIfCmtsUpChnlCtrExtTotalCntnReqDataMslots,
             and is included for back compatibility with SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 14 }


docsIfCmtsUpChnlCtrUsedCntnReqDataMslots OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention request
             data minislots utilized on this upstream logical channel. This  
             includes all contention minislots for IUC2 applicable to bursts
             that the CMTS correctly received.             
             This is the 32 bit version of 
             docsIfCmtsUpChnlCtrExtUsedCntnReqDataMslots,
             and is included for back compatibility with SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 15 }


docsIfCmtsUpChnlCtrCollCntnReqDataMslots OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention request
             data minislots subjected to collisions on this upstream logical 
             channel. This includes all contention minislots for IUC2 applicable 
             to bursts that the CMTS detected, but could not correctly receive.             
             This is the 32 bit version of 
             docsIfCmtsUpChnlCtrExtCollCntnReqDataMslots,
             and is included for back compatibility with SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 16 }


docsIfCmtsUpChnlCtrTotalCntnInitMaintMslots OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention initial
             maintenance minislots defined for this upstream logical channel. 
             This includes all minislots for IUC3 assigned to a broadcast or 
             multicast SID on the logical channel. 
             This is the 32 bit version of
             docsIfCmtsUpChnlCtrExtTotalCntnInitMaintMslots,
             and is included for back compatibility with SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 17 }


docsIfCmtsUpChnlCtrUsedCntnInitMaintMslots OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention initial
             maintenance minislots utilized on this upstream logical channel.   
             This includes all contention minislots for IUC3 applicable to bursts
             that the CMTS correctly received.             
             This is the 32 bit version of 
             docsIfCmtsUpChnlCtrExtUsedCntnInitMaintMslots,
             and is included for back compatibility with SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 18 }


docsIfCmtsUpChnlCtrCollCntnInitMaintMslots OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention initial
             maintenance minislots subjected to collisions on this upstream 
             logical channel. This includes all contention minislots for IUC3
             applicable to bursts that the CMTS detected, but could not correctly
             receive.             
             This is the 32 bit version of 
             docsIfCmtsUpChnlCtrExtCollCntnInitMaintMslots,
             and is included for back compatibility with SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 19 }


docsIfCmtsUpChnlCtrExtCollCntnMslots OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of collision contention 
             minislots on the upstream logical channel. For contention regions,
             these are the minislots applicable to bursts that the CMTS detected,  
             but could not correctly receive.
             This is the 64 bit version of docsIfCmtsUpChnlCtrCollCntnMslots,
             and will not be accessible to SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             a value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 20 }


docsIfCmtsUpChnlCtrExtTotalCntnReqMslots OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention request
             minislots defined for this upstream logical channel. This count 
             includes all minislots for IUC1 assigned to a broadcast or multicast 
             SID on the logical channel. 
             This is the 64 bit version of docsIfCmtsUpChnlCtrTotalCntnReqMslots,
             and will not be accessible to SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 21 }


docsIfCmtsUpChnlCtrExtUsedCntnReqMslots OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention request
             minislots utilized on this upstream logical channel. This count 
             includes all contention minislots for IUC1 applicable to bursts
             that the CMTS correctly received.             
             This is the 64 bit version of docsIfCmtsUpChnlCtrUsedCntnReqMslots,
             and will not be accessible to SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 22 }


docsIfCmtsUpChnlCtrExtCollCntnReqMslots OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention request
             minislots subjected to collisions on this upstream logical channel.
             This includes all contention minislots for IUC1 applicable to bursts
             that the CMTS detected, but could not correctly receive.             
             This is the 64 bit version of docsIfCmtsUpChnlCtrCollCntnReqMslots,
             and will not be accessible to SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 23 }


docsIfCmtsUpChnlCtrExtTotalCntnReqDataMslots OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention request
             data minislots defined for this upstream logical channel. This count 
             includes all minislots for IUC2 assigned to a broadcast or multicast 
             SID on the logical channel. 
             This is the 64 bit version of docsIfCmtsUpChnlCtrTotalCntnReqDataMslots,
             and will not be accessible to SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 24 }


docsIfCmtsUpChnlCtrExtUsedCntnReqDataMslots OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention request
             data minislots utilized on this upstream logical channel. This  
             includes all contention minislots for IUC2 applicable to bursts
             that the CMTS correctly received.             
             This is the 64 bit version of docsIfCmtsUpChnlCtrUsedCntnReqDataMslots,
             and will not be accessible to SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 25 }


docsIfCmtsUpChnlCtrExtCollCntnReqDataMslots OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention request
             data minislots subjected to collisions on this upstream logical 
             channel. This includes all contention minislots for IUC2 applicable 
             to bursts that the CMTS detected, but could not correctly receive.             
             This is the 64 bit version of docsIfCmtsUpChnlCtrCollCntnReqDataMslots,
             and will not be accessible to SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 26 }


docsIfCmtsUpChnlCtrExtTotalCntnInitMaintMslots OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of initial maintenance
             minislots defined for this upstream logical channel. This count 
             includes all minislots for IUC3 assigned to a broadcast or multicast 
             SID on the logical channel. 
             This is the 64 bit version of 
             docsIfCmtsUpChnlCtrTotalCntnInitMaintMslots,
             and will not be accessible to SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 27 }


docsIfCmtsUpChnlCtrExtUsedCntnInitMaintMslots OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of initial maintenance
             minislots utilized on this upstream logical channel. This  
             includes all contention minislots for IUC3 applicable to bursts
             that the CMTS correctly received.             
             This is the 64 bit version of docsIfCmtsUpChnlCtrUsedCntnInitMaintMslots,
             and will not be accessible to SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 28 }


docsIfCmtsUpChnlCtrExtCollCntnInitMaintMslots OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current count, from CMTS initialization, of contention initial
             maintenance minislots subjected to collisions on this upstream 
             logical channel. This includes all contention minislots for IUC3
             applicable to bursts that the CMTS detected, but could not correctly
             receive.             
             This is the 64 bit version of docsIfCmtsUpChnlCtrCollCntnInitMaintMslots,
             and will not be accessible to SNMPv1 managers.
             Support for this object is optional. If the object is not supported,
             A value of zero is returned."
        ::= { docsIfCmtsUpChannelCounterEntry 29 }




--
-- notification group is for future extension.
--

docsIfNotification OBJECT IDENTIFIER     ::= { docsIfMib 2 }

docsIfConformance  OBJECT IDENTIFIER     ::= { docsIfMib 3 }
docsIfCompliances  OBJECT IDENTIFIER     ::= { docsIfConformance 1 }
docsIfGroups       OBJECT IDENTIFIER     ::= { docsIfConformance 2 }

-- compliance statements

docsIfBasicCompliance MODULE-COMPLIANCE
        STATUS      current
        DESCRIPTION
            "The compliance statement for devices that implement
             MCNS/DOCSIS compliant Radio Frequency Interfaces."

MODULE  -- docsIfMib

-- unconditionally mandatory groups
MANDATORY-GROUPS {
        docsIfBasicGroup
        }

-- conditionally mandatory group
GROUP docsIfCmGroup
        DESCRIPTION
            "This group is implemented only in Cable Modems, not in
             Cable Modem Termination Systems."
-- conditionally mandatory group
GROUP docsIfCmtsGroup
        DESCRIPTION
            "This group is implemented only in Cable Modem Termination
             Systems, not in Cable Modems."

OBJECT  docsIfDownChannelFrequency
        WRITE-SYNTAX Integer32 (47000000..862000000)
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write in Cable Modem Termination Systems,
             read-only in Cable Modems.
             A range of 54MHz to 860MHz is appropriate for a cable
             plant using a North American Sub-Split channel plan.
             The spectrum range has been expanded to accommodate
             a lower edge of 47MHz and an upper edge of 862MHz
             for some European channel plans.
             If DOCSIS is extended to cover other types of channel
             plans (and frequency allocations) this object will be
             modified accordingly."

OBJECT  docsIfDownChannelWidth
        WRITE-SYNTAX Integer32 (6000000 | 8000000)
        MIN-ACCESS  read-only
        DESCRIPTION
            "It is conformant to implement this object as read-only.
             In Cable Modems, this object is always implemented as
             read-only.  The value of 6 MHz is appropriate for cable
             plants running under NTSC (National Television
             Standards Committee) standards.  The value of 8 MHz is
             appropriate for cable plants running under ETSI
             standards.  For other regional standards, this
             object will be modified accordingly."

OBJECT  docsIfDownChannelModulation
        WRITE-SYNTAX INTEGER {
                               qam64 (3),
                               qam256 (4)
                             }
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write in Cable Modem Termination Systems,
             read-only in Cable Modems."

OBJECT  docsIfDownChannelInterleave
        WRITE-SYNTAX INTEGER {
                    taps8Increment16(3),
                    taps16Increment8(4),
                    taps32Increment4(5),
                    taps64Increment2(6),
                    taps128Increment1(7),
                    taps12increment17(8)
                     }
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write in Cable Modem Termination Systems,
             read-only in Cable Modems."

OBJECT  docsIfDownChannelPower
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write in Cable Modem Termination Systems,
             read-only in Cable Modems."

OBJECT  docsIfUpChannelFrequency
        WRITE-SYNTAX Integer32 (5000000..65000000)
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-create in Cable Modem Termination Systems,
             read-only in Cable Modems.
             A range of 5MHz to 42MHz is appropriate for a cable
             plant using a North American Sub-Split channel plan.
             The spectrum range has been expanded to accommodate
             an upper edge of 65MHz for some European channel plans.
             If DOCSIS is extended to cover other types of channel
             plans (and frequency allocations) this object will
             be modified accordingly."

OBJECT  docsIfUpChannelWidth
        WRITE-SYNTAX Integer32 (200000..6400000)
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-create in Cable Modem Termination Systems,
             read-only in Cable Modems. The above value is appropriate
             for cable plants running under  NTSC (National Television
             Standards Committee) standards.  If DOCSIS is extended to
             work with other standard (e.g. European standards), this
             object will be modified accordingly."

OBJECT  docsIfUpChannelModulationProfile
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-create in Cable Modem Termination Systems,
             read-only in Cable Modems."

OBJECT  docsIfUpChannelSlotSize
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems.
             It is compliant to implement this object as read-only
             in Cable Modem Termination Systems."

OBJECT  docsIfUpChannelRangingBackoffStart
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-create in Cable Modem Termination Systems,
             read-only in Cable Modems."

OBJECT  docsIfUpChannelRangingBackoffEnd
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-create in Cable Modem Termination Systems,
             read-only in Cable Modems."

OBJECT  docsIfUpChannelTxBackoffStart
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-create in Cable Modem Termination Systems,
             read-only in Cable Modems."

OBJECT  docsIfUpChannelTxBackoffEnd
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-create in Cable Modem Termination Systems,
             read-only in Cable Modems."

OBJECT  docsIfUpChannelScdmaActiveCodes
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems. The number of active
 codes when SCDMA is in use must range from 64 to 128, and must be a non-
 Prime value. Providing this range allows for the following features and
 capabilities:
 1) Power management in S-CDMA spreader-on frames (with a 3 dB spread)
 2) Avoidance of code 0
 3) Flexible minislot sizes with and without the use of code 0"

OBJECT  docsIfUpChannelScdmaCodesPerSlot
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-create in Cable Modem Termination Systems,
             read-only in Cable Modems."

OBJECT  docsIfUpChannelScdmaFrameSize
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-create in Cable Modem Termination Systems,
             read-only in Cable Modems."

OBJECT  docsIfUpChannelScdmaHoppingSeed
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems."

OBJECT  docsIfUpChannelType
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-create in Cable Modem Termination Systems,
             read-only in Cable Modems."

OBJECT  docsIfUpChannelCloneFrom
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-create in Cable Modem Termination Systems,
             read-only in Cable Modems."

OBJECT  docsIfUpChannelUpdate
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-create in Cable Modem Termination Systems,
             read-only in Cable Modems."

OBJECT  docsIfUpChannelPreEqEnable
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-create in Cable Modem Termination Systems,
             read-only in Cable Modems."

OBJECT  docsIfQosProfPriority
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems.
             It is compliant to implement this object as read-only
             in Cable Modem Termination Systems."


OBJECT  docsIfQosProfPriority
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems.
             It is compliant to implement this object as read-only
             in Cable Modem Termination Systems."

OBJECT  docsIfQosProfMaxUpBandwidth
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems.
             It is compliant to implement this object as read-only
             in Cable Modem Termination Systems."

OBJECT  docsIfQosProfGuarUpBandwidth
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems.
             It is compliant to implement this object as read-only
             in Cable Modem Termination Systems."

OBJECT  docsIfQosProfMaxDownBandwidth
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems.
             It is compliant to implement this object as read-only
             in Cable Modem Termination Systems."

OBJECT  docsIfQosProfBaselinePrivacy
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems.
             It is compliant to implement this object as read-only
             in Cable Modem Termination Systems."

OBJECT  docsIfQosProfStatus
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems.
             It is compliant to implement this object as read-only
             in Cable Modem Termination Systems."

OBJECT  docsIfQosProfMaxTransmitBurst
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems.
             It is compliant to implement this object as read-only
             in Cable Modem Termination Systems."

OBJECT  docsIfCmtsServiceAdminStatus
        MIN-ACCESS  read-only
        DESCRIPTION
            "It is compliant to implement this object as read-only."

OBJECT  docsIfCmtsSyncInterval
        MIN-ACCESS  read-only
        DESCRIPTION
            "It is compliant to implement this object as read-only."

OBJECT  docsIfCmtsUcdInterval
        MIN-ACCESS  read-only
        DESCRIPTION
            "It is compliant to implement this object as read-only."

OBJECT  docsIfCmtsInsertInterval
        MIN-ACCESS  read-only
        DESCRIPTION
            "It is compliant to implement this object as read-only."

OBJECT  docsIfCmtsInvitedRangingAttempts
        MIN-ACCESS  read-only
        DESCRIPTION
            "It is compliant to implement this object as read-only."

OBJECT  docsIfCmtsQosProfilePermissions
        MIN-ACCESS  read-only
        DESCRIPTION
            "It is compliant to implement this object as read-only."

        ::= { docsIfCompliances 1 }

docsIfBasicGroup OBJECT-GROUP
        OBJECTS {
            docsIfDownChannelId,
            docsIfDownChannelFrequency,
            docsIfDownChannelWidth,
            docsIfDownChannelModulation,
            docsIfDownChannelInterleave,
            docsIfDownChannelPower,
            docsIfDownChannelAnnex,
            docsIfUpChannelId,
            docsIfUpChannelFrequency,
            docsIfUpChannelWidth,
            docsIfUpChannelModulationProfile,
            docsIfUpChannelSlotSize,
            docsIfUpChannelTxTimingOffset,
            docsIfUpChannelRangingBackoffStart,
            docsIfUpChannelRangingBackoffEnd,
            docsIfUpChannelTxBackoffStart,
            docsIfUpChannelTxBackoffEnd,
            docsIfUpChannelScdmaActiveCodes,
            docsIfUpChannelScdmaCodesPerSlot,
            docsIfUpChannelScdmaFrameSize,
            docsIfUpChannelScdmaHoppingSeed,
            docsIfUpChannelType,
            docsIfUpChannelCloneFrom,
            docsIfUpChannelUpdate,
            docsIfUpChannelStatus,
            docsIfUpChannelPreEqEnable,
            docsIfQosProfPriority,
            docsIfQosProfMaxUpBandwidth,
            docsIfQosProfGuarUpBandwidth,
            docsIfQosProfMaxDownBandwidth,
            docsIfQosProfBaselinePrivacy,
            docsIfQosProfStatus,
            docsIfQosProfMaxTransmitBurst,
            docsIfSigQIncludesContention,
            docsIfSigQUnerroreds,
            docsIfSigQCorrecteds,
            docsIfSigQUncorrectables,
            docsIfSigQSignalNoise,
            docsIfSigQMicroreflections,
            docsIfSigQEqualizationData,
            docsIfSigQExtUnerroreds,
            docsIfSigQExtCorrecteds,
            docsIfSigQExtUncorrectables,
            docsIfDocsisBaseCapability
        }
        STATUS      current
        DESCRIPTION
            "Group of objects implemented in both Cable Modems and
             Cable Modem Termination Systems."
        ::= { docsIfGroups 1 }

docsIfCmGroup OBJECT-GROUP
        OBJECTS {
            docsIfCmCmtsAddress,
            docsIfCmCapabilities,
            docsIfCmRangingTimeout,
--            docsIfCmRangingRespTimeout,
            docsIfCmStatusValue,
            docsIfCmStatusCode,
            docsIfCmStatusTxPower,
            docsIfCmStatusResets,
            docsIfCmStatusLostSyncs,
            docsIfCmStatusInvalidMaps,
            docsIfCmStatusInvalidUcds,
            docsIfCmStatusInvalidRangingResponses,
            docsIfCmStatusInvalidRegistrationResponses,
            docsIfCmStatusT1Timeouts,
            docsIfCmStatusT2Timeouts,
            docsIfCmStatusT3Timeouts,
            docsIfCmStatusT4Timeouts,
            docsIfCmStatusRangingAborteds,
            docsIfCmStatusDocsisOperMode,
            docsIfCmStatusModulationType,
            docsIfCmStatusEqualizationData,
            docsIfCmServiceQosProfile,
            docsIfCmServiceTxSlotsImmed,
            docsIfCmServiceTxSlotsDed,
            docsIfCmServiceTxRetries,
            docsIfCmServiceTxExceededs,
            docsIfCmServiceRqRetries,
            docsIfCmServiceRqExceededs,
            docsIfCmServiceExtTxSlotsImmed,
            docsIfCmServiceExtTxSlotsDed

        }
        STATUS      current
        DESCRIPTION
            "Group of objects implemented in Cable Modems."
        ::= { docsIfGroups 2 }

docsIfCmtsGroup OBJECT-GROUP
        OBJECTS {
            docsIfCmtsCapabilities,
            docsIfCmtsSyncInterval,
            docsIfCmtsUcdInterval,
            docsIfCmtsMaxServiceIds,
--            docsIfCmtsInsertionInterval,
            docsIfCmtsInvitedRangingAttempts,
            docsIfCmtsInsertInterval,
            docsIfCmtsStatusInvalidRangeReqs,
            docsIfCmtsStatusRangingAborteds,
            docsIfCmtsStatusInvalidRegReqs,
            docsIfCmtsStatusFailedRegReqs,
            docsIfCmtsStatusInvalidDataReqs,
            docsIfCmtsStatusT5Timeouts,
            docsIfCmtsCmStatusMacAddress,
            docsIfCmtsCmStatusDownChannelIfIndex,
            docsIfCmtsCmStatusUpChannelIfIndex,
            docsIfCmtsCmStatusRxPower,
            docsIfCmtsCmStatusTimingOffset,
            docsIfCmtsCmStatusEqualizationData,
            docsIfCmtsCmStatusValue,
            docsIfCmtsCmStatusUnerroreds,
            docsIfCmtsCmStatusCorrecteds,
            docsIfCmtsCmStatusUncorrectables,
            docsIfCmtsCmStatusSignalNoise,
            docsIfCmtsCmStatusMicroreflections,
            docsIfCmtsCmStatusExtUnerroreds,
            docsIfCmtsCmStatusExtCorrecteds,
            docsIfCmtsCmStatusExtUncorrectables,
            docsIfCmtsCmStatusDocsisRegMode,
            docsIfCmtsCmStatusModulationType,
		docsIfCmtsCmStatusInetAddressType,
		docsIfCmtsCmStatusInetAddress,
            docsIfCmtsCmStatusValueLastUpdate,
            docsIfCmtsServiceAdminStatus,
            docsIfCmtsServiceQosProfile,
            docsIfCmtsServiceCreateTime,
            docsIfCmtsServiceInOctets,
            docsIfCmtsServiceInPackets,
            docsIfCmtsServiceNewCmStatusIndex,
            docsIfCmtsModType,
            docsIfCmtsModControl,
            docsIfCmtsModPreambleLen,
            docsIfCmtsModDifferentialEncoding,
            docsIfCmtsModFECErrorCorrection,
            docsIfCmtsModFECCodewordLength,
            docsIfCmtsModScramblerSeed,
            docsIfCmtsModMaxBurstSize,
            docsIfCmtsModGuardTimeSize,
            docsIfCmtsModLastCodewordShortened,
            docsIfCmtsModScrambler,
            docsIfCmtsModByteInterleaverDepth,
            docsIfCmtsModByteInterleaverBlockSize,
            docsIfCmtsModPreambleType,
            docsIfCmtsModTcmErrorCorrectionOn,
            docsIfCmtsModScdmaInterleaverStepSize,
            docsIfCmtsModScdmaSpreaderEnable,
            docsIfCmtsModScdmaSubframeCodes,
            docsIfCmtsModChannelType,
            docsIfCmtsQosProfilePermissions,
            docsIfCmtsCmPtr,
            docsIfCmtsChannelUtilizationInterval,
            docsIfCmtsChannelUtUtilization,
            docsIfCmtsDownChnlCtrTotalBytes,
            docsIfCmtsDownChnlCtrUsedBytes,
            docsIfCmtsDownChnlCtrExtTotalBytes,
            docsIfCmtsDownChnlCtrExtUsedBytes,
            docsIfCmtsUpChnlCtrTotalMslots,
            docsIfCmtsUpChnlCtrUcastGrantedMslots,
            docsIfCmtsUpChnlCtrTotalCntnMslots,
            docsIfCmtsUpChnlCtrUsedCntnMslots,
            docsIfCmtsUpChnlCtrExtTotalMslots,
            docsIfCmtsUpChnlCtrExtUcastGrantedMslots,
            docsIfCmtsUpChnlCtrExtTotalCntnMslots,
            docsIfCmtsUpChnlCtrExtUsedCntnMslots,
            docsIfCmtsUpChnlCtrCollCntnMslots,
            docsIfCmtsUpChnlCtrTotalCntnReqMslots,
            docsIfCmtsUpChnlCtrUsedCntnReqMslots,
            docsIfCmtsUpChnlCtrCollCntnReqMslots,
            docsIfCmtsUpChnlCtrTotalCntnReqDataMslots,
            docsIfCmtsUpChnlCtrUsedCntnReqDataMslots,
            docsIfCmtsUpChnlCtrCollCntnReqDataMslots,
            docsIfCmtsUpChnlCtrTotalCntnInitMaintMslots,
            docsIfCmtsUpChnlCtrUsedCntnInitMaintMslots,
            docsIfCmtsUpChnlCtrCollCntnInitMaintMslots,
            docsIfCmtsUpChnlCtrExtCollCntnMslots,
            docsIfCmtsUpChnlCtrExtTotalCntnReqMslots,
            docsIfCmtsUpChnlCtrExtUsedCntnReqMslots,
            docsIfCmtsUpChnlCtrExtCollCntnReqMslots,
            docsIfCmtsUpChnlCtrExtTotalCntnReqDataMslots,
            docsIfCmtsUpChnlCtrExtUsedCntnReqDataMslots,
            docsIfCmtsUpChnlCtrExtCollCntnReqDataMslots,
            docsIfCmtsUpChnlCtrExtTotalCntnInitMaintMslots,
            docsIfCmtsUpChnlCtrExtUsedCntnInitMaintMslots,
            docsIfCmtsUpChnlCtrExtCollCntnInitMaintMslots
        }
        STATUS      current
        DESCRIPTION
            "Group of objects implemented in Cable Modem Termination
             Systems."
        ::= { docsIfGroups 3 }


docsIfObsoleteGroup OBJECT-GROUP
     OBJECTS {
            docsIfCmRangingRespTimeout,
            docsIfCmtsInsertionInterval
        }
        STATUS      obsolete
        DESCRIPTION
            "Group of objects obsoleted."
        ::= { docsIfGroups 4 }

docsIfDeprecatedGroup OBJECT-GROUP
     OBJECTS {
            docsIfQosProfMaxTxBurst,
            docsIfCmtsCmStatusIpAddress,
		docsIfCmtsServiceCmStatusIndex
        }
        STATUS      deprecated
        DESCRIPTION
            "Group of objects deprecated."
        ::= { docsIfGroups 5 }


END
