RFC 2670
Radio Frequency (RF) Interface Management Information Base for MCNS/DOCSIS compliant RF interfaces
RFC 2670 π Radio Frequency (RF) Interface Management Information Base for MCNS/DOCSIS compliant RF interfaces
Authors: M. St. Johns, Ed. (@Home Network) π Category: Proposed Standard π Date: August 1999 πΈ Obsoletes / Updates: Nothing listed. The title block doesn't say it obsoletes or updates any other RFC β¨
Status of This Memo π
okay so this document is an Internet standards track protocol for the Internet community, and it's basically asking for discussion and suggestions for improvements π«Ά For the current standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited, so share away π
Copyright Notice Β©οΈ
Copyright (C) The Internet Society (1999). All Rights Reserved. π
Abstract π¦
this memo defines a chunk of the Management Information Base (MIB) for use with network management protocols in the Internet community β¨ Specifically, it sets up a basic group of managed objects for SNMP-based management of MCNS/DOCSIS compliant Radio Frequency (RF) interfaces. It's giving "organized infrastructure" π
The memo is written as a MIB module that's compliant with SNMP SMIv2 [5][6][7]. The objects match the SNMP framework and the existing SNMP standards, so everything lines up nicely π
This memo is a product of the IPCDN working group within the Internet Engineering Task Force. Comments are solicited and should be addressed to the working group's mailing list at ipcdn@terayon.com and/or the author π
Table of Contents ποΈ
1 The SNMP Management Framework ................................... 3
2 Glossary ........................................................ 4
2.1 CATV .......................................................... 4
2.2 Channel ....................................................... 4
2.3 CM ............................................................ 4
2.4 CMTS .......................................................... 4
2.5 Codeword ...................................................... 4
2.6 Data Packet ................................................... 4
2.7 dBmV .......................................................... 4
2.8 DOCSIS ........................................................ 5
2.9 Downstream .................................................... 5
2.10 Head-end ..................................................... 5
2.11 MAC Packet ................................................... 5
2.12 MCNS ......................................................... 5
2.13 Mini-slot .................................................... 5
2.14 QPSK ......................................................... 5
2.15 QAM .......................................................... 5
2.16 RF ........................................................... 5
2.17 Symbol-times ................................................. 5
2.18 Upstream ..................................................... 6
3 Overview ........................................................ 6
3.1 Structure of the MIB .......................................... 6
3.1.1 docsIfBaseObjects ........................................... 6
3.1.2 docsIfCmObjects ............................................. 7
3.1.3 docsIfCmtsObjects ........................................... 7
3.2 Relationship to the Interfaces MIB ............................ 7
3.2.1 Layering Model .............................................. 7
3.2.2 Virtual Circuits ............................................ 8
3.2.3 ifTestTable ................................................. 9
3.2.4 ifRcvAddressTable ........................................... 9
3.2.5 ifEntry ..................................................... 9
3.2.5.1 ifEntry for Downstream interfaces ......................... 9
3.2.5.1.1 ifEntry for Downstream interfaces in Cable Modem
Termination Systems .......................................... 9
3.2.5.1.2 ifEntry for Downstream interfaces in Cable Modems ...... 11
3.2.5.2 ifEntry for Upstream interfaces .......................... 12
3.2.5.2.1 ifEntry for Upstream interfaces in Cable Modem
Termination Systems ......................................... 12
3.2.5.2.2 ifEntry for Upstream interfaces in Cable Modems ........ 14
3.2.5.3 ifEntry for the MAC Layer ................................ 15
4 Definitions .................................................... 18
5 Acknowledgments ................................................ 69
6 References ..................................................... 69
7 Security Considerations ........................................ 70
8 Intellectual Property .......................................... 71
9 Author's Address ............................................... 71
10 Full Copyright Statement ...................................... 72
1. The SNMP Management Framework β¨
the SNMP Management Framework currently has five major components, so let's go through them π
- An overall architecture, described in RFC 2571 [1].
- Mechanisms for describing and naming objects and events for management purposes. The first version of this Structure of Management Information (SMI) is called SMIv1 and is described in STD 16, RFC 1155 [2], STD 16, RFC 1212 [3] and RFC 1215 [4]. The second version, called SMIv2, is described in STD 58, RFC 2578 [5], STD 58, RFC 2579 [6] and STD 58, RFC 2580 [7].
- Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and is described in RFC 1157 [8]. A second version, which is not an Internet standards track protocol, is called SNMPv2c and is described in RFC 1901 [9] and RFC 1906 [10]. The third version of the message protocol is called SNMPv3 and is described in RFC 1906 [10], RFC 2572 [11] and RFC 2574 [12].
- Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [8]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [13].
- A set of fundamental applications described in RFC 2573 [14] and the view-based access control mechanism described in RFC 2575 [15].
Managed objects are accessed through a virtual information store called the Management Information Base, or MIB ποΈ Objects in the MIB are defined using the mechanisms defined in the SMI.
This memo specifies a MIB module that is compliant to SMIv2. A MIB conforming to SMIv1 can be produced through the appropriate translations. The resulting translated MIB MUST be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine-readable information in SMIv2 will be turned into textual descriptions in SMIv1 during translation. Still, this loss of machine-readable information is not considered to change the semantics of the MIB π§
2. Glossary π
the terms in this document come either from normal cable system usage or from the documents tied to the Data Over Cable Service Interface Specification process π
2.1. CATV πΊ
Originally "Community Antenna Television", now used to refer to any cable or hybrid fiber and cable system that delivers video signals to a community π
2.2. Channel π‘
A specific frequency allocation within an RF medium, specified by channel width in Hertz (cycles per second) and by center frequency. In US cable systems, upstream channels are generally allocated from the 5-42MHz range, while downstream channels are generally allocated from the 50-750MHz range, depending on the capabilities of the given system. The typical broadcast channel width in the US is 6MHz. Upstream channel widths for DOCSIS vary π
2.3. CM π«§
Cable Modem. A CM acts as a "slave" station in a DOCSIS compliant cable data system π§
2.4. CMTS π
Cable Modem Termination System. This is a generic term covering a cable bridge or cable router in a head-end. A CMTS acts as the master station in a DOCSIS compliant cable data system. It's the only station that transmits downstream, and it controls the scheduling of upstream transmissions by its associated CMs π₯
2.5. Codeword π¦
See [16]. This is a characteristic of the Forward Error Correction scheme used above the RF media layer π‘οΈ
2.6. Data Packet π¦
The payload portion of the MAC Packet π
2.7. dBmV π
Decibel relative to one milli-volt. A measure of RF power β‘
2.8. DOCSIS π§
"Data Over Cable Interface Specification." It refers to the ITU-T J.112 Annex B standard for cable modem systems [20] πΈ
2.9. Downstream β¬οΈ
The direction from the head-end towards the subscriber π
2.10. Head-end π
The origination point in most cable systems for the subscriber video signals πΊ
2.11. MAC Packet π
A DOCSIS PDU π«Ά
2.12. MCNS π·
"Multimedia Cable Network System." It has generally been replaced in usage by DOCSIS π
2.13. Mini-slot π
See [16]. In general, this is an interval of time that the CMTS allocates to a given CM for that CM to transmit in the upstream direction π
2.14. QPSK πΆ
Quadrature Phase Shift Keying. It's a particular modulation scheme on an RF medium. See [19] π«
2.15. QAM π
Quadrature Amplitude Modulation. It's a particular modulation scheme on an RF medium. It's usually written with a number showing the size of the modulation constellation (e.g. 16 QAM). See [19], or any other book on digital communications over RF, for a complete explanation π
2.16. RF π»
Radio Frequency π
2.17. Symbol-times β±οΈ
See [16]. This is a characteristic of the RF modulation scheme π§
2.18. Upstream β¬οΈ
The direction from the subscriber towards the head-end π«§
3. Overview π
this MIB gives you a set of objects required for managing MCNS/DOCSIS compliant Cable Modem (CM) and Cable Modem Termination System (CMTS) RF interfaces. The spec is partly derived from the parameters and protocols described in the DOCSIS Radio Frequency Interface Specification [16] π
3.1. Structure of the MIB π§©
This MIB is organized into three groups:
- Management information relevant to both Cable Modems (CM) and Cable Modem Termination Systems (CMTS) (docsIfBaseObjects).
- Management information relevant to Cable Modems only (docsIfCmObjects).
- Management information relevant to Cable Modem Termination Systems only (docsIfCmtsObjects).
Tables within each group organize objects by function, for example Quality of Service, channel characteristics, MAC layer management, and so on. Rows created automatically (for example, by the device according to the hardware configuration) may, and generally will, have a mix of configuration and status objects in them. Rows that are meant to be created by the management station are generally restricted to configuration (read-create) objects π
3.1.1. docsIfBaseObjects π«Ά
docsIfDownstreamChannelTable: this table describes the active downstream channels for a CMTS and the received downstream channel for a CM β¬οΈdocsIfUpstreamChannelTable: this table describes the active upstream channels for a CMTS and the current upstream transmission channel for a CM β¬οΈdocsIfQosProfileTable: this table describes the valid Quality of Service service profiles for the cable data system πdocsIfSignalQualityTable: this table is used to monitor RF signal quality characteristics of received signals πΆ
3.1.2. docsIfCmObjects π
okay so this group is all about the cable modem (CM) side π‘π
docsIfCmMacTable π is used to monitor the DOCSIS MAC interface, and you can think of it as a bonus extension to the ifEntry. it's giving add-on energy β¨
docsIfCmServiceTable π describes the upstream service queues available at this CM. the CMTS has a matching one called docsIfCmtsServiceEntry, which describes those same service queues but from the CMTS's point of view π
3.1.3. docsIfCmtsObjects π§
the CMTS side has a whole lineup of tables π
docsIfCmtsStatusTable π gives you a set of aggregated counters. they roll up the values and events happening on the underlying sub-interfaces. very main character, very summary-of-everything π
docsIfCmtsCmStatusTable ποΈ holds info about known cable modems (like the registered ones) on the system this CMTS serves π¦
docsIfCmtsServiceEntry ποΈ gives you access to info about the upstream service queues π
docsIfCmtsModulationTable ποΈ lets you control the modulation profiles for the RF channels tied to this CMTS π₯
docsIfCmtsMacToCmTable π gives you fast access into the docsIfCmtsCmTable using a MAC address (of the CM) β super handy when you've got a MAC and want the whole entry, no cap π«Ά
3.2. Relationship to the Interfaces MIB πΈ
okay this part explains how this MIB connects to the Interfaces MIB [17] π. a few areas overlap, and each gets its own subsection below. if you're implementing this, go read the Interfaces MIB document first so you get the general intent behind all of it ππ
3.2.1. Layering Model π₯
an instance of ifEntry exists for each RF Downstream interface, for each RF Upstream interface, and for each RF MAC layer π. the ifStackTable [17] MUST be implemented so you can identify the relationships among the sub-interfaces π«Ά
here's an example of a MAC interface with one downstream channel and two upstream channels π
| <== to network layer
+-------------+--------------+
| RF MAC |
+----+---------+-----------+-+
| | |
+---------+---+ +---+-------+ +-+---------+
| Downstream1 | | Upstream1 | | Upstream2 |
+-------------+ +-----------+ +-----------+
and as you can see, the RF MAC interface is layered on top of the downstream and upstream interfaces π° it's a whole stack situation π₯β¨
in this example, the index values could be assigned like so π’
ifIndex ifType Description
1 docsCableMaclayer(127) CATV MAC Layer
2 docsCableDownstream(128) CATV Downstream interface
3 docsCableUpstream(129) CATV Upstream interface
4 docsCableUpstream(129) CATV Upstream interface
and the matching ifStack entries would then be π
| IfStackHigherLayer | ifStackLowerLayer |
| 0 | 1 |
| 1 | 2 |
| 1 | 3 |
| 1 | 4 |
| 2 | 0 |
| 3 | 0 |
| 4 | 0 |
the same interface model works for Telephony or Telco Return systems too ππ¦ a pure Telco Return system (a Cable Modem as well as a Cable Modem Termination System) wouldn't have any upstream, just downstream cable channels π systems that do support both Telco Return and cable upstream channels can use the model above with no changes needed π
Telco Return Upstream channel(s) are handled by the appropriate MIBs, like the PPP or Modem MIBs π§
3.2.2. Virtual Circuits π«
this medium doesn't support virtual circuits, so this area doesn't apply to this MIB π
3.2.3. ifTestTable π«
the ifTestTable isn't supported by this MIB π ββοΈ
3.2.4. ifRcvAddressTable π«
the ifRcvAddressTable isn't supported by this MIB either π ββοΈ
3.2.5. ifEntry π
this section only covers the differences from what the Interfaces MIB asks for. if a column is left out of the descriptions below, go check the Interfaces MIB for it πβ¨
3.2.5.1. ifEntry for Downstream interfaces π‘
the ifEntry for Downstream interfaces supports the ifGeneralInformationGroup and the ifPacketGroup of the Interfaces MIB π at the CMTS this is an output only interface, so every input status counter (ifIn*) returns zero π. at the CM it's an input only interface, so every output status counter (ifOut*) returns zero π«Ά
3.2.5.1.1. ifEntry for Downstream interfaces in Cable Modem Termination Systems π
ifTable Comments
============== ===========================================
ifIndex Each RF Cable Downstream interface is represented
by an ifEntry.
ifType The IANA value of docsCableDownstream(128).
ifSpeed Return the speed of this downstream channel.
The returned value the raw bandwidth in bits/s
of this interface. This is the symbol rate
multiplied with the number of bits per symbol.
ifPhysAddress Return an empty string.
ifAdminStatus The administrative status of this interface.
ifOperStatus The current operational status of this interface.
ifMtu The size of the largest frame which can be
sent on this interface, specified in octets.
The value includes the length of the MAC header.
ifInOctets Return zero.
ifInUcastPkts Return zero.
ifInMulticastPkts Return zero.
ifInBroadcastPkts Return zero.
ifInDiscards Return zero.
ifInErrors Return zero.
ifInUnknownProtos Return zero.
ifOutOctets The total number of octets transmitted on this
interface. This includes MAC packets as well as
data packets, and includes the length of the MAC
header.
ifOutUcastPkts The number of Unicast packets transmitted on this
interface. This includes MAC packets as well as
data packets.
ifOutMulticastPkts
Return the number of Multicast packets transmitted
on this interface.
This includes MAC packets as well as data packets.
ifOutBroadcastPkts
Return the number of broadcast packets transmitted
on this interface.
This includes MAC packets as well as data packets.
ifOutDiscards The total number of outbound packets which
were discarded. Possible reasons are:
buffer shortage.
ifOutErrors The number of packets which could not be
transmitted due to errors.
ifPromiscuousMode Return false.
3.2.5.1.2. ifEntry for Downstream interfaces in Cable Modems π±
ifTable Comments
============== ===========================================
ifIndex Each RF Cable Downstream interface is represented
by an ifEntry.
ifType The IANA value of docsCableDownstream(128).
ifSpeed Return the speed of this downstream channel.
The returned value the raw bandwidth in bits/s
of this interface. This is the symbol rate
multiplied with the number of bits per symbol.
ifPhysAddress Return an empty string.
ifAdminStatus The administrative status of this interface.
ifOperStatus The current operational status of this interface.
ifMtu The size of the largest frame which can be
received from this interface, specified in octets.
The value includes the length of the MAC header.
ifInOctets The total number of octets received on this
interface. This includes data packets as well as
MAC layer packets, and includes the length of the
MAC header.
ifInUcastPkts The number of Unicast packets received on this
interface. This includes data packets as well as
MAC layer packets.
ifInMulticastPkts Return the number of Multicast packets received
on this interface. This includes data packets as
well as MAC layer packets.
ifInBroadcastPkts Return the number of Broadcast packets received
on this interface. This includes data packets
as well as MAC layer packets.
ifInDiscards The total number of received packets which have
been discarded.
The possible reasons are: buffer shortage.
ifInErrors The number of inbound packets that contained
errors preventing them from being deliverable
to higher layers.
Possible reasons are: MAC FCS error.
ifInUnknownProtos The number of frames with an unknown packet type.
These are MAC frames with an unknown packet type.
ifOutOctets Return zero.
ifOutUcastPkts Return zero.
ifOutMulticastPkts
Return zero.
ifOutBroadcastPkts
Return zero.
ifOutDiscards Return zero.
ifOutErrors Return zero.
ifPromiscuousMode Refer to the Interfaces MIB.
3.2.5.2. ifEntry for Upstream interfaces β¬οΈ
the ifEntry for Upstream interfaces supports the ifGeneralInformationGroup and the ifPacketGroup of the Interfaces MIB π at the CMTS this is an input only interface, so every output status counter (ifOut*) returns zero π. at the CM it's an output only interface, so every input status counter (ifIn*) returns zero π
3.2.5.2.1. ifEntry for Upstream interfaces in Cable Modem Termination Systems π
okay bestie, this is the CMTS side of the upstream story π«Ά every RF Cable Upstream interface gets its own ifEntry, and here's how each column gets filled in β¨
ifTable Comments
============== ===========================================
ifIndex Each RF Cable Upstream interface is represented
by an ifEntry.
ifType The IANA value of docsCableUpstream(129).
ifSpeed Return the speed of this upstream channel.
The returned value is the raw bandwidth
in bits/s of this interface, regarding the
highest speed modulation profile that is
defined. This is the symbol rate multiplied
with the number of bits per symbol for this
modulation profile.
ifPhysAddress Return an empty string.
ifAdminStatus The administrative status of this interface.
ifOperStatus The current operational status of this interface.
ifMtu The size of the largest frame which can be
received on this interface, specified in octets.
The value includes the length of the MAC header.
ifInOctets The total number of octets received on this
interface. This includes data packets as well as
MAC layer packets, and includes the length of the
MAC header.
ifInUcastPkts The number of Unicast packets received on this
interface. This includes data packets as well as
MAC layer packets.
ifInMulticastPkts Return the number of Multicast packets received
on this interface. This includes data packets as
well as MAC layer packets.
ifInBroadcastPkts Return the number of Broadcast packets received
on this interface. This includes data packets
as well as MAC layer packets.
ifInDiscards The total number of received packets which have
been discarded.
The possible reasons are: buffer shortage.
ifInErrors The number of inbound packets that contained
errors preventing them from being deliverable
to higher layers.
Possible reasons are: MAC FCS error.
ifInUnknownProtos The number of frames with an unknown packet type.
This are MAC frames with an unknown packet type.
ifOutOctets Return zero.
ifOutUcastPkts Return zero.
ifOutMulticastPkts
Return zero.
ifOutBroadcastPkts
Return zero.
ifOutDiscards Return zero.
ifOutErrors Return zero.
3.2.5.2.2. ifEntry for Upstream interfaces in Cable Modems π‘
and now the cable modem version of the upstream table, which flips things around a bit π the receive counters are all zeros, and the transmit side does the heavy lifting π
ifTable Comments
============== ===========================================
ifIndex Each RF Cable Upstream interface is represented
by an ifEntry.
ifType The IANA value of docsCableUpstream(129).
ifSpeed Return the speed of this upstream channel.
The returned value is the raw bandwidth
in bits/s of this interface, regarding the
highest speed modulation profile that is
defined. This is the symbol rate multiplied
with the number of bits per symbol for this
modulation profile.
ifPhysAddress Return an empty string.
ifAdminStatus The administrative status of this interface.
ifOperStatus The current operational status of this interface.
ifMtu The size of the largest frame which can be
transmitted on this interface, specified in octets.
The value includes the length of the MAC header.
ifInOctets Return zero.
ifInUcastPkts Return zero.
ifInMulticastPkts Return zero.
ifInBroadcastPkts Return zero.
ifInDiscards Return zero.
ifInErrors Return zero.
ifInUnknownProtos Return zero.
ifOutOctets The total number of octets transmitted on this
interface. This includes MAC packets as well as
data packets, and includes the length of the MAC
header.
ifOutUcastPkts The number of Unicast packets transmitted on this
interface. This includes MAC packets as well as
data packets.
ifOutMulticastPkts
Return the number of Multicast packets transmitted
on this interface.
This includes MAC packets as well as data packets.
ifOutBroadcastPkts
Return the number of broadcast packets transmitted
on this interface.
This includes MAC packets as well as data packets.
ifOutDiscards The total number of outbound packets which
were discarded. Possible reasons are:
buffer shortage.
ifOutErrors The number of packets which could not be
transmitted due to errors.
ifPromiscuousMode Return false.
3.2.5.3. ifEntry for the MAC Layer π§
this one is the MAC layer's entry, and it's basically the big-picture view π it covers the ifGeneralInformationGroup and the ifPacketGroup of the Interfaces MIB, and it gives you an aggregate status for the lower level Downstream and Upstream interfaces π
ifTable Comments
============== ===========================================
ifIndex Each RF Cable MAC layer entity is represented
by an ifEntry.
ifType The IANA value of docsCableMaclayer(127).
ifSpeed Return zero.
ifPhysAddress Return the physical address of this interface.
ifAdminStatus The administrative status of this interface.
ifOperStatus The current operational status of the MAC
layer interface.
ifHighSpeed Return zero.
ifMtu Return 1500.
ifInOctets The total number of data octets received on this
interface, targeted for upper protocol layers.
ifInUcastPkts The number of Unicast packets received on this
interface, targeted for upper protocol layers.
ifInMulticastPkts Return the number of Multicast packets received
on this interface, targeted for upper protocol
layers.
ifInBroadcastPkts Return the number of Broadcast packets received
on this interface, targeted for upper protocol
layers.
ifInDiscards The total number of received packets which have
been discarded.
The possible reasons are: buffer shortage.
ifInErrors The number of inbound packets that contained
errors preventing them from being deliverable
to higher layers.
Possible reasons are: data packet FCS error,
invalid MAC header.
ifInUnknownProtos The number of frames with an unknown packet type.
This is the number of data packets targeted for
upper protocol layers with an unknown packet type.
ifOutOctets The total number of octets, received from upper
protocol layers and transmitted on this interface.
ifOutUcastPkts The number of Unicast packets, received from upper
protocol layers and transmitted on this interface.
ifOutMulticastPkts
Return the number of Multicast packets received
from upper protocol layers and transmitted on this
interface.
ifOutBroadcastPkts
Return the number of broadcast packets received
from upper protocol layers and transmitted on this
interface.
ifOutDiscards The total number of outbound packets which
were discarded. Possible reasons are:
buffer shortage.
ifOutErrors The number of packets which could not be
transmitted due to errors.
ifPromiscuousMode Refer to the Interfaces MIB.
4. Definitions β¨
time for the actual MIB module π this is the DOCS-IF-MIB, so copy it exactly as written π«Ά
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 }
Okay bestie, the downstream channel table is where the good stuff lives π Every row is one downstream channel, and an entry exists for each ifEntry with an ifType of docsCableDownstream(128) π¦
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 }
Now the upstream side π This table is on both the CM and the CMTS, but only attached channels show up on the CM, and the CM can only read it π
--
-- 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 }
okay so we're picking up right where the upstream channel stuff left off, and the backoff knobs are literally the drama π ranging and transmission retries each get a start window and an end window, and they're all read-write β¨
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 }
π₯ a value of 16 at the CMTS is the wild card, because it switches over to a proprietary adaptive retry mechanism instead of the plain power-of-2 window. iykyk π
all four are Integer32 from 0 to 16 and they all point back at Section 6.4.4 of the DOCSIS RFI spec π next up is the QoS profile table, which is the cute little lookup for each class of service π§
-- 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 }
ngl the profile table has so many rules it's giving strict bestie energy π the CM and CMTS handle the entries differently, and the bandwidth and priority knobs are locked once a row is active π okay now the signal quality table, which is basically the vibe check for the PHY π«Ά at the CM it's downstream channels and at the CMTS it's upstream, and the counters are where the receipts live π§Ύ
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 }
Okay bestie, the signal quality group keeps going. Uncorrectables are the codewords that couldn't be fixed up, and this counter counts them on the channel, even the ones meant for other devices π«Ά
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 π
Now we're in the cable modem group, and it's giving organised π The next bit is just a little divider, then the CM MAC table.
--
-- CABLE MODEM GROUP
--
-- #######
--
-- The CM MAC Table
--
The CM MAC Table π¦
This table describes the attributes of each CM MAC interface and adds extra info on top of what ifEntry already gives you. Each entry lines up with an ifEntry whose ifType is docsCableMaclayer(127) πΈ
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 }
β οΈ bestie, heads up:docsIfCmRangingRespTimeoutis obsolete π The text says new implementations should usedocsIfCmRangingTimeoutinstead, because it fixes the typing toTimeInterval.
CM Status Table π
Last stop for this part: the CM status table. It's only implemented at the CM, and it keeps a bunch of status objects and counters for cable modems π§
--
-- 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 }
Okay bestie, the T2 and T3 timeout counters are next, and they're giving "keeping score" energy π Each one counts how many times a timer ran out on the cable modem. Then the ranging-aborted counter shows up to track when the CMTS cancels ranging π¦
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 }
Okay so the insert interval is basically the timer for how often the CMTS sends broadcast station maintenance grants π. Those are the grants that let brand-new cable modems squeeze into the network π§. The bit that's giving: a value of 0 means "vibe check, use a vendor-specific algorithm instead of a fixed time" π , and the max the spec allows is 2 seconds. The deets are in Appendix B of the DOCSIS RFI spec β¨
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 }
Next up is the uncorrectables counter, and it's giving drama ππ₯
Okay so the next bit is all about the CM status counters π
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 }
Okay so the FEC codeword length is the number of data bytes (k) in each forward error correction codeword, and it literally doesn't matter if FEC error correction is zero π§π
docsIfCmtsModFECCodewordLength
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
Bestie, the scrambler seed is a 15 bit seed value for the scrambler polynomial, and it defaults to 0 πΈ
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
This one is the max number of mini-slots that can go out during the channel's burst time π¦ If it's zero, the burst length is bounded by the allocation MAP instead of this profile. The default is 0, except for shortData, where it's 8.
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
Guard time is the number of symbol-times that have to follow the end of the channel's burst, and the default is the minimum time the implementation needs for this modulation profile β±οΈβ¨
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
This tells you if the last FEC codeword is truncated, and it defaults to true π
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
Here's the on/off switch for the scrambler, and it's off by default π
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
Okay this one is giving gatekeeper π It's a bit field that controls how entries in docsIfQosProfileTable can get created or updated. Bit 0 covers creating entries through SNMP, bit 1 covers updating entries through SNMP, and bit 2 covers creating entries from REG-REQ MAC messages that come in from Cable Modems. If the table is not read-create, the object is read-only and just returns CreateByModems(2). And heads up, either CreateByManagement(0) or CreateByModems(1) must be set when you write to it π₯
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
This table is a quick-access index into docsIfCmtsCmStatusTable. There's exactly one row here for each row over there. Management stations should only use it to grab a pointer into docsIfCmtsCmStatusTable (keyed by the CM's RF interface MAC address), and they shouldn't iterate through it with GetNext π
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
Each row here exists for every Cable Modem connected to the CMTS that implements this table π
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
This is the RF side MAC address for the referenced CM, meaning the interface on the CM that has docsCableMacLayer(127) as its ifType π¦
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
When you query this with the right instance value (like a CM's MAC address), it gives you back the row index into docsIfCmtsCmStatusTable that represents that CM π§
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 }
Conformance
Okay so the conformance part starts with a note that the notification group is for future extension πΈ
--
-- 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
This is the compliance statement for devices that implement MCNS/DOCSIS compliant Radio Frequency Interfaces π
-- 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 Refinements
Bestie, this is where the MIB gets specific about which objects are read-write on a CMTS and which are read-only on a Cable Modem π«Ά Plenty of these are read-only on CMs, and some are fine to leave read-only on a CMTS too.
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)
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."
okay so the read-only rules are next, and honestly they're giving "don't touch my stuff" energy π
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
5. Acknowledgments π«Ά
This document was produced by the IPCDN Working Group, and it's based on a doc written by Pam Anderson from CableLabs, Wilson Sawyer from BayNetworks, and Rich Woundy from Continental Cablevision πΈ. The original working group editor, Guenter Roeck of cisco Systems, did most of the grunt work to get it into its current form, so he's a whole legend π.
Huge thanks also to Azlina Palmer, who helped a lot by reviewing the document π.
6. References π
Okay, these are the receipts π§Ύ:
- [1] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999.
- [2] Rose, M. and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990.
- [3] Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991.
- [4] Rose, M., "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991.
- [5] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Structure of Management Information for Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
- [6] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.
- [7] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999.
- [8] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "Simple Management Protocol", STD 15, RFC 1157, May 1990.
- [9] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996.
- [10] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996.
- [11] Case, J., Harrington D., Presuhn R. and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999.
- [12] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999.
- [13] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996.
- [14] Levi, D., Meyer, P. and B. Stewart, "SNMP Applications", RFC 2573, April 1999.
- [15] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, April 1999.
- [16] "Data-Over-Cable Service Interface Specifications: Cable Modem Radio Frequency Interface Specification SP-RFI-I04-980724", DOCSIS, July 1998,
http://www.cablemodem.com/public/pubtechspec/SP-RFI-I04-980724.pdf. - [17] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB using SMIv2", RFC 2233, November 1997.
- [18] StJohns, M. , "Cable Device Management Information Base for DOCSIS Compliant Cable Modems and Cable Modem Termination Systems", RFC2669, August 1999.
- [19] Proakis, John G., "Digital Communications, 3rd Edition", McGraw-Hill, New York, New York, 1995, ISBN 0-07-051726-6
- [20] "Transmission Systems for Interactive Cable Television Services, Annex B", J.112, International Telecommunications Union, March 1998.
7. Security Considerations π
okay bestie, this one is serious so we have to be real π This MIB is for a system that provides metropolitan public internet access, so if somebody messes with the objects in here, it can cause denial of service for a ton of end-users. not cute π
also, poking at docsIfCmServiceQosProfile, docsIfCmtsServerQosProfile, and the elements of docsIfQosProfileTable may let an end-user boost their own service response or make everyone else's response worse. main character energy, but make it ethical π
This MIB does not affect confidentiality, authentication, or authorization of services on a cable modem system π§ For authentication and authorization, check out the related document "Cable Device Management Information Base for DOCSIS compliant Cable Modems and Cable Modem Termination Systems" [18]. For confidentiality, the working group expects to issue a MIB that describes management of the DOCSIS Baseline Privacy mechanism π
8. Intellectual Property π
The IETF takes no position on the validity or scope of any intellectual property or other rights that might be claimed to apply to the implementation or use of the technology in this document. It also doesn't say whether any license under those rights might or might not be available, and it doesn't claim to have tried to identify any such rights π€·ββοΈ Info about the IETF's procedures for rights in standards-track and standards-related documents is in BCP-11. Copies of claims of rights made available for publication, and any assurances of licenses to be made available, or the result of an attempt to get a general license or permission for implementors or users to use those proprietary rights, can be obtained from the IETF Secretariat π¬
The IETF invites any interested party to bring to its attention any copyrights, patents, patent applications, or other proprietary rights that may cover technology required to practice this standard. Send that info to the IETF Executive Director π¦
9. Author's Address πΈ
Michael StJohns
@Home Network
425 Broadway
Redwood City, CA 94063
Phone: +1 650 569 5368
EMail: stjohns@corp.home.net
10. Full Copyright Statement Β©οΈ
Copyright (C) The Internet Society (1999). All Rights Reserved. π
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards (in which case the procedures for copyrights defined in the Internet Standards process must be followed), or as required to translate it into languages other than English π«Ά
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns β¨
This document and the information contained herein is provided on an "AS IS" basis, and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE π
Acknowledgement π
Funding for the RFC Editor function is currently provided by the Internet Society π
π¦ where this page comes from
- ietf: rfc2670 1999-08
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms