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.

Table 1. Slope policy defaults

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

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

Values

Valid names consist of any string up to 32 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.

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.

Values

0 to 100

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

Values

0 to 100

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

Values

0 to 100

Default

50

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

Note: The following command outputs are examples only; actual displays may differ depending on supported functionality and user configuration.
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#
Table 2. Slope policy field descriptions

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