10. QoS Shapers and Shaper QoS Policies

This chapter provides information to configure shaper QoS policies using the command line interface.

Topics in this chapter include:

10.1. Overview of QoS Shapers and Shaper QoS Policies

Shapers are used to control access or network traffic flows through the 7705 SAR.

QoS shapers refer to per-SAP and per-VLAN dual-rate aggregate shapers that operate at the QoS tier 2 level.

Shaper QoS policies refer to policies that contain shaper groups, such as per-customer (MSS) dual-rate aggregate shapers that operate at the QoS tier 3 level.

Configuring a dual-rate aggregate shaper means setting PIR and CIR values. For per-customer (MSS) aggregate shapers, this is done through a shaper group.

Dual-rate aggregate shapers are applied to shaped and unshaped SAP traffic for access ingress and access egress flows, and to shaped and unshaped VLAN traffic for network egress flows.

On a hybrid port, where access and network traffic can share the same physical port, a shaper policy can be applied independently to access egress or network egress traffic.

For more information on QoS shapers and shaper QoS policies, see the following sections:

10.2. Basic Configuration

This section contains the following topics related to creating and applying shaper QoS policies:

A basic shaper QoS policy must conform to the following rules.

  1. Each shaper policy must have a unique policy identifier (name).
  2. Default values can be modified but parameters cannot be deleted.

10.2.1. Creating a Shaper QoS Policy and Shaper Groups

Configuring and applying shaper QoS policies is optional. If no shaper QoS policy is explicitly defined, the default shaper QoS policy (“default”) is applied.

To create a new shaper policy, define the following:

  1. a shaper policy name — the system does not dynamically assign a name
  2. a description (optional) — a brief description of the policy
  3. a shaper group (optional) and its PIR and CIR values — a shaper group is a dual-rate aggregate shaper that is used mainly as a per-customer (MSS) aggregate shaper
  4. an unshaped SAP shaper group (optional) — the shaper group used by the group of all unshaped SAPs for the purpose of traffic arbitration with the shaped SAPs on a port

Use the following CLI syntax to configure a shaper policy and shaper groups within the shaper policy:

CLI Syntax:
config>qos#
shaper-policy policy-name [create]
description description-string
shaper-group shaper-group-name [create]
description description-string
rate pir-rate [cir cir-rate]
unshaped-sap-shaper-group shaper-group-name
Example:
config>qos
config>qos$ shaper-policy "shaper_policy_2" create
config>qos>shaper-policy$ shaper-group “sg1”
config>qos>shaper-policy>shaper-group$ rate 1000 cir 200
config>qos>shaper-policy>shaper-group$ exit
config>qos>shaper-policy$ shaper-group “unshaped_sg1”
config>qos>shaper-policy>shaper-group$ rate 500 cir 100
config>qos>shaper-policy>shaper-group$ exit
config>qos>shaper-policy>unshaped-sap-shaper-group$ “unshaped_sg1”
config>qos>shaper-policy$ exit
config>qos$

The following output shows the configuration for “shaper_policy_2”:

*A:7705custDoc:Sar18>config>qos# info detail
#--------------------------------------------------
....
        shaper-policy "shaper_policy_2" create
            no description
            shaper-group default create
                description "Default Shaper Group."
                rate max cir 0
            exit
            shaper-group sg1 create
                description "Shaper Group_1"
                rate 1000 cir 200
            exit
            shaper-group unshaped_sg1 create
                no description
                rate 500 cir 100
            exit
            unshaped-sap-shaper-group unshaped_sg1 
        exit
.....
#--------------------------------------------------
*A:7705custDoc:Sar18>config>qos#

10.2.2. Applying a Shaper QoS Policy and Shaper Groups

A shaper QoS policy must be assigned to an Ethernet MDA for access ingress per-customer aggregate shaping, or to a port for access egress per-customer aggregate shaping. Once a shaper policy is assigned, a shaper group can be applied.

Shaper groups are created within the shaper policy and provide the per-customer (MSS) aggregate shapers. The unshaped SAP shaper group within the policy provides the shaper rate for all the unshaped SAPs (4-priority scheduled SAPs). For each shaped SAP, an ingress or egress shaper group can be specified.

For ingress, the shaper group assigned to a SAP or unshaped shaper group must be a shaper group from the shaper policy assigned to the Ethernet MDA.

For egress, the shaper group assigned to a SAP or unshaped shaper group must be a shaper group from the shaper policy assigned to the port.

All ingress shaped or unshaped SAPs configured with the same ingress shaper group on an Ethernet MDA have their aggregate traffic shaped at the shaper group rate. Similarly, all the egress shaped or unshaped SAPs configured with the same egress shaper group on a port have their aggregate traffic shaped at the shaper group rate.

On all 7705 SAR fixed platforms (with the exception of the 7705 SAR-X), when a shaper policy is assigned to an Ethernet MDA for access ingress aggregate shaping, it is automatically assigned to all the Ethernet MDAs in that chassis. The shaper group members contained in the shaper policy span all the Ethernet MDAs. SAPs on different Ethernet MDAs configured with the same ingress shaper group will share the shaper group rate.

For hybrid ports, one shaper policy can be applied to the network egress traffic as well as to the access egress traffic. For network egress, all the shaped interfaces (VLANs) and unshaped interfaces are bound to the default shaper group contained in the shaper policy assigned to the network egress port. The access egress traffic is bound to the shaper group assigned to each shaped SAP or to the default shaper group if none is assigned, and all the unshaped SAPs are assigned to the unshaped shaper group or to the default shaper group if none is assigned. Traffic is then scheduled between the network and access shaper groups by ensuring that the CIR rate for each shaper group is scheduled before any of the excess information rate (EIR) traffic from any of the shaper groups.

Note:

On the 8-port Ethernet Adapter card, version 2, shaped and unshaped VLANs are arbitrated towards the port but egress-rate cannot be enabled.

10.2.2.1. Applying a Shaper Policy

The following examples illustrate the CLI syntax to apply a shaper policy to an MDA and a hybrid port (access and network egress).

CLI Syntax:
config>card>mda#
access
ingress
shaper-policy policy-name
CLI Syntax:
config>port>ethernet#
egress-rate sub-rate
mode hybrid
access
egress
shaper-policy policy-name
unshaped-sap-cir cir-rate
network
egress
shaper-policy policy-name
unshaped-if-cir cir-rate

The following outputs show an ingress shaper policy applied to an MDA and different shaper policies applied to access egress and network egress traffic on a hybrid port:

*A:ALU>config>card>mda>access# info detail
----------------------------------------------
                ingress
                    fabric-policy 1
                    security-queue-policy 1
                    shaper-policy "test_shaper_policy"
                exit
----------------------------------------------
*A:ALU>config>card>mda>access#
*A:ALU>config>port>ethernet# info
----------------------------------------------
            mode hybrid
            encap-type dot1q
            network
                egress
                    shaper-policy 2
                    unshaped-if-cir 250000
                exit
            exit
            access
                egress
                    unshaped-sap-cir 200000
                    shaper-policy 5
                exit
            exit
----------------------------------------------

10.2.2.2. Applying a Shaper Group

Shaper groups are applied to SAPs on Epipe, Ipipe, and VPLS services, and to interface SAPs on IES and VPRN services. The shaper group must exist within the shaper policy assigned to an MDA.

When an unshaped-sap-shaper-group is configured within a shaper policy, it is automatically applied to the unshaped SAPs on the MDA. Operators do not need to specifically apply the unshaped SAP shaper group.

Use the following CLI syntax to apply a shaper group to a VPLS SAP. The syntax is similar for Epipe and Ipipe SAPs. The syntax is also similar for IES and VPRN services, except that the SAP is configured on a service interface.

CLI Syntax:
config>service>vpls>sap#
egress
[no] shaper-group name
ingress
[no] shaper-group name

The following output shows shaper group “sg1” applied to access ingress traffic on a VPLS SAP:

*A:ALU>config>service>vpls>sap>ingress# info detail
----------------------------------------------
                    qos 1
                    no match-qinq-dot1p
                    scheduler-mode 16-priority
                    no agg-rate-limit
                    shaper-group sg1
----------------------------------------------
*A:ALU>config>service>vpls>sap>ingress#

10.2.2.3. Viewing Shaper Policy Information

Use the show>qos>shaper-policy command to view information on a shaper policy, its shaper groups (including the unshaped SAP shaper group), the PIR and CIR values, and where the policy is used.

*A:ALU>show qos shaper-policy “test_shaper_policy”  detail
===============================================================================
QoS Shaper Policy
===============================================================================
-------------------------------------------------------------------------------
Shaper Policy (test_shaper_policy)
-------------------------------------------------------------------------------
Policy                     : test_shaper_policy
Description                : (Not Specified)
Unshaped Sap Shaper Group  : unshaperd_sg1
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Shaper Group Name                   PIR (Kbps)      CIR (Kbps)
-------------------------------------------------------------------------------
default                             max             0
test_sg1                            999000          555000
unshaperd_sg1                       888000          444000
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Policy Associations
-------------------------------------------------------------------------------
Object Type    Object Id      Direction
-------------------------------------------------------------------------------
MDA            1/1            access  ingress
MDA            1/2            access  ingress
MDA            1/5            access  ingress
Port           1/2/1          access  egress
Port           1/5/8          network egress
-------------------------------------------------------------------------------
===============================================================================
*A:ALU>show qos shaper-policy “test_shaper_policy”  detail#

10.2.3. Default Shaper QoS Policy Values

The default shaper policies are identified by the policy name “default”. The default policies cannot be deleted. Table 65 displays the default shaper policy parameters.

Table 65:  Shaper Policy Defaults  

Field

Default

description

“Default Shaper QoS policy.”

shaper-group

“default”

    description

“Default Shaper Group.”

    pir-rate

max

    cir-rate

0

The following output displays the default configuration:

A*A:ALU-1>config>qos# info detail
#--------------------------------------------------
echo "QoS Policy Configuration"
#--------------------------------------------------
 ...    
       shaper-policy "default" create
            description "Default Shaper QoS policy."
            shaper-group default create
                description "Default Shaper Group."
                rate max cir 0
            exit
        exit
 ...
#--------------------------------------------------

10.2.4. Configuring per-SAP Aggregate Shapers and an Unshaped SAP Aggregate Shaper (H-QoS)

Configuring tier 2 per-SAP aggregate shapers applies to Gen-2 SAPs configured with 16-priority scheduling mode and Gen-3 SAPs. Access ingress and access egress shapers are configured under the same CLI context.

Configuring a single tier 2 aggregate shaper for all unshaped SAPs applies to Gen-2 SAPs configured with 4-priority scheduling mode. Access ingress and access egress shapers are configured under different CLI contexts.

10.2.4.1. Creating 16-Priority Shaped SAPs and Configuring per-SAP Aggregate Shapers

Create shaped Gen-2 SAPs by configuring the scheduler mode to 16-priority. On Gen-3 hardware, the scheduler mode is always 4-priority and SAPs are shaped.

Configure a shaped SAPs’ aggregate rates by setting the CIR and PIR, as required. The SAP must be shut down before the scheduler mode and the agg-rate and cir-rate can be changed.

Use the first CLI syntax (below) to create shaped SAPs for access egress and access ingress for VLL and VPLS services (including routed VPLS), and the second syntax for IES and VPRN services. Examples are given for Epipe and IES services on Gen-2 and Gen-3 hardware:

CLI Syntax:
config>service>epipe service-id customer customer-id create
sap sap-id create
egress
scheduler-mode {4-priority | 16-priority}
agg-rate-limit agg-rate [cir cir-rate]
ingress
scheduler-mode {4-priority | 16-priority}
agg-rate-limit agg-rate [cir cir-rate]
CLI Syntax:
config>service>ies service-id customer customer-id create
   interface ip-interface-name create
sap sap-id create
egress
scheduler-mode {4-priority | 16-priority}
agg-rate-limit agg-rate [cir cir-rate]
ingress
scheduler-mode {4-priority | 16-priority}
agg-rate-limit agg-rate [cir cir-rate]

In the examples below, MDA 1/12 is a Gen-2 adapter card and MDA 1/3 is a Gen-3 adapter card.

Example:
config>service>epipe# sap 1/12/8 create
config>service>epipe>sap# shutdown
config>service>epipe>sap# egress
...egress# scheduler-mode 16-priority
...egress# agg-rate-limit 250000 cir 150000
config>service>epipe# sap 1/12/7 create
config>service>epipe>sap# ingress
...ingress# scheduler-mode 16-priority
...ingress# agg-rate-limit 250000 cir 150000
config>service>epipe# sap 1/3/2 create
config>service>epipe>sap# ingress
...ingress# agg-rate-limit 250000 cir 150000
Example:
config>service>ies# interface “ies_6000_interface”
config>service>ies>if# sap 1/12/5 create
config>service>ies>if>sap# shutdown
config>service>ies>if>sap# egress
...egress# scheduler-mode 16-priority
...egress# agg-rate-limit 250000 cir 150000
config>service>ies# interface “ies_6001_interface”
config>service>ies>if# sap 1/12/6 create
config>service>ies>if>sap# # ingress
...ingress# scheduler-mode 16-priority
...ingress# agg-rate-limit 250000 cir 150000
config>service>ies>if# sap 1/3/3 create
config>service>ies>if>sap# # ingress
...ingress# agg-rate-limit 250000 cir 150000

The following outputs display the shaped SAP configuration for Epipe and IES services:

*A:7705custDoc:Sar18>config>service>epipe# info
----------------------------------------------
....
            sap 1/12/7 create
                shutdown
                ingress
                    scheduler-mode 16-priority
                    agg-rate-limit 250000 cir 150000
                exit
            exit
            sap 1/12/8 create
                shutdown
                egress
                    scheduler-mode 16-priority
                    agg-rate-limit 250000 cir 150000
                exit
            exit
            sap 1/3/2 create
                shutdown
                egress
                    agg-rate-limit 250000 cir 150000
                exit
            exit
----------------------------------------------
*A:7705custDoc:Sar18>config>service>epipe#
*A:7705custDoc:Sar18>config>service>ies# info
----------------------------------------------
....
            interface "ies_6000_interface" create
                sap 1/12/5 create
                    shutdown
                    egress
                        scheduler-mode 16-priority
                        agg-rate-limit 250000 cir 150000
                    exit
                exit
            exit
            interface "ies_6001_interface" create
                sap 1/12/6 create
                    shutdown
                    ingress
                        scheduler-mode 16-priority
                        agg-rate-limit 250000 cir 150000
                    exit
                exit
            exit
            interface "ies_6002_interface" create
            sap 1/3/3 create
                shutdown
                egress
                    agg-rate-limit 250000 cir 150000
                exit
            exit
----------------------------------------------

10.2.4.2. Configuring an Unshaped Aggregate CIR for All 4-Priority Unshaped SAPs (Access Ingress)

Use the first CLI syntax to set the unshaped-sap-cir for all unshaped 4-priority SAPs on a 7705 SAR-8 or 7705 SAR-18. The fabric profile must be in aggregate mode before an unshaped SAP aggregate CIR can be assigned. Use the second CLI syntax for a 7705 SAR-M, 7705 SAR-H, 7705 SAR-Hc, 7705 SAR-A, 7705 SAR-Ax, 7705 SAR-W, or 7705 SAR-Wx; it does not apply to the 7705 SAR-X.

CLI Syntax:
config>qos
fabric-profile policy-id aggregate-mode create
aggregate-rate aggregate-rate [unshaped-sap-cir cir-rate]
CLI Syntax:
config>system>qos
access-ingress-aggregate-rate access-ingress-aggregate-rate [unshaped-sap-cir cir-rate]
Example:
config>qos#
config>qos# fabric-profile 2 aggregate-mode create
config>qos>fabric-profile# aggregate-rate 250000 unshaped-sap-cir 150000
Example:
config>system>qos#
config>system>qos# access-ingress-aggregate-rate 250000 unshaped-sap-cir 150000

The following output displays the fabric profile configuration for an H-QoS configuration:

*A:ALU-1:Sar18>config>qos# info detail
#--------------------------------------------------
echo "QoS Policy Configuration"
#--------------------------------------------------
....
 fabric-profile 2 aggregate-mode create
            no description
            aggregate-rate 250000 unshaped-sap-cir 150000
        exit
#--------------------------------------------------
 
*A:ALU-1>config>qos# 

For the 7705 SAR-M, 7705 SAR-H, 7705 SAR-Hc, 7705 SAR-A, 7705 SAR-Ax, 7705 SAR-W, and 7705 SAR-Wx:

*A:7705custDoc:sarM>config>system>qos# info detail
----------------------------------------------
            access-ingress-aggregate-rate 250000 unshaped-sap-cir 150000
            network-ingress-aggregate-rate 2
----------------------------------------------
*A:7705custDoc:sarM>config>system>qos# 

10.2.4.3. Configuring an Unshaped Aggregate CIR for All 4-Priority Unshaped SAPs (Access Egress)

To provide arbitration between the bulk (aggregate) of unshaped SAPs and the shaped SAPs, assign a rate to the unshaped SAPs. Refer to the 7705 SAR Interface Configuration Guide for command descriptions.

Use the following CLI syntax to configure a per-port CIR rate limit for the aggregate of all 4-priority unshaped SAPs on the egress port:

CLI Syntax:
config>port port-id>ethernet
access
egress
[no] unshaped-sap-cir cir-rate
Example:
config# port 1/12/7
config>port# ethernet
config>port>ethernet# access
config>port>ethernet>access# egress
config>port>ethernet>access>egress# unshaped-sap-cir 5000000

The following output displays the port configuration for the unshaped SAPs in an H-QoS configuration:

*A:7705custDoc:Sar18>config>port# info
----------------------------------------------
.....
        ethernet
            access
                egress
                    unshaped-sap-cir 500000
                exit
            exit
        exit
----------------------------------------------
*A:7705custDoc:Sar18>config>port#

10.2.5. Configuring per-VLAN Shapers and an Unshaped VLAN Shaper

This section contains information on the following topics:

10.2.5.1. Configuring Per-VLAN Network Egress Shapers

Per-VLAN network egress shapers can be configured for network interfaces.

The queue-policy command is used to enable and disable the network egress per-VLAN shapers on a per-interface basis. If the no queue-policy command is used, the VLAN (that is, the interface) defaults to unshaped mode. The agg-rate-limit command cannot be accessed unless a network queue policy is assigned to the interface.

Use the following CLI syntax to configure a per-VLAN network egress shaper on a network interface. Refer to the 7705 SAR Router Configuration Guide for command descriptions.

CLI Syntax:
config>router>interface#
egress
queue-policy name
agg-rate-limit agg-rate [cir cir-rate]

10.2.5.2. Configuring a CIR for Network Egress Unshaped VLANs

To provide arbitration between the bulk (aggregate) of unshaped VLANs and the shaped VLANs, assign a rate to the unshaped VLANs.

Use the following CLI syntax to configure a CIR for the bulk of network egress unshaped VLANs. Refer to the 7705 SAR Interface Configuration Guide for command descriptions.

CLI Syntax:
config>port>ethernet#
network
egress
unshaped-if-cir cir-rate

10.3. Service Management Tasks

This section describes the following service management tasks:

10.3.1. Removing and Deleting QoS Policies

A QoS policy cannot be deleted until its associations with all the ports are removed.

Since one shaper policy can be assigned to multiple ports, you must remove all the associations to the ports before deleting the shaper policy.

Use the following CLI syntax to remove a shaper policy from a port and then delete the shaper policy from the QoS configuration:

CLI Syntax:
config>port>ethernet>access>egress# no shaper-policy
config>qos# no shaper-policy policy-name
Example:
config>port>ethernet>access>egress# no shaper-policy
config>qos# no shaper-policy shaper_policy_2

10.3.2. Copying and Overwriting QoS Policies

You can copy an existing shaper policy to a new shaper policy or overwrite an existing shaper policy. If the destination policy ID exists, the overwrite option must be specified or an error occurs.

Use the following syntax to overwrite an existing shaper QoS policy.

CLI Syntax:
config>qos> copy shaper-policy src-name dst-name overwrite
Example:
config>qos# copy shaper-policy ShaperPolicy1 ShaperPolicy2 overwrite
config>qos# exit

The following output displays the copied policies:

*A:ALU-2>config>qos# info detail
#--------------------------------------------------
echo "QoS Policy Configuration"
#--------------------------------------------------
...
        shaper-policy "default" create
            description "Default shaper policy"
            shaper-group “default” create
                rate max cir 0
            exit
        exit
        shaper-policy "ShaperPolicy2" create
            description "Test2"
            shaper-group “default” create
                rate 2000 cir 250
            exit
        exit
        shaper-policy "ShaperPolicy1" create
            description "Test1"
            shaper-group “default” create
                rate 1000 cir 150
            exit
        exit
        shaper-policy "ShaperPolicy2" create
            description "Test1"
            shaper-group “default” create
                rate 1000 cir 150
            exit
        exit
 ...
#--------------------------------------------------

10.3.3. 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.