Modified Deficit Round Robin

Modified Deficit Round Robin

Some Cisco platforms like CRS12000 and ASR9000 series routers do not support priority queuing (PQ), custom queuing (CQ) or weighted fair queuing (WFQ). Instead, they use Modified Deficit Round Robin (MDRR) for congestion management. Like CBWFQ, it classifies the traffic into classes (upto 8 traffic classes) based on defined match criteria and each queue is serviced in a round robin fashion. However, a queue is allowed to transmit only a number of bytes each time it is serviced. MDRR also has Strict Priority queue for delay sensitive traffic. It is defined same as LLQ using priority command within a class.

MDRR introduced two variables which are associated with each queue:

Quantum : Number of bytes a queue can serve in each round (time-interval).

Quantum value for each queue is configurable on CRS12000 routers by configuring its weight. [Note: This is not available on ASR9000 routers.]

Quantum = MTU + [(Weight - 1) * 512]

Deficit Counter : Number of bytes served by a queue in each round (time-interval).

The deficit counter is initialized to the Quantum value. As packets are transmitted from the queue, their lengths are subtracted from the deficit counter. When the deficit counter reaches 0 (or less than 0), the scheduler moves on to the next queue. In each new round, the deficit counter for each non-empty queue is incremented by its Quantum value.