Table Of Contents
Byte-Based Weighted Random Early Detection
Finding Feature Information
Contents
Restrictions for Byte-Based WRED
Information About Byte-Based WRED
Changes in functionality of WRED
Changes in Queue Limit and WRED Thresholds
How to Configure Byte-Based WRED
Configuring Byte-Based WRED
Configuring the Queue Depth and WRED Thresholds
Prerequisites
Restrictions
Examples
Changing the Queue Depth and WRED Threshold Unit Modes
Verifying the Configuration for Byte-Based WRED
Configuration Examples for Byte-Based WRED
Configuring Byte-Based WRED: Example
Additional References
Related Documents
Standards
MIBs
RFCs
Technical Assistance
Feature Information for Byte-Based Weighted Random Early Detection
Byte-Based Weighted Random Early Detection
First Published: August 26, 2003
Last Updated: June 30, 2009
This feature module explains how to enable byte-based Weighted Random Early Detection (WRED) set byte-based queue limits and WRED thresholds.
Finding Feature Information
For the latest feature information and caveats, see the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the "Feature Information for Byte-Based Weighted Random Early Detection" section.
Use Cisco Feature Navigator to find information about platform support and Cisco IOS XE software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
Contents
•
Restrictions for Byte-Based WRED
•
Information About Byte-Based WRED
•
How to Configure Byte-Based WRED
•
Configuration Examples for Byte-Based WRED
•
Additional References
•
Feature Information for Byte-Based Weighted Random Early Detection
Restrictions for Byte-Based WRED
•
WRED is only useful when the bulk of the traffic is TCP/IP traffic. With TCP, dropped packets indicate congestion, so the packet source will reduce its transmission rate. With other protocols, packet sources may not respond or may resend dropped packets at the same rate. Thus, dropping packets does not decrease congestion.
•
You cannot configure byte-based WRED on a class in which the queue-limit is configured in milliseconds or packets.
Information About Byte-Based WRED
To configure Byte-Based WRED you should understand the following concepts:
•
Changes in functionality of WRED
•
Changes in Queue Limit and WRED Thresholds
Changes in functionality of WRED
This feature extends the functionality of WRED. In previous releases, you specified the WRED actions based on the number of packets. With the byte-based WRED, you can specify WRED actions based on the number of bytes. For more information about WRED, see the Cisco IOS XE Quality of Service Solutions Configuration Guide
Changes in Queue Limit and WRED Thresholds
In Cisco IOS XE Release 2.4, the Cisco ASR 1000 Series Aggregation Services Routers support the addition of bytes as a unit of configuration for both queue limits and WRED thresholds. Therefore, as of this release, packet-based and byte-based limits are configurable, with some restrictions.
For more information, see the "Configuring the Queue Depth and WRED Thresholds" section
How to Configure Byte-Based WRED
The following sections describe how to configure byte-based WRED:
•
Configuring Byte-Based WRED
•
Configuring the Queue Depth and WRED Thresholds
•
Verifying the Configuration for Byte-Based WRED
Configuring Byte-Based WRED
Use the following steps to enable byte-based WRED.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
class-map class-map-name
4.
match ip precedence ip-precedence-value
5.
exit
6.
policy-map policy-name
7.
class class-name
8.
random-detect
9.
random-detect precedence precedence min-threshold bytes max-threshold bytes max-probability-denominator
DETAILED STEPS
| |
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 3
|
class-map class-map-name
Example:
Router(config)# class-map c1
|
Specifies the user-defined name of the traffic class. Names can be a maximum of 40 alphanumeric characters.
|
Step 4
|
match ip precedence ip-precedence-value
Example:
Router(config-cmap)# match ip precedence 1
|
Specifies up to eight IP Precedence values used as match criteria.
|
Step 5
|
exit
Example:
Router(config-cmap)# exit
|
Exits from class-map configuration mode.
|
Step 6
|
policy-map policy-name
Example:
Router(config)# policy-map p1
|
Specifies the name of the traffic policy to configure. Names can be a maximum of 40 alphanumeric characters.
|
Step 7
|
class class-name
Example:
Router(config-pmap)# class c1
|
Specifies the name of a predefined traffic class, which was configured with the class-map command, used to classify traffic to the traffic policy.
|
Step 8
|
random-detect
Example:
Router(config-pmap-c)# random-detect
|
Enables WRED.
|
Step 9
|
random-detect precedence precedence
min-threshold bytes max-threshold bytes
mark-prob-denominator
Example:
Router(config-pmap-c)# random-detect pecedence
1 2000 bytes 3000 bytes 200
|
Configures the parameters for bytes with a specific IP precedence.
|
Configuring the Queue Depth and WRED Thresholds
Beginning in Cisco IOS XE Release 2.4, the Cisco ASR 1000 Series Aggregation Services Routers support configuration of byte-based queue limits and Weighted Random Early Detection (WRED) thresholds. In prior releases, the Cisco ASR 1000 Series Routers were limited to packet-based limits only. However, there are some dependencies when configuring both the queue limit and WRED unit modes for a class.
Prerequisites
Be sure that your configuration satisfies the following conditions when configuring the queue depth and WRED thresholds:
•
When configuring byte-based mode, the queue limit must be configured prior to the WRED threshold and before the service policy is applied.
•
When setting the queue depth and WRED thresholds in an enhanced QoS policies aggregation configuration, the limits are supported only for the default class at a subinterface policy map and for any classes at the main interface policy map.
Restrictions
Consider the following restrictions when you configure the queue depth and WRED thresholds:
•
Do not configure the queue limit unit before you configure a queueing feature for a traffic class.
•
If you do not configure a queue limit, then the default mode is packets.
•
When you configure WRED thresholds, the following restrictions apply:
–
The WRED threshold must use the same unit as the queue limit. For example, if the queue limit is in packets, then the WRED thresholds also must be in packets.
–
If you do not configure a queue limit in bytes, then the default mode is packets and you must also configure the WRED threshold in packets.
–
The queue limit size must be greater than the WRED threshold.
•
The unit modes for either the queue limit or WRED thresholds cannot be changed dynamically after a service policy is applied.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
policy-map policy-map-name
4.
class class-name
5.
qos-queueing-feature
6.
queue-limit queue-limit-size [bytes | packets]
7.
random-detect [dscp-based | prec-based]
8.
random-detect dscp dscp-value {min-threshold max-threshold | min-threshold bytes max-threshold bytes} [max-probability-denominator]
or
random-detect precedence precedence {min-threshold max-threshold | min-threshold bytes max-threshold bytes} [max-probability-denominator]
DETAILED STEPS
| |
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 3
|
policy-map policy-map-name
Example:
Router(config)# policy-map main-interface
|
Specifies the name of the traffic policy that you want to configure or modify and enters policy-map configuration mode.
|
Step 4
|
class class-name
Example:
Router(config-pmap)# class AF1
|
Specifies the name of the traffic class and enters policy-map class configuration mode.
|
Step 5
|
qos-queueing-feature
Example:
Router(config-pmap-c)# bandwidth remaining
ratio 90
|
Enters a QoS configuration command. Some of the queueing features that are currently supported are bandwidth, priority, and shape.
Note Multiple QoS queueing commands can be entered at this step. However, due to dependencies between the queue limit and WRED thresholds, you should configure WRED after you configure the queue limit.
|
Step 6
|
queue-limit queue-limit-size [bytes | packets]
Example:
Router(config-pmap-c)# queue-limit 547500 bytes
|
Specifies the maximum number (from 1 to 8192000) of bytes or packets that the queue can hold for this class.
|
Step 7
|
random-detect [dscp-based | prec-based]
Example:
Router(config-pmap-c)# random-detect dscp-based
|
Enables WRED in either DSCP-based mode or precedence-based mode.
|
Step 8
|
random-detect dscp dscp-value {min-threshold
max-threshold | min-threshold bytes
max-threshold bytes}
[max-probability-denominator]
or
random-detect precedence precedence
{min-threshold max-threshold | min-threshold
bytes max-threshold bytes}
max-probability-denominator
Example:
Router(config-pmap-c)# random-detect pr 8
750000 bytes 750000 bytes
|
Configures WRED parameters for a particular DSCP value or IP precedence.
Note Use the min-threshold max-threshold arguments without the bytes keyword to configure packet-based thresholds, when the queue-limit unit is also packets (the default). Alternatively, use these arguments with the bytes keyword when the queue-limit unit is configured in bytes.
|
Examples
The following examples show both correct and invalid configurations to demonstrate some of the restrictions.
Correct Configuration
The following example shows the correct usage of setting the queue limit in bytes mode after the bandwidth remaining ratio queueing feature has been configured for a traffic class:
bandwidth remaining ratio 90
Invalid Configuration
The following example shows an invalid configuration for the queue limit in bytes mode before the bandwidth remaining ratio queueing feature has been configured for a traffic class:
bandwidth remaining ratio 90
Correct Configuration
The following example shows the correct usage of setting the queue limit in bytes mode after the bandwidth remaining ratio queueing feature has been configured for a traffic class, followed by the setting of the thresholds for WRED in compatible byte mode:
bandwidth remaining ratio 90
random-detect dscp 8 750000 bytes 750000 bytes
Invalid Configuration
This example shows an invalid configuration of the WRED threshold in bytes without any queue limit configuration, which therefore defaults to a packet-based queue depth. Therefore, the WRED threshold must also be in packets:
bandwidth remaining ratio 90
random-detect dscp 8 750000 bytes 750000 bytes
Changing the Queue Depth and WRED Threshold Unit Modes
You cannot dynamically change the queue depth or WRED threshold configuration for a service policy if that service policy has been applied to an interface or subinterface. However, once you remove a service policy from an interface, you can modify the policy map to change the queue-limit and random-detect precedence by re-entering those commands with new values or units.
To change the queue depth and WRED threshold unit modes after you have applied a service policy, complete the following steps.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
interface type
4.
no service-policy number output policy-map-name
5.
exit
6.
policy-map policy-map-name
7.
class class-name
8.
queue-limit queue-limit-size [bytes | packets]
9.
no random-detect dscp dscp-value {min-threshold max-threshold | min-threshold bytes max-threshold bytes} [max-probability-denominator]
or
no random-detect precedence precedence {min-threshold max-threshold | min-threshold bytes max-threshold bytes} max-probability-denominator
10.
random-detect dscp dscp-value {min-threshold max-threshold | min-threshold bytes max-threshold bytes} [max-probability-denominator]
or
random-detect precedence precedence {min-threshold max-threshold | min-threshold bytes max-threshold bytes} [max-probability-denominator]
DETAILED STEPS
| |
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 3
|
interface type number
Example:
Router(config)# policy-map main-interface
|
Specifies the interface where you want to remove a service policy, and enters interface configuration mode.
|
Step 4
|
no service-policy output policy-map-name
Example:
Router(config-if)# no service-policy output
main-interface-policy
|
Removes a service policy applied to the specified interface.
|
Step 5
|
exit
Example:
Router(config-if)# exit
|
Exits interface configuration mode and returns you to global configuration mode.
|
Step 6
|
policy-map policy-map-name
Example:
Router(config)# policy-map
main-interface-policy
|
Specifies the name of the Traffic policy that you want to modify and enters policy-map configuration mode.
|
Step 7
|
class class-name
Example:
Router(config-pmap)# class AF1
|
Specifies the name of the traffic class and enters policy-map class configuration mode.
|
Step 8
|
queue-limit queue-limit-size [bytes | packets]
Example:
Router(config-pmap-c)# queue-limit 5000 packets
|
Specifies the maximum number (from 1 to 8192000) of bytes or packets that the queue can hold for this class.
|
Step 9
|
no random-detect dscp dscp-value {min-threshold
max-threshold | min-threshold bytes
max-threshold bytes}
[max-probability-denominator]
or
no random-detect precedence precedence
{min-threshold max-threshold | min-threshold
bytes max-threshold bytes}
max-probability-denominator
Example:
Router(config-pmap-c)# no random-detect dscp 8
750000 bytes 750000 bytes
|
Removes the previously configured WRED parameters for a particular DSCP value or IP precedence.
|
Step 10
|
random-detect dscp dscp-value {min-threshold
max-threshold | min-threshold bytes
max-threshold bytes}
[max-probability-denominator]
or
random-detect precedence precedence
{min-threshold max-threshold | min-threshold
bytes max-threshold bytes}
max-probability-denominator
Example:
Router(config-pmap-c)# random-detect dscp 8
4000 4000
|
Configures WRED parameters for a particular DSCP value or IP precedence.
Note Use the min-threshold max-threshold arguments without the bytes keyword to configure packet-based thresholds, when the queue-limit unit is also packets (the default). Alternatively, use these arguments with the bytes keyword when the queue-limit unit is configured in bytes.
|
Examples
The following example shows how to change the queue depth and WRED thresholds to packet-based values once a service policy has been applied to an interface:
interface GigabitEthernet1/2/0
no service-policy output main-interface-policy
policy-map main-interface-policy
no random-detect dscp 8 750000 bytes 750000 bytes
random-detect dscp 8 4000 4000
Verifying the Configuration for Byte-Based WRED
To verify that byte-based WRED is correctly configured, issue the show policy-map interface or show policy-map command.
SUMMARY STEPS
1.
show policy-map interface
2.
show policy-map
DETAILED STEPS
Step 1
show policy-map
The show policy-map command shows the output for a service policy called pol1 that is configured for byte-based WRED.
class min-threshold(bytes) max-threshold(bytes) mark-probability
-------------------------------------------------------------------
Step 2
The show policy-map interface command shows output for an interface that is configured for byte-based WRED.
Router# show policy-map interface serial3/1
Service-policy output: pol
Class-map: silver (match-all)
30 second offered rate 15000 bps, drop rate 300 bps
Output Queue: Conversation 266
(pkts matched/bytes matched) 363/87120
depth/total drops/no-buffer drops) 147/38/0
class Transmitted Random drop Tail drop Minimum Maximum Mark
pkts/bytes pkts/bytes pkts/bytes thresh thresh prob
0 0/0 0/0 0/0 20000 40000 1/10
1 328/78720 38/9120 0/0 22000 40000 1/10
2 0/0 0/0 0/0 24000 40000 1/10
3 0/0 0/0 0/0 26000 40000 1/10
4 0/0 0/0 0/0 28000 40000 1/10
Configuration Examples for Byte-Based WRED
This section provides the following configuration examples:
•
Configuring Byte-Based WRED: Example
Configuring Byte-Based WRED: Example
The following example shows a service policy called wred-policy that sets up byte-based WRED for a class called prec2 and for the default class. The policy is then applied to Fast Ethernet interface 0/0/1.
random-detect precedence 2 100 bytes 200 bytes 10
random-detect precedence 4 150 bytes 300 bytes 15
random-detect precedence 6 200 bytes 400 bytes 5
interface fastethernet0/0/1
service-policy output wred-policy
The following example shows the byte-based WRED results for the service policy attached to Ethernet interface 0/0/1.
Router# show policy-map interface
Service-policy output: wred-policy (1177)
Class-map: prec2 (match-all) (1178/10)
5 minute offered rate 0 bps, drop rate 0 bps
Match: ip precedence 2 (1179)
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts queued/bytes queued) 0/0
Exp-weight-constant: 9 (1/512)
Mean queue depth: 0 bytes
class Transmitted Random drop Tail drop Minimum Maximum Mark
pkts/bytes pkts/bytes pkts/bytes thresh thresh prob
0 0/0 0/0 0/0 15625 31250 1/10
1 0/0 0/0 0/0 17578 31250 1/10
2 0/0 0/0 0/0 100 200 1/10
3 0/0 0/0 0/0 21484 31250 1/10
4 0/0 0/0 0/0 23437 31250 1/10
5 0/0 0/0 0/0 25390 31250 1/10
6 0/0 0/0 0/0 27343 31250 1/10
7 0/0 0/0 0/0 29296 31250 1/10
Class-map: class-default (match-any) (1182/0)
5 minute offered rate 0 bps, drop rate 0 bps
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts queued/bytes queued) 0/0
Exp-weight-constant: 9 (1/512)
Mean queue depth: 0 bytes
class Transmitted Random drop Tail drop Minimum Maximum Mark
pkts/bytes pkts/bytes pkts/bytes thresh thresh prob
0 0/0 0/0 0/0 140625 281250 1/10
1 0/0 0/0 0/0 158203 281250 1/10
2 0/0 0/0 0/0 175781 281250 1/10
3 0/0 0/0 0/0 193359 281250 1/10
4 0/0 0/0 0/0 150 300 1/15
5 0/0 0/0 0/0 228515 281250 1/10
6 0/0 0/0 0/0 200 400 1/5
7 0/0 0/0 0/0 263671 281250 1/10
Additional References
The following sections provide references related to the Byte-Based Weighted Random Early Detection feature.
Related Documents
Standards
Standards
|
Title
|
No new or modified standards are supported, and support for existing standards has not been modified.
|
—
|
MIBs
MIBs
|
MIBs Link
|
No new or modified MIBs are supported, and support for existing MIBs has not been modified.
|
To locate and download MIBs for selected platforms, Cisco IOS XE software releases, and feature sets, use Cisco MIB Locator found at the following URL:
http://www.cisco.com/go/mibs
|
RFCs
RFCs
|
Title
|
No new or modified RFCs are supported, and support for existing RFCs has not been modified.
|
—
|
Technical Assistance
Description
|
Link
|
The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.
To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.
|
http://www.cisco.com/techsupport
|
Feature Information for Byte-Based Weighted Random Early Detection
Table 1 lists the release history for this feature.
Use Cisco Feature Navigator to find information about platform support and software image support. Cisco Feature Navigator enables you to determine which Cisco IOS XE software images support a specific software release, feature set, or platform. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
Note
Table 1 lists only the Cisco IOS XE software release that introduced support for a given feature in a given Cisco IOS XE software release train. Unless noted otherwise, subsequent releases of that Cisco IOS XE software release train also support that feature.
Table 1 Feature Information for Byte-Based Weighted Random Early Detection
Feature Name
|
Releases
|
Feature Information
|
Byte-Based Weighted Random Early Detection
|
Cisco IOS XE Release 2.4
|
The Byte-Based Weighted Random Early Detection feature extends the functionality of WRED. In previous releases, you specified the WRED actions based on the number of packets. With the byte-based WRED, you can specify WRED actions based on the number of bytes.
This feature was introduced on Cisco ASR 1000 Series Routers.
The following commands were introduced or modified: random-detect, random-detect precedence, show policy-map, show policy-map interface.
|
CCDE, CCENT, CCSI, Cisco Eos, Cisco HealthPresence, Cisco Ironport, the Cisco logo, Cisco Lumin, Cisco Nexus, Cisco Nurse Connect, Cisco Stackpower, Cisco StadiumVision, Cisco TelePresence, Cisco Unified Computing System, Cisco WebEx, DCE, Flip Channels, Flip for Good, Flip Mino, Flip Video, Flip Video (Design), Flipshare (Design), Flip Ultra, and Welcome to the Human Network are trademarks; Changing the Way We Work, Live, Play, and Learn, Cisco Store, and Flip Gift Card are service marks; and Access Registrar, Aironet, AsyncOS, Bringing the Meeting To You, Catalyst, CCDA, CCDP, CCIE, CCIP, CCNA, CCNP, CCSP, CCVP, Cisco, the Cisco Certified Internetwork Expert logo, Cisco IOS, Cisco Press, Cisco Systems, Cisco Systems Capital, the Cisco Systems logo, Cisco Unity, Collaboration Without Limitation, EtherFast, EtherSwitch, Event Center, Fast Step, Follow Me Browsing, FormShare, GigaDrive, HomeLink, Internet Quotient, IOS, iPhone, iQuick Study, IronPort, the IronPort logo, LightStream, Linksys, MediaTone, MeetingPlace, MeetingPlace Chime Sound, MGX, Networkers, Networking Academy, Network Registrar, PCNow, PIX, PowerPanels, ProConnect, ScriptShare, SenderBase, SMARTnet, Spectrum Expert, StackWise, The Fastest Way to Increase Your Internet Quotient, TransPath, WebEx, and the WebEx logo are registered trademarks of Cisco Systems, Inc. and/or its affiliates in the United States and certain other countries.
All other trademarks mentioned in this document or website are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (0907R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.
©2003-2009 Cisco Systems, Inc. All rights reserved.