Preview Tool

Cisco Bug: CSCvi70692 - QOS marking not working due to action string character limit

Last Modified

Sep 10, 2018

Products (1)

  • Cisco ASR 1000 Series Aggregation Services Routers

Known Affected Releases


Description (partial)

QOS marking not working as expected, we see the packets correctly matched under the class but the the set operation is not working.

Issue is seen when we have long and identical names for the policy map and class-map. The issue here happens due to duplicate set-ids being sent to qos-pd. The set-id for an action is generated by hashing the string for the policy-name, class-name & action-string combination to an integer value (referred as config-index). The max-length of the action-string (policy-name+class-name+action) for the hash-function to compute a config-index for an action is 80 characters

Sample Policy : 

policy-map TenGigabitEthernet0/0/0.1000-QOS_TEST-EXP
 class TenGigabitEthernet0/0/0.1000-QOS_ACL1-CLASS-A
   set mpls experimental imposition 3
    service-policy QOS_TEST-GRE
 class TenGigabitEthernet0/0/0.1000-QOS_ACL1-CLASS-B
   set mpls experimental imposition 2
    service-policy QOS_TEST-GRE
 class TenGigabitEthernet0/0/0.1000-QOS_ACL1-CLASS-C
   set mpls experimental imposition 1
    service-policy QOS_TEST-GRE
 class TenGigabitEthernet0/0/0.1000-QOS_ACL1-CLASS-D
   set mpls experimental imposition 0
    service-policy QOS_TEST-GRE
 class class-default
   set mpls experimental imposition 2
    service-policy QOS_TEST-GRE

The action-string being used to generate config-indexes becomes effectively the same for all user-defined classes of the policy : TenGigabitEthernet0/0/0.1000-QOS_TEST-EXP TenGigabitEthernet0/0/0.1000-QOS_ACL1

Verification :

sh platform hardware qfp active feature qos psqd input interface TenGigabitEthernet0/0/0.1000 : 

            Class index: 0, Class object id: 2031425, Match index: 0
            Class name: TenGigabitEthernet0/0/0.1000-QOS_ACL1-CLASS-A, Policy name: TenGigabitEthernet0/0/0.1000-QOS_TEST-EXP
psqd[0-3]: 0x00000000 0x00000000 0x00000000 0x00000000

The above value should be : 
      psqd[0-3]: 0x00000300 0x00000020 0x00000000 0x00000000  --> 03 is for exp 3, 0x20 is "set mpls exp'
Bug details contain sensitive information and therefore require a account to be viewed.

Bug Details Include

  • Full Description (including symptoms, conditions and workarounds)
  • Status
  • Severity
  • Known Fixed Releases
  • Related Community Discussions
  • Number of Related Support Cases
Bug information is viewable for customers and partners who have a service contract. Registered users can view up to 200 bugs per month without a service contract.