QoS: DiffServ for Quality of Service Overview Configuration Guide, Cisco IOS XE Release 3S
Last Updated: December 5, 2012
The DiffServ MIB is used to poll already configured information and statistics from the devices on which is it enabled.
Network service providers that deliver differentiated services to their customer must be able to configure and monitor routers in order to satisfy Service Level Agreements (SLAs). DiffServ is a protocol that allows the network service provider to use classes to control network traffic so that certain types of traffic get precedence. For example, voice traffic requires a relatively uninterrupted flow of data, and might get precedence over other kinds of traffic, such as e-mail. DiffServ can be offered to customers as a way to distinguish between various levels of service; for example, Premium, Gold, Silver, and Bronze. Therefore, SLAs and DiffServ technologies are closely linked.
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Information About DiffServ MIB
Restrictions for DiffServ MIB
DiffServ MIB will not support the configurations described in this section even if the user has configured them through Modular QoS CLI (MQC) and they are functioning in the forwarding path.
MQC and DiffServ MIB
Most Cisco products use the Modular QoS CLI (MQC) to support the provisioning of industry-standard Differentiated Services Architecture services. However, the industry standard for the provisioning of differentiated services (DiffServ MIB) differs from the MQC implementation. The DiffServ MIB feature is implemented on top of the MQC functionality and translates service provisioning instructions from the DiffServ MIB to MQC.
By implementing DiffServ MIB on top of the MQC provisioning language, MQC can still be used to enable QoS policies in Cisco products. In addition, Cisco products that support MQC already support direct mapping of actions between the cbQoSMIB and MQC. The cbQoSMIB is the Cisco recommended MIB. Implementation of DiffServ MIB does not replace the cbQoSMIB.
The Diffserv MIB feature maps each field in a set of tables defined in the DiffServ MIB RFC to an MQC supported action (where an action is available).
Hierarchical Policies and DiffServ MIB
For hierarchical policies the Modular QoS CLI (MQC) runs all classification instructions first, from the top of the hierarchy to the bottom of the hierarchy. It then performs feature execution in the following order: marking (top to bottom), policing (bottom to top), and queueing (bottom to top).
To translate the MQC implementation of a hierarchical policy to a DiffServ MIB implementation, the hierarchy must be separated into different chained functional blocks that determine the execution order of the features.
How to Configure DiffServ MIB
Enabling DiffServ MIB
Configuration Examples for DiffServ MIB
Example: Enabling DiffServ MIB
Example: DiffServ MIB SNMP Walk Output
The following is sample output from a SNMP walk of the DiffServ MIB:
diffServDataPathStart.1.1 = diffServClfrStorage.201 diffServDataPathStart.10.2 = diffServClfrStorage.202 diffServDataPathStorage.1.1 = volatile(2) diffServDataPathStorage.10.2 = volatile(2) diffServDataPathStatus.1.1 = active(1) diffServDataPathStatus.10.2 = active(1) diffServClfrNextFree.0 = 0 diffServClfrStorage.201 = volatile(2) diffServClfrStorage.202 = volatile(2) diffServClfrStatus.201 = active(1) diffServClfrStatus.202 = active(1) diffServClfrElementNextFree.0 = 0 diffServClfrElementPrecedence.201.2011 = 255 diffServClfrElementPrecedence.202.2021 = 255 diffServClfrElementNext.201.2011 = diffServMeterSucceedNext.10001 diffServClfrElementNext.202.2021 = diffServMeterSucceedNext.10002 diffServClfrElementSpecific.201.2011 = diffServMultiFieldClfrAddrType.1 diffServClfrElementSpecific.202.2021 = diffServMultiFieldClfrAddrType.1 diffServClfrElementStorage.201.2011 = volatile(2) diffServClfrElementStorage.202.2021 = volatile(2) diffServClfrElementStatus.201.2011 = active(1) diffServClfrElementStatus.202.2021 = active(1) diffServMultiFieldClfrNextFree.0 = 0 diffServMultiFieldClfrAddrType.1 = unknown(0) diffServMultiFieldClfrAddrType.2 = ipv4(1) diffServMultiFieldClfrDstAddr.1 = diffServMultiFieldClfrDstAddr.2 = c9 diffServMultiFieldClfrDstPrefixLength.1 = 0 diffServMultiFieldClfrDstPrefixLength.2 = 8 diffServMultiFieldClfrSrcAddr.1 = diffServMultiFieldClfrSrcAddr.2 = c0 a8 01 diffServMultiFieldClfrSrcPrefixLength.1 = 0 diffServMultiFieldClfrSrcPrefixLength.2 = 24 diffServMultiFieldClfrDscp.1 = 41 diffServMultiFieldClfrDscp.2 = -1 diffServMultiFieldClfrFlowId.1 = 0 diffServMultiFieldClfrFlowId.2 = 0 diffServMultiFieldClfrProtocol.1 = 255 diffServMultiFieldClfrProtocol.2 = 6 diffServMultiFieldClfrDstL4PortMin.1 = 0 diffServMultiFieldClfrDstL4PortMin.2 = 1000 diffServMultiFieldClfrDstL4PortMax.1 = 65535 diffServMultiFieldClfrDstL4PortMax.2 = 10000 diffServMultiFieldClfrSrcL4PortMin.1 = 0 diffServMultiFieldClfrSrcL4PortMin.2 = 2000 diffServMultiFieldClfrSrcL4PortMax.1 = 65535 diffServMultiFieldClfrSrcL4PortMax.2 = 20000 diffServMultiFieldClfrStorage.1 = volatile(2) diffServMultiFieldClfrStorage.2 = volatile(2) diffServMultiFieldClfrStatus.1 = active(1) diffServMultiFieldClfrStatus.2 = active(1) diffServMeterNextFree.0 = 0 diffServMeterSucceedNext.10001 = diffServActionInterface.111 diffServMeterSucceedNext.10002 = diffServActionInterface.121 diffServMeterFailNext.10001 = diffServActionInterface.112 diffServMeterFailNext.10002 = diffServActionInterface.122 diffServMeterSpecific.10001 = diffServTBParamType.8000 diffServMeterSpecific.10002 = diffServTBParamType.8000 diffServMeterStorage.10001 = volatile(2) diffServMeterStorage.10002 = volatile(2) diffServMeterStatus.10001 = active(1) diffServMeterStatus.10002 = active(1) diffServTBParamNextFree.0 = 0 diffServTBParamType.8000 = diffServTBParamSimpleTokenBucket diffServTBParamType.8001 = diffServTBParamSrTCMBlind diffServTBParamRate.8000 = 64000 diffServTBParamRate.8001 = 512000 diffServTBParamBurstSize.8000 = 2000 diffServTBParamBurstSize.8001 = 5120 diffServTBParamInterval.8000 = 250000 diffServTBParamInterval.8001 = 10000 diffServTBParamStorage.8000 = volatile(2) diffServTBParamStorage.8001 = volatile(2) diffServTBParamStatus.8000 = active(1) diffServTBParamStatus.8001 = active(1) diffServActionNextFree.0 = 0 diffServActionInterface.111 = 10 diffServActionInterface.121 = 10 diffServActionNext.111 = diffServDscpMarkActEntry.41 diffServActionNext.121 = diffServAlgDropType.500 diffServActionSpecific.111 = diffServCountActOctets.111 diffServActionSpecific.121 = diffServCountActOctets.121 diffServActionStorage.111 = volatile(2) diffServActionStorage.121 = volatile(2) diffServActionStatus.111 = active(1) diffServActionStatus.121 = active(1) diffServDscpMarkActDscp.0 = 0 diffServDscpMarkActDscp.1 = 1 diffServDscpMarkActDscp.2 = 2 diffServDscpMarkActDscp.3 = 3 diffServDscpMarkActDscp.4 = 4 diffServDscpMarkActDscp.5 = 5 diffServDscpMarkActDscp.6 = 6 diffServDscpMarkActDscp.7 = 7 diffServDscpMarkActDscp.8 = 8 diffServDscpMarkActDscp.9 = 9 diffServDscpMarkActDscp.10 = 10 diffServDscpMarkActDscp.11 = 11 diffServDscpMarkActDscp.12 = 12 diffServDscpMarkActDscp.13 = 13 diffServDscpMarkActDscp.14 = 14 diffServDscpMarkActDscp.15 = 15 diffServDscpMarkActDscp.16 = 16 diffServDscpMarkActDscp.17 = 17 diffServDscpMarkActDscp.18 = 18 diffServDscpMarkActDscp.19 = 19 diffServDscpMarkActDscp.20 = 20 diffServDscpMarkActDscp.21 = 21 diffServDscpMarkActDscp.22 = 22 diffServDscpMarkActDscp.23 = 23 diffServDscpMarkActDscp.24 = 24 diffServDscpMarkActDscp.25 = 25 diffServDscpMarkActDscp.26 = 26 diffServDscpMarkActDscp.27 = 27 diffServDscpMarkActDscp.28 = 28 diffServDscpMarkActDscp.29 = 29 diffServDscpMarkActDscp.30 = 30 diffServDscpMarkActDscp.31 = 31 diffServDscpMarkActDscp.32 = 32 diffServDscpMarkActDscp.33 = 33 diffServDscpMarkActDscp.34 = 34 diffServDscpMarkActDscp.35 = 35 diffServDscpMarkActDscp.36 = 36 diffServDscpMarkActDscp.37 = 37 diffServDscpMarkActDscp.38 = 38 diffServDscpMarkActDscp.39 = 39 diffServDscpMarkActDscp.40 = 40 diffServDscpMarkActDscp.41 = 41 diffServDscpMarkActDscp.42 = 42 diffServDscpMarkActDscp.43 = 43 diffServDscpMarkActDscp.44 = 44 diffServDscpMarkActDscp.45 = 45 diffServDscpMarkActDscp.46 = 46 diffServDscpMarkActDscp.47 = 47 diffServDscpMarkActDscp.48 = 48 diffServDscpMarkActDscp.49 = 49 diffServDscpMarkActDscp.50 = 50 diffServDscpMarkActDscp.51 = 51 diffServDscpMarkActDscp.52 = 52 diffServDscpMarkActDscp.53 = 53 diffServDscpMarkActDscp.54 = 54 diffServDscpMarkActDscp.55 = 55 diffServDscpMarkActDscp.56 = 56 diffServDscpMarkActDscp.57 = 57 diffServDscpMarkActDscp.58 = 58 diffServDscpMarkActDscp.59 = 59 diffServDscpMarkActDscp.60 = 60 diffServDscpMarkActDscp.61 = 61 diffServDscpMarkActDscp.62 = 62 diffServDscpMarkActDscp.63 = 63 diffServCountActNextFree.0 = 0 diffServCountActOctets.111 = 0x000888888 diffServCountActOctets.121 = 0x000999999 diffServCountActPkts.111 = 0x000000088 diffServCountActPkts.121 = 0x000000099 diffServCountActStorage.111 = volatile(2) diffServCountActStorage.121 = volatile(2) diffServCountActStatus.111 = active(1) diffServCountActStatus.121 = active(1) diffServAlgDropNextFree.0 = 0 diffServAlgDropType.500 = randomDrop(4) diffServAlgDropType.501 = other(1) diffServAlgDropType.502 = headDrop(3) diffServAlgDropNext.500 = nullOID diffServAlgDropNext.501 = diffServQNext.600 diffServAlgDropNext.502 = diffServQNext.601 diffServAlgDropQMeasure.500 = nullOID diffServAlgDropQMeasure.501 = diffServQNext.600 diffServAlgDropQMeasure.502 = diffServQNext.601 diffServAlgDropQThreshold.500 = 0 diffServAlgDropQThreshold.501 = 64 diffServAlgDropQThreshold.502 = 64 diffServAlgDropSpecific.500 = nullOID diffServAlgDropSpecific.501 = nullOID diffServAlgDropSpecific.502 = diffServRandomDropMinThreshBytes.701 diffServAlgDropOctets.500 = 0x000000000 diffServAlgDropOctets.501 = 0x000777777 diffServAlgDropOctets.502 = 0x000000000 diffServAlgDropPkts.500 = 0x000000000 diffServAlgDropPkts.501 = 0x000007777 diffServAlgDropPkts.502 = 0x000000000 diffServAlgRandomDropOctets.500 = 0x000000000 diffServAlgRandomDropOctets.501 = 0x000000000 diffServAlgRandomDropOctets.502 = 0x000666666 diffServAlgRandomDropPkts.500 = 0x000000000 diffServAlgRandomDropPkts.501 = 0x000000000 diffServAlgRandomDropPkts.502 = 0x000006666 diffServAlgDropStorage.500 = volatile(2) diffServAlgDropStorage.501 = volatile(2) diffServAlgDropStorage.502 = volatile(2) diffServAlgDropStatus.500 = active(1) diffServAlgDropStatus.501 = active(1) diffServAlgDropStatus.502 = active(1) diffServRandomDropNextFree.0 = 0 diffServRandomDropMinThreshBytes.701 = 0 diffServRandomDropMinThreshPkts.701 = 1 diffServRandomDropMaxThreshBytes.701 = 0 diffServRandomDropMaxThreshPkts.701 = 10 diffServRandomDropProbMax.701 = 1000 diffServRandomDropWeight.701 = 512 diffServRandomDropSamplingRate.701 = 0 diffServRandomDropStorage.701 = volatile(2) diffServRandomDropStatus.701 = active(1) diffServQNextFree.0 = 0 diffServQNext.600 = diffServSchedulerNext.800 diffServQNext.601 = diffServSchedulerNext.801 diffServQMinRate.600 = diffServMinRatePriority.900 diffServQMinRate.601 = nullOID diffServQMaxRate.600 = nullOID diffServQMaxRate.601 = diffServMaxRateAbsolute.901 diffServQStorage.600 = volatile(2) diffServQStorage.601 = volatile(2) diffServQStatus.600 = active(1) diffServQStatus.601 = active(1) diffServSchedulerNextFree.0 = 0 diffServSchedulerNext.800 = diffServSchedulerNext.801 diffServSchedulerNext.801 = nullOID diffServSchedulerMethod.800 = diffServSchedulerPriority diffServSchedulerMethod.801 = diffServSchedulerWFQ diffServSchedulerMinRate.800 = diffServMinRatePriority.901 diffServSchedulerMinRate.801 = nullOID diffServSchedulerMaxRate.800 = nullOID diffServSchedulerMaxRate.801 = nullOID diffServSchedulerStorage.800 = volatile(2) diffServSchedulerStorage.801 = volatile(2) diffServSchedulerStatus.800 = active(1) diffServSchedulerStatus.801 = active(1) diffServMinRateNextFree.0 = 0 diffServMinRatePriority.901 = 4294967295 diffServMinRatePriority.902 = 1 diffServMinRateAbsolute.901 = 128 diffServMinRateAbsolute.902 = 0 diffServMinRateRelative.901 = 0 diffServMinRateRelative.902 = 750 diffServMinRateStorage.901 = volatile(2) diffServMinRateStorage.902 = volatile(2) diffServMinRateStatus.901 = active(1) diffServMinRateStatus.902 = active(1) diffServMaxRateNextFree.0 = 0 diffServMaxRateAbsolute.902.1 = 1000 diffServMaxRateAbsolute.902.2 = 0 diffServMaxRateRelative.902.1 = 0 diffServMaxRateRelative.902.2 = 500 diffServMaxRateThreshold.902.1 = 25000 diffServMaxRateThreshold.902.2 = 0 diffServMaxRateStorage.902.1 = volatile(2) diffServMaxRateStorage.902.2 = volatile(2) diffServMaxRateStatus.902.1 = active(1) diffServMaxRateStatus.902.2 = active(1)
Standards and RFCs
Feature Information for DiffServ MIB
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.
© 2012 Cisco Systems, Inc. All rights reserved.