WRED on the IOC Overview
Shaping to drop out-of-profile traffic is done on the IOC at all levels except the queue level. However, weighed random early discard (WRED) is done at the queue level with much the same result. With WRED, the decision to drop or send the packet is made before the packet is placed in the queue.
WRED shaping on the IOC involves two levels. The probabilistic drop region establishes a minimum and a maximum queue depth. Below the minimum queue depth, the drop probability is 0 (send). Above the maximum level, the drop probability is 100 (certainty).
There are four drop profiles associated with each queue. These correspond to each of four loss priorities (low, medium-low, medium-high, and high). Sixty-four sets of four drop profiles are available (32 for ingress and 32 for egress). In addition, there are eight WRED scaling profiles in each direction.
An example of an IOC drop profile for expedited forwarding traffic is as follows:
[edit class-of-service drop-profiles] drop-ef { fill-level 20 drop-probability 0; # Minimum Q depth fill-level 100 drop-probability 100; # Maximum Q depth }
You can specify only two fill levels for the IOC.
You can configure the interpolate statement, but only two fill levels are used. The delay-buffer-rate statement in the traffic control profile determines the maximum queue size. This delay buffer rate is converted to packet delay buffers, where one buffer is equal to 512 bytes. For example, at 10 Mbps, the IOC will allocate 610 delay buffers when the delay buffer rate is set to 250 milliseconds. The WRED threshold values are specified in terms of absolute buffer values.
The WRED scaling factor multiples all WRED thresholds (both minimum and maximum) by the value specified. There are eight values in all: 1, 2, 4, 8, 16, 32, 64, and 128. The WRED scaling factor is chosen to best match the user-configured drop profiles. This is done because the hardware supports only certain values of thresholds (all values must be a multiple of 16). So if the configured value of a threshold is 500 (for example), the multiple of 16 is 256 and the scaling factor applied is 2, making the value 512, which allows the value of 500 to be used. If the configured value of a threshold is 1500, the multiple of 16 is 752 and the scaling factor applied is 2, making the value 1504, which allows the value of 1500 to be used.
Hierarchical RED is used to support the oversubscription of the delay buffers (WRED is configured only at the queue, physical interface, and PIC levels). Hierarchical RED works with WRED as follows:
If any level accepts the packet (the queue depth is less than the minimum buffer levels), this level accepts the packet.
If any level probabilistically drops the packet, then this level drops the packet.
However, these rules might lead to the accepting of packets under loaded conditions that might otherwise have been dropped. In other words, the logical interface will accept packets if the physical interface is not congested.
Because of the limits placed on shaping thresholds used in the hierarchy, there is a granularity associated with the IOCs. The shaper accuracies differ at various levels of the hierarchy:
Level 3
Level 2
Level 1
Shapers at the logical interface level (level 3) are more accurate than shapers at the interface set level (level 2) or at the port level (level 1).
This section contains the following topics:
Shapers at the Logical Interface Level (Level 3)
Because of the limits placed on shaping thresholds used in the hierarchy, there is a granularity associated with the IOCs. The shaper accuracies differ at various levels of the hierarchy, with shapers at the logical interface level (level 3) being more accurate than shapers at the interface set level (level 2) or at the port level (level 1). Table 1 shows the accuracy of the logical interface shaper at various speeds for Ethernet ports operating at 1 Gbps.
Range of Logical Interface Shaper |
Step Granularity |
---|---|
Up to 4.096 Mbps |
16 Kbps |
4.096 to 8.192 Mbps |
32 Kbps |
8.192 to 16.384 Mbps |
64 Kbps |
16.384 to 32.768 Mbps |
128 Kbps |
32.768 to 65.535 Mbps |
256 Kbps |
65.535 to 131.072 Mbps |
512 Kbps |
131.072 to 262.144 Mbps |
1024 Kbps |
262.144 to 1 Gbps |
4096 Kbps |
Table 2 shows the accuracy of the logical interface shaper at various speeds for Ethernet ports operating at 10 Gbps.
Range of Logical Interface Shaper |
Step Granularity |
---|---|
Up to 10.24 Mbps |
40 Kbps |
10.24 to 20.48 Mbps |
80 Kbps |
10.48 to 40.96 Mbps |
160 Kbps |
40.96 to 81.92 Mbps |
320 Kbps |
81.92 to 163.84 Mbps |
640 Kbps |
163.84 to 327.68 Mbps |
1280 Kbps |
327.68 to 655.36 Mbps |
2560 Kbps |
655.36 to 2611.2 Mbps |
10240 Kbps |
2611.2 to 5222.4 Mbps |
20480 Kbps |
5222.4 to 10 Gbps |
40960 Kbps |
Shapers at the Interface Set Level (Level 2)
Table 3 shows the accuracy of the interface set shaper at various speeds for Ethernet ports operating at 1 Gbps.
Range of Interface Set Shaper |
Step Granularity |
---|---|
Up to 20.48 Mbps |
80 Kbps |
20.48 Mbps to 81.92 Mbps |
320 Kbps |
81.92 Mbps to 327.68 Mbps |
1.28 Mbps |
327.68 Mbps to 1 Gbps |
20.48 Mbps |
Table 4 shows the accuracy of the interface set shaper at various speeds for Ethernet ports operating at 10 Gbps.
Range of Interface Set Shaper |
Step Granularity |
---|---|
Up to 128 Mbps |
500 Kbps |
128 Mbps to 512 Mbps |
2 Mbps |
512 Mbps to 2.048 Gbps |
8 Mbps |
2.048 Gbps to 10 Gbps |
128 Mbps |
Shapers at the Port Level (Level 1)
Table 5 shows the accuracy of the physical port shaper at various speeds for Ethernet ports operating at 1 Gbps.
Range of Physical Port Shaper |
Step Granularity |
---|---|
Up to 64 Mbps |
250 Kbps |
64 Mbps to 256 Mbps |
1 Mbps |
256 Mbps to 1 Gbps |
4 Mbps |
Table 6 shows the accuracy of the physical port shaper at various speeds for Ethernet ports operating at 10 Gbps.
Range of Physical Port Shaper |
Step Granularity |
---|---|
Up to 640 Mbps |
2.5 Mbps |
640 Mbps to 2.56 Gbps |
10 Mbps |
2.56 Gbps to 10 Gbps |
40 Mbps |