Class-based Quality-of-Service MIB

This chapter contains the following sections:

Class-based Quality-of-Service MIB

The Class-based Quality-of-Service MIB (cbQoSMIB) feature provides the Simple Network Management Protocol (SNMP) MIB that enables retrieval of class-map and policy-map configuration and statistics.

Information About Class-based Quality-of-Service MIB

CoPP and QoS policies now support Class-based Quality-of-Service MIB (cbQoSMIB). cbQoSMIB is the SNMP MIB that provides access to Modular QoS CLI (MQC) configuration and statistics.

The following cbQoSMIB tables are supported by QoS policies and CoPP:
  • cbQosClassMapCfg

  • cbQosMatchStmtCfg

  • cbQosPoliceStats

  • cbQosPolicyMapCfg

  • cbQosPoliceCfg

The following cbQoSMIB tables are supported by QoS policies:
  • cbQosInterfacePolicy

  • cbQosObjects

  • cbQosQueueingCfg

  • cbQosServicePolicy

  • cbQosSetCfg

More detailed information on cbQoSMIB tables and elements is available at the following url: http:/​​/​​tools.cisco.com/​​Support/​​SNMP/​​do/​​BrowseOID.do?local=en&translate=Translate&objectInput=1.3.6.1.4.1.9.9.166

Licensing Requirements for Class-based Quality-of-Service MIB

This feature does not require a license. Any feature not included in a license package is bundled with the Cisco NX-OS system images and is provided at no extra charge to you. For a complete explanation of the Cisco NX-OS licensing scheme, see the Cisco NX-OS Licensing Guide.

Configuring a QoS Policy

The following configuration is a generic example to configure a QoS policy.

Procedure
     Command or ActionPurpose
    Step 1switch# configure terminal  

    Enters global configuration mode.

     
    Step 2switch(config) # snmp-server community com-name rw  

    Creates Simple Network Management Protocol (SNMP) communities for SNMPv1 or SNMPv2c.

     
    Step 3switch(config) # snmp-server community com-name rw  

    Creates Simple Network Management Protocol (SNMP) communities for SNMPv1 or SNMPv2c.

     
    Step 4switch(config) # class-map type qos match-all class-map-name  

    Specifies the component type qos for the class map and enters the class-map type qos configuration mode.

     
    Step 5switch(config-cmap-qos) # description text  

    Adds a description for the class-map.

     
    Step 6switch(config-cmap-qos) # match cos cos-list  

    Defines the class of traffic using the class of service (CoS) value in a type qos class map.

     
    Step 7switch(config-cmap-qos) # exit  

    Exits the class-map type qos configuration mode.

     
    Step 8switch(config) # policy-map type qos qos-policy-map-name  

    Specifies the type qos policy map and enters the policy-map qos configuration mode.

     
    Step 9switch(config-pmap-qos) # description text  

    Configures the policy-map description.

     
    Step 10switch(config-pmap-qos) # class class-map-name  

    Configures the service policy for a class-map.

     
    Step 11switch(config-pmap-c-qos) # set qos-group qos-group-value  

    Assigns the QoS group identifier for a class of traffic in a type qos policy map.

     
    Step 12switch(config-pmap-c-qos) # exit  

    Exits the policy-map type qos class configuration mode.

     
    Step 13switch(config-pmap-qos) # exit  

    Exits the policy-map qos configuration mode.

     
    Step 14switch(config) # interface type number  

    Enters the interface configuration mode.

     
    Step 15switch(config-if) # service-policy type qos input policy-map-name  

    Applies the service policy map to packets coming into the mentioned interface.

     
    Step 16switch(config-if) # exit  

    Exits the interface configuration mode.

     
    Step 17switch(config) # copy running-config startup-config   (Optional)

    Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

     

    This example shows how to configure a QoS policy on a device:


    Note


    This is a generic example to configure a QoS policy.


    switch# configure terminal
    switch(config)# snmp-server community public rw
    switch(config)# snmp-server community private rw
    switch(config)# class-map type qos match-all cmcos
    switch(config-cmap-qos) # description qos cmap to match cos
    switch(config-cmap-qos) # match cos 5
    switch(config-cmap-qos) # exit
    switch(config) # policy-map type qos p1
    switch(config-pmap-qos) # description qos pmap 1
    switch(config-pmap-qos) # class cmcos
    switch(config-pmap-c-qos) # set qos-group 3
    switch(config-pmap-c-qos) # exit
    switch(config-pmap-qos) # exit
    switch(config) # interface ethernet 1/1
    switch(config-if) # service-policy type qos input p1
    

    Displaying Class-based Quality-of-Service MIB Configuration and Statistics

    Procedure

       Command or ActionPurpose
      Step 1switch# snmpwalk -v2c -c community-name ip-address oid  

      Displays class-map and policy-map configuration and statistics.

       

      This example shows how to display class map and policy map configuration and statistics:


      Note


      This sample output corresponds to the configuration mentioned above. All CoPP configurations are available by default.


      switch#  snmpwalk -v2c -c public 10.193.53.92 1.3.6.1.4.1.9.9.166.1
      Interface Policy Table (QoS only table) – corresponding to the service policy applied on eth1/1
      
      CISCO-CLASS-BASED-QOS-MIB::cbQosIfType.285212673 = INTEGER: mainInterface(1)
      CISCO-CLASS-BASED-QOS-MIB::cbQosPolicyDirection.285212673 = INTEGER: input(1)
      CISCO-CLASS-BASED-QOS-MIB::cbQosIfIndex.285212673 = INTEGER: 436207616
      CISCO-CLASS-BASED-QOS-MIB::cbQosVlanIndex.285212673 = Gauge32: 1
      
      Service Policy Table (QoS only table) – corresponding to the service policy applied on eth1/1
      
      CISCO-CLASS-BASED-QOS-MIB::cbQosIFPolicyIndex.436207616.input = Gauge32: 285212673
      
      Objects Table (QoS only table)  corresponding to the policy-map, class-map, match & set Statements
      
      CISCO-CLASS-BASED-QOS-MIB::cbQosConfigIndex.285212673.285212673 = Gauge32: 285212823
      CISCO-CLASS-BASED-QOS-MIB::cbQosConfigIndex.285212673.285212674 = Gauge32: 285212821
      CISCO-CLASS-BASED-QOS-MIB::cbQosConfigIndex.285212673.285212675 = Gauge32: 285212822
      CISCO-CLASS-BASED-QOS-MIB::cbQosConfigIndex.285212673.285212676 = Gauge32: 285212825
      
      CISCO-CLASS-BASED-QOS-MIB::cbQosObjectsType.285212673.285212673 = INTEGER: policymap(1)
      CISCO-CLASS-BASED-QOS-MIB::cbQosObjectsType.285212673.285212674 = INTEGER: classmap(2)
      CISCO-CLASS-BASED-QOS-MIB::cbQosObjectsType.285212673.285212675 = INTEGER: matchStatement(3)
      CISCO-CLASS-BASED-QOS-MIB::cbQosObjectsType.285212673.285212676 = INTEGER: set(8)
      
      CISCO-CLASS-BASED-QOS-MIB::cbQosParentObjectsIndex.285212673.285212673 = Gauge32: 0
      CISCO-CLASS-BASED-QOS-MIB::cbQosParentObjectsIndex.285212673.285212674 = Gauge32: 285212673
      CISCO-CLASS-BASED-QOS-MIB::cbQosParentObjectsIndex.285212673.285212675 = Gauge32: 285212674
      CISCO-CLASS-BASED-QOS-MIB::cbQosParentObjectsIndex.285212673.285212676 = Gauge32: 285212674
      
      
      Policy Map Table corresponding to the policy-map configured above & the default CoPP policy-map
      
      CISCO-CLASS-BASED-QOS-MIB::cbQosPolicyMapName.285212823 = STRING: p1
      CISCO-CLASS-BASED-QOS-MIB::cbQosPolicyMapName.721420364 = STRING: copp-system-policy-default
      CISCO-CLASS-BASED-QOS-MIB::cbQosPolicyMapDesc.285212823 = STRING: qos pmap 1
      CISCO-CLASS-BASED-QOS-MIB::cbQosPolicyMapDesc.721420364 = STRING: Control Plane Service Policy
      
      
      Class Map Table corresponding to the class-map configured above & one default CoPP class-map
      
      CISCO-CLASS-BASED-QOS-MIB::cbQosCMName.285212821 = STRING: cmcos
      CISCO-CLASS-BASED-QOS-MIB::cbQosCMName.721420290 = STRING: copp-system-class-igmp
      CISCO-CLASS-BASED-QOS-MIB::cbQosCMDesc.285212821 = STRING: qos cmap to Match cos
      CISCO-CLASS-BASED-QOS-MIB::cbQosCMDesc.721420290 = STRING: copp-system-class-igmp
      CISCO-CLASS-BASED-QOS-MIB::cbQosCMInfo.285212821 = INTEGER: matchAll(2)
      CISCO-CLASS-BASED-QOS-MIB::cbQosCMInfo.721420290 = INTEGER: matchAny(3)
      
      Match Stmt Table corresponding to the match statement configured above & one match statement from default CoPP configuration
      
      CISCO-CLASS-BASED-QOS-MIB::cbQosMatchStmtName.285212822 = STRING:  match cos 5
      CISCO-CLASS-BASED-QOS-MIB::cbQosMatchStmtName.721420291 = STRING: protocol IGMP
      CISCO-CLASS-BASED-QOS-MIB::cbQosMatchStmtInfo.285212822 = INTEGER: none(1)
      CISCO-CLASS-BASED-QOS-MIB::cbQosMatchStmtInfo.721420291 = INTEGER: none(1)
      
      Queueing Config Table(QoS only table, taken from default QoS policies)
      
      CISCO-CLASS-BASED-QOS-MIB::cbQosQueueingCfgBandwidth.301990019 = INTEGER: 100
      CISCO-CLASS-BASED-QOS-MIB::cbQosQueueingCfgBandwidthUnits.301990019 = INTEGER: percentage(2)
      CISCO-CLASS-BASED-QOS-MIB::cbQosQueueingCfgPriorityEnabled.301990019 = INTEGER: false(2)
      CISCO-CLASS-BASED-QOS-MIB::cbQosQueueingCfgQLimitUnits.301990019 = INTEGER: 0
      CISCO-CLASS-BASED-QOS-MIB::cbQosQueueingCfgAggregateQLimit.301990019 = Gauge32: 0
      
      
      Set Action Table (QoS only table) corresponding to the set statement configured above
      
      CISCO-CLASS-BASED-QOS-MIB::cbQosSetCfgQosGroupValue.285212825 = INTEGER: 3
      
      Policing Config Table(no QoS config, displays only CoPP statistics)
      
      CISCO-CLASS-BASED-QOS-MIB::cbQosPoliceCfgBurstSize.721420365 = Gauge32: 65535 Octets
      CISCO-CLASS-BASED-QOS-MIB::cbQosPoliceCfgConformAction.721420365 = INTEGER: transmit(1)
      CISCO-CLASS-BASED-QOS-MIB::cbQosPoliceCfgViolateAction.721420365 = INTEGER: drop(5)
      CISCO-CLASS-BASED-QOS-MIB::cbQosPoliceCfgRate64.721420365 = Counter64: 1048576 bits/second
      CISCO-CLASS-BASED-QOS-MIB::cbQosPoliceCfgRateType.721420365 = INTEGER: bps(1)
      CISCO-CLASS-BASED-QOS-MIB::cbQosPoliceCfgConditional.721420365 = INTEGER: false(2)
      
      Policing Stats Table(no QoS config, displays only CoPP statistics)
      
      CISCO-CLASS-BASED-QOS-MIB::cbQosPoliceConformedByte64.721420364.721420365 = Counter64: 1144 Octets
      CISCO-CLASS-BASED-QOS-MIB::cbQosPoliceViolatedByte64.721420364.721420365 = Counter64: 0 Octets
      
      

      Additional References for Class-based Quality-of-Service MIB

      This section provides additional information related to Class-based Quality-of-Service MIB.

      Related Documents

      Related Topic

      Document Title

      Licensing

      Cisco NX-OS Licensing Guide

      Command reference

      Cisco Nexus 5000 Series NX-OS QoS Command Reference

      Cisco Nexus 5000 Series NX-OS System Management Command Reference

      Feature History for Class-based Quality-of-Service MIB

      Table 1 Feature History for Class-based Quality-of-Service MIB

      Feature Name

      Feature Information

      Class-based Quality-of-Service MIB

      Introduced in 7.1(1) N1(1)