CCD
Overview
Highlight can auto-discover Class of Service names from a traffic policy defined on an interface. The CCD table is used to:
- Map the class names on the router to a friendly name for Highlight to display
- Limit the classes discovered to only those of interest
- Associate incoming classes to their equivalnet outbound class
- Define the DSCP value to use for Performance tests run in that class
- Define which DSCP values are in the definition of a class - used for AppVisā¢
Changing the CCD
Override
If the word Override is showing and the fields are greyed out, this means the current settings are inherited from a folder further up the tree structure.
To alter these inherited values for this folder and any subfolder, click Override and the fields become edittable.Revert
If the word Revert is showing and the numeric fields are editable, this means the current settings are locally defined in this folder.
To revert to the parent folder settings, click Revert.
Each line represents a class of service and the definition is made up of the following settings:
Name
The title of the class when displayed in Highlight. No spaces are permittedValue
The value field defines the actual class names configured on the router to be matched, plus the marker to be used (dscp or precedence) when running tests in the class. Each Property must be space separated from the next.Property Description cin The name of the inbound class-map(s). Multiple entries must be comma separated cout The name of the outbound class-map(s). Multiple entries must be comma separated marker The type of qos marker used (dscp or prec) markspec The decimal dscp or precedence value used for in class Performance testing - Note: one save stores details for this and all other tabs.
Example
Based on the router configuration in Device Configuration for Classes section, paragraphs "Establish the relevant Class Names" and "Bi-Directional reporting", the CCD would look like:Name Voice Value cin=isDscpEF cout=premium marker=dscp markspec=46 Name Business Critical Value cin=isDscp26 cout=classic marker=dscp markspec=26 Name Standard Value cin=isDscp10 cout=standard marker=dscp markspec=10 Name Best Effort Value cin=class-default cout=class-default marker=dscp markspec=0
Child policies
It is common that a router has a policy to shape the traffic, and a "child" policy to control the classes within that.
In this example "main-policy" does the shaping and "class-policy" is the child:
policy-map main-policy
class class-default
shape average 282000000 1128000 0
service-policy class-policy
Classes used in the child policy must be prefixed in the CCD with "class-default." in order to be discovered.
For example cout=class-default.premium
It is common that partners may implement some customers with child policies and others without. The CCD can accommodate this by comma separating the options. The example CCD used in the previous section would then become:
Name | Voice |
---|---|
Value | cin=isDscpEF cout=premium,class-default.premium marker=dscp markspec=46 |
Name | Business Critical |
Value | cin=isDscp26 cout=classic,class-default.classic marker=dscp markspec=26 |
Name | Standard |
Value | cin=isDscp10 cout=standard,class-default.standard marker=dscp markspec=10 |
Name | Best Effort |
Value | cin=class-default cout=class-default,class-default.class-default marker=dscp markspec=0 |
AppVis requirements
In order for AppVis to recognise which class is carrying particular traffic types, the DSCP values used in the router class definition must also be added to the Highlight CCD.
For example class "Business Critical" may carry traffic with DSCP values of 24, 28 and 30 in addition to DSCP 26.
These additional values must be added to the end of each CCD entry, comma separated.
The example used in the previous section would then become:
Name | Voice |
---|---|
Value | cin=isDscpEF cout=premium,class-default.premium marker=dscp markspec=46 |
Name | Business Critical |
Value | cin=isDscp26 cout=classic,class-default.classic marker=dscp markspec=26,24,28,30 |
Name | Standard |
Value | cin=isDscp10 cout=standard,class-default.standard marker=dscp markspec=10,8,12,14 |
Name | Best Effort |
Value | cin=class-default cout=class-default,class-default.class-default marker=dscp markspec=0 |
Note: the first value in each list will be used for in-class performance tests.