Slope QoS Policies
This chapter provides information to configure slope QoS policies using the command line interface.
Topics in this chapter include:
Overview
Random Early Detection (RED) and Weighted Random Early Detection (WRED) queue management policies are associated with queues and can be created at both access and network ports and in both directions (that is, ingress and egress). The main difference is that with WRED, there can be more than one slope curve managing the fill rate of the same queue. One curve manages the discards on high-priority traffic, and another curve manages the discards on low-priority traffic. For more information, refer to Slope Policies (WRED and RED).
On all adapter cards and platforms except the Gen-3 Ethernet adapter cards and platforms (such as the 6-port Ethernet 10Gbps Adapter card and the 7705 SAR-X with Ethernet ports), random discards (WRED) are buffer-based (that is, buffer-count in the queue is used to calculate the discard threshold). On the Gen-3 Ethernet adapter cards and platforms, random discards are byte-based (that is, payload-count (bytes) in the queue is used to calculate the discard threshold). The 7705 SAR-X with a TDM MDA uses buffer-based WRED.
Basic Configuration
This section contains the following topics related to creating and applying slope QoS policies:
A basic slope QoS policy must conform to the following rules.
Each slope policy must have a unique policy ID.
High slope and low slope are shut down (default).
Default values can be modified but parameters cannot be deleted.
Creating a Slope QoS Policy
Configuring and applying QoS policies is optional. If no QoS policy is explicitly defined, a default QoS policy is applied.
To create a new slope policy, you must define the following:
a slope policy name — the system does not dynamically assign a name
a description — a brief description of the of policy
the high slope for the high-priority WRED/RED slope graph
the low slope for the low-priority WRED/RED slope graph
Use the following CLI syntax to configure a slope policy:
- CLI Syntax:
 config>qos#slope-policy namedescription description-stringhigh-slopemax-avg percentmax-prob percentstart-avg percentno shutdownlow-slopemax-avg percentmax-prob percentstart-avg percentno shutdown
- Example:
 *A:ALU-1#configure qos slope-policy "SlopePolicy1" createconfig>qos>slope-policy$ description "Test1"config>qos>slope-policy$ high-slopeconfig>qos>slope-policy>high-slope$ max-avg 90config>qos>slope-policy>high-slope$ max-prob 60config>qos>slope-policy>high-slope$ start-avg 90config>qos>slope-policy>high-slope$ shutdownconfig>qos>slope-policy>high-slope$ exitconfig>qos>slope-policy$ low-slopeconfig>qos>slope-policy>low-slope$ max-avg 75config>qos>slope-policy>low-slope$ max-prob 40config>qos>slope-policy>low-slope$ start-avg 75config>qos>slope-policy>low-slope$ exitconfig>qos>slope-policy$ exit*A:ALU-1#
The following output shows the configuration for SlopePolicy1:
*A:ALU-1>config>qos# info
#--------------------------------------------------
echo "QoS Policy Configuration"
#--------------------------------------------------
        slope-policy "SlopePolicy1" create
            description "Test1"
            high-slope
                shutdown
                start-avg 90
                max-prob 60
            exit
            low-slope
                shutdown
                start-avg 75
                max-prob 40
            exit
        exit
#--------------------------------------------------
Applying Slope Policies
Slope policies are applied to network and access egress and ingress queues.
Use the following CLI syntax:
- CLI Syntax:
 config>qos>network-queue>queue>slope-policy nameconfig>qos>sap-ingress>queue>slope-policy nameconfig>qos>sap-egress>queue>slope-policy name
Default Slope Policy Values
The default slope policies are identified as default. The default policies cannot be edited or deleted. Slope Policy Defaults displays the default slope policy parameters.
Field  | 
Default  | 
|---|---|
description  | 
‟Default slope policy”  | 
high-slope  | 
|
shutdown  | 
shutdown  | 
start-avg  | 
70  | 
max-avg  | 
90  | 
max-prob  | 
80  | 
low-slope  | 
|
shutdown  | 
shutdown  | 
start-avg  | 
50  | 
max-avg  | 
75  | 
max-prob  | 
80  | 
The following output displays the default configuration:
A*A:ALU-1>config>qos# info detail
#--------------------------------------------------
echo "QoS Policy Configuration"
#--------------------------------------------------
 ...    
        slope-policy "default" create
            description "Default slope policy."
            high-slope
                shutdown
                start-avg 70
                max-avg 90
                max-prob 80
            exit
            low-slope
                shutdown
                start-avg 50
                max-avg 75
                max-prob 80
            exit
 ...
Service Management Tasks
This section describes the following service management tasks:
Deleting QoS Policies
A QoS policy cannot be deleted until it is removed from a network or access egress/ingress queue. Use the following CLI syntax:
- CLI Syntax:
 config>qos>network-queue>queue>no slope-policyconfig>qos>sap-ingress>queue>no slope-policyconfig>qos>sap-egress>queue>no slope-policy
Removing a Policy from the QoS Configuration
Use the following CLI syntax to delete a slope policy:
- CLI Syntax:
 config>qos# no slope-policy name
- Example:
 config>qos# no slope-policy SlopePolicy1
Copying and Overwriting QoS Policies
You can copy an existing slope policy, rename it with a new policy ID value, or overwrite an existing policy ID. The overwrite option must be specified or an error occurs if the destination policy ID exists.
Use the following syntax to overwrite an existing QoS slope policy.
- CLI Syntax:
 config>qos# copy slope-policy source-policy-name dest-policy-name [overwrite]
- Example:
 *A:ALU-1>config>qos# copy slope-policy SlopePolicy1 SlopePolicy2 overwriteconfig>qos# exit*A:ALU-2#
The following output displays the copied policies:
*A:ALU-2>config>qos# info detail
#--------------------------------------------------
echo "QoS Policy Configuration"
#--------------------------------------------------
...
        slope-policy "default" create
            description "Default slope policy."
            high-slope
                shutdown
                start-avg 70
                max-avg 90
                max-prob 80
            exit
            low-slope
                shutdown
                start-avg 50
                max-avg 75
                max-prob 80
            exit
        exit
        slope-policy "SlopePolicy2" create
            description "Test2"
            high-slope
                shutdown
                max-avg 100
                start-avg 100
                max-prob 75
            exit
            low-slope
                shutdown
                start-avg 75
                max-avg 75
                max-prob 40
            exit
        exit
        slope-policy "SlopePolicy1" create
            description "Test1"
            high-slope
                shutdown
                start-avg 90
                max-avg 60
                max-prob 90
            exit
            low-slope
                shutdown
                start-avg 75
                max-avg 75
                max-prob 40
            exit
        exit
        slope-policy "SlopePolicy2" create
            description "Test1"
            high-slope
                shutdown
                start-avg 90
                max-avg 60
                max-prob 90
            exit
            low-slope
                shutdown
                start-avg 75
                max-avg 75
                max-prob 40
            exit
        exit
 ...
Editing QoS Policies
You can change existing policies and entries in the CLI. The changes are applied immediately to all queues where this policy is applied. To prevent configuration errors, copy the policy to a work area, make the edits, and then write over the original policy.
Slope QoS Policy Command Reference
Command Hierarchies
Configuration Commands
config
    - qos
        - [no] slope-policy name [create] 
            - description description-string
            - no description 
            - [no] high-slope
                - max-avg percent
                - no max-avg 
                - max-prob percent
                - no max-prob
                - start-avg percent
                - no start-avg
                - [no] shutdown
            - [no] low-slope
                - max-avg percent
                - no max-avg 
                - max-prob percent
                - no max-prob 
                - start-avg percent
                - no start-avg 
                - [no] shutdown 
    Operational Commands
config
    - qos
        - copy slope-policy src-name dst-name [overwrite]
Show Commands
show
    - qos
        - slope-policy [slope-policy-name] [detail]
Command Descriptions
Configuration Commands
Generic Commands
description
Syntax
description description-string
no description
Context
config>qos>slope-policy
Description
This command creates a text description stored in the configuration file for a configuration context.
The no form of this command removes any description string from the context.
Default
n/a
Parameters
- description-string
 - 
                            
a text string describing the entity. Allowed values are any string up to 80 characters long composed of printable, 7-bit ASCII characters. If the string contains special characters (such as #, $, or spaces), the entire string must be enclosed within double quotes.
 
Slope Policy QoS Commands
slope-policy
Syntax
[no] slope-policy name [create]
Context
config>qos
Description
This command enables the context to configure a QoS slope policy.
Default
slope-policy ‟default”
Parameters
- name
 the name of the slope policy
- create
 keyword used to create a slope policy
high-slope
Syntax
[no] high-slope
Context
config>qos>slope-policy
Description
This command enables the context to define the high-priority Weighted Random Early Detection (WRED) or Random Early Detection (RED) slope graph. Each queue supports a high-priority WRED/RED slope for managing access to the queue for high-priority or in-profile packets.
The high-slope parameters can be changed at any time and the affected queue high-priority WRED/RED slopes are adjusted appropriately.
The no form of this command resets the parameters under the high-slope command context to the default values. If the parameters are set to the default values, the high-slope mode will not appear in save config and show config outputs unless the detail parameter is used.
low-slope
Syntax
[no] low-slope
Context
config>qos>slope-policy
Description
This command enables the context to define the low-priority WRED/RED slope graph. Each queue supports a low-priority WRED/RED slope for managing access to the queue for low-priority or out-of-profile packets.
The low-slope parameters can be changed at any time and the affected queue low-priority WRED/RED slopes are adjusted appropriately.
The no form of this command resets the parameters under the low-slope command context to the default values. If the parameters are set to the default values, the low-slope mode will not appear in save config and show config outputs unless the detail parameter is used.
WRED/RED Slope Commands
max-avg
Syntax
max-avg percent
no max-avg
Context
config>qos>slope-policy>high-slope
config>qos>slope-policy>low-slope
Description
This command sets the low-priority or high-priority WRED or RED slope position for the queue average usage value where the packet discard probability rises directly to one (maxThreshold or maxT). The percent parameter is expressed as a percentage of the maximum queue depth (buffer-based WRED) or a percentage of maximum payload of the queue (payload-based WRED).
The no form of this command restores the max-avg value to the default setting. If the current start-avg setting is larger than the default, an error will occur and the max-avg setting will not be changed to the default.
Default
max-avg 90 (the high slope default is 90% queue usage before discard probability is 1)
max-avg 75 (the low slope default is 75% queue usage before discard probability is 1)
Parameters
- percent
 the percentage of the maximum queue depth at which point the drop probability becomes 1. The value entered must be greater than or equal to the current setting of start-avg. If the entered value is smaller than the current value of start-avg, an error will occur and no change will take place.
max-prob
Syntax
max-prob percent
no max-prob
Context
config>qos>slope-policy>high-slope
config>qos>slope-policy>low-slope
Description
This command sets the high-priority or low-priority WRED/RED maximum discard probability (maxDP) at slope position max-avg. The percent parameter is expressed as a percentage of packet discard probability where always discard is a probability of 1. A max-prob value of 80 represents 80% of 1, or a packet discard probability of 0.8.
For bridging domain queues on the 2-port 10GigE (Ethernet) Adapter card and 2-port 10GigE (Ethernet) module, the queues support the following DP (discard probability) values: 0%, 1%, 2%, 3%, 4%, 5%, 6%, 7%, 8%, 9%, 10%, 25%, 50%, 75%, and 100%. User-configured values are rounded down to match these DP values.
For example, configuring a DP to be 74% means that the actual value used is 50%.
The no form of this command restores the max-prob value to the default setting.
Default
max-prob 80 (80% maximum drop probability corresponding to the max-avg)
Parameters
- percent
 the maximum drop probability percentage corresponding to the max-avg, expressed as a decimal integer
shutdown
Syntax
[no] shutdown
Context
config>qos>slope-policy>high-slope
config>qos>slope-policy>low-slope
Description
This command enables or disables the administrative status of the WRED/RED slope.
By default, all slopes are shut down and have to be explicitly enabled (no shutdown).
The no form of this command administratively enables the WRED/RED slope.
Default
shutdown (the WRED/RED slope disabled, implying a zero (0) drop probability)
start-avg
Syntax
start-avg percent
no start-avg
Context
config>qos>slope-policy>high-slope
config>qos>slope-policy>low-slope
Description
This command sets the high-priority or low-priority WRED/RED slope position for the queue average usage value where the packet discard probability starts to increase above zero (minThreshold or minT). The percent parameter is expressed as a percentage of the maximum queue depth (buffer-based WRED) or a percentage of maximum payload of the queue (payload-based WRED).
The no form of this command restores the start-avg value to the default setting. If the max-avg setting is smaller than the default, an error will occur and the start-avg setting will not be changed to the default.
Parameters
- percent
 the percentage of the maximum queue depth where the packet discard probability starts to increase above zero
Operational Commands
copy
Syntax
copy slope-policy src-name dst-name [overwrite]
Context
config>qos
Description
This command copies existing QoS policy entries for a QoS policy-id to another QoS policy-id.
This command is a configuration level maintenance tool used to create new policies using existing policies. It also allows bulk modifications to an existing policy with the use of the overwrite keyword.
Parameters
- slope-policy src-name dst-name
 indicates that the source policy ID and the destination policy ID are slope policy IDs. Specify the source policy ID that the copy command will attempt to copy from and specify the destination policy ID to which the command will copy a duplicate of the policy.
- overwrite
 specifies that the existing destination policy is to be replaced. Everything in the existing destination policy will be overwritten with the contents of the source policy. If overwrite is not specified, an error will occur if the destination policy ID exists.
Show Commands
slope-policy
Syntax
slope-policy [slope-policy-name] [detail]
Context
show>qos
Description
This command displays slope policy information.
Parameters
- slope-policy-name
 the name of the slope policy
- detail
 displays detailed information about the slope policy
Output
The following output is an example of slope policy information, and Slope Policy Field Descriptions describes the fields.
Output Example*A:ALU-1# show qos slope-policy SlopePolicy1 detail
===============================================================================
QoS Slope Policy
===============================================================================
Policy         : SlopePolicy1
Description    : Test1
Time Avg       : 3
-------------------------------------------------------------------------------
High Slope Parameters
-------------------------------------------------------------------------------
Start Avg      : 90                           Admin State  : Disabled
Max Avg        : 90                           Max Prob.    : 60
-------------------------------------------------------------------------------
Low Slope Parameters
-------------------------------------------------------------------------------
Start Avg      : 75                           Admin State  : Disabled
Max Avg        : 75                           Max Prob.    : 40
-------------------------------------------------------------------------------
Associations
-------------------------------------------------------------------------------
Object Type    Object Id     Queue
-------------------------------------------------------------------------------
sap-ingress    1             1
sap-ingress    8             1
sap-ingress    8             2
sap-egress     1             1
network-queue  default       1
network-queue  default       2
network-queue  default       3
network-queue  default       4
network-queue  default       5
network-queue  default       6
network-queue  default       7
network-queue  default       8
network-queue  default       9
network-queue  default       10
network-queue  default       11
network-queue  default       12
network-queue  default       13
network-queue  default       14
network-queue  default       15
network-queue  default       16
===============================================================================
*A:ALU-1#
Label  | 
Description  | 
|---|---|
Policy  | 
The ID that uniquely identifies the policy  | 
Description  | 
A text string that helps identify the policy’s context in the configuration file  | 
Time Avg  | 
The time average factor, which is the exponential weight factor used in calculating the average queue size. The time_average_factor parameter is non-user-configurable, and is set to a system-wide default value of 3.  | 
High Slope Parameters  | 
|
Start Avg  | 
The high-priority WRED/RED slope position for the queue average usage value where the packet discard probability starts to increase above zero  | 
Max Avg  | 
The high-priority WRED or RED slope position for the queue average usage value where the packet discard probability rises directly to one  | 
Admin State  | 
enabled - the administrative status of the WRED/RED slope is enabled  | 
disabled - the administrative status of the WRED/RED slope is disabled  | 
|
Max Prob.  | 
The high-priority WRED/RED maximum discard probability (at slope position max-avg)  | 
Low Slope Parameters  | 
|
Start Avg  | 
The low-priority WRED/RED slope position for the queue average usage value where the packet discard probability starts to increase above zero  | 
Max Avg  | 
The low-priority WRED or RED slope position for the queue average usage value where the packet discard probability rises directly to one  | 
Admin State  | 
enabled - the administrative status of the WRED/RED slope is enabled  | 
disabled - the administrative status of the WRED/RED slope is disabled  | 
|
Max Prob.  | 
The low-priority WRED/RED maximum discard probability (at slope position max-avg)  | 
Associations  | 
|
Object Type  | 
The type of object using the specified slope policy  | 
Object Id  | 
The identifier of the object using the specified slope policy  | 
Queue  | 
The number of the queue using the specified slope policy  |