Table Of Contents
qos pre-classify
queue-limit
queue-list default
queue-list interface
queue-list lowest-custom
queue-list protocol
queue-list queue byte-count
queue-list queue limit
random-detect discard-class
random-detect discard-class-based
random-detect dscp
random-detect (interface)
random-detect (per VC)
random-detect ecn
random-detect exponential-weighting-constant
random-detect flow
random-detect flow average-depth-factor
random-detect flow count
random-detect-group
random-detect precedence
rate-limit
qos pre-classify
To enable quality of service (QoS) preclassification, use the qos pre-classify command in interface configuration mode. To disable the QoS preclassification feature, use the no form of this command.
qos pre-classify
no qos pre-classify
Syntax Description
This command has no arguments or keywords.
Defaults
Disabled
Command Modes
Interface configuration
Command History
Release
|
Modification
|
12.0(5)XE3
|
This command was introduced.
|
12.1(5)T
|
This command was integrated into Cisco IOS Release 12.1(5)T.
|
12.2(2)T
|
This command was implemented on the Cisco 2600 and Cisco 3600 series routers.
|
Usage Guidelines
This command is restricted to tunnel interfaces, virtual templates, and crypto maps. The qos pre-classify command is unavailable on all other interface types.
The qos pre-classify command can be enabled for IP packets only.
Examples
The following example enables the QoS for Virtual Private Networks (VPNs) feature on tunnel interfaces and virtual templates:
Router(config-if)# qos pre-classify
The following example enables the QoS for VPNs feature on crypto maps:
Router(config-crypto-map)# qos pre-classify
Related Commands
Command
|
Description
|
show interfaces
|
Displays statistics for the interfaces configured on a router or access server.
|
show queue
|
Displays the contents of packets inside a queue for a particular interface or VC.
|
queue-limit
To specify or modify the maximum number of packets the queue can hold for a class policy configured in a policy map, use the queue-limit command in policy-map class configuration mode. To remove the queue packet limit from a class, use the no form of this command.
queue-limit number-of-packets
no queue-limit number-of-packets
Syntax Description
number-of-packets
|
A number in the range from 1 to 64 specifying the maximum number of packets that the queue for this class can accumulate.
|
Defaults
On the Versatile Interface Processor (VIP)-based platforms, the default value is chosen as a function of the bandwidth assigned to the traffic class. The default value is also based on available buffer memory. If sufficient buffer memory is available, the default queue-limit value is equal to the number of 250-byte packets that would lead to a latency of 500 milliseconds (ms) when the packets are delivered at the configured rate. For example, if two 250-byte packets are required to lead to a latency of 500 ms, the default number-of-packets value would be 2.
On all other platforms, the default is 64.
Command Modes
Policy-map class configuration
Command History
Release
|
Modification
|
12.0(5)T
|
This command was introduced.
|
12.0(5)XE
|
This command was integrated into Cisco IOS Release 12.0(5)XE. Support for VIP-enabled Cisco 7500 series routers was added.
|
12.1(5)T
|
This command was implemented on the VIP-enabled Cisco 7500 series routers.
|
Usage Guidelines
Weighted fair queueing (WFQ) creates a queue for every class for which a class map is defined. Packets satisfying the match criteria for a class accumulate in the queue reserved for the class until they are sent, which occurs when the queue is serviced by the fair queueing process. When the maximum packet threshold you defined for the class is reached, enqueueing of any further packets to the class queue causes tail drop or, if Weighted Random Early Detection (WRED) is configured for the class policy, packet drop to take effect.
Overriding Queue Limits Set by the Bandwidth Command
The bandwidth command can be used with the Modular Command-Line Interface (MQC) to specify the bandwidth for a particular class. When used with the MQC, the bandwidth command uses a default queue limit for the class. This queue limit can be modified using the queue-limit command, thereby overriding the default set by the bandwidth command.
Note
Using the queue-limit command to modify the default queue-limit is especially important for higher-speed interfaces, in order to meet the minimum bandwidth guarantees required by the interface.
Examples
The following example configures a policy map called policy11 to contain policy for a class called acl203. Policy for this class is set so that the queue reserved for it has a maximum packet limit of 40.
Related Commands
Command
|
Description
|
class (policy-map)
|
Specifies the name of the class whose policy you want to create or change, and the default class (commonly known as the class-default class) before you configure its policy.
|
class class-default
|
Specifies the default traffic class whose bandwidth is to be configured or modified.
|
policy-map
|
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
|
queue-list default
To assign a priority queue for those packets that do not match any other rule in the queue list, use the queue-list default command in global configuration mode. To restore the default value, use the no form of this command.
queue-list list-number default queue-number
no queue-list list-number default queue-number
Syntax Description
list-number
|
Number of the queue list. Any number from 1 to 16 that identifies the queue list.
|
queue-number
|
Number of the queue. Any number from 1 to 16.
|
Defaults
Disabled
The default number of the queue list is queue number 1.
Command Modes
Global configuration
Command History
Release
|
Modification
|
10.0
|
This command was introduced.
|
Usage Guidelines
When you use multiple rules, remember that the system reads the queue-list commands in order of appearance. When classifying a packet, the system searches the list of rules specified by queue-list commands for a matching protocol or interface type. When a match is found, the system assigns the packet to the appropriate queue. The system searches the list in the order specified, and the first matching rule terminates the search.
Queue number 0 is a system queue. It is emptied before any of the other queues are processed. The system enqueues high-priority packets, such as keepalives, to this queue.
Use the show interfaces command to display the current status of the output queues.
Examples
In the following example, the default queue for list 10 is set to queue number 2:
Related Commands
Command
|
Description
|
custom-queue-list
|
Assigns a custom queue list to an interface.
|
queue-list interface
|
Establishes queueing priorities on packets entering on an interface.
|
queue-list protocol
|
Establishes queueing priority based on the protocol type.
|
queue-list queue byte-count
|
Specifies how many bytes the system allows to be delivered from a given queue during a particular cycle.
|
queue-list queue limit
|
Designates the queue length limit for a queue.
|
show queue
|
Displays the contents of packets inside a queue for a particular interface or VC.
|
show queueing
|
Lists all or selected configured queueing strategies.
|
queue-list interface
To establish queueing priorities on packets entering on an interface, use the queue-list interface command in global configuration mode. To remove an entry from the list, use the no form of this command.
queue-list list-number interface interface-type interface-number queue-number
no queue-list list-number interface interface-type interface-number queue-number
Syntax Description
list-number
|
Number of the queue list. Any number from 1 to 16 that identifies the queue list.
|
interface-type
|
Type of the interface.
|
interface-number
|
Number of the interface.
|
queue-number
|
Number of the queue. Any number from 1 to 16.
|
Defaults
No queueing priorities are established.
Command Modes
Global configuration
Command History
Release
|
Modification
|
10.0
|
This command was introduced.
|
Usage Guidelines
When you use multiple rules, remember that the system reads the queue-list commands in order of appearance. When classifying a packet, the system searches the list of rules specified by queue-list commands for a matching protocol or interface type. When a match is found, the system assigns the packet to the appropriate queue. The list is searched in the order specified, and the first matching rule terminates the search.
Examples
In the following example, queue list 4 establishes queueing priorities for packets entering on interface tunnel 3. The queue number assigned is 10.
queue-list 4 interface tunnel 3 10
Related Commands
Command
|
Description
|
custom-queue-list
|
Assigns a custom queue list to an interface.
|
queue-list default
|
Assigns a priority queue for those packets that do not match any other rule in the queue list.
|
queue-list protocol
|
Establishes queueing priority based on the protocol type.
|
queue-list queue byte-count
|
Specifies how many bytes the system allows to be delivered from a given queue during a particular cycle.
|
queue-list queue limit
|
Designates the queue length limit for a queue.
|
show queue
|
Displays the contents of packets inside a queue for a particular interface or VC.
|
show queueing
|
Lists all or selected configured queueing strategies.
|
queue-list lowest-custom
To set the lowest number for a queue to be treated as a custom queue, use the queue-list lowest-custom command in global configuration mode. To restore the default value, use the no form of this command.
queue-list list-number lowest-custom queue-number
no queue-list list-number lowest-custom queue-number
Syntax Description
list-number
|
Number of the queue list. Any number from 1 to 16 that identifies the queue list.
|
queue-number
|
Number of the queue. Any number from 1 to 16.
|
Defaults
The default number of the lowest custom queue is 1.
Command Modes
Global configuration
Command History
Release
|
Modification
|
11.0
|
This command was introduced.
|
Usage Guidelines
All queues from queue 0 to the queue prior to the one specified in the queue-list lowest-custom command use the priority queue. (Queue 0 has the highest priority.)
All queues from the one specified in the queue-list lowest-custom command to queue 16 use a round-robin scheduler.
Use the show queueing custom command to display the current custom queue configuration.
Examples
In the following example, the lowest custom value is set to 2 for queue list 4:
queue-list 4 lowest-custom 2
Related Commands
Command
|
Description
|
custom-queue-list
|
Assigns a custom queue list to an interface.
|
queue-list interface
|
Establishes queueing priorities on packets entering on an interface.
|
queue-list protocol
|
Establishes queueing priority based on the protocol type.
|
queue-list queue byte-count
|
Specifies how many bytes the system allows to be delivered from a given queue during a particular cycle.
|
queue-list queue limit
|
Designates the queue length limit for a queue.
|
show queue
|
Displays the contents of packets inside a queue for a particular interface or VC.
|
show queueing
|
Lists all or selected configured queueing strategies.
|
queue-list protocol
To establish queueing priority based upon the protocol type, use the queue-list protocol command in global configuration mode. To remove an entry from the list, use the no form of this command.
queue-list list-number protocol protocol-name queue-number queue-keyword keyword-value
no queue-list list-number protocol protocol-name queue-number queue-keyword keyword-value
Syntax Description
list-number
|
Number of the queue list. Any number from 1 to 16.
|
protocol-name
|
Protocol type: aarp, appletalk, arp, bridge (transparent), clns, clns_es, clns_is, cmns, compressedtcp, decnet, decnet_node, decnet_routerl1, decnet_routerl2, dlsw, ip, ipx, pad, rsrb, stun and x25.
|
queue-number
|
Number of the queue. Any number from 1 to 16.
|
queue-keyword keyword-value
|
Possible keywords are fragments, gt, list, lt, tcp, and udp. See Table 9 of the priority-list protocol command.
|
Defaults
No queueing priorities are established.
Command Modes
Global configuration
Command History
Release
|
Modification
|
10.0
|
This command was introduced.
|
12.2(13)T
|
This command was modified to remove apollo, vines, and xns from the list of protocol types. These protocols were removed because Apollo Domain, Banyan VINES, and Xerox Network Systems (XNS) were removed in Release 12.2(13)T.
|
Usage Guidelines
When you use multiple rules for a single protocol, remember that the system reads the queue-list commands in order of appearance. When classifying a packet, the system searches the list of rules specified by queue-list commands for a matching protocol. When a match is found, the system assigns the packet to the appropriate queue. The system searches the list in the order specified, and the first matching rule terminates the search.
The decnet_router-l1 keyword refers to the multicast address for all level 1 routers, which are intra-area routers, and the decnet_router-l2 keyword refers to all level 2 routers, which are interarea routers.
The dlsw, rsrb, and stun keywords refer only to direct encapsulation.
Use Table 9, Table 10, and Table 11 in the priority-list protocol command section to configure the queueing priorities for your system.
Examples
The following example assigns 1 as the custom queue list, specifies DECnet as the protocol type, and assigns 3 as a queue number to the packets sent on this interface:
queue-list 1 protocol decnet 3
The following example assigns DECnet packets with a size greater than 200 bytes to queue number 2:
queue-list 2 protocol decnet 2 gt 200
The following example assigns DECnet packets with a size less than 200 bytes to queue number 2:
queue-list 4 protocol decnet 2 lt 200
The following example assigns traffic that matches IP access list 10 to queue number 1:
queue-list 1 protocol ip 1 list 10
The following example assigns Telnet packets to queue number 2:
queue-list 4 protocol ip 2 tcp 23
The following example assigns User Datagram Protocol (UDP) Domain Name Service packets to queue number 2:
queue-list 4 protocol ip 2 udp 53
The following example assigns traffic that matches Ethernet type code access list 201 to queue number 1:
queue-list 1 protocol bridge 1 list 201
Related Commands
Command
|
Description
|
custom-queue-list
|
Assigns a custom queue list to an interface.
|
queue-list default
|
Assigns a priority queue for those packets that do not match any other rule in the queue list.
|
queue-list queue byte-count
|
Specifies how many bytes the system allows to be delivered from a given queue during a particular cycle.
|
queue-list queue limit
|
Designates the queue length limit for a queue.
|
show queue
|
Displays the contents of packets inside a queue for a particular interface or VC.
|
show queueing
|
Lists all or selected configured queueing strategies.
|
queue-list queue byte-count
To specify how many bytes the system allows to be delivered from a given queue during a particular cycle, use the queue-list queue byte-count command in global configuration mode. To return the byte count to the default value, use the no form of this command.
queue-list list-number queue queue-number byte-count byte-count-number
no queue-list list-number queue queue-number byte-count byte-count-number
Syntax Description
list-number
|
Number of the queue list. Any number from 1 to 16.
|
queue-number
|
Number of the queue. Any number from 1 to 16.
|
byte-count-number
|
The average number of bytes the system allows to be delivered from a given queue during a particular cycle.
|
Defaults
This command is disabled by default. The default byte count is 1500 bytes.
Command Modes
Global configuration
Command History
Release
|
Modification
|
10.0
|
This command was introduced.
|
Examples
In the following example, queue list 9 establishes the byte count as 1400 for queue number 10:
queue-list 9 queue 10 byte-count 1400
Related Commands
Command
|
Description
|
custom-queue-list
|
Assigns a custom queue list to an interface.
|
queue-list default
|
Assigns a priority queue for those packets that do not match any other rule in the queue list.
|
queue-list interface
|
Establishes queueing priorities on packets entering on an interface.
|
queue-list protocol
|
Establishes queueing priority based on the protocol type.
|
queue-list queue byte-count
|
Specifies how many bytes the system allows to be delivered from a given queue during a particular cycle.
|
queue-list queue limit
|
Designates the queue length limit for a queue.
|
show queue
|
Displays the contents of packets inside a queue for a particular interface or VC.
|
show queueing
|
Lists all or selected configured queueing strategies.
|
queue-list queue limit
To designate the queue length limit for a queue, use the queue-list queue limit command in global configuration mode. To return the queue length to the default value, use the no form of this command.
queue-list list-number queue queue-number limit limit-number
no queue-list list-number queue queue-number limit limit-number
Syntax Description
list-number
|
Number of the queue list. Any number from 1 to 16.
|
queue-number
|
Number of the queue. Any number from 1 to 16.
|
limit-number
|
Maximum number of packets that can be enqueued at any time. The range is from 0 to 32767 queue entries. A value of 0 means that the queue can be of unlimited size.
|
Defaults
The default queue length limit is 20 entries.
Command Modes
Global configuration
Command History
Release
|
Modification
|
10.0
|
This command was introduced.
|
Examples
In the following example, the queue length of queue 10 is increased to 40:
queue-list 5 queue 10 limit 40
Related Commands
Command
|
Description
|
custom-queue-list
|
Assigns a custom queue list to an interface.
|
queue-list default
|
Assigns a priority queue for those packets that do not match any other rule in the queue list.
|
queue-list interface
|
Establishes queueing priorities on packets entering on an interface.
|
queue-list protocol
|
Establishes queueing priority based on the protocol type.
|
queue-list queue byte-count
|
Specifies how many bytes the system allows to be delivered from a given queue during a particular cycle.
|
show queue
|
Displays the contents of packets inside a queue for a particular interface or VC.
|
show queueing
|
Lists all or selected configured queueing strategies.
|
random-detect discard-class
To configure the weighted random early detection (WRED) parameters for a discard-class value for a class policy in a policy map, use the random-detect discard-class command in policy-map class configuration mode. To disable this feature, use the no form of this command.
random-detect discard-class value min-threshold max-threshold mark-prob-denominator
no random-detect discard-class value min-threshold max-threshold mark-prob-denominator
Syntax Description
value
|
Discard class. Valid values are 0 to 7.
|
min-threshold
|
Minimum threshold in number of packets. Valid values are 1 to 4096. When the average queue length reaches the minimum threshold, WRED randomly drops some packets with the specified IP precedence.
|
max-threshold
|
Maximum threshold in number of packets. Valid values are 1 to 4096. When the average queue length exceeds the maximum threshold, WRED drops all packets with the specified IP precedence.
|
mark-prob-denominator
|
Denominator for the fraction of packets dropped when the average queue depth is at the maximum threshold. For example, if the denominator is 512, 1 out of every 512 packets is dropped when the average queue is at the maximum threshold. Valid values are 1 to 65535. The default is 10; 1 out of every 10 packets is dropped at the maximum threshold.
|
Defaults
To return the values to the default for the discard class, use the no form of this command.
Command Modes
Policy-map class configuration
Command History
Release
|
Modification
|
12.2(13)T
|
This command was introduced.
|
Usage Guidelines
When you configure the random-detect discard-class command on an interface, packets are given preferential treatment based on the discard class of the packet. Use the random-detect discard-class command to adjust the discard class for different discard class values.
Examples
The following example shows that if the discard class is 2, there is a 10 percent chance that packets will be dropped if there are more packets than the minimum threshold of 100 packets or there are fewer packets than the maximum threshold of 200 packets:
random-detect discard-class-based
random-detect-discard-class 2 100 200 10
Related Commands
Command
|
Description
|
bandwidth (policy-map class)
|
Specifies or modifies the bandwidth allocated for a class belonging to a policy map.
|
fair-queue (class-default)
|
Specifies the number of dynamic queues to be reserved for use by the class-default class as part of the default class policy.
|
random-detect discard-class-based
|
Bases WRED on the discard class value of a packet.
|
show policy-map interface
|
Displays the configuration of all classes configured for all service policies on the specified interface or displays the classes for the service policy for a specific PVC on the interface.
|
random-detect discard-class-based
To base weighted random early detection (WRED) on the discard class value of a packet, use the random-detect discard-class-based command in policy-map class configuration mode. To disable this feature, use the no form of this command.
random-detect discard-class-based
no random-detect discard-class-based
Syntax Description
This command has no arguments or keywords.
Defaults
The defaults are router-dependent.
Command Modes
Policy-map class configuration
Command History
Release
|
Modification
|
12.2(13)T
|
This command was introduced.
|
Usage Guidelines
Enter this command so that WRED is based on the discard class instead of on the IP precedence field.
Examples
The following example shows that random detect is based on the discard class value of a packet:
random-detect discard-class-based
Related Commands
Command
|
Description
|
match discard-class
|
Matches packets of a certain discard class.
|
random-detect dscp
To change the minimum and maximum packet thresholds for the differentiated services code point (DSCP) value, use the random-detect dscp command in interface configuration mode. To return the minimum and maximum packet thresholds to the default for the DSCP value, use the no form of this command.
random-detect dscp dscpvalue min-threshold max-threshold [mark-probability-denominator]
no random-detect dscp dscpvalue min-threshold max-threshold [mark-probability-denominator]
Syntax Description
dscpvalue
|
Specifies the DSCP value. The DSCP value can be a number from 0 to 63, or it can be one of the following keywords: ef, af11, af12, af13, af21, af22, af23, af31, af32, af33, af41, af42, af43, cs1, cs2, cs3, cs4, cs5, or cs7.
|
min-threshold
|
Minimum threshold in number of packets. The value range of this argument is from 1 to 4096. When the average queue length reaches the minimum threshold, Weighted Random Early Detection (WRED) randomly drops some packets with the specified DSCP value.
|
max-threshold
|
Maximum threshold in number of packets. The value range of this argument is from the value of the min-threshold argument to 4096. When the average queue length exceeds the maximum threshold, WRED drops all packets with the specified DSCP value.
|
mark-probability-denominator
|
(Optional) Denominator for the fraction of packets dropped when the average queue depth is at the maximum threshold. For example, if the denominator is 512, 1 out of every 512 packets is dropped when the average queue is at the maximum threshold. The value range is from 1 to 65536. The default is 10; 1 out of every 10 packets is dropped at the maximum threshold.
|
Defaults
If WRED is using the DSCP value to calculate the drop probability of a packet, all entries of the DSCP table are initialized with the default settings shown in Table 13 in the "Usage Guidelines" section of this command.
Command Modes
Interface configuration
Command History
Release
|
Modification
|
12.1(5)T
|
This command was introduced.
|
Usage Guidelines
The random-detect dscp command allows you to specify the DSCP value. The DSCP value can be a number from 0 to 63, or it can be one of the following keywords: ef, af11, af12, af13, af21, af22, af23, af31, af32, af33, af41, af42, af43, cs1, cs2, cs3, cs4, cs5, or cs7.
This command must be used in conjunction with the random-detect (interface) command.
Additionally, the random-detect dscp command is available only if you specified the dscp-based argument when using the random-detect (interface) command.
Table 13 lists the default settings used by the random-detect dscp command for the DSCP value specified. Table 13 lists the DSCP value, and its corresponding minimum threshold, maximum threshold, and mark probability. The last row of the table (the row labeled "default") shows the default settings used for any DSCP value not specifically shown in the table.
Table 13 random-detect dscp Default Settings
DSCP
(Precedence)
|
Minimum Threshold
|
Maximum Threshold
|
Mark Probability
|
af11
|
32
|
40
|
1/10
|
af12
|
28
|
40
|
1/10
|
af13
|
24
|
40
|
1/10
|
af21
|
32
|
40
|
1/10
|
af22
|
28
|
40
|
1/10
|
af23
|
24
|
40
|
1/10
|
af31
|
32
|
40
|
1/10
|
af32
|
28
|
40
|
1/10
|
af33
|
24
|
40
|
1/10
|
af41
|
32
|
40
|
1/10
|
af42
|
28
|
40
|
1/10
|
af43
|
24
|
40
|
1/10
|
cs1
|
22
|
40
|
1/10
|
cs2
|
24
|
40
|
1/10
|
cs3
|
26
|
40
|
1/10
|
cs4
|
28
|
40
|
1/10
|
cs5
|
30
|
40
|
1/10
|
cs6
|
32
|
40
|
1/10
|
cs7
|
34
|
40
|
1/10
|
ef
|
36
|
40
|
1/10
|
rsvp
|
36
|
40
|
1/10
|
default
|
20
|
40
|
1/10
|
Examples
The following example enables WRED to use the DSCP value af22. The minimum threshold for DSCP value af22 is 28, the maximum threshold is 40, and the mark probability is 10.
random-detect dscp af22 20 40 10
Related Commands
Command
|
Description
|
random-detect (interface)
|
Enables WRED or DWRED.
|
show queueing
|
Lists all or selected configured queueing strategies.
|
show queueing interface
|
Displays the queueing statistics of an interface or VC.
|
random-detect (interface)
To enable Weighted Random Early Detection (WRED) or distributed WRED (DWRED), use the random-detect command in interface configuration mode. To configure WRED as class policy in a policy map, use the random-detect interface and policy-map class configuration command. To disable WRED or DWRED, use the no form of this command.
random-detect [dscp-based | prec-based]
no random-detect [dscp-based | prec-based]
Syntax Description
dscp-based
|
(Optional) Specifies that WRED is to use the differentiated services code point (DSCP) value when it calculates the drop probability for a packet.
|
prec-based
|
(Optional) Specifies that WRED is to use the IP Precedence value when it calculates the drop probability for a packet.
|
Defaults
WRED and DWRED are disabled by default.
If you choose not to use either the dscp-based or the prec-based argument, WRED uses the IP Precedence value (the default method) to calculate drop probability for the packet.
Command Modes
Interface configuration when used on an interface
Policy-map class configuration when used to specify class policy in a policy map
Command History
Release
|
Modification
|
11.1 CC
|
This command was introduced.
|
12.1(5)T
|
This command was integrated into Cisco IOS Release 12.1(5)T. Arguments were added to support Differentiated Services (DiffServ) and Assured Forwarding (AF) Per Hop Behavior (PHB).
|
Usage Guidelines
WRED is a congestion avoidance mechanism that slows traffic by randomly dropping packets when congestion exists. DWRED is similar to WRED but uses the Versatile Interface Processor (VIP) instead of the Route Switch Processor (RSP). WRED and DWRED are most useful with protocols like TCP that respond to dropped packets by decreasing the transmission rate.
The router automatically determines parameters to use in the WRED calculations. To change these parameters, use the random-detect precedence command.
The DWRED feature is supported only on Cisco 7000 series routers with an RSP7000 card and Cisco 7500 series routers with a VIP2-40 or greater interface processor. A VIP2-50 interface processor is strongly recommended when the aggregate line rate of the port adapters on the VIP is greater than DS3. A VIP2-50 interface processor is required for OC-3 rates.
To use DWRED, distributed Cisco Express Forwarding (dCEF) switching must first be enabled on the interface. For more information on dCEF, refer to the Cisco IOS Switching Services Configuration Guide and the Cisco IOS Switching Services Command Reference.
WRED in a Policy Map
You can configure WRED as part of the policy for a standard class or the default class. The WRED random-detect command and the weighted fair queueing (WFQ) queue-limit command are mutually exclusive for class policy. If you configure WRED, its packet drop capability is used to manage the queue when packets exceeding the configured maximum count are enqueued. If you configure the WFQ queue-limit command for class policy, tail drop is used.
To configure a policy map and create class policies, use the policy-map and class (policy-map) commands. When specifying class policy within a policy map, you can use the random-detect command with either of the following commands:
•
bandwidth (policy-map class)
•
fair-queue (class-default)—for the default class only
Note that if you use WRED packet drop instead of tail drop for one or more classes composing a policy map, you must ensure that WRED is not configured for the interface to which you attach that service policy.
The DWRED feature is not supported for class policy.
Two Methods for Calculating the Drop Probability of a Packet
This command includes two optional arguments, dscp-based and prec-based, that determine the method WRED uses to calculate the drop probability of a packet.
Note the following points when deciding which method to instruct WRED to use:
•
With the dscp-based argument, WRED uses the DSCP value (that is, the first six bits of the IP type of service (ToS) byte) to calculate the drop probability.
•
With the prec-based argument, WRED will use the IP Precedence value to calculate the drop probability.
•
The dscp-based and prec-based arguments are mutually exclusive.
•
If neither argument is specified, WRED uses the IP Precedence value to calculate the drop probability (the default method).
Examples
The following example configures WRED on the High-Speed Serial Interface (HSSI) 0/0/0 interface:
The following example configures the policy map called policy1 to contain policy specification for the class called class1. During times of congestion, WRED packet drop is used instead of tail drop.
! The following commands create the class map called class1:
match input-interface fastethernet0/1
! The following commands define policy1 to contain policy specification for class1:
The following example enables WRED to use the DSCP value 8. The minimum threshold for the DSCP value 8 is 24 and the maximum threshold is 40. This configuration was performed at the interface level.
Router(config)# interface serial0/0
Router(config-if)# random-detect dscp-based
Router(config-if)# random-detect dscp 8 24 40
The following example enables WRED to use the DSCP value 8 for class c1. The minimum threshold for DSCP value 8 is 24 and the maximum threshold is 40. The last line attaches the service policy to the output interface or virtual circuit (VC) p1.
Router(config-if)# class-map c1
Router(config-cmap)# match access-group 101
Router(config-if)# policy-map p1
Router(config-pmap)# class c1
Router(config-pmap-c)# bandwidth 48
Router(config-pmap-c)# random-detect dscp-based
Router(config-pmap-c)# random-detect dscp 8 24 40
Router(config-if)# service-policy output p1
Related Commands
Command
|
Description
|
random-detect dscp
|
Changes the minimum and maximum packet thresholds for the DSCP value.
|
random-detect exponential-weighting-constant
|
Configures the WRED and DWRED exponential weight factor for the average queue size calculation.
|
random-detect flow
|
Enables flow-based WRED.
|
random-detect precedence
|
Configures WRED and DWRED parameters for a particular IP Precedence.
|
show interfaces
|
Displays statistics for all interfaces configured on the router or access server.
|
show queueing
|
Lists all or selected configured queueing strategies.
|
show tech-support rsvp
|
Generates a report of all RSVP-related information.
|
random-detect (per VC)
To enable per-virtual circuit (VC) Weighted Random Early Detection (WRED) or per-VC VIP-distributed WRED (DWRED), use the random-detect command in VC submode mode. To disable per-VC WRED and per-VC DWRED, use the no form of this command.
random-detect [attach group-name]
no random-detect [attach group-name]
Syntax Description
attach group-name
|
(Optional) The name of the WRED or DWRED group.
|
Defaults
WRED and DWRED are disabled by default.
Command Modes
VC submode
Command History
Release
|
Modification
|
12.0(3)T
|
This command was introduced.
|
Usage Guidelines
WRED is a congestion avoidance mechanism that slows traffic by randomly dropping packets when congestion exists. DWRED is similar to WRED but uses the Versatile Interface Processor (VIP) instead of the Route Switch Processor (RSP). WRED and DWRED are most useful with protocols like TCP that respond to dropped packets by decreasing the transmission rate.
WRED and DWRED are configurable at the interface and per-VC levels. The VC-level WRED or DWRED configuration will override the interface-level configuration if WRED or DWRED is also configured at the interface level.
Use this command to configure a single ATM VC or a VC that is a member of a bundle.
Note the following points when using the random-detect (per VC) command:
•
If you use this command without the optional attach keyword, default WRED or DWRED parameters (such as minimum and maximum thresholds) are used.
•
If you use this command with the optional attach keyword, the parameters defined by the specified WRED or DWRED parameter group are used. (WRED or DWRED parameter groups are defined through the random-detect-group command.) If the specified WRED or DWRED group does not exist, the VC is configured with default WRED or DWRED parameters.
When this command is used to configure an interface-level WRED or DWRED group to include per-VC WRED or DWRED as a drop policy, the configured WRED or DWRED group parameters are inherited under the following conditions:
•
All existing VCs—including Resource Reservation Protocol (RSVP) switched virtual circuits (SVCs) that are not specifically configured with a VC-level WRED or DWRED group—will inherit the interface-level WRED or DWRED group parameters.
•
Except for the VC used for signalling and the Interim Local Management Interface (ILMI) VC, any VCs created after the configuration of an interface-level DWRED group will inherit the parameters.
When an interface-level WRED or DWRED group configuration is removed, per-VC WRED or DWRED parameters are removed from any VC that inherited them from the configured interface-level WRED or DWRED group.
When an interface-level WRED or DWRED group configuration is modified, per-VC WRED or DWRED parameters are modified accordingly if the WRED or DWRED parameters were inherited from the configured interface-level WRED or DWRED group configuration.
This command is only supported on interfaces that are capable of VC-level queueing. The only currently supported interface is the Enhanced ATM port adapter (PA-A3).
The DWRED feature is only supported on Cisco 7000 series routers with an RSP7000 card and Cisco 7500 series routers with a VIP2-40 or greater interface processor. A VIP2-50 interface processor is strongly recommended when the aggregate line rate of the port adapters on the VIP is greater than DS3. A VIP2-50 interface processor is required for OC-3 rates.
To use DWRED, distributed Cisco Express Forwarding (dCEF) switching must first be enabled on the interface. For more information on dCEF, refer to the Cisco IOS Switching Services Configuration Guide and the Cisco IOS Switching Services Command Reference.
Examples
The following example configures per-VC WRED for the permanent virtual circuit (PVC) called cisco. Because the attach keyword was not used, WRED uses default parameters.
The following example creates a DWRED group called Rome and then applies the parameter group to an ATM PVC:
! The following commands create the DWRED parameter group Rome:
! The following commands create a PVC on an ATM interface and then apply the
! DWRED group Rome to that PVC:
interface ATM2/0.23 point-to-point
ip address 10.9.23.10 255.255.255.0
random-detect attach Rome
The following show queueing command displays the current settings for each of the IP Precedences following configuration of per-VC DWRED:
Router# show queueing random-detect interface atm2/0.23 vc 201/201
random-detect group Rome:
class min-threshold max-threshold mark-probability
----------------------------------------------------------
Related Commands
Command
|
Description
|
class (policy-map)
|
Specifies the name of the class whose policy you want to create or change, and the default class (commonly known as the class-default class) before you configure its policy.
|
random-detect exponential-weighting-constant
|
Configures the WRED and DWRED exponential weight factor for the average queue size calculation.
|
random-detect-group
|
Defines the WRED or DWRED parameter group.
|
random-detect precedence
|
Configures WRED and DWRED parameters for a particular IP Precedence.
|
show interfaces
|
Displays the statistical information specific to a serial interface.
|
show queue
|
Displays the contents of packets inside a queue for a particular interface or VC.
|
show queueing
|
Lists all or selected configured queueing strategies.
|
random-detect ecn
To enable explicit congestion notification (ECN), use the random-detect ecn command in policy-map class configuration mode. To disable ECN, use the no form of this command.
random-detect ecn
no random-detect ecn
Syntax Description
This command has no arguments or keywords.
Defaults
By default, ECN is disabled.
Command Modes
Policy-map class configuration
Command History
Release
|
Modification
|
12.2(8)T
|
This command was introduced.
|
Usage Guidelines
If ECN is enabled, ECN can be used whether Weighted Random Early Detection (WRED) is based on the IP precedence value or the differentiated services code point (DSCP) value.
Examples
The following example enables ECN in a policy map called "pol1":
Router(config)# policy-map pol1
Router(config-pmap)# class class-default
Router(config-pmap)# bandwidth per 70
Router(config-pmap-c)# random-detect
Router(config-pmap-c)# random-detect ecn