Data Over Cable System Interface Specification Quality of Service Management Information Base (DOCSIS-QoS MIB)
updated by
- rfc-9141 — Updating References to the IETF FTP Service
Extracted elements (27)
External SNMP-based packet classification is implemented via the existing docsDevIpFilterTable pointing to docsIetfQosServiceClassPolicyTable entries, rather than allowing managers to create Service Flow Classifier rows directly. The key reason is that SFIDs were intentionally kept internal to DOCSIS and not exposed to external protocol flows such as IP telephony signaling; external entities classify packets to a named Service Class, not to a specific Service Flow.
Internal DOCSIS packet classifier priorities (docsIetfQosPktClassPriority) are by convention in the range 64–191, while externally administered priorities may be 192–255 to override internal classification or 0–63 to be overridden by it. This range convention allows predictable arbitration when both a DOCSIS-signaled classifier and an SNMP-administered policy classify the same packet.
Modifying a Service Class's QoS Parameter Set does not retroactively affect Service Flows previously expanded from that class. Each SF retains the QPS values assigned at creation time, preventing unintended disruption to active flows when a service class template is updated.
The Admitted QoS Parameter Set was introduced to support IP telephony call setup: bandwidth can be reserved (admitted) while a remote phone rings for up to four minutes without being actively consumed, so cable network resources are held but not wasted during the pre-answer interval.
TOS-related classifier and parameter-set objects (IpTosLow, IpTosHigh, IpTosMask, TosAndMask, TosOrMask) are deliberately read-only to prevent a DOCSIS network from being configured to modify the ECN bits of transiting packets. Only docsIetfQosServiceClassDSCPOverwrite is writable, limiting TOS manipulation to DSCP overwriting.
DOCSIS 1.0 modems have no entries in the DOCS-IETF-QOS-MIB. For devices supporting both DOCSIS 1.0 and 1.1/2.0, the DOCS-IF-MIB applies before modem registration and for DOCSIS 1.0 registered modems; DOCS-IETF-QOS-MIB applies only after a modem registers as DOCSIS 1.1 or 2.0.
DOCSIS 1.1 and 2.0 specifications only require CMs to process IPv4 customer traffic; this MIB design reflects that constraint. Future versions of DOCSIS are expected to require IPv6 support, which would require MIB updates.
Payload Header Suppression replaces the unchanging bytes of Ethernet, IP, and UDP headers with a one-byte PHSI index on the RF network, which can nearly double the number of IP telephony calls supported within an upstream channel.
Both a CMTS and CM implementing this MIB MUST NOT implement docsIetfQosParamSetTable or docsIetfQosServiceFlowTable rows until after the CM registers with DOCSIS 1.1 or 2.0 modem operation.
The docsIetfQosPHSTable is read-only and MUST be implemented on both the CM and CMTS when Payload Header Suppression (PHS) is supported.
When a DOCSIS 1.1 or 2.0 modem registers, any exclusively-referenced docsIfQosProfileTable row representing the modem's upstream QoS profile for pre-registration traffic MUST be removed, and the docsIfCmServiceQosProfile object MUST be set to zero.
The docsIetfQosCmtsMacToSrvFlowTable maps CM MAC addresses to Service Flow IDs on the CMTS, enabling external applications to collect aggregate statistics for all flows belonging to a given CM. Downstream multicast Service Flows are excluded because they are not associated with a single CM.
The docsIetfQosDynamicServiceStatsTable provides read-only counters for DSA, DSC, DSD, and DCC message exchanges and transaction outcomes (successful adds, changes, deletes, and their failure counts) per interface per direction. Both locally and remotely originated transaction failures are counted separately.
The docsIetfQosParamSetTable describes the three QoS Parameter Set types (active, admitted, provisioned) for each Service Flow, indexed by {ifIndex, docsIetfQosServiceFlowId, docsIetfQosParamSetType}. It is read-only and carries scheduling type, max/min traffic rates, burst sizes, latency, polling intervals, grant parameters, and TOS masks.
The docsIetfQosPHSTable (read-only) describes Payload Header Suppression rules, each associated with exactly one packet classifier, indexed by {ifIndex, docsIetfQosServiceFlowId, docsIetfQosPktClassId}, with fields PHSField, PHSMask, PHSSize, PHSVerify, and PHSIndex.
The docsIetfQosPktClassTable reports Service Flow Classifiers on the CM or CMTS, indexed by {ifIndex, docsIetfQosServiceFlowId, docsIetfQosPktClassId}. It is read-only, created only via CM configuration file or DSA messages, and supports classification by IP TOS, protocol, source/destination address and port, Ethernet type, 802.1Q VLAN, and MAC address.
The docsIetfQosServiceClassPolicyTable (read-create on both CM and CMTS) provides the linkage between SNMP-managed IP packet filter policies and named DOCSIS Service Classes. Entries supply a Service Class Name and classification rule priority, enabling administrative classification of packets to a Service Class rather than a specific SFID.
The docsIetfQosServiceClassTable (CMTS-only, read-create) defines named Service Class templates. When a CM configuration file or DSA message references a Service Class Name, the CMTS expands it into Provisioned, Admitted, and Active QoS Parameter Sets for the new Service Flow.
The docsIetfQosServiceFlowLogTable (CMTS-only) records statistics for deleted Service Flows, including total packet/octet counts, creation and deletion timestamps, active-second count, CM MAC address (for billing), and policed-drop/delay counters. Maximum log size and record retention duration are vendor-specific.
The docsIetfQosServiceFlowStatsTable provides per-SF statistics including total packet and octet counters, creation and active time, PHS unknown counts, and separate counters for packets dropped and packets delayed by the SF maximum-rate policing function.
The docsIetfQosServiceFlowTable provides read-only identification of all Service Flows known to the device, indexed by {ifIndex, docsIetfQosServiceFlowId}. Each entry includes the 32-bit SFID, 16-bit SID (upstream active flows), direction, and whether the SF is the primary SF for that direction.
The docsIetfQosUpstreamStatsTable (CMTS-only) records upstream fragmentation header counts, discarded fragment counts, and concatenation burst counts keyed by Service ID (SID).
The DOCS-IETF-QOS-MIB module is assigned the OID { mib-2 127 }, registering it under the IANA-managed MIB-2 subtree as docsIetfQosMIB.
The DOCS-IETF-QOS-MIB contains read-create objects in docsIetfQosServiceClassTable and docsIetfQosServiceClassPolicyTable that allow SNMP managers to define QoS policies and service class templates affecting all subscribers. Unauthorized write access could permit modification of traffic shaping parameters across the cable plant; SNMPv3 with authentication and privacy is required to protect these operations.
The docsIetfQosServiceFlowLogTable contains per-subscriber billing data including CM MAC addresses, packet and octet counts, and active session durations. This CMTS-only table must be protected against unauthorized read access to prevent subscriber privacy exposure and billing data tampering.
DocsIetfQosBitRate is a textual convention (Unsigned32) representing bits per second. It counts all bits of the Ethernet MAC frame from the Destination Address through the FCS, and explicitly excludes bits in the DOCSIS MAC header.
docsIetfQosPktClassBitMap is a 17-bit BITS object indicating which classifier parameter encodings were present in the originating DOCSIS signaling message. Flags cover: rulePriority, activationState, ipTos, ipProtocol, ipSourceAddr, ipSourceMask, ipDestAddr, ipDestMask, sourcePortStart, sourcePortEnd, destPortStart, destPortEnd, destMac, sourceMac, ethertype, userPri, and vlanId.