To find the QoS service policies that are applied to a specific interface (more generically referred to as a target), you must search the entire cbQosServicePolicyTable within the CISCO-CLASS-BASED-QOS-MIB. This process can be very time consuming in large scale configurations, and therefore, is not feasible.
A solution was to create the CISCO-CBP-TARGET-MIB, a more generic MIB that allows any type of target to be mapped to the service policies that are applied to it.
The CISCO-CBP-TARGET-MIB maps policy targets to their corresponding attached service policies by providing a link to the policy instance (service policy) and the policy-map configuration data by using row pointers to the tables that manage each one. For policy types in the CISCO-CLASS-BASED-QOS-MIB, the CISCO-CBP-TARGET-MIB maps targets to their cbQosServicePolicyTable and cbQosPolicyMapCfgTable rows, respectively.
The figure below shows the relationship between the CISCO-CBP-TARGET-MIB and the CISCO-CLASS-BASED-QOS-MIB.
|Figure 1 ||Relationship Between the CISCO-CBP-TARGET-MIB and the CISCO-CLASS-BASED-QOS-MIB |
CISCO-CBP-TARGET-MIB Objects and Descriptions
The CISCO-CBP-TARGET-MIB consists of the ccbptTargetTable, which describes the class-based policy attachments to specific targets.
The table below lists the CISCO-CBP-TARGET-MIB objects and their descriptions.
|Table 1 ||CISCO-CBP-TARGET-MIB Objects and Descriptions |
Indicates the next available value of ccbptPolicyId that can be used to create a new conceptual row in the ccbptTargetTable. This is a scalar object that is read-only and, therefore, has a value of 0.
Describes a class-based policy attachment to a particular target.
|Note || This is not a pollable object that is present in the MIB. |
Indicates the type of target, such as an ifIndex, an ATM virtual circuit (VC), a Frame Relay data-link connection identifier (DLCI), or a control plane. Values are as follows:
- If the target type equals 1, then the target is an ifIndex.
- If the target type equals 2, then the target is an ATM VC.
- If the target type equals 3, then the target is a Frame Relay DLCI.
- If the target type equals 4, then the target is a control plane.
Gives the target identifier in the format indicated by the target type. This object contains variable length octets that are interpreted according to the value of the target type.
Indicates the direction, input(2) or output(3), relative to the target.
Shows the type of policy applied to the target and shows the cbQos MIB relationship.
Contains the cbQoSPolicyIndex value for this instance of the service policy applied to the target. This object is an arbitrary integer that is used to identify a service policy.
Indicates the status of the row. This object is always active(1).
Indicates the storage type for the row. This object is always volatile(2).
Points to a row in the cbQosPolicyMapCfgTable indicating the configuration of the policy map for this target.
Points to a row in the cbQosServicePolicyTable indicating the instance of the policy map attached to this target.
Shows the time that this policy map was attached.
Shows the time that an entry was added or removed. This is a scalar object that is not part of the ccbptTargetTable entry.
Decoding Index Values
The CISCO-CBP-TARGET-MIB contains objects that define textual conventions for representing targets that have class-based policy mappings. A target can be any logical interface or entity to which a class-based policy can be applied.
The ccbptTarget is a series of octets that should be interpreted according to the value of ccbptTargetType.
The figure below shows a sample index with the type genIf(1) and how to decode index values corresponding to configuration mapping data output.
|Figure 2 ||Sample Index with Mapping Data Output |
The figure above shows the mapping of the index portion of the object identifier (OID) for an instance of the ccbptPolicyMap object. Each portion of the index is defined as follows:
Configuration Policy Mapping Data-------------------------------ccbptPolicyMap.126.96.36.199.188.8.131.52.3001 = cbQosPolicyMapName.1293
Where from left to right:
- ccbptTargetType--Value of 1 indicates the ccbptTargetType which is genIf(1). The target type indicates that the value contained in the ccbptTargetId is an ifIndex value.
- ccbptTargetId Length--Value of 4 indicates that the length of the ccbptTargetId to follow is 4 bytes. The ccbptTargetId is defined in the MIB as a variable length octet string. Representing this object in the index of a table requires that the object be preceded by the length of an octet string.
- ccbptTargetId--Value of 0.0.6.97 indicates the target ID. The length of the third index is determined by the value in the second byte of the entire index. (In this example, the length of the target ID is 4 bytes.) For supported ccbptTargetId values, see the Feature Overview of QoS CBQoS Management Policy-to-Interface Mapping Support.
Numerical Value for the ifIndex Example
The figure below shows the numerical value of the ifIndex ccbptTargetId, 0.0.6.97.
|Figure 3 ||Numerical Value for an ifIndex |
- ccbptTargetDirection--Value of 3 indicates the ccbptTarget output direction.
- ccbptPolicyType--Value of 1 indicates the ccbptPolicyType, which is ciscoCbQos(1).
- ccbptPolicyId--Value of 3001 indicates the ccbptPolicyId, which is the policy index integer for the policy instance applied to the target. The value of 3001 equals the value of the cbQosPolicyIndex for the corresponding entry in the cbQosServicePolicyTable in the CISCO-CLASS-BASED-QOS-MIB.
- cbQosPolicyMapName.1293--Value indicates the row in the cbQosPolicyMapTable describing the configuration of the policy map applied to the output direction of this ccbptTargetId.
Possible Values for ccbptTargetId
The figure below shows the supported ccbptTargetId values.
|Figure 4 ||ccbptTargetId Values |
- For genIf(1), OCTET STRING (SIZE(4))--ifIndex (4d). Where the (4d) value is a 4-byte decimal for the length of the ccbptTargetId in the example.
- For atmPvc(2), OCTET STRING (SIZE(8))--ATM PVC (4d:2d:2d). Where the ATM PVC has a ccbptTargetId length of 8 bytes (4d:2d:2d).
- For frDlci(3), OCTET STRING(SIZE(6))--Frame Relay ifIndex is the first 4 bytes, and DLCI is the last 2 bytes (4d:2d).
- For controlPlane(4), OCTET STRING(SIZE(4))--Control Plane Entity (4d).
Objects in the CISCO-CBP-TARGET-MIB
The notation used in the CISCO-CBP-TARGET-MIB follows the conventions defined in Abstract System Notation One (ASN.1). ASN.1 defines an Open System Interconnection (OSI) language used to describe data types independently from particular computer structures and presentation techniques. Each object in the MIB incorporates a DESCRIPTION field that includes an explanation of the object's meaning and usage, which, together with the other characteristics of the object (SYNTAX, MAX-ACCESS, and INDEX), provides sufficient information for management application development, as well as for documentation and testing.
A network administrator can access the entries (objects) in the CISCO-CBP-TARGET-MIB by means of any SNMP-based network management system (NMS). The network administrator can retrieve information in the CISCO-CBP-TARGET-MIB using standard SNMP get and getnext operations.
Scalar Objects in the CISCO-CBP-TARGET-MIB
The CISCO-CBP-TARGET-MIB contains the following unsupported scalar object:
- ccbptPolicyNext--Indicates the next available value of ccbptPolicyId that can be used to create a new conceptual row in the ccbptTargetTable. If no available identifier exists, this object has a value of 0. This object is read-only and is unsupported.
The CISCO-CBP-TARGET-MIB contains the following supported scalar object:
- ccbptTargetTableLastChange--Shows the value of sysUpTime at the time of the last addition or deletion of an entry in the ccbptTargetTable. If the number of entries is unchanged since the last reinitialization of the local network management system, the value of this object is 0. This object is read-only and is supported.
Notifications in the CISCO-CBP-TARGET-MIB
There are no notifications in the CISCO-CBP-TARGET-MIB.