DiffServ MIB

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.

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

    15.3(1)T

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

    The following command was introduced or modified: qos diffservmib.