QoS: DiffServ for Quality of Service Overview Configuration Guide, Cisco IOS XE Release 3S
DiffServ MIB
Downloads: This chapterpdf (PDF - 123.0KB) The complete bookPDF (PDF - 1.31MB) | The complete bookePub (ePub - 109.0KB) | Feedback

DiffServ MIB

DiffServ MIB

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.


Note


The restrictions do not result in configurations being rejected, because Diffserv MIB is not exposed to the unsupported configurations.
  • DiffServ MIB provides the ability to read Simple Network Management Protocol (SNMP) requests only; it cannot be used to perform any provisioning tasks.
  • Multiple filters in the same class-map definition are not supported. Therefore, in supported class maps that contain only one filter definition, match-any and match-all types are irrelevant.

    Note


    Class maps with one Access Control List (ACL) and that contain multiple Cisco Application Control Engines (ACEs) are supported. Class maps with one Differentiated Services Code Point (DSCP) filter that takes multiple DSCP values as part of one match criterion also are supported. However, match-not types are not supported.
  • Fair queueing is not supported.
  • Marking is not supported in the parent class of hierarchical policy.
  • Policing in the parent class is not supported if queueing is configured in the child class.
  • For priority and bandwidth feature configurations, the related table is populated with either kbps or relative percentage values only.
  • Default values are not populated into the MIB tables.

    Note


    The classifier table does include defined defaults for address, port, and related fields.
  • Random-detect functionality is not supported in the parent class of a hierarchical policy.
  • Only child first (bottom-up) policing is supported in hierarchical policies.
  • Any fields not supported by the current routing platform will contain the value 0, or some appropriate default value. For example, the Cisco ASR1000 Series Aggregation Services Routers do not support policer color-aware statistics, so fields related to these statistics will be set to 0 on those routers.

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.


Note


Not all feature combinations from an MQC hierarchy are supported in the DiffServ MIB. For more information see the "Restrictions for DiffServ MIB" section.

How to Configure DiffServ MIB

Enabling DiffServ MIB

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    qos diffservmib

4.    end


DETAILED STEPS
  Command or Action Purpose
Step 1
enable


Example:

Device> enable

 

Enables privileged EXEC mode.

  • Enter your password if prompted.
 
Step 2
configure terminal


Example:

Device# configure terminal

 

Enters global configuration mode.

 
Step 3
qos diffservmib


Example:

Device(config)# qos diffservmib

 

Enables DiffServ MIB support for quality of service (QoS) policy maps.

 
Step 4
end


Example:

Device(config)# end

 

(Optional) Returns to privileged EXEC mode.

 

Configuration Examples for DiffServ MIB

Example: Enabling DiffServ MIB

The following example shows how to enable DiffServ MIB support for Quality of Service (QoS) policy maps:

        
Device> enable
Device# configure terminal
Device(config)# qos diffservmib
Device(config)# exit

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)
      

Additional References

Related Documents

Related Topic Document Title

Cisco IOS commands

Cisco IOS Master Commands List, All Releases

QoS commands

Cisco IOS Quality of Service Solutions Command Reference

Standards and RFCs

Standard/RFC Title
RFC 3289

Management Information Base for the Differentiated Services Architecture

MIBs

MIB MIBs Link
DiffServ MIB

To locate and download MIBs for selected platforms, Cisco software releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs

Technical Assistance

Description Link

The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

http://www.cisco.com/cisco/web/support/index.html

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.

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.

Table 1 Feature Information for DiffServ MIB
Feature Name Releases Feature Information

DiffServ MIB

Cisco IOS XE 3.8S

This feature provides support for QoS Diffserv MIB (RFC 3289).

The following command was introduced or modified: qos diffservmib.

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.