Symptom
When we try to poll cbQosTSCfgRate for the configured traffic-shaping rate of 8.9/9.9 Gbps, it gives a random value. But if we poll cbQosTSCfgRate64 , it works fine.
Similar behavior is seen for cbQosPoliceCfgRate. When we try to poll cbQosPoliceCfgRate for the configured committed policing rate of 5.4Gbps/6Gbps it gives a random value . But if we poll cbQosPoliceCfgRate64 , it works fine.
So generally in MIB definition,
cbQosPoliceCfgRate OBJECT-TYPE
SYNTAX Unsigned32 (0..4294967295) >>>>>>>>>> ( this is being unsigned so it range from 0 to 4.2 Gbps )
Whereas
cbQosTSCfgRate OBJECT-TYPE
SYNTAX Integer32 (0..2147483647) >>>>>>>>>> ( Being an integer ,leaving the sign bit, we have 31 bits, So it can hold upto 2Gbps only. So for a value greater than 2Gbps, we need to poll the cbQosTSCfgRate64.)
Ideally ,when you poll cbQosTSCfgRate for an interface which has a higher value than 2Gbs , it should be either set to the maximum integer supported for cbQosTSCfgRate ( which is 2147483647 or we leave it empty ). Similar behaviour should be seen for cbQosPoliceCfgRate for value above 4.2 Gbps.
Conditions
This behaviour is seen when router is running IOS/IOS-XE along with SNMP and we are polling the QOS MIB.
Workaround
The current workaround for this is to poll the 64 Bit counter which has a higher range of value i.e. cbQosTSCfgRate64/cbQosPoliceCfgRate64.