Queuing

Queuing is a congestion-avoidance function that prioritizes packet delivery. Queuing ensures discriminate packet discard during network congestion, and can delay a packet in memory until the scheduled transmission.

You can use queuing to manage congestion. Congestion management involves the creation of queues, assignment of packets to the queues based on the classification of the packet, and scheduling of the packets in a queue for transmission.

The system schedules packets for transmission according to their assigned priority and the queuing mechanism configured for the interface. The scheduler determines the order of packet transmission by controlling how the system services queues with respect to each other. The switch uses 16 CPU queues (used by traffic destined to the CPU), and eight unicast and eight multicast queues for each port. The deepest queue does not go beyond 60,000 packets.

A scheduler services the eight queues for each port, using a combination of strict priority and round-robin. Queue zero through five use round robin, and queues six and seven drain completely, or up to certain rate limits.

There are eight priorities on each egress port. Each Weighted Round Robin (WRR) queue has a minimum guaranteed weight to ensure fair bandwidth allocation for each queue in case all QoS queues are utilized and there is congestion. With the default profile, Class of Service (CoS) 0 to CoS 5 are WRR, and the default weights are 10, 20, 30, 40, 50, and 50 respectively. CoS 6 and CoS 7 are strict priority queues. The switch subjects CoS 6 and CoS 7 to traffic shaping at 50 per cent and five per cent of line rate respectively.

Note

Note

VSP 4450 Series switches use Weighted Deficit Round Robin (WDRR). The priorities and default weights are the same as WRR.

For the VSP 8600 Series, 8 CPU queues are implemented. The highest priority packets, such as VLACP, are routed to the highest priority CPU queue (COS 7). The least time critical packets are routed to the lowest CPU queue (COS 0). Statistics for the CPU port are displayed using the CLI command show qos cosq-stats cpu-port.

All packets destined for the CPU are sent as unicast packets.

Front panel ports also have 8 queues. When a front panel port is oversubscribed with both unicast and multicast packets, the bandwidth is divided so that the unicast packets receive 80% of the bandwidth and multicast packets 20% of the bandwidth.

If there are no multicast packets using the reserved 20%, the bandwidth is evenly distributed between COS levels 0 to 6. This results in approximately 3.3% more bandwidth for each level. If a specific COS level is not oversubscribed, the unused bandwidth is evenly distributed between the other COS levels. The CLI provides commands to map ingressing packets to specific COS levels.

Note

Note

Unicast packets will be tail dropped on the ingress card. Multicast packets will be dropped at egress card.

Among the WRR queues, the approximate bandwidth percentage is relative to the remaining bandwidth after subtracting the Strict Priority queues. The following tables provide the approximate bandwidth percentage based on queue congestion.

Table 1. Bandwidth for Queue 0 to 5 congestion
Queue Approximate bandwidth percentage*

0

5%

1

10%

2

15%

3

20%

4

25%

5

25%

* The approximate value assumes that all queues 0 to 5 are congested and similar packet sizes. Any queue that does not require bandwidth results in adding more bandwidth to the WRR queues.

Percentage is relative to the total bandwidth minus the bandwidth consumed by Cos 6 and 7 (strict queues).

Table 2. Bandwidth for Queue 0 to 7 congestion
Queue Approximate bandwidth percentage*

0

2.25%

1

4.5%

2

6.75%

3

9%

4

11.25%

5

11.25%

6

50%

7

5%

* The approximate value assumes that all queues 0 to 7 are congested and similar packet sizes.

CPU Queues

This section provides information about CPU traffic and queues.

Note

Note

To view the CPU traffic and queue information for the VSP 8600 Series use the command show qos cosq-stats cpu-port.

The following table outlines the CPU traffic, and which queue it uses, for the VSP 4450 Series.

Queue description

Queue ID

Queue pps, burst size

Traffic type

Other

0

125 pps, 1500 kbps

Data Exception

BC_Other

1

4000 pps, 1400 kbps

Broadcast

HI_CPU looper

2

4000 pps, 1000 kbps

RIP

HI_CPU

3

4000 pps, 1000 kbps

PIM Unicast, IGMP

HI_CPU

4

4000 pps, 1000 kbps

OSPF Unicast, BGP

HI_CPU

5

4000 pps, 1000 kbps

Multicast Data

HI_CPU

6

4000 pps, 12000 kbps

ISIS

HI_CPU

7

4000 pps, 6000 kbps

OSPF Multicast, PIM Multicast

mgmt

8

4000 pps, 2000 kbps

Telnet, SSH, DNS, HTTP, TFTP, FTP, SNMP

Low rate looper

9

4000 pps, 5000 kbps

ICMP Broacast, DHCP, ARP, ND Multicast and Unicast

Low rate 1

10

4000 pps, 1000 kbps

ISIS Hello, RADIUS, EAP, NTP, LLDP, ICMP Unicast, IST Control

Low latency

11

250 pps, 20 kbps

CFM, VRRP

Low latency

12

250 pps, 20 kbps

LACP

Low latency

13

250 pps, 20 kbps

BPDU, SLPP

Low latency

14

300 pps, 1000 kpbs

ISIS Hello

Low latency

15

250 pps, 20 kbps

VLACP

The following table outlines the CPU traffic, and which queue it uses, for the VSP 4900 Series, VSP 7200 Series, VSP 7400 Series, VSP 8200 Series, and VSP 8400 Series.

Queue description

Queue ID

Queue pps, burst size

Traffic type

Other

0

1400 pps, 100 kbps

Others

BC_Other

1

1400 pps, 100 kbps

Broadcast

HI_CPU looper

2

4000 pps, 100 kbps

IP_COS01

HI_CPU

3

4000 pps, 100 kbps

IP_COS23, Multicast Data

HI_CPU

4

4000 pps, 100 kbps

IP_COS4

HI_CPU

5

4000 pps, 100 kbps

IP_COS5, IGMP, PIM Unicast

HI_CPU

6

4000 pps, 100 kbps

ARP, RARP, ND Multicast and Unicast, MLD

HI_CPU

7

4000 pps, 100 kbps

IP_COS6, Telnet, SSH

mgmt

8

4000 pps, 200 kbps

IP_COS7, OSPF

Low rate looper

9

4000 pps, 6000 kbps

OSPF Multicast, PIM Multicast, RIP_v1, RIP_v2

Low rate 1

10

4000 pps,12000 kbps

ISIS

Low latency

11

4000 pps, 1000 kbps

ISIS Hello, LLDP, EAP, IST Control

Low latency

12

500 pps, 32 kbps

VRRP, CFM

Low latency

13

256 pps, 32 kbps

SLPP

Low latency

14

100 pps, 32 kbps

BPDU

Low latency

15

250 pps, 32 kbps

LACP, VLACP, TUNI-extract

The XA1400 Series uses filters to rate limit packets to the CPU.

Packet Type

Rate (PPS)

Packet Size (Bytes)

CFM, VLACP, RIPv2, SONMP, RIPv1, VRRP, ARP.

100

64

DHCP

50

1400

ISIS, OSPF

100

1400

Other Packets

Not rate limited

Queue profiles

Table 3. Queue Profiles product support

Feature

Product

Release introduced

QoS per queue rate limiting

5320 Series

Fabric Engine 8.6

5420 Series

VOSS 8.4

5520 Series

VOSS 8.2.5

5720 Series

Fabric Engine 8.7

7520 Series

Fabric Engine 8.10

7720 Series

Fabric Engine 8.10

VSP 4450 Series

VOSS 5.1

VSP 4900 Series

VOSS 8.1

VSP 7200 Series

VOSS 5.1.1

VSP 7400 Series

VOSS 8.0

VSP 8200 Series

VOSS 5.1.1

VSP 8400 Series

VOSS 5.1.1

VSP 8600 Series

Not Supported

XA1400 Series

Not Supported

This section identifies optional ways to customize the egress queues and scheduling depending on your need to override the default configuration. You can also enable egress queue rate limiting, if desired.

Use a queue profile to apply configured egress queue parameters and modify each queue individually. You can use the queue profile to configure a minimum weight for the queue and to enable rate limiting for the queue. The queue profile applies to all ports in the switch.

Note

Note

If you enable rate limiting for all queues, the scheduler treats all queues as strict priority queues. If all queues are strict priority, the scheduler services the highest priority queue first until the maximum bandwidth is met, and then it services the next highest priority queue. Queue 0 is the lowest priority queue, which means that when over-subscribed, the lower priority queues are serviced last, or not at all.

The switch supports six queue profiles. The default queue profile, with the name default and ID 1, is automatically created during system startup and cannot be deleted.

Note

Note

The egress queues with rate limiting enabled must be contiguous. For example, you can configure queues 3–6, but you cannot configure 3 and 6.

After you make a configuration change to a queue profile, you must apply the profile before the changes take effect.