Shared-Queue QoS Policy Command Reference

Command Hierarchies

Configuration Commands

config
— qos
shared-queue policy-name
description description-string
— no description
[no] fc {be | l2 | af | l1 | h2 | ef | h1 | nc}
broadcast-queue queue-id
multicast-queue queue-id
queue queue-id
— no queue
unknown-queue queue-id
queue queue-id [queue-type] [profile-mode | priority-mode] [multipoint] pool pool-name
— no queue queue-id
cbs percent
— no cbs
high-prio-only percent
mbs percent
— no mbs
[no] pool pool-name
rate percent [cir percent]
— no rate

Show Commands

show
— qos
shared-queue [policy-name] [detail]

Command Descriptions

Configuration Commands

Generic Commands

description

Syntax 
description description-string
no description
Context 
config>qos>shared-queue
Description 

This command creates a text description stored in the configuration file for a configuration context.

The description command associates a text string with a configuration context to help identify the context in the configuration file.

The no form of this command removes any description string from the context.

Default 

No description is associated with the configuration context.

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 (#, $, spaces, etc.), the entire string must be enclosed within double quotes.

Shared Queue QoS Commands

shared-queue

Syntax 
shared-queue policy-name
Context 
config>qos
Description 

This command enables the context to modify the QoS default shared-queue policy.

Parameters 
policy-name—
The name of the default shared-queue policy.
Values—
default

fc

Syntax 
[no] fc fc-name
Context 
config>qos>shared-queue
Description 

This command specifies the forwarding class name. The forwarding class name represents an egress queue. The fc fc-name represents a CLI parent node that contains sub-commands or parameters describing the egress characteristics of the queue and the marking criteria of packets flowing through it. The fc command overrides the default parameters for that forwarding class defined in the network default policy policy-id 1.

Default 

See Default Shared Queue Policy Values for undefined forwarding class values.

Parameters 
fc-name—
The case-sensitive, system-defined forwarding class name for which policy entries will be created.
Values—
{be | l2 | af | l1 | h2 | ef | h1 | nc}
Values—
none

broadcast-queue

Syntax 
broadcast-queue multipoint-queue-id
Context 
config>qos>shared-queue>fc
Description 

This command configures the broadcast 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 broadcast traffic on a SAP using this policy will be forwarded using the queue-id.

The broadcast forwarding type usually tracks the multicast forwarding type definition. This command overrides that default behavior.

The no form of the command sets the broadcast forwarding type queue-id back to the default of tracking the multicast forwarding type queue mapping.

Parameters 
multipoint-queue-id—
The multipoint-queue-id parameter must be an existing, multipoint queue defined in the config>qos>sap-ingress context policer-output-queues profile. For the 7950 XRS, this is not configurable in the policer-output-queues profile.
Values—
17 to 24

multicast-queue

Syntax 
multicast-queue queue-id
Context 
config>qos>shared-queue>fc
Description 

This command configures the 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 on a SAP using this policy is forwarded using the queue-id.

The multicast forwarding type includes the unknown unicast forwarding type and the broadcast forwarding type unless each is explicitly defined 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 for the forwarding class. If the broadcast and unknown forwarding types were not explicitly defined to a multipoint queue, they will also be set back to the default multipoint queue (queue 11).

Parameters 
queue-id—
The queue-id parameter specified must be an existing, multipoint queue defined in the the config>qos>sap-ingress context policer-output-queues profile. For the 7950 XRS, this is not configurable in the policer-output-queues profile.
Values—
9 to 16
Values—
11

queue

Syntax 
queue queue-id
no queue
Context 
config>qos>shared-queue>fc
Description 

This command overrides the default unicast forwarding type queue mapping for fc fc-name. The specified queue-id must exist within the policy as a non-multipoint queue before the mapping can be made. Once the forwarding class mapping is executed, all unicast traffic (this includes all traffic, even broadcast and multicast for services) on a SAP using this policy is forwarded using the queue-id.

The no form of this command sets the unicast (point-to-point) queue-id back to the default queue for the forwarding class (queue 1).

Parameters 
queue-id—
The queue-id parameter specified must be an existing, non-multipoint queue defined in the config>qos>sap-ingress context. For the 7950 XRS, this is not configurable in the policer-output-queues profile.
Values—
Any valid non-multipoint queue-id in the policy including 1 and 3 through 32.
Values—
1

queue

Syntax 
queue queue-id [queue-type] [profile-mode | priority-mode] [multipoint] pool pool-name
queue queue-id [queue-type] [multipoint] pool pool-name
no queue queue-id
Context 
config>qos>shared-queue
Description 

This command creates the context to configure a shared queue QoS policy queue.

Explicit definition of an ingress queue’s hardware scheduler status is supported. A single ingress queue allows support for multiple forwarding classes. The default behavior automatically chooses the expedited or non-expedited nature of the queue based on the forwarding classes mapped to it. As long as all forwarding classes mapped to the queue are expedited (nc, ef, h1 or h2), the queue is treated as an expedited queue by the hardware schedulers. When any non-expedited forwarding classes are mapped to the queue (be, af, l1 or l2), the queue is treated as best effort (be) by the hardware schedulers. The expedited hardware schedulers are used to enforce expedited access to internal switch fabric destinations.

On the 7450 ESS, the expedited hardware schedulers are used to enforce expedited access to internal switch fabric destinations. The hardware status of the queue must be defined at the time of queue creation within the policy.

The pool keyword is a create time parameter that allows the queue to receive buffers from an explicit buffer pool instead of the default buffer pool. The specified pool-name must have been explicitly created in a named-pool-policy and the policy must have been applied to the XMA or MDA or port on which the queue resides.

If the specified pool-name does not exist on the XMA or MDA, the queue will be treated as ‘pool orphaned’ and will be mapped to the appropriate default pool. Once the pool comes into existence on the XMA or MDA or port, the queue will be mapped to the new pool.

Once the queue is created within the policy, the pool command may be used to either remove the queue from the pool, or specify a new pool name association for the queue. The pool command does not appear in save or show command output. Instead, the current pool name for the queue will appear (or not appear) on the queue command output using the pool keyword.

Parameters 
queue-id—
The queue-id 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 32
queue-type—
The expedite, best-effort and auto-expedite queue types are mutually exclusive to each other. Each defines the method that the system uses to service the queue from a hardware perspective. While parental virtual schedulers can be defined for the queue, they only enforce how the queue interacts for bandwidth with other queues associated with the same scheduler hierarchy. An internal mechanism that provides access rules when the queue is vying for bandwidth with queues in other virtual schedulers is also needed. A keyword must be specified at the time the queue is created in the SAP ingress policy. If an attempt to change the keyword after the queue is initially defined, an error is generated.

expedite — This keyword ensures that the queue is treated in an expedited manner independent of the forwarding classes mapped to the queue.

best-effort — This keyword ensures that the queue is treated in a non-expedited manner independent of the forwarding classes mapped to the queue.

auto-expedite — This keyword allows the system to auto-define 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 and l2) the queue automatically falls back to non-expedited status.

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

A queue 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.

pool-name—
The specified pool-name identifies a named pool where the policy will be applied. Each queue created within the system is tied to a physical port. When the policy is applied and the queue is created, the system will scan the named pools associated with the port to find the specified pool name. If the pool is not found on the port, the system will then look at named pools defined at the ports XMA or MDA level. If the pool name is not found on either the port or XMA or MDA, the queue will be marked as ‘pool-orphaned’ and will be mapped to the appropriate default pool. If the pool comes into existence, the queue will be moved from the default pool to the new named pool and the ‘pool-orphaned’ state will be cleared. The specified name must be an ASCII name string up to 16 characters long.
Values—
Any valid ASCII name string
Values—
None
The queue’s pool association may only be removed by either re-executing the queue command without the pool keyword or by executing the no pool command within the queue’s CLI context. When the pool name is removed, the queue will be placed on the appropriate default pool.

unknown-queue

Syntax 
unknown-queue queue-id
no unknown-queue
Context 
config>qos>shared-queue>fc
Description 

This command configures the unknown unicast 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 unknown traffic on a SAP using this policy is forwarded using the queue-id.

The unknown forwarding type usually tracks the multicast forwarding type definition. This command overrides that default behavior.

The no form of this command sets the unknown forwarding type queue-id back to the default of tracking the multicast forwarding type queue mapping.

Parameters 
queue-id—
The queue-id must be an existing, multipoint queue defined in the the config>qos>sap-ingress context policer-output-queues profile. For the 7950 XRS, this is not configurable in the policer-output-queues profile.
Values—
25 to 32

cbs

Syntax 
cbs percent
no cbs
Context 
config>qos>shared-queue>queue
Description 

The Committed Burst Size (cbs) command specifies the relative amount of reserved buffers for a specific ingress network XMA or MDA forwarding class queue or egress network port forwarding class queue. The value is entered as a percentage.

The CBS for a queue is used to determine whether it has exhausted its reserved buffers while enqueuing packets. Once the queue has exceeded the amount of buffers considered in reserve for this queue, it must contend with other queues for the available shared buffer space within the buffer pool. Access to this shared pool space is controlled through Random Early Detection (RED) slope application.

Two RED slopes are maintained in each buffer pool. A high priority slope is used by in-profile packets. A low priority slope is used by out-of-profile packets. All Network-Control and Management packets are considered in-profile. Assured packets are handled by their in-profile and out-of-profile markings. All Best-Effort packets are considered out-of-profile. Premium queues should be configured such that the CBS percent is sufficient to prevent shared buffering of packets. This is generally taken care of by the CIR scheduling of Premium queues and the overall small amount of traffic on the class. Premium queues in a properly designed system will drain before all others, limiting their buffer utilization.

The RED slopes will detect congestion conditions and work to discard packets and slow down random TCP session flows through the queue. The RED slope definitions can be defined, modified or disabled through the network-queue policy assigned to the XMA or MDA for the network ingress buffer pool or assigned to the network port for network egress buffer pools.

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 should be avoided.

Default 

The cbs forwarding class defaults are listed in Table 44.

Table 44:  CBS Forwarding Class Default Values  

Forwarding Class

Fowarding Class Label

Default CBS

Network-Control

nc

3

High-1

h1

3

Expedited

ef

1

High-2

h2

1

Low-1

l1

3

Assured

af

1

Low-2

l2

3

Best-Effort

be

1

Parameters 
percent—
The percent of buffers reserved from the total buffer pool space, expressed as a decimal integer. If 10 MB is the total buffers in the buffer pool, a value of 10 would reserve 1MB (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 to 100

high-prio-only

Syntax 
high-prio-only percent
no high-prio-only
Context 
config>qos>shared-queue>queue
Description 

The high-prio-only command allows the reservation of queue buffers for use exclusively by high priority packets as a default condition for access buffer queues for this shared queue policy.

The difference between the MBS size for the queue and the high priority reserve defines the threshold where low priority traffic will be discarded. The result is used on the queue to define a threshold where low priority packets are discarded, leaving the rest of the default MBS size for high priority packets only. If the current MBS for the queue is 10MBytes, a value of 5 will result in a high priority reserve on the queue of 500KBytes. A value of 0 specifies that none of the MBS of the queue will be reserved for high priority traffic. This does not affect RED slope operation for packets attempting to be queued.

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 high-prio-only command as defined for the specific queue can be used to override the default high-prio-only setting as defined in the network queue policy. This prevents the high-prio-only command for the shared queue policy from having an affect on the queue.

Default 

10%

Parameters 
percent—
The amount of queue buffer space, expressed as a decimal percentage of the MBS.
Values—
0 to 100 | default

mbs

Syntax 
mbs percent
no mbs
Context 
config>qos>shared-queue>queue
Description 

This command specifies the relative amount of the buffer pool space for the maximum buffers for a specific ingress network XMA or MDA forwarding class queue or egress network port forwarding class queue.

The MBS value is used to 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 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 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.

Default 

The mbs forwarding class defaults are listed in Table 45.

Table 45:  MBS Forwarding Class Default Values  

Forwarding Class

Fowarding Class Label

Default MBS

Network-Control

nc

25

High-1

h1

25

Expedited

ef

50

High-2

h2

50

Low-1

l1

25

Assured

af

50

Low-2

l2

50

Best-Effort

be

50

Parameters 
percent—
The percent of buffers from the total buffer pool space for the maximum amount of buffers, expressed as a decimal integer. If 10 MB is the total buffers in the buffer pool, a value of 10 would limit the maximum queue size to 1MB (10%) of buffer space for the forwarding class queue. If the total size is increased to 20MB, the existing value of 10 would automatically increase the maximum size of the queue to 2MB.
Values—
0 to 100

pool

Syntax 
pool pool-name [create]
no pool pool-name
Context 
config>qos>shared-queue>queue
Description 

This command is utilized once the queue is created within the policy. The pool command may be used to either remove the queue from the pool, or specify a new pool name association for the queue. The pool command does not appear in save or show command output. Instead, the current pool name for the queue will appear (or not appear) on the queue command output using the pool keyword.

The no pool command is used to remove a named pool association for the queue. When the pool name is removed, the queue will be placed on the appropriate default pool.

Default 

None

Parameters 
pool-name—
The specified pool-name identifies a named pool where the policy will be applied. Each queue created within the system is tied to a physical port. When the policy is applied and the queue is created, the system will scan the named pools associated with the port to find the specified pool name. If the pool is not found on the port, the system will then look at named pools defined at the ports XMA or MDA level. If the pool name is not found on either the port or XMA or MDA, the queue will be marked as ‘pool-orphaned’ and will be mapped to the appropriate default pool. If the pool comes into existence, the queue will be moved from the default pool to the new named pool and the ‘pool-orphaned’ state will be cleared. The specified name must be an ASCII name string up to 32 characters long.

rate

Syntax 
rate [percent] [cir percent]
no rate
Context 
config>qos>shared-queue>queue
Description 

This command defines the administrative Peak Information Rate (PIR) and the administrative Committed Information Rate (CIR) parameters for the queue. The PIR defines the percentage that the queue can transmit packets through the switch fabric (for SAP ingress queues) or out an egress interface (for SAP egress queues). 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 over-subscription 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. For SAP ingress, the CIR also defines the rate that packets are considered in-profile by the system. In-profile packets are preferentially queued by the system at egress and at subsequent next hop nodes where the packet can traverse. To be properly handled as in- or out-of-profile throughout the network, the packets must be marked accordingly for profiling at each hop.

The CIR can be used by the queue’s parent commands cir-level and cir-weight parameters to define the amount of bandwidth considered to be committed for the child queue during bandwidth allocation by the parent scheduler.

The rate command can be executed at anytime, 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.

Parameters 
percent
Defines the percentage of the max 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 max 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.

Values—
0 to 100, max
Values—
100
cir percent
Defines the percentage of the max 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.
Values—
0 to 100, max
Values—
0

Show Commands

The command outputs shown in this section are examples only; actual displays may differ depending on supported functionality and user configuration.

shared-queue

Syntax 
shared-queue [shared-queue-policy-name] [detail]
Context 
show>qos
Description 

This command displays shared-queue policy information.

Parameters 
shared-queue-policy-name—
The shared-queue policy name.
detail—
Displays detailed information about the shared-queue policy.
Output 
Shared-Queue QoS Policy Output Fields

Table 46 describes shared-queue QoS policy output fields.

Table 46:  Show QoS Shared Queue Output Fields   

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.

Sample Output
A:ALA-1>config>qos# show qos shared-queue default
===============================================================================
QoS Network Queue Policy
===============================================================================
-------------------------------------------------------------------------------
Shared Queue Policy (default)
-------------------------------------------------------------------------------
Policy : default
Description : Default Shared Queue Policy
-------------------------------------------------------------------------------
Associations
-------------------------------------------------------------------------------
No Matching Entries
===============================================================================
A:ALA-1>config>qos#