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 (#, $, spaces, etc.), 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

Table: CBS Forwarding Class Defaults lists the cbs forwarding class defaults.

Table: 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

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

Table: 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

Table: MBS Forwarding Class Defaults lists the mbs forwarding class defaults.

Table: 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 (#, $, spaces, etc.), 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 {profile | 4-priority | 16-priority}

Context

config>port>ethernet>network

Description

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

Note: The profile option is no longer applicable; however, it is not blocked in the CLI.

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.

With profiled (or rate-based) scheduling, both in-profile and out-of-profile scheduling are supported. Packets with a flow rate that is less than or equal to the CIR value of a queue are scheduled as in-profile. Packets with a flow rate that exceeds the CIR value but is less than the PIR value of a queue are scheduled as out-of-profile. In-profile traffic has strict priority over out-of-profile traffic.

Profiled scheduling does not take queue type into consideration. With queue type-based scheduling, queues are divided into two categories – those that are serviced by the Expedited scheduler and those that are serviced by the Best Effort scheduler. The Expedited scheduler has precedence over the Best Effort scheduler.

Four-priority scheduling combines both profiled and queue type-based scheduling. The combination provides four scheduling priorities. Packets are scheduled in the following order, in strict priority fashion:

  • Expedited in-profile packets

  • Best-effort in-profile packets

  • Expedited out-of-profile packets

  • Best-effort out-of-profile packets

Note: 16-priority is the default scheduling option on the 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, Packet Microwave Adapter card, 6-port SAR-M Ethernet module, 7705 SAR-M, 7705 SAR-H, 7705 SAR-Hc, 7705 SAR-A, 7705 SAR-Ax, and 7705 SAR-Wx Ethernet ports. These cards and ports support 16-priority scheduling but not 4-priority scheduling. In addition, 16-priority scheduling is not supported on the 4-port SAR-H Fast Ethernet module. For information on 16-priority scheduling, refer to Network Egress Scheduling.

Default

4-priority—4-port SAR-H Fast Ethernet module

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, Packet Microwave Adapter card, 6-port SAR-M Ethernet module, 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

profile

not applicable

4-priority

sets the 4-priority scheduling option for the 4-port SAR-H Fast Ethernet module

16-priority

sets the 16-priority scheduling option for the 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, Packet Microwave Adapter card, 6-port SAR-M Ethernet module, 7705 SAR-A, 7705 SAR-Ax, 7705 SAR-H, 7705 SAR-Hc, 7705 SAR-M, and 7705 SAR-Wx Ethernet ports