Configuring CoS Congestion Management (CLI Procedure)
An effective congestion management mechanism is imperative to ensure smooth flow of traffic in a network and also to ensure minimum packet drops in the network. Class of service (CoS) provides congestion management methods that allow you to define parameters based on which packets can be dropped when the output queue is full. These parameters vary depending on the EX Series switch that you are using in a network.
You can specify parameters for dropping packets at the [edit class-of-service
drop-profiles]
hierarchy level and reference them in a scheduler
configuration. The parameters that you can specify are fill-level
and
drop-probability
. The first parameter defines the delay-buffer
bandwidth, which provides packet buffer space to absorb burst traffic up to the
specified duration of delay. When the specified delay buffer becomes full, packets with
100 percent drop probability are dropped from the head of the buffer. The second
parameter represents a percentage value that correlates to the likelihood that an
individual packet is dropped from the network.
Depending on the switch on which you are configuring a drop profile, you can configure either a weighted tail drop (WTD) profile or a weighted random early detection (WRED) profile.
Configuring a Weighted Tail Drop Profile
A weighted tail drop (WTD) is a congestion management mechanism in which packets are dropped from the tail of the queue when the queue reaches a certain buffer capacity (that is, the fill level), and hence the name weighted tail drop. When that level is reached, packets marked with a packet loss priority (PLP) of high are prevented from entering the queue (that is, they are discarded).
To configure a WTD profile, create a drop profile name and assign a fill level:
[edit class-of-service drop-profiles] user@switch# set profile-name fill-level percentage
Following is a sample WTD profile in which the fill level is set to 80 percent:
[edit class-of-service drop-profiles] user@switch# set wtd-profile fill-level 80
Configuring a Weighted Random Early Detection Drop Profile
A WRED drop profile enables you to define multiple data points for fill level and drop probability so that packets are dropped at various levels of queue fullness, and for various drop probabilities. Unlike the WTD drop profile that can be defined only for packets with a PLP of high, WRED can be defined for packets with a PLP of high and also for packets with a PLP of low.
The WRED drop profile is supported only on EX4300 standalone switches and EX4300 Virtual Chassis.
WRED has two implementations: segmented and interpolated. From a high level, segmented is a stair-step-like drop profile, whereas interpolated is a smother (curve) drop profile. For a graphical representation of both these implementations, see Understanding CoS Congestion Management. Although the formation of graph lines is different for both these implementations, the application of the profile is the same. On EX Series switches except EX4300 switches, when a packet reaches the head of the queue, a random number between 0 and 100 is calculated. This random number is plotted against the drop profile using the current queue fullness of that particular queue. When the random number falls above the graph line, the packet is transmitted. When the number falls below the graph line, the packet is dropped from the network.
For information about congestion management on EX4300 switches, see Understanding CoS Congestion Management.
On EX4300 switches, you cannot enable WRED on multidestination (multicast) queues. You can enable WRED only on unicast queues.
Following is the procedure to define a segmented and an interpolated drop profiles:
-
To configure a segmented drop profile, specify multiple data points for fill level (
l
) and drop probability (p
) as follows:[edit class-of-service drop-profiles] user@switch# set profile-name fill-level percentage-l1 drop-probability percentage-p1 user@switch# set profile-name fill-level percentage-l2 drop-probability percentage-p2 user@switch# set profile-name fill-level percentage-l3 drop-probability percentage-p3 user@switch# set profile-name fill-level percentage-l4 drop-probability percentage-p4
Following is a sample segmented drop profile:
[edit class-of-service drop-profiles] user@switch# set seg-prof fill-level 20 drop-probability 25 user@switch# set seg-prof fill-level 40 drop-probability 50 user@switch# set seg-prof fill-level 60 drop-probability 75 user@switch# set seg-prof fill-level 80 drop-probability 100
-
To configure an interpolated drop profile on EX Series switches except EX4300 switches, specify multiple data points for fill level (
l
) and drop probability (p
) using theinterpolate
statement as follows:[edit class-of-service drop-profiles ] user@switch# set profile-name interpolate fill-level percentage-l1 drop-probability percentage-l1 user@switch# set profile-name interpolate fill-level percentage-l2 drop-probability percentage-l2 user@switch# set profile-name interpolate fill-level percentage-l3 drop-probability percentage-p3 user@switch# set profile-name interpolate fill-level percentage-l4 drop-probability percentage-p4
Following is a sample interpolated drop profile:
[edit class-of-service drop-profiles] user@switch# set inter-prof interpolate fill-level 20 drop-probability 25 user@switch# set inter-prof interpolate fill-level 40 drop-probability 50 user@switch# set inter-prof interpolate fill-level 60 drop-probability 75 user@switch# set inter-prof interpolate fill-level 80 drop-probability 100
-
To configure an interpolated drop profile EX4300 switches, specify two data points for fill level (
l
) and drop probability (p
) by using theinterpolate
statement as follows:[edit class-of-service drop-profiles ] user@switch# set profile-name interpolate fill-level percentage-l1 fill-level percentage-l2 drop-probability percentage-l1 percentage-l2
Following is a sample interpolated drop profile:
[edit class-of-service drop-profiles] user@switch# set inter-prof interpolate fill-level 20 fill-level 80 drop-probability 25 drop-probability 100