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.
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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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.
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).
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.
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.
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
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.
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
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.
- 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.
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
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
- 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
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.
- 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.
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.
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
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
- 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 ExampleALU-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#
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 |