bandwidth percent vs. priority in policy-map

Unanswered Question
May 7th, 2007

After reading a couple papers on the topic I am still not clear on the difference between these two commands in a QoS polic-map map. For instance if my map looks like this:


policy-map Voice-QoS

class call-setup

bandwidth percent 5

class voice

priority 256

class data

bandwidth percent 20

class class-default



What does this mean as far as bandwidth and priority for my traffic?



  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4 (2 ratings)
dgahm Mon, 05/07/2007 - 07:05


The priority command establishes a strict priority queue, meaning those packets will go out before any of the other classes. This should only be used for voice or video RTP traffic. This reduces the jitter for the real time traffic.

Please rate helpful posts.


DIEGO ALONSO Mon, 05/07/2007 - 07:43

So what does the bandwidth command do? How does it affect the priority queue and vice-versa?



rchilcote Mon, 05/07/2007 - 08:03

First a note: the defined queues will only be in effect during congestion on the interface on which you place the service policy referencing the policy-map. Make sure you configure the bandwidth command on the interface on which you place the service policy. This is especially important for policy-maps that use the "bandwidth percentage %" command versus the "bandwidth Kbps" command.

The traffic that matches your priority queue will have absolute strict priority over every other defined class. The downside to the priority queue is that you cannot use any BW above the configured amount during times of congestion.

When using percentages in your policy-map, the actual BW is based on the interface where you place it.

The bandwidth command in your other classes define how much BW will be available for that class of traffic. This traffic can use more BW than is defined, though, as long as its available on the interface.

Policy maps work like access lists when matching traffic. Any traffic not matched by the top class will fall to the next class to determine if there's a match. This will continue until unmathced traffic reaches the "class class-default" queue which is considered to be the best-effort queue.


DIEGO ALONSO Mon, 05/07/2007 - 08:35

So let me see if I understand this correctly:

1) priority 256: this traffic will be sent to the head of the queue any time there is congestion. However it will never be able to use more than 256kb of BW.

2) bandwidth 20%: this traffic will be allowed to use up to 20% of available bandwidth but will not be sent to head of the queue

Is this correct?

Two more questions:

1) Does the 20% refer to 20% of total circuit bandwidth or 20% of the bandwidth that is left after reserving 256k for the priority traffic?

2) Also, if there are two classes with bandwidth assignments rather than priority assignments, how are these two classes prioritized? ie, Who goes first?



rchilcote Mon, 05/07/2007 - 09:06

First of all, you cannot reserve BW based on percentages and Kbps in the same policy-map. Use only one BW method for all class in the policy-map.

First 1. Yes, that's correct in times of congestion.

First 2. If 2 packets arive at an interface at the exact same time, 1 marked for the PQ and the other for a class based queue, then the packet in the PQ is sent first and the other packet is sent second. So your lower classes of traffic will get serviced, but just at a lower priority as oposed to the PQ traffic.

Second 1. Total circuit BW.

Second 2. Each individual queue is services using FIFO, unless you specifically configure WRED. The non-priority queues just share the BW specified under all classes. I don't think Cisco publishes how these queues are serviced within a policy-map as a whole.



This Discussion