Network Queue QoS Policies

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

Topics in this chapter include:

Overview

Network queue policies define the network queuing characteristics on the network adapter cards.

There is one default network queue policy. Each policy can have up to 16 ingress queues (8 unicast and 8 multipoint). The default policies cannot be deleted but can be copied and the copy can be modified. The default policies are identified as network-queue ‟default”.

Default network queue policies are applied to adapter card network ingress ports at the adapter card level, and to network egress ports at the port level. You must explicitly create and then associate other network queue QoS policies.

For information about the tasks and commands necessary to access the command line interface and to configure and maintain the 7705 SAR, refer to the 7705 SAR Basic System Configuration Guide, ‟CLI Usage”.

Basic Configuration

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

A basic network queue QoS policy must conform to the following rules.

  • Each network queue QoS policy must have a unique policy name.

  • Queue parameters can be modified, but not deleted.

Configuring a Network Queue QoS Policy

Configuring and applying QoS policies other than the default policy is optional. A default network queue policy is applied to network ingress and network egress ports, as well as the ports on a ring adapter card, which includes the ring ports, the add/drop port, and the v-port. See Default Network Queue QoS Policy Values for default values.

Perform the following when creating a network queue policy.

  • Enter a network queue policy name. The system does not dynamically assign a name.

  • Include a description. The description provides a brief overview of policy features.

  • Assign a forwarding class. You can assign a forwarding class to a specific queue after the queue has been created.

Creating a Network Queue QoS Policy

By default, all network queue policies are created with queue 1 and (multipoint) queue 9 applied to the policy. Similarly, when an FC is created within a network queue policy, the default unicast queue 1 and multicast queue 9 are assigned to the FC. The multipoint keyword applies to queues 9 to 16.

Use the following CLI syntax to create a network queue QoS policy.

CLI Syntax:
config>qos
    network-queue policy-name
        description description-string 
        fc fc-name
            multicast-queue queue-id
            queue queue-id 
        queue queue-id [multipoint] [queue-type]
            adaptation-rule [pir adaptation-rule] [cir adaptation-rule]
            cbs percent
            high-prio-only percent
            mbs percent
            rate percent [cir percent]
            slope-policy name

The following example creates a unicast and a multipoint network queue policy.

Example:
ALU-1# config>qos# network-queue NQ1 create
config>qos>network-queue$ description "NetQueue1"
config>qos>network-queue$ fc be create
config>qos>network-queue>fc$ exit
config>qos>network-queue# queue 10 multipoint create
config>qos>network-queue>queue# exit
config>qos>network-queue$ fc h1 create
config>qos>network-queue>fc$ multicast-queue 10
config>qos>network-queue>fc$ exit
config>qos>network-queue# exit
config>qos# exit
ALU-1#

The following output displays the configuration for NQ1.

ALU-1>config>qos# network-queue NQ1
ALU-1>config>qos>network-queue# info detail
----------------------------------------------
            description "NetQueue1" 
            queue 1 auto-expedite create
                no avg-frame-overhead
                rate 100 cir 0
                adaptation-rule pir closest cir closest
                mbs 5
                cbs 0.10
                high-prio-only 10
                slope-policy "default"
            exit
            queue 9 multipoint auto-expedite create
                no avg-frame-overhead
                rate 100 cir 0
                adaptation-rule pir closest cir closest
                mbs 5
                cbs 0.10
                high-prio-only 10
                slope-policy "default"
            exit
            queue 10 multipoint auto-expedite create
                no avg-frame-overhead
                rate 100 cir 0
                adaptation-rule pir closest cir closest
                mbs 5
                cbs 0.10
                high-prio-only 10
                slope-policy "default"
            exit
            fc be create
                multicast-queue 9
                queue 1
            exit
            fc h1 create
                multicast-queue 10
                queue 1
            exit
----------------------------------------------
ALU-1>config>qos>network-queue#

Applying Network Queue QoS Policies

Apply network queue policies to the following entities:

Adapter Cards

Use the following CLI syntax to apply a network queue policy to any adapter card network ingress port or v-port on a ring adapter card. Use the ring command to apply a network queue policy to a ring add/drop port. You cannot assign a network queue policy to an add/drop port while the policy is referenced by a non-ring port, and vice versa.

The first example applies a network queue policy to any network ingress port or v-port on a ring adapter card. The second example applies to network queue policy to an add/drop port.

CLI Syntax:
config>card
    mda mda-slot
        network
            ingress
                queue-policy name
    ring
            add-drop-port-queue-policy name
Example:
configure card 1
config>card# mda 1
config>card>mda# network
config>card>mda>network# ingress
config>card>mda>network>ingress# queue-policy NQ1
config>card>mda>network>ingress# exit
config>card>mda>network# exit
config>card>mda# exit
config>card# exit

The following output displays network ingress queue policy NQ1 applied to the adapter cards.

A:ALU-1# configure card 1
*A:ALU-1>config>card# info
----------------------------------------------
        card-type iom-sar
        mda 1
            mda-type a16-chds1v2
            network
                ingress
                    queue-policy "NQ1"
                exit
            exit
        exit
        mda 2
            mda-type a8-1gb-v3-sfp
            network
                ingress
                    queue-policy "NQ1"
                exit
            exit
        exit
        mda 3
            mda-type a8-1gb-v3-sfp
            network
                ingress
                    queue-policy "NQ1"
                exit
            exit
        exit
        mda 4
            mda-type a16-chds1v2
            network
                ingress
                    queue-policy "NQ1"
                exit
            exit
        exit
----------------------------------------------
*A:ALU-1>config>card#

Use the following CLI syntax to apply a network queue policy to the add/drop port. A network queue policy for an add/drop port applies to traffic flowing from the bridging domain to the IP domain (that is, from the add/drop port to the v-port).

Example:
config# card 1
config>card# mda 8
config>card>mda# network ring 
config>card>mda>network>ring# add-drop-port-queue-policy ‟adp_queue_policy”

The following output displays the configuration for a network queue policy applied to the add/drop port.

*A:7705custDoc:Sar18>config>card>mda>network# info detail
----------------------------------------------
                ingress
                    fabric-policy 1
                    queue-policy "default"
                exit
                ring
                    qos-policy 5
                    add-drop-port-queue-policy "adp_queue_policy"
                exit
----------------------------------------------
*A:7705custDoc:Sar18>config>card>mda>network#

Network Ports

Use the following CLI syntax to apply network queue policy NQ1 to a network port.

CLI Syntax:
config>port#
    ethernet
        network
            queue-policy name
Example:
ALU-1# config# port 1/1/1
config>port# ethernet
config>port>ethernet# network
config>port>ethernet>network# queue-policy NQ1
config>port>ethernet>network# exit
ALU-1#

The following output displays a network port configuration.

*A:ALU-1>config>port# info
----------------------------------------------
        ethernet
            network
                queue-policy "NQ1"
            exit
        exit
        no shutdown
----------------------------------------------
*A:ALU-1>config>port#

Use the following CLI syntax to apply a network queue policy to v-port egress traffic.

A network queue policy for v-port egress traffic applies DSCP and LSP EXP classification to traffic flowing from the switching fabric in the IP domain towards the add/drop port in the bridging domain.

Example:
config# port 1/8/v-port
config>port# ethernet network
config>port>ethernet>network# queue-policy ‟egr_vp_q_policy” 

The following output displays the configuration for an egress queue policy applied to the v-port.

*A:7705custDoc:Sar18>config>port>ethernet>network# info detail
----------------------------------------------
                queue-policy "egr_vp_q_policy"
                scheduler-mode 16-priority
----------------------------------------------

A network queue policy for a ring port must be configured as a ring type using the network-policy-type keyword. The policy operates on ring port egress traffic.

Use the following CLI syntax to apply a network queue policy to a ring port:

CLI Syntax:
config>port port-id
    ethernet 
        network
            queue-policy name
Example:
config# port 1/8/1
config>port# ethernet network
config>port>ethernet>network# queue-policy ‟NQpolicy5” 

The following output displays the configuration for a network queue policy applied to a ring port.

*A:7705custDoc:Sar18>config>port>ethernet>network# info detail
----------------------------------------------
                queue-policy "NQpolicy5"
                scheduler-mode 16-priority
----------------------------------------------

Configuring Per-VLAN Network Egress Shapers

Per-VLAN network egress shapers can be configured for network interfaces. Refer to the 7705 SAR Router Configuration Guide for command descriptions.

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:

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

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. Refer to the 7705 SAR Interface Configuration Guide for command descriptions.

Use the following CLI syntax to configure a CIR for the bulk of network egress unshaped VLANs:

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

Default Network Queue QoS Policy Values

The default network queue policies are identified as policy-id default. The default policies cannot be modified or deleted. Default Network Queue Policy Definition displays default policy parameters.

Table 1. Default Network Queue Policy Definition

Forwarding Class

Queue

Definition

Queue

Definition

Network-Control (nc)

8

Rate = 100%

CIR = 10%

MBS = 2.5%

CBS = 0.25%

High-Prio-Only = 10%

16

Rate = 100%

CIR = 10%

MBS = 2.5%

CBS = 0.1%

High-Prio-Only = 10%

High-1 (h1)

7

Rate = 100%

CIR = 10%

MBS = 2.5%

CBS = 0.25%

High-Prio-Only = 10%

15

Rate = 100%

CIR = 10%

MBS = 2.5%

CBS = 0.1%

High-Prio-Only = 10%

Expedited (ef)

6

Rate = 100%

CIR = 100%

MBS = 5%

CBS = 0.75%

High-Prio-Only = 10%

14

Rate = 100%

CIR = 100%

MBS = 5%

CBS = 0.1%

High-Prio-Only = 10%

High-2 (h2)

5

Rate = 100%

CIR = 100%

MBS = 5%

CBS = 0.75%

High-Prio-Only = 10%

13

Rate = 100%

CIR = 100%

MBS = 5%

CBS = 0.1%

High-Prio-Only = 10%

Low-1 (l1)

4

Rate = 100%

CIR = 25%

MBS = 2.5%

CBS = 0.25%

High-Prio-Only = 10%

12

Rate = 100%

CIR = 5%

MBS = 2.5%

CBS = 0.25%

High-Prio-Only = 10%

Assured (af)

3

Rate = 100%

CIR = 25%

MBS = 5%

CBS = 0.75%

High-Prio-Only = 10%

11

Rate = 100%

CIR = 5%

MBS = 5%

CBS = 0.1%

High-Prio-Only = 10%

Low-2 (l2)

2

Rate = 100%

CIR = 25%

MBS = 5%

CBS = 0.25%

High-Prio-Only = 10%

10

Rate = 100%

CIR = 5%

MBS = 5%

CBS = 0.1%

High-Prio-Only = 10%

Best Effort (be)

1

Rate = 100%

CIR = 0%

MBS = 5%

CBS = 0.1%

High-Prio-Only = 10%

9

Rate = 100%

CIR = 0%

MBS = 5%

CBS = 0.1%

High-Prio-Only = 10%

The following output displays the network queue policy default configuration.

ALU-1>config>qos>network-queue# info detail
----------------------------------------------
            description "Default network queue QoS policy."
            queue 1 auto-expedite create
                no avg-frame-overhead
                rate 100 cir 0
                adaptation-rule pir closest cir closest
                mbs 5
                cbs 0.10
                high-prio-only 10
                slope-policy "default"
            exit
            queue 2 auto-expedite create
                no avg-frame-overhead
                rate 100 cir 25
                adaptation-rule pir closest cir closest
                mbs 5
                cbs 0.25
                high-prio-only 10
                slope-policy "default"
            exit
            queue 3 auto-expedite create
                no avg-frame-overhead
                rate 100 cir 25
                adaptation-rule pir closest cir closest
                mbs 5
                cbs 0.75
                high-prio-only 10
                slope-policy "default"
            exit
            queue 4 auto-expedite create
                no avg-frame-overhead
                rate 100 cir 25
                adaptation-rule pir closest cir closest
                mbs 2.5
                cbs 0.25
                high-prio-only 10
                slope-policy "default"
            exit
            queue 5 auto-expedite create
                no avg-frame-overhead
                rate 100 cir 100
                adaptation-rule pir closest cir closest
                mbs 5
                cbs 0.75
                high-prio-only 10
                slope-policy "default"
            exit
            queue 6 auto-expedite create
                no avg-frame-overhead
                rate 100 cir 100
                adaptation-rule pir closest cir closest
                mbs 5
                cbs 0.75
                high-prio-only 10
                slope-policy "default"
            exit
            queue 7 auto-expedite create
                no avg-frame-overhead
                rate 100 cir 10
                adaptation-rule pir closest cir closest
                mbs 2.5
                cbs 0.25
                high-prio-only 10
                slope-policy "default"
            exit
            queue 8 auto-expedite create
                no avg-frame-overhead
                rate 100 cir 10
                adaptation-rule pir closest cir closest
                mbs 2.5
                cbs 0.25
                high-prio-only 10
                slope-policy "default"
            exit
            queue 9 multipoint auto-expedite create
                no avg-frame-overhead
                rate 100 cir 0
                adaptation-rule pir closest cir closest
                mbs 5
                cbs 0.10
                high-prio-only 10
                slope-policy "default"
            exit
            queue 10 multipoint auto-expedite create
                no avg-frame-overhead
                rate 100 cir 5
                adaptation-rule pir closest cir closest
                mbs 5
                cbs 0.10
                high-prio-only 10
                slope-policy "default"
            exit
            queue 11 multipoint auto-expedite create
                no avg-frame-overhead
                rate 100 cir 5
                adaptation-rule pir closest cir closest
                mbs 5
                cbs 0.10
                high-prio-only 10
                slope-policy "default"
            exit
            queue 12 multipoint auto-expedite create
                no avg-frame-overhead
                rate 100 cir 5
                adaptation-rule pir closest cir closest
                mbs 2.5
                cbs 0.25
                high-prio-only 10
                slope-policy "default"
            exit
            queue 13 multipoint auto-expedite create
                no avg-frame-overhead
                rate 100 cir 100
                adaptation-rule pir closest cir closest
                mbs 5
                cbs 0.10
                high-prio-only 10
                slope-policy "default"
            exit
            queue 14 multipoint auto-expedite create
                no avg-frame-overhead
                rate 100 cir 100
                adaptation-rule pir closest cir closest
                mbs 5
                cbs 0.10
                high-prio-only 10
                slope-policy "default"
            exit
            queue 15 multipoint auto-expedite create
                no avg-frame-overhead
                rate 100 cir 10
                adaptation-rule pir closest cir closest
                mbs 2.5
                cbs 0.10
                high-prio-only 10
                slope-policy "default"
            exit
            queue 16 multipoint auto-expedite create
                no avg-frame-overhead
                rate 100 cir 10
                adaptation-rule pir closest cir closest
                mbs 2.5
                cbs 0.10
                high-prio-only 10
                slope-policy "default"
            exit
            fc af create
                multicast-queue 11
                queue 3
            exit
            fc be create
                multicast-queue 9
                queue 1
            exit
            fc ef create
                multicast-queue 14
                queue 6
            exit
            fc h1 create
                multicast-queue 15
                queue 7
            exit
            fc h2 create
                multicast-queue 13
                queue 5
            exit
            fc l1 create
                multicast-queue 12
                queue 4
            exit
            fc l2 create
                multicast-queue 10
                queue 2
            exit
            fc nc create
                multicast-queue 16
                queue 8

Service Management Tasks

This section describes the following service management tasks:

Deleting QoS Policies

A network queue policy is associated by default with adapter card network ingress ports. You can replace the default policy with a customer-configured policy, but you cannot entirely remove a QoS policy. When you remove a QoS policy, the policy association reverts to the default network-queue policy default.

Use the following CLI syntax to delete a network queue policy.

CLI Syntax:
config>qos# no network-queue policy-name
Example:
config>qos# no network-queue NQ1

Copying and Overwriting QoS Policies

You can copy an existing network queue policy, rename it with a new policy ID name, or overwrite an existing network queue policy. The overwrite option must be specified or an error occurs if the destination policy ID exists.

Use the following CLI syntax to overwrite an existing network queue policy.

CLI Syntax:
config>qos# copy network-queue source-policy-id dest-policy-id [overwrite]
Example:
A:ALU-1>config>qos# copy network-queue NQ1 NQ2 overwrite
config>qos# exit
*A:ALU-1#

The following output displays the copied policies:

*A:ALU-1>config>qos# info
----------------------------------------------
#--------------------------------------------------
echo "QoS Policy Configuration"
#--------------------------------------------------
        network-queue "NQ1" create
            description "NetQueue1"
            queue 1 create
                rate 10
                mbs 5
                cbs 0.10
                high-prio-only 10
            exit
            queue 9 multipoint create
                rate 10
                mbs 5
                cbs 0.10
                high-prio-only 10
            exit
            fc be create
                multicast-queue 9 
                queue 1
            exit
        exit
        network-queue "NQ2" create
            description "NetQueue1"
            queue 1 create
                rate 10
                mbs 5
                cbs 0.10
                high-prio-only 10
            exit
            queue 9 multipoint create
                rate 10
                mbs 5
                cbs 0.10
                high-prio-only 10
            exit
            fc be create
                multicast-queue 9
                queue 1
            exit
        exit
        network-queue "nq1" create
            description "NetQ1"
            queue 1 create
                rate 10
                mbs 5
                cbs 0.10
                high-prio-only 10
            exit
            queue 9 multipoint create
                rate 10
                mbs 5
                cbs 0.10
                high-prio-only 10
            exit
            fc be create
                multicast-queue 9 
                queue 1
            exit
        exit
        network-queue "nq3" create
            description "NetQ3"
            queue 1 create
                mbs 5
                cbs 0.10
                high-prio-only 10
            exit
            queue 9 multipoint create
                rate 10
                mbs 5
                cbs 0.10
                high-prio-only 10
            exit
            fc be create
                multicast-queue 9 
                queue 1
            exit
        exit
network-queue "netq2" create
Press any key to continue (Q to quit)

Editing QoS Policies

You can change existing policies, except the default policies, and entries in the CLI. The changes are applied immediately to all interfaces where the policy is applied. To prevent configuration errors, use the copy command to make a duplicate of the original policy to a work area, make the edits, and then overwrite the original policy.

Network Queue QoS Policy Command Reference

Command Hierarchies

Configuration Commands

config
    - qos
        - [no] network-queue policy-name [create] 
            - description description-string
            - no description
            - [no] fc fc-name [create] 
                - multicast-queue queue-id 
                - no multicast-queue 
                - queue queue-id
                - no queue 
            - packet-byte-offset [add bytes | subtract bytes | none]
            - no packet-byte-offset 
            - queue queue-id [multipoint] [queue-type] [create] 
            - no queue queue-id 
                - avg-frame-overhead percent
                - no avg-frame-overhead 
                - adaptation-rule [pir adaptation-rule] [cir adaptation-rule]
                - no adaptation-rule
                - cbs percent
                - no cbs
                - high-prio-only percent
                - no high-prio-only
                - mbs percent
                - no mbs
                - packet-byte-offset [add bytes | subtract bytes | none]
                - no packet-byte-offset 
                - rate percent [cir percent] 
                - no rate 
                - slope-policy name
                - no slope-policy
config
    - [no] port port-id
        - ethernet
            - egress-rate sub-rate [include-fcs] [allow-eth-bn-rate-changes] [hold-time hold-time]
            - no egress-rate
            - network
                - scheduler-mode {16-priority}

Operational Commands

config
    - qos
        - copy network-queue src-name dst-name [overwrite]

Show Commands

show
    - qos
        - network-queue [network-queue-policy-name] [detail]

Command Descriptions

Configuration Commands

Generic Commands
description
Syntax

description description-string

no description

Context

config>qos>network-queue

config>qos>network

config>qos>sap-egress

config>qos>sap-ingress

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.

Network Queue QoS Policy Commands
network-queue
Syntax

[no] network-queue policy-name [create]

Context

config>qos

Description

This command creates a context to configure a network queue policy. Network queue policies define the ingress and egress network queuing at the adapter card network node level.

Network queue policies define ingress and egress network queues similar to a service ingress QoS policy.

The no form of this command removes the network-queue policy from use. However, the network queue with policy-name default cannot be modified or deleted.

Default

default

Parameters
policy-name

the name of the network queue 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 network queue policy

packet-byte-offset
Syntax

packet-byte-offset [add bytes | subtract bytes | none]

no packet-byte-offset

Context

config>qos>network-queue

config>qos>network-queue>queue

Description

This command is used to modify the size of the packet that schedulers operate on. Modification only impacts schedulers and queue statistics. The actual packet size is not modified, nor can it be. Only the size used by the schedulers to determine the scheduling is changed. The packet-byte-offset command is meant to be a mechanism that can be used to compensate for downstream encapsulation or header removal. The scheduling rates are affected by the offset, as well as the statistics (accounting) associated with the queue. The packet-byte-offset command does not affect port-level and service-level statistics. It only affects the queue statistics. The network-queue policy applies in both the ingress and egress directions.

The add and subtract keywords are mutually exclusive. Either add, subtract, or none must be specified.

There are three modes of packet-byte-offset operation:

  • no packet-byte-offset — enables legacy behavior so that no modification is performed

  • packet-byte-offset — automatic adjustment mode. Rates apply to packets based on the received packet size at ingress (this is also known as packet size on the wire, less the Layer 1 headers, the inter-frame GAP and the Preamble) and to the transmitted packet size at egress, which includes 4 bytes of Ethernet FCS. At ingress, all internal headers and associated service headers are discounted during scheduling operation. At egress, 4 bytes are added to accommodate for Ethernet FCS.

  • packet-byte-offset [add bytes | subtract bytes]— automatic correction followed by addition or subtraction of a specified number of bytes. This command first performs the packet-byte-offset operation as captured above and then adds or subtracts a certain number of bytes. Rates apply to packets based on the size of the packet at the ingress or egress port plus or minus an offset.

Packet byte offset configuration can be applied at the policy level, in which case it applies to all of the queues within the policy, or at the individual queue level so that it applies only to a specific queue.

The no version of this command enables legacy 7705 SAR behavior where the queue rates are relative to the packet size with the internal fabric header added, but without the FCS.

Parameters
add bytes

after automatic adjustment for internal headers (for example, added FCS or removal of internal service/overhead), adds the specified number of bytes to each packet associated with the queue for scheduling and accounting purposes. From the queue’s perspective, the packet size is increased by the amount being added to each packet.

Values

2 to 62, in steps of 2

subtract bytes

after automatic adjustment for internal headers (for example, added FCS or removal of internal service/overhead), subtracts the specified number of bytes from each packet associated with the queue for scheduling and accounting purposes. From the queue’s perspective, the packet size is reduced by the amount being subtracted from each packet.

Values

2 to 62, in steps of 2

none

the packet size is left unchanged

queue
Syntax

queue queue-id multipoint [queue-type] [create]

no queue queue-id

Context

config>qos>network-queue

Description

This command enables the context to configure a QoS network-queue policy queue. Network queues are created with default queue 1 (non-multipoint) and queue 9 (multipoint) automatically assigned.

The queue command with the multipoint keyword allows the creation of multipoint queues. Only multipoint queues can receive ingress packets that need flooding to multiple destinations. By separating the unicast traffic from multipoint traffic at network ingress and handling the traffic on separate multipoint queues, special handling of the multipoint traffic is possible. Each queue acts as an accounting and (optionally) shaping device, offering precise control over potentially expensive broadcast, multicast, and unknown unicast traffic. Only the back-end support of multipoint traffic (between the forwarding class and the queue based on forwarding type) needs to be defined. The individual classification rules used to place traffic into forwarding classes are not affected. Queues must be defined as multipoint at the time of creation within the policy.

The multipoint queues are for multipoint-destined service traffic. Within non-multipoint services, such as Epipe services, all traffic is considered unicast due to the nature of the service type. Multicast and broadcast-destined traffic in an Epipe service will not be mapped to a multipoint service queue.

The no form of this command removes the forwarding class-to-queue mapping, causing the forwarding class to use the default queue instead. When a queue is removed, any pending accounting information for each network queue created due to the definition of the queue in the policy is discarded.

Parameters
queue-id

the queue identifier for the queue, expressed as an integer. The queue-id uniquely identifies the queue within the policy. This is a required parameter each time the queue command is executed.

Values

1 to 8 (unicast)

9 to 16 (multipoint)

Default

1 (unicast)

9 (multipoint)

multipoint

specifies that this queue-id is for multipoint forwarded traffic only. This queue-id can only be explicitly mapped to the forwarding class broadcast, multicast, or unknown unicast (BMU) ingress traffic. If you attempt to map forwarding class unicast traffic to a queue designated as multipoint, an error is generated and no changes are made to the current unicast traffic queue mapping.

A queue that will be used for multipoint traffic must be created as multipoint. The multipoint designator cannot be defined after the queue is created. If an attempt is made to modify the command to include the multipoint keyword, an error is generated and the command will not execute.

The multipoint keyword can be entered in the command line on a pre-existing multipoint queue to edit queue-id parameters.

Values

multipoint or not present

Default

not present (the queue is created as a unicast queue)

queue-type

the expedite, best-effort and auto-expedite queue types are mutually exclusive. Each defines the method that the system uses to service the queue from a hardware perspective. A keyword must be specified at the time the queue is created in the network-queue policy. If an attempt is made to change the keyword after the queue is initially defined, an error is generated.

expedite

the queue is treated in an expedited manner independent of the forwarding classes mapped to the queue

best-effort

the queue is treated in a non-expedited manner independent of the forwarding classes mapped to the queue

auto-expedite

the system auto-defines the way the queue is serviced by the hardware. When auto-expedite is defined on the queue, the queue is treated in an expedited manner when all forwarding classes mapped to the queue are configured as expedited types nc, ef, h1, or h2. When a single non-expedited forwarding class is mapped to the queue (be, af, l1, or l2), the queue automatically falls back to non-expedited status.

Values

expedite, best-effort, auto-expedite

Default

auto-expedite

create

keyword used to create a network QoS policy

avg-frame-overhead
Syntax

avg-frame-overhead percent

no avg-frame-overhead

Context

config>qos>network-queue>queue

Description

The 7705 SAR does not support the avg-frame-overhead command. It is always set to 0 and cannot be modified.

adaptation-rule
Syntax

adaptation-rule [pir adaptation-rule] [cir adaptation-rule]

no adaptation-rule

Context

config>qos>network-queue>queue

Description

This command defines the method used by the system to derive the operational CIR and PIR settings when the queue is provisioned in hardware. For the CIR and PIR parameters individually, the system attempts to find the best operational rate depending on the defined constraint.

The no form of the command removes any explicitly defined constraints used to derive the operational CIR and PIR created by the application of the policy. When a specific adaptation-rule is removed, the default constraints for rate and cir apply.

Default

adaptation-rule pir closest cir closest

Parameters
pir

defines the constraints enforced when adapting the PIR rate defined within the queue queue-id rate command. The pir parameter requires a qualifier that defines the constraint used when deriving the operational PIR for the queue. When the rate command is not specified, the default applies.

cir

defines the constraints enforced when adapting the CIR rate defined within the queue queue-id rate command. The cir parameter requires a qualifier that defines the constraint used when deriving the operational CIR for the queue. When the cir parameter is not specified, the default constraint applies.

adaptation-rule

specifies the adaptation rule to be used while computing the operational CIR or PIR value. The max (maximum), min (minimum), and closest parameters are mutually exclusive.

Values

max — causes the network processor to be programmed at an operational rate that is less than the configured PIR or CIR rate by up to 1.0%. For a network processor on a Gen-3 adapter card or platform, the average difference between the operational and the configured CIR rate is 2.0% (for frame sizes less than 2049 bytes) or 4.0% (for other frame sizes).

min — causes the network processor to be programmed at an operational rate that is greater than the configured PIR or CIR rate by up to 1.0%. For a network processor on a Gen-3 adapter card or platform, the average difference between the operational and the configured CIR rate is 2.0% (for frame sizes less than 2049 bytes) or 4.0% (for other frame sizes).

closest — causes the network processor to be programmed at an operational rate that is closest to the configured PIR or CIR rate

cbs
Syntax

cbs percent

no cbs

Context

config>qos>network-queue>queue

Description

This command specifies the relative amount of reserved buffers for a specific ingress network adapter card forwarding class queue or egress network port forwarding class queue. The value is entered as a percentage. The resultant CBS size can be larger than the MBS. This will result in a portion of the CBS for the queue to be unused and therefore should be avoided.

The no form of this command returns the CBS size for the queue to the default for the forwarding class.

Default

CBS Forwarding Class Defaults lists the cbs forwarding class defaults.

Table 2. CBS Forwarding Class Defaults

Forwarding Class

Forwarding Class Label

Unicast Queues

Multicast Queues

Queue ID

Default CBS (%)

Queue ID

Default CBS (%)

Network-Control

nc

8

0.25

16

0.1

High-1

h1

7

0.25

15

0.1

Expedited

ef

6

0.75

14

0.1

High-2

h2

5

0.75

13

0.1

Low-1

l1

4

0.25

12

0.1

Assured

af

3

0.75

11

0.1

Low-2

l2

2

0.25

10

0.1

Best-Effort

be

1

0.1

 9

0.1

Special Cases
Forwarding Class Queue on Egress Network Ports or Bundles

the total reserved buffers based on the total percentages can exceed 100%. This might not be desirable and should be avoided as a rule of thumb. If the total percentage equals or exceeds 100% of the queue size, no buffers will be available in the shared portion of the pool. Any queue exceeding its CBS size will experience a hard drop on all packets until it drains below this threshold.

Forwarding Class Queue on Ingress Adapter Cards

the total reserved buffers based on the total percentages can exceed 100%. This might not be desirable and should be avoided as a rule of thumb. If the total percentage equals or exceeds 100% of the queue size, no buffers will be available in the shared portion of the pool. Any queue exceeding its CBS size will experience a hard drop on all packets until it drains below this threshold.

Parameters
percent

the percent of buffers reserved from the total queue space, expressed as a decimal integer. If 10 Mbytes is the total buffer value in the queue, a value of 10 would reserve 1 Mbyte (10%) of buffer space for the forwarding class queue. The value 0 specifies that no reserved buffers are required by the queue (a minimal reserved size can be applied for scheduling purposes).

Values

0.00 to 100.00

high-prio-only
Syntax

high-prio-only percent

no high-prio-only

Context

config>qos>network-queue>queue

Description

The high-prio-only command allows the reservation of queue buffers for use exclusively by in-profile packets as a default condition for access buffer queues for this network queue policy. For network queues, in-profile packets are high priority, and out-of-profile packets are low priority.

Note: When a low-priority RED/WRED slope is enabled on a queue, the high-prio-only setting is not used. When that slope is disabled, then the high-prio-setting is used.

Modifying the current MBS for the queue through the mbs command will cause the default high-prio-only function to be recalculated and applied to the queue.

The no form of this command restores the default value.

Default

High-prio-only Forwarding Class Defaults lists the high-prio-only forwarding class defaults.

Table 3. High-prio-only Forwarding Class Defaults

Forwarding Class

Forwarding Class Label

Unicast Queues

Multicast Queues

Queue ID

Default high-prio-only

Queue ID

Default high-prio-only

Network-Control

nc

8

10

16

10

High-1

h1

7

10

15

10

Expedited

ef

6

10

14

10

High-2

h2

5

10

13

10

Low-1

l1

4

10

12

10

Assured

af

3

10

11

10

Low-2

l2

2

10

10

10

Best-Effort

be

1

10

9

10

Parameters
percent

the amount of queue buffer space reserved for in-profile packets, expressed as a decimal percentage

Values

0 to 100 | default

mbs
Syntax

mbs percent

no mbs

Context

config>qos>network-queue>queue

Description

This command specifies the relative amount of the queue space for the maximum buffers for a specific ingress network adapter card forwarding class queue or egress network port forwarding class queue. The value is entered as a percentage.

The Maximum Burst Size (MBS) value is used by a queue to determine whether it has exhausted its total allowed buffers while enqueuing packets. Once the queue has exceeded its maximum amount of buffers, all packets are discarded until the queue transmits a packet. A queue that has not exceeded its MBS size is not guaranteed that a buffer will be available when needed or that the packet’s RED/WRED slope will not force the discard of the packet. Setting proper CBS parameters and controlling CBS oversubscription is one major safeguard to queue starvation (when a queue does not receive its fair share of buffers). Another is properly setting the RED/WRED slope parameters for the needs of the network queues.

The MBS size can sometimes be smaller than the CBS. This will result in a portion of the CBS for the queue to be unused and should be avoided.

The no form of this command returns the MBS size for the queue to the default for the forwarding class.

Default

MBS Forwarding Class Defaults lists the mbs forwarding class defaults.

Table 4. MBS Forwarding Class Defaults

Forwarding Class

Forwarding Class Label

Unicast Queue

Multicast Queue

Queue ID

Default MBS

Queue ID

Default MBS

Network-Control

nc

8

2.5

16

2.5

High-1

h1

7

2.5

15

2.5

Expedited

ef

6

5

14

5

High-2

h2

5

5

13

5

Low-1

l1

4

2.5

12

2.5

Assured

af

3

5

11

5

Low-2

l2

2

5

10

5

Best-Effort

be

1

5

9

5

Special Cases
Forwarding Class Queue on Egress Network Ports or Bundles

the total MBS settings for all network egress queues on the port or channel based on the total percentages can exceed 100%. Some oversubscription can be desirable to allow exceptionally busy forwarding classes more access to buffer space. The proper use of CBS settings will ensure that oversubscribing MBS settings will not starve other queues of buffers when needed.

Forwarding Class Queue on Ingress Adapter Cards

the mbs value is used to calculate the queue’s MBS size based on the total amount of buffer space allocated to the network ingress queue on the adapter card.

The total MBS settings for all network egress queues on the port or channel based on the total percentages can exceed 100%. Some oversubscription can be desirable to allow exceptionally busy forwarding classes more access to buffer space. The proper use of CBS settings will ensure that oversubscribing MBS settings will not starve other queues of buffers when needed.

Parameters
percent

the percent of buffers from the total queue space allowed for the maximum amount of buffers, expressed as a decimal percentage

Values

0.00 to 100.00

rate
Syntax

rate percent [cir percent]

no rate

Context

config>qos>network-queue>queue

Description

This command defines the administrative Peak Information Rate (PIR) and the administrative Committed Information Rate (CIR) parameters for the queue. Defining a PIR does not necessarily guarantee that the queue can transmit at the intended rate. The actual rate sustained by the queue can be limited by oversubscription factors or available egress bandwidth.

The CIR defines the percentage at which the system prioritizes the queue over other queues competing for the same bandwidth.

The rate command can be executed at any time, altering the PIR and CIR rates for all queues created through the association of the SAP ingress or SAP egress QoS policy with the queue-id.

The no form of the command returns all queues created with the queue-id by association with the QoS policy to the default PIR and CIR parameters (100, 0).

Parameters
percent

defines the percentage of the maximum rate allowed for the queue. When the rate command is executed, a valid PIR setting must be explicitly defined. When the rate command has not been executed, the default PIR of 100 is assumed. Fractional values are not allowed and must be given as a positive integer.

The actual PIR rate is dependent on the queue’s adaptation-rule parameters and the actual hardware where the queue is provisioned. The PIR rate has a minimum value of 8 kb/s for all hardware.

Values

1 to 100

Default

100

cir percent

defines the percentage of the maximum rate allowed for the queue. When the rate command is executed, a CIR setting is optional. When the rate command has not been executed or the cir parameter is not explicitly specified, the default CIR (0) is assumed. Fractional values are not allowed and must be given as a positive integer.

The CIR rate has a minimum value of 8 kb/s.

Values

0 to 100

Default

0

Note: If a specified percentage results in a PIR or CIR that is lower than the minimum rate, the system rounds up the CIR or PIR to the minimum rate.
slope-policy
Syntax

slope-policy name

no slope-policy

Context

config>qos>network-queue>queue

Description

This command specifies the name of slope policy associated with the network queue.

Parameters
name

specifies the name for 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.

Default

default

egress-rate
Syntax

egress-rate sub-rate [include-fcs] [allow-eth-bn-rate-changes] [hold-time hold-time]

no egress-rate

Context

config>port>ethernet

Description

This command configures the rate of traffic leaving the network.

With the include-fcs option, the egress rate limit is applied to the traffic rate egressing the port with the 4-byte Ethernet FCS field included. If this option is not configured, the egress rate limit is applied to the traffic rate egressing the port without the 4-byte Ethernet FCS field included, and the actual rate of packets leaving the port is slightly higher than the configured egress rate value.

The include-fcs option is not supported on the 7705 SAR-A Fast Ethernet ports (ports 9 to 12) or 4-port SAR-H Fast Ethernet module. On the 6-port SAR-M Ethernet module, the include-fcs option is always on and cannot be disabled to compensate for the 4-byte FCS.

The allow-eth-bn-rate-changes option enables the Y.1731 ETH-BN client MEP option on the port. In applications such as a point-to-point microwave link, where degradation on the line can result in reduced link bandwidth, the egress rate can be dynamically changed based on the available bandwidth on the link as indicated by the ETH-BN server. When enabled, the received rate overrides the configured sub-rate for the port. For information on ETH-BN, including which Ethernet ports support this functionality, refer to the 7705 SAR OAM and Diagnostics Guide, ‟ITU-T Y.1731 Ethernet Bandwidth Notification (ETH-BN)”.

The bandwidth indicated by the ETH-BN server includes the FCS; therefore, the include-fcs option must be selected if the allow-eth-bn-rate-changes option is selected or the dynamically changed bandwidth will not match the intended rate.

The hold-time is used to limit the number of bandwidth changes as requested by the ETH-BN server. After a rate change occurs based on a Bandwidth Notification Message (BNM), any BMN received before the hold timer expires will be ignored.

The no form of this command returns the value to the default.

Default

no egress-rate

Parameters
sub-rate

the egress rate in kb/s

Values

1 to 10000000

include-fcs

the egress rate limit is applied to the traffic rate egressing the port with the 4-byte Ethernet FCS field included. This option must be selected if the allow-eth-bn-rate-changes option is selected; otherwise, the dynamically changed bandwidth will not match the intended rate.

allow-eth-bn-rate-changes

enables the Y.1731 ETH-BN client MEP option on the port. The egress rate will be dynamically changed to the bandwidth indicated in messages received from an ETH-BN server MEP. When enabled, the received rate overrides the configured sub-rate for the port.

hold-time

configures the hold time for egress rate bandwidth changes based on a received BNM, in seconds

Values

1 to 600

Default

5

scheduler-mode
Syntax

scheduler-mode {16-priority}

Context

config>port>ethernet>network

Description

This command selects the network-side scheduling option for Ethernet ports on the equipment listed in Scheduling Modes Supported by Adapter Cards and Ports at Network Egress and Scheduling Modes Supported by Adapter Cards and Ports at Network Ingress.

On the 6-port Ethernet 10Gbps Adapter card and the 7705 SAR-X, scheduler-mode is permanently set to support 4-priority and is not user-configurable. On all other Ethernet Adapter cards, modules, and platforms listed in Table 10 and Table 12, scheduler-mode can only be configured to 16-priority.

Default

16-priority—8-port Gigabit Ethernet Adapter card, 10-port 1GigE/1-port 10GigE X-Adapter card, 2-port 10GigE (Ethernet) Adapter card, 2-port 10GigE (Ethernet) module, 4-port SAR-H Fast Ethernet module, 6-port SAR-M Ethernet module, Packet Microwave Adapter card, 7705 SAR-A, 7705 SAR-Ax, 7705 SAR-H, 7705 SAR-Hc, 7705 SAR-M, and 7705 SAR-Wx Ethernet ports (cannot be changed)

Parameters
16-priority

sets the 16-priority scheduling option for the cards, modules, and platforms listed under Default

Network Queue QoS Policy Forwarding Class Commands
fc
Syntax

[no] fc fc-name [create]

Context

config>qos>network-queue

Description

The fc is created with default unicast queue-id 1 and default multicast queue-id 9 automatically configured. The specified queues contain the PIR, CIR, CBS, and MBS configurations.

Use the multicast-queue and queue commands to change the fc queue-id assignments from their default queue assignments.

The no form of this command restores the default queue.

Parameters
fc-name

the forwarding class name for which the contained PIR, CIR, CBS, and MBS queue attributes apply. An instance of fc is allowed for each fc-name.

Values

be, l2, af, l1, h2, ef, h1, nc

create

keyword used to create a forwarding class policy

multicast-queue
Syntax

multicast-queue queue-id

no multicast-queue

Context

config>qos>network-queue>fc

Description

This command overrides the default multicast forwarding type queue mapping for fc fc-name. The specified queue-id must exist within the policy as a multipoint queue before the mapping can be made. Once the forwarding class mapping is executed, all multicast traffic at network ingress using this policy is forwarded using the queue-id. Use the queue queue-id multipoint command to create the specified queue-id.

The multicast forwarding type includes the unknown forwarding type and the broadcast forwarding type unless each is explicitly assigned to a different multipoint queue. When the unknown and broadcast forwarding types are left as default, they will track the defined queue for the multicast forwarding type.

The no form of the command sets the multicast forwarding type queue-id back to the default queue (queue 9).

Parameters
queue-id

an existing multipoint queue defined in the config>qos>network-queue context.

Values

9 to 16

Default

9

queue
Syntax

queue queue-id

no queue

Context

config>qos>network-queue>fc

Description

This command enables the context to configure forwarding-class-to-queue mappings.

The no form of this command removes the queue-id from the network-queue policy and from any existing network ingress or network egress ports using the policy, and sets the queue-id back to the default queue (queue 1).

Parameters
queue-id

the queue identifier for the queue, expressed as an integer. The queue-id uniquely identifies the queue within the policy. This is a required parameter each time the queue command is executed.

Values

1 to 8

Default

1

Operational Commands

copy
Syntax

copy network-queue src-name dst-name [overwrite]

Context

config>qos

Description

This command copies or overwrites existing network queue QoS policies to another network queue policy ID.

The copy 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
network-queue src-name dst-name

indicates that the source policy ID and the destination policy ID are network-queue 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, a message is generated saying that the destination policy ID exists.

SAR12>config>qos# copy network-queue nq1 nq2

MINOR: CLI Destination "nq2" exists - use {overwrite}.

SAR12>config>qos# copy network-queue nq1 nq2 overwrite

Show Commands

Note: The following command outputs are examples only; actual displays may differ depending on supported functionality and user configuration.
network-queue
Syntax

network-queue [network-queue-policy-name] [detail]

Context

show>qos

Description

This command displays network queue policy information. This includes queue parameters information, forwarding class-to-queue mappings, and network port/adapter card queue associations.

Parameters
network-queue-policy-name

the name of the network queue 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.

detail

displays detailed network queue information

Output

The following output is an example of network queue policy information, and Network Queue Policy Field Descriptions describes the fields.

Output Example
ALU-1>show>qos# network-queue policy102
===============================================================================
QoS Network Queue Policy
===============================================================================
-------------------------------------------------------------------------------
Network Queue Policy (policy102)
-------------------------------------------------------------------------------
Policy         : policy102
Description    : (Not Specified)
-------------------------------------------------------------------------------
Associations
-------------------------------------------------------------------------------
No Matching Entries
===============================================================================

ALU-1>show>qos# network-queue policy102 detail
===============================================================================
QoS Network Queue Policy
===============================================================================
-------------------------------------------------------------------------------
Network Queue Policy (policy102)
-------------------------------------------------------------------------------
Policy         : policy102
Description    : (Not Specified)
Pkt.Byte Offset: sub 62
-------------------------------------------------------------------------------
Queue CIR        PIR       CBS    MBS    HiPrio AvgOvrhd Packet Slope-Policy
      CIR Rule   PIR Rule                                Offset
-------------------------------------------------------------------------------
1      0         100       def    def    10     0.00     def    default
       closest   closest
2      0         100       def    def    def    0.00     def    default
       closest   closest
9      0         100       def    def    10     0.00     def    default
       closest   closest
10     0         100       def    def    def    0.00     def    default
       closest   closest
-------------------------------------------------------------------------------
FC    UCastQ    MCastQ
-------------------------------------------------------------------------------
h2     1         9
h1     1         9
-------------------------------------------------------------------------------
Associations
-------------------------------------------------------------------------------
No Matching Entries
===============================================================================
ALU-1>show>qos#
Table 5. Network Queue Policy Field Descriptions

Label

Description

Policy

The policy name that uniquely identifies the policy

Description

A text string that helps identify the policy’s context in the configuration file

Pkt.Byte Offset

Indicates the value of the packet byte offset applied to the packet for scheduling, if applicable.

A value of ‟default” indicates that legacy mode packet scheduling is in use, in which packets are scheduled based on size including internal overhead.

Queue

The queue ID

CIR

The committed information rate

CIR Rule

min - the operational CIR for the queue will be equal to or greater than the administrative rate specified using the rate command except where the derived operational CIR is greater than the operational PIR. If the derived operational CIR is greater than the derived operational PIR, the operational CIR will be made equal to the operational PIR.

max - the operational CIR for the queue will be equal to or less than the administrative rate specified using the rate command

closest - the operational CIR for the queue will be the rate closest to the rate specified using the rate command without exceeding the operational PIR

PIR

The peak information rate

PIR Rule

min - the operational PIR for the queue will be equal to or greater than the administrative rate specified using the rate command

max - the operational PIR for the queue will be equal to or less than the administrative rate specified using the rate command

closest - the operational PIR for the queue will be the rate closest to the rate specified using the rate command

CBS

The committed burst size

MBS

The maximum burst size

HiPrio

The high-priority value

AvgOvrhd

The average percentage that the offered load to a queue will expand during the frame encapsulation process before sending traffic on-the-wire

Packet Offset

The value of the packet byte offset applied to the queue.

A value of ‟default” indicates that legacy mode packet scheduling is in use, in which packets are scheduled based on size including internal overhead.

Slope-Policy

The slope policy for the queue

FC

The value of a predefined forwarding class

UCastQ

The specific unicast queue to be used for packets in the forwarding class

MCastQ

The specific multicast queue to be used for packets in the forwarding class

Associations

The unique service and customer identifiers