The cbQosConfigIndex, cbQosObjectsIndex, and cbQosPolicyIndex are volatile because when a networking device reboots, the index
numbers may change. This happens because system rebooting can cause the order of the Modular QoS CLI (MQC) configuration to
differ from the actual configuration order, which is user-driven and unpredictable. As a result, you must read the MIB frequently
to extract statistical and configuration information. Therefore, once a reload has occurred, the MIB has to be repolled to
reestablish the indexes to the data stored in the CBQoS MIB.
Traditionally, MIB persistence is handled by Cisco IOS APIs, which save the index and key information to NVRAM. The data is
then retrieved and repopulated after reloading. However, this approach does not work well for the current implementation of
the cbQosObjectsIndex because of the large amount of information that needs to be saved.
An index encoding scheme based on configuration entries instead of operational sequence is being implemented to provide persistent
indexes on router reload so that MIB information retains the same set of object values each time that a networking device
The index encoding scheme has been changed to handle the performance/scalability issue. Each service policy is uniquely identified
by an index called cbQosPolicyIndex, and its cbQosObjectsIndex is uniquely identified under the service policy.
As a result of this change in the index encoding scheme, an application must not assume that the cbQosPolicyIndex is usually
identical to its cbQosObjectsIndex as a policy-map.