Foundry NetIron M2404C and M2404F Metro Access Switches
Configuring HQoS (Rev.03)
QoS/HQoS Implementation
© 2008 Foundry Networks, Inc.
Page 26 of 98
Weighted Fair Queuing (WFQ) Scheduling
The device uses weighted fair queuing (WFQ) for scheduling transmitted traffic in cases of
congestion. WFQ is used for traffic passing through the ES Processor.
During congestion, the WFQ enables each of the participating entities in each scheduling level to
receive byte wise fair share of the available bandwidth by using a simple credit calculation as
follows. In each time slot, each entity is allowed to transmit X bytes where X is proportional to the
relative weight.
For example, if relative weight for all entities in the same scheduling level is equal (weight=1 for
all entities), then all entities receive the same credit for transmission resulting in a behavior that is
similar to a simple Round Robin fair scheduling. Each entity receives a limited amount of credits
for transmission (in this example, 100). The 1
st
Entity in this example transmits 100 byte frames
while the 2
nd
entity transmits 1k byte frames. After transmitting the first frame, the 1
st
Entity is left
with 0 credits while the 2
nd
Entity is left with -900 credits. New credits are provisioned … (100, -
800), now only the 1
st
entity has positive amount of credits and is allowed to transmit. Such cycles
continue 10 times until the 2
nd
Entity has positive amount of credits and is again allowed to
transmit.
Two instances of WFQ scheduling are applied to L2 schedulers and network queues. One instance
is for all in-profile traffic (within the CIR) and a different instance is for all excess traffic (between
the CIR and the PIR). Each entity is configured with WFQ profiles including weight for in-profile
traffic (‘cir-weight’) and weight for out-of-profile traffic.
A single instance of WFQ scheduling is used for the service queues. Each service Queue is
configured with a single WFQ weight for all traffic.
Shaping (Bandwidth Provisioning)
The switch features shaping for allocating maximum bandwidth guarantee without dropping
packets. The HQoS shapers described here can be applied only for traffic going through the ES
Processor.
The shaping implementation in the device uses dual-rate token based metering. This
implementation is similar to the color blind metering described in IETF RFC 2698. CIR and PIR
are used for limiting the traffic rate, while CBS and MBS are used for allowing temporary bursts to
breach the PIR as part of the SLA.
Weighted Random Early Detection (WRED)
The HQoS WRED mechanism is used for intelligently controlling frame buffer usage between
different queues while dropping frames in a configurable, TCP friendly, pattern.
A WRED profile is used for each Queue, consisting of two sets of parameters. One set is used to
perform drop decisions for packets marked as ‘green’ and the second set for packets marked as
‘yellow’. The drop decision for each packet is based on drop probability, which is a function of the
packet color (yellow or green) and the current average queue depth as shown in the diagram below: