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, see the 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 name
description description-string
high-slope
max-avg percent
max-prob percent
start-avg percent
no shutdown
low-slope
max-avg percent
max-prob percent
start-avg percent
no shutdown
- Example:
*A:ALU-1#
configure qos slope-policy "SlopePolicy1" create
config>qos>slope-policy$ description "Test1"
config>qos>slope-policy$ high-slope
config>qos>slope-policy>high-slope$ max-avg 90
config>qos>slope-policy>high-slope$ max-prob 60
config>qos>slope-policy>high-slope$ start-avg 90
config>qos>slope-policy>high-slope$ shutdown
config>qos>slope-policy>high-slope$ exit
config>qos>slope-policy$ low-slope
config>qos>slope-policy>low-slope$ max-avg 75
config>qos>slope-policy>low-slope$ max-prob 40
config>qos>slope-policy>low-slope$ start-avg 75
config>qos>slope-policy>low-slope$ exit
config>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 name
config>qos>sap-ingress>queue>slope-policy name
config>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. The following table 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-policy
config>qos>sap-ingress>queue>no slope-policy
config>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 overwrite
config>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 |