DOCS-IF-MIB DEFINITIONS ::= BEGIN

  IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
  -- do not import        BITS,
        Unsigned32,
        Integer32,
        Counter32,
        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;

docsIfMib MODULE-IDENTITY
        LAST-UPDATED    "9908190000Z" -- August 19, 1999
        ORGANIZATION    "IETF IPCDN Working Group"
        CONTACT-INFO
            "        Michael StJohns
             Postal: @Home Network
                     425 Broadway
                     Redwood City, CA
                     U.S.A.
             Phone:  +1 650 569 5368
             E-mail: stjohns@corp.home.net"
        DESCRIPTION
            "This is the MIB Module for MCNS/DOCSIS compliant Radio
             Frequency (RF) interfaces in Cable Modems (CM) and
             Cable Modem Termination Systems (CMTS)."
        REVISION "9908190000Z"
        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

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).
--

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
            "DOCSIS Radio Frequency Interface Specification,
             Table 4-12 and Table 4-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
        }

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
            "DOCSIS Radio Frequency Interface Specification,
             Section 4.3.3."
        ::= { 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
            "DOCSIS Radio Frequency Interface Specification,
             Table 4-12 and Table 4-13."
        ::= { docsIfDownstreamChannelEntry 3 }

docsIfDownChannelModulation OBJECT-TYPE
        SYNTAX      INTEGER {
            unknown(1),
            other(2),
            qam64(3),
            qam256(4)
        }
        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
            "DOCSIS Radio Frequency Interface Specification,
             Section 3.6.2."
        ::= { docsIfDownstreamChannelEntry 4 }

docsIfDownChannelInterleave OBJECT-TYPE
        SYNTAX      INTEGER {
            unknown(1),
            other(2),
            taps8Increment16(3),
            taps16Increment8(4),
            taps32Increment4(5),
            taps64Increment2(6),
            taps128Increment1(7)
        }
        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
             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
            "DOCSIS Radio Frequency Interface Specification,
             Section 4.3.2."
        ::= { 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
            "DOCSIS Radio Frequency Interface Specification,
             Table 4-12 and Table 4-13."
        ::= { docsIfDownstreamChannelEntry 6 }

--
-- 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 (frequency bands)."
        ::= { docsIfBaseObjects 2 }

docsIfUpstreamChannelEntry OBJECT-TYPE
        SYNTAX      DocsIfUpstreamChannelEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "List of attributes for a single upstream channel.
             An entry in this table exists for each ifEntry with an
             ifType of docsCableUpstream(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
        }

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-write
        STATUS      current
        DESCRIPTION
            "The center of the frequency band associated with this
             upstream channel. 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
            "DOCSIS Radio Frequency Interface Specification,
             Table 2-2."
        ::= { docsIfUpstreamChannelEntry 2 }

docsIfUpChannelWidth OBJECT-TYPE
        SYNTAX      Integer32 (0..20000000)
        UNITS       "hertz"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The bandwidth of this upstream channel. This object
             returns 0 if the channel width is undefined or unknown.
             Minimum permitted channel width is 200,000 Hz currently.
             See the associated conformance object for write conditions
             and limitations."
        REFERENCE
            "DOCSIS Radio Frequency Interface Specification,
             Table 4-3."
        ::= { docsIfUpstreamChannelEntry 3 }

docsIfUpChannelModulationProfile OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-write
        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."
        ::= { docsIfUpstreamChannelEntry 4 }

docsIfUpChannelSlotSize OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The number of 6.25 microsecond ticks in each upstream mini-
             slot. Returns zero if the value is undefined or unknown.
             See the associated conformance object for write
             conditions and limitations."
        REFERENCE
            "DOCSIS Radio Frequency Interface Specification,
             Section 6.1.2.4."
        ::= { docsIfUpstreamChannelEntry 5 }

docsIfUpChannelTxTimingOffset OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "A measure of the current round trip time at the CM, or the
             maximum round trip time seen by the CMTS.  Used for timing
             of CM upstream transmissions to ensure synchronized
             arrivals at the CMTS. Units are in terms of
             (6.25 microseconds/64)."
        REFERENCE
            "DOCSIS Radio Frequency Interface Specification,
             Section 6.5."
        ::= { docsIfUpstreamChannelEntry 6 }

docsIfUpChannelRangingBackoffStart OBJECT-TYPE
        SYNTAX      Integer32 (0..16)
        MAX-ACCESS  read-write
        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
            "DOCSIS Radio Frequency Interface Specification,
             Section 6.4.4."
        ::= { docsIfUpstreamChannelEntry 7 }

docsIfUpChannelRangingBackoffEnd OBJECT-TYPE
        SYNTAX      Integer32 (0..16)
        MAX-ACCESS  read-write
        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
            "DOCSIS Radio Frequency Interface Specification,
             Section 6.4.4."
        ::= { docsIfUpstreamChannelEntry 8 }

docsIfUpChannelTxBackoffStart OBJECT-TYPE
        SYNTAX      Integer32 (0..16)
        MAX-ACCESS  read-write
        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
            "DOCSIS Radio Frequency Interface Specification,
             Section 6.4.4."
        ::= { docsIfUpstreamChannelEntry 9 }

docsIfUpChannelTxBackoffEnd OBJECT-TYPE
        SYNTAX      Integer32 (0..16)
        MAX-ACCESS  read-write
        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
            "DOCSIS Radio Frequency Interface Specification,
             Section 6.4.4."
        ::= { docsIfUpstreamChannelEntry 10 }

-- 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,
            docsIfQosProfBaselinePrivacy      TruthValue,
            docsIfQosProfStatus               RowStatus
        }

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

docsIfQosProfPriority  OBJECT-TYPE
        SYNTAX      Integer32 (0..7)
        MAX-ACCESS  read-create
        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."
        DEFVAL { 0 }
        ::= { docsIfQosProfileEntry 2 }

docsIfQosProfMaxUpBandwidth OBJECT-TYPE
        SYNTAX      Integer32 (0..100000000)
        MAX-ACCESS  read-create
        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."
        DEFVAL { 0 }
        ::= { docsIfQosProfileEntry 3 }

docsIfQosProfGuarUpBandwidth OBJECT-TYPE
        SYNTAX      Integer32 (0..100000000)
        MAX-ACCESS  read-create
        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."
        DEFVAL { 0 }
        ::= { docsIfQosProfileEntry 4 }

docsIfQosProfMaxDownBandwidth OBJECT-TYPE
        SYNTAX      Integer32 (0..100000000)
        MAX-ACCESS  read-create
        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."
        DEFVAL { 0 }
        ::= { docsIfQosProfileEntry 5 }

docsIfQosProfMaxTxBurst OBJECT-TYPE
        SYNTAX      Integer32 (0..255)
        MAX-ACCESS  read-create
        STATUS      current
        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."
        DEFVAL { 0 }
        ::= { docsIfQosProfileEntry 6 }

docsIfQosProfBaselinePrivacy  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        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-create
        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 }


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 docsCableUpstream(129) 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
        }

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
            "DOCSIS Radio Frequency Interface specification,
             Section 6.4.4"
        ::= { 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
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.3 and 4.3.6"
        ::= { 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
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.3 and 4.3.6"
        ::= { 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
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.3 and 4.3.6"
        ::= { 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
            "DOCSIS Radio Frequency Interface specification,
             Table 2-1 and 2-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 implementor to provide information
             as accurate as possible."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Table 2-1 and 2-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
            "DOCSIS Radio Frequency Interface Specification,
             Figure 6-23."
        ::= { docsIfSignalQualityEntry 7 }

--
-- 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."
        ::= { 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 explicitely indicate this capability."
        ::= { 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
            "DOCSIS Radio Frequency Interface specification,
             Figure 7-6 and 7-7, timer T3."
        DEFVAL { 20 }
        ::= { docsIfCmMacEntry 3 }

docsIfCmRangingTimeout OBJECT-TYPE
        SYNTAX      TimeInterval
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Waiting time for a Ranging Response packet."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Figure 7-6 and 7-7, 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,
--            docsIfCmStatusInvalidRangingResp        Counter32,
            docsIfCmStatusInvalidRangingResponses   Counter32,
--            docsIfCmStatusInvalidRegistrationResp   Counter32,
            docsIfCmStatusInvalidRegistrationResponses Counter32,
            docsIfCmStatusT1Timeouts                Counter32,
            docsIfCmStatusT2Timeouts                Counter32,
            docsIfCmStatusT3Timeouts                Counter32,
            docsIfCmStatusT4Timeouts                Counter32,
            docsIfCmStatusRangingAborteds           Counter32
        }

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."
        REFERENCE
            "DOCSIS Radio Frequency Interface Specification,
             Chapter 7.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
            "DOCSIS Radio Frequency Interface Specification,
             Cable Modem status codes."
        ::= { 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
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.8."
        ::= { 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
            "DOCSIS Radio Frequency Interface specification,
             Section 6.5."
        ::= { docsIfCmStatusEntry 5 }

docsIfCmStatusInvalidMaps OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the CM received invalid MAP messages."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Section 6.3.2.3 and 6.4.2."
        ::= { docsIfCmStatusEntry 6 }

docsIfCmStatusInvalidUcds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the CM received invalid UCD messages."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Section 6.3.2.2."
        ::= { docsIfCmStatusEntry 7 }

-- docsIfCmStatusInvalidRangingResp replaced for Counter32
-- naming requirements

docsIfCmStatusInvalidRangingResponses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the CM received invalid ranging response
             messages."
        ::= { docsIfCmStatusEntry 8 }

-- docsIfCmStatusInvalidRegistrationResp replaced for
-- Counter32 naming requirements
docsIfCmStatusInvalidRegistrationResponses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the CM received invalid registration
             response messages."
        ::= { docsIfCmStatusEntry 9 }

docsIfCmStatusT1Timeouts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times counter T1 expired in the CM."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Figure 7-3."
        ::= { docsIfCmStatusEntry 10 }

docsIfCmStatusT2Timeouts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times counter T2 expired in the CM."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Figure 7-6."
        ::= { docsIfCmStatusEntry 11 }

docsIfCmStatusT3Timeouts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times counter T3 expired in the CM."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Figure 7-6 and 7-7."
        ::= { docsIfCmStatusEntry 12 }

docsIfCmStatusT4Timeouts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times counter T4 expired in the CM."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Figure 7-7."
        ::= { 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."
        ::= { docsIfCmStatusEntry 14 }

--
-- 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,

--            docsIfCmServiceTxExceeded       Counter32,
            docsIfCmServiceTxExceededs      Counter32,
            docsIfCmServiceRqRetries        Counter32,
--            docsIfCmServiceRqExceeded       Counter32
            docsIfCmServiceRqExceededs      Counter32
        }

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 which 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
            "DOCSIS Radio Frequency Interface specification,
             Section 6.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
            "DOCSIS Radio Frequency Interface specification,
             Section 6.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 which did not result in
             acknowledgment."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Section 6.4."
        ::= { docsIfCmServiceEntry 5 }

-- docsIfCmServiceTxExceeded renamed for Counter32 naming requirements
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
            "DOCSIS Radio Frequency Interface specification,
             Section 6.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
            "DOCSIS Radio Frequency Interface specification,
             Section 6.4."
        ::= { docsIfCmServiceEntry 7 }


-- docsIfCmServiceRqExceeded renamed for Counter 32 naming
-- requirements
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
            "DOCSIS Radio Frequency Interface specification,
             Section 6.4."
        ::= { docsIfCmServiceEntry 8 }

--
-- 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 explicitely indicate
             this capability."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Chapter 6."
        ::= { 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
            "DOCSIS Radio Frequency Interface Specification,
             Section 6.5 and Appendix B."
        ::= { 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
            "DOCSIS Radio Frequency Interface Specification,
             Section 6.5 and Appendix B."
        ::= { 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
            "DOCSIS Radio Frequency Interface Specification,
             Appendix B, Ranging Interval."
        ::= { 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
            "DOCSIS Radio Frequency Interface specification,
             Section 7.2.5 and Appendix 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
            "DOCSIS Radio Frequency Interface Specification,
             Appendix 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."
        ::= { docsIfCmtsStatusEntry 1 }

docsIfCmtsStatusRangingAborteds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object counts ranging attempts that were explicitely
             aborted by the CMTS."
        ::= { 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."
        ::= { docsIfCmtsStatusEntry 3 }

docsIfCmtsStatusFailedRegReqs OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object counts failed registration attempts, i.e.,
             authentication failures and class of service failures,
             on this interface."
        ::= { 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."
        ::= { 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,
            docsIfCmtsCmStatusDownChannelIfIndex  InterfaceIndexOrZero,
            docsIfCmtsCmStatusUpChannelIfIndex    InterfaceIndexOrZero,
            docsIfCmtsCmStatusRxPower             TenthdBmV,
            docsIfCmtsCmStatusTimingOffset        Unsigned32,
            docsIfCmtsCmStatusEqualizationData    OCTET STRING,
            docsIfCmtsCmStatusValue               INTEGER,
            docsIfCmtsCmStatusUnerroreds          Counter32,
            docsIfCmtsCmStatusCorrecteds          Counter32,
            docsIfCmtsCmStatusUncorrectables      Counter32,
            docsIfCmtsCmStatusSignalNoise         TenthdB,
            docsIfCmtsCmStatusMicroreflections    Integer32
        }

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

docsIfCmtsCmStatusIpAddress OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      current
        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."
        ::= { 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 percieved for upstream data from
             this Cable Modem.
             If the receive power is unknown, this object returns
             a value of zero."
        REFERENCE
            "DOCSIS Radio Frequency Interface Specification,
             Table 4-13."
        ::= { docsIfCmtsCmStatusEntry 6 }

docsIfCmtsCmStatusTimingOffset OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        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). Returns zero if the value
             is unknown."
        REFERENCE
            "DOCSIS Radio Frequency Interface Specification,
             Section 6.5."
        ::= { 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
            "DOCSIS Radio Frequency Interface Specification,
             Figure 6-23."
        ::= { docsIfCmtsCmStatusEntry 8 }

docsIfCmtsCmStatusValue OBJECT-TYPE
        SYNTAX      INTEGER {
            other(1),
            ranging(2),
            rangingAborted(3),
            rangingComplete(4),
            ipComplete(5),
            registrationComplete(6),
            accessDenied(7)
        }
        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 mesage to
                the CM.
             accessDenied(7)
                The CMTS has sent a Registration Aborted message
                to the CM.
             The CMTS only needs to report states it is able to detect."
        REFERENCE
            "DOCSIS Radio Frequency Interface Specification,
             Chapter 7.2."
        ::= { docsIfCmtsCmStatusEntry 9 }

docsIfCmtsCmStatusUnerroreds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received without error from this Cable Modem."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.3"
        ::= { docsIfCmtsCmStatusEntry 10 }

docsIfCmtsCmStatusCorrecteds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received with correctable errors from this
             Cable Modem."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.3"
        ::= { docsIfCmtsCmStatusEntry 11 }

docsIfCmtsCmStatusUncorrectables OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received with uncorrectable errors from this
             Cable Modem."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.3"
        ::= { 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."
        ::= { 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 implementor to provide information
             as accurate as possible."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Table 2-1 and 2-2"
        ::= { docsIfCmtsCmStatusEntry 14 }

--
-- 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.
             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,
            docsIfCmtsServiceAdminStatus      INTEGER,
            docsIfCmtsServiceQosProfile       Integer32,
            docsIfCmtsServiceCreateTime       TimeStamp,
            docsIfCmtsServiceInOctets         Counter32,
            docsIfCmtsServiceInPackets        Counter32
        }

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      current
        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."
        ::= { 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      TimeTicks
        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 }

--
-- 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
        }

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)
        }
        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
            "DOCSIS Radio Frequency Interface specification,
             Table 6-16."
        ::= { 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)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The modulation type used on this channel. Returns
             other(1) if the modulation type is neither qpsk or
             qam16. See the reference for the modulation profiles
             implied by qpsk or qam16.  See the conformance object for
             write conditions and limitations."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.2."
        DEFVAL { qpsk }
        ::= { docsIfCmtsModulationEntry 4 }

docsIfCmtsModPreambleLen OBJECT-TYPE
        SYNTAX      Integer32 (0..1024)
        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
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.5."
        ::= { 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."
        DEFVAL { false }
        ::= { docsIfCmtsModulationEntry 6 }

docsIfCmtsModFECErrorCorrection OBJECT-TYPE
        SYNTAX      Integer32 (0..10)
        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
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.3."
        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
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.3."
        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
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.4."
        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."
        ::= { 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
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.7."
        ::= { docsIfCmtsModulationEntry 11 }

docsIfCmtsModLastCodewordShortened OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Indicates if the last FEC codeword is truncated."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.10."
        DEFVAL { true }
        ::= { docsIfCmtsModulationEntry 12 }

docsIfCmtsModScrambler OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Indicates if the scrambler is employed."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.4."
        DEFVAL { false }
        ::= { docsIfCmtsModulationEntry 13 }

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

--
-- 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 (54000000..860000000)
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write in Cable Modem Termination Systems;
             read-only in Cable Modems.  The values above are
             appropriate for a cable plant using a  Sub-Split channel
             plan.  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)
        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 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  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)
                     }
        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..42000000)
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write in Cable Modem Termination Systems;
             read-only in Cable Modems.The values above are
             appropriate for a cable plant using a  Sub-Split channel
             plan.  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..3200000)
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write 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-write 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-write in Cable Modem Termination Systems;
             read-only in Cable Modems."

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

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

OBJECT  docsIfUpChannelTxBackoffEnd
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write 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  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  docsIfQosProfMaxTxBurst
        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  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."

OBJECT docsIfCmtsModType
        WRITE-SYNTAX INTEGER {
                        qpsk (2),
                        qam16 (3)
                         }
        DESCRIPTION
            "Management station may only set 16QAM or QPSK modulation,
             but others might be possible based on device configuration."


        ::= { docsIfCompliances 1 }

docsIfBasicGroup OBJECT-GROUP
        OBJECTS {
            docsIfDownChannelId,
            docsIfDownChannelFrequency,
            docsIfDownChannelWidth,
            docsIfDownChannelModulation,
            docsIfDownChannelInterleave,
            docsIfDownChannelPower,
            docsIfUpChannelId,
            docsIfUpChannelFrequency,
            docsIfUpChannelWidth,
            docsIfUpChannelModulationProfile,
            docsIfUpChannelSlotSize,
            docsIfUpChannelTxTimingOffset,
            docsIfUpChannelRangingBackoffStart,
            docsIfUpChannelRangingBackoffEnd,
            docsIfUpChannelTxBackoffStart,
            docsIfUpChannelTxBackoffEnd,
            docsIfQosProfPriority,
            docsIfQosProfMaxUpBandwidth,
            docsIfQosProfGuarUpBandwidth,
            docsIfQosProfMaxDownBandwidth,
            docsIfQosProfMaxTxBurst,
            docsIfQosProfBaselinePrivacy,
            docsIfQosProfStatus,
            docsIfSigQIncludesContention,
            docsIfSigQUnerroreds,
            docsIfSigQCorrecteds,
            docsIfSigQUncorrectables,
            docsIfSigQSignalNoise,
            docsIfSigQMicroreflections,
            docsIfSigQEqualizationData
        }
        STATUS      current
        DESCRIPTION
            "Group of objects implemented in both Cable Modems and
             Cable Modem Termination Systems."
        ::= { docsIfGroups 1 }

-- The following  table was modified to correct naming conventions for
-- Counter32 variables.
docsIfCmGroup OBJECT-GROUP
        OBJECTS {
            docsIfCmCmtsAddress,
            docsIfCmCapabilities,
--            docsIfCmRangingRespTimeout,
            docsIfCmRangingTimeout,
            docsIfCmStatusValue,
            docsIfCmStatusCode,
            docsIfCmStatusTxPower,
            docsIfCmStatusResets,
            docsIfCmStatusLostSyncs,
            docsIfCmStatusInvalidMaps,
            docsIfCmStatusInvalidUcds,
--            docsIfCmStatusInvalidRangingResp,
            docsIfCmStatusInvalidRangingResponses,
--            docsIfCmStatusInvalidRegistrationResp,
            docsIfCmStatusInvalidRegistrationResponses,
            docsIfCmStatusT1Timeouts,
            docsIfCmStatusT2Timeouts,
            docsIfCmStatusT3Timeouts,
            docsIfCmStatusT4Timeouts,
            docsIfCmStatusRangingAborteds,
            docsIfCmServiceQosProfile,
            docsIfCmServiceTxSlotsImmed,
            docsIfCmServiceTxSlotsDed,
            docsIfCmServiceTxRetries,
--            docsIfCmServiceTxExceeded,
            docsIfCmServiceTxExceededs,
            docsIfCmServiceRqRetries,
--            docsIfCmServiceRqExceeded
            docsIfCmServiceRqExceededs
        }
        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,
            docsIfCmtsCmStatusIpAddress,
            docsIfCmtsCmStatusDownChannelIfIndex,
            docsIfCmtsCmStatusUpChannelIfIndex,
            docsIfCmtsCmStatusRxPower,
            docsIfCmtsCmStatusTimingOffset,
            docsIfCmtsCmStatusEqualizationData,
            docsIfCmtsCmStatusValue,
            docsIfCmtsCmStatusUnerroreds,
            docsIfCmtsCmStatusCorrecteds,
            docsIfCmtsCmStatusUncorrectables,
            docsIfCmtsCmStatusSignalNoise,
            docsIfCmtsCmStatusMicroreflections,
            docsIfCmtsServiceCmStatusIndex,
            docsIfCmtsServiceAdminStatus,
            docsIfCmtsServiceQosProfile,
            docsIfCmtsServiceCreateTime,
            docsIfCmtsServiceInOctets,
            docsIfCmtsServiceInPackets,
            docsIfCmtsModType,
            docsIfCmtsModControl,
            docsIfCmtsModPreambleLen,
            docsIfCmtsModDifferentialEncoding,
            docsIfCmtsModFECErrorCorrection,
            docsIfCmtsModFECCodewordLength,
            docsIfCmtsModScramblerSeed,
            docsIfCmtsModMaxBurstSize,
            docsIfCmtsModGuardTimeSize,
            docsIfCmtsModLastCodewordShortened,
            docsIfCmtsModScrambler,
            docsIfCmtsQosProfilePermissions,
            docsIfCmtsCmPtr
        }
        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 }

END
