cancel
Showing results forĀ 
Search instead forĀ 
Did you mean:Ā 
cancel
1857
Views
0
Helpful
7
Replies

CBFWQ + LLQ

abrissonnet
Level 1
Level 1

Hi everyone,

I have some questions about CBWFQ/LLQ :

As explain in many cisco press book, CBWFQ determine preference between classes on  weight (derived from bandwidth command given to each class-map). So, packets in a class with a higher bandwidth will be service before an other with lower one.

policy-map cbwfq

   class-map voice

         priority 128

   class-map mgmt

         bandwidth 128

   class-map video

         bandwidth 256

   class-map critical-data

         bandwidth 512

   class class-default

         fair-queue

So in this example classes will be serve as follow : voice (LLQ), critical, video, mgmt, default, ...

Is it possible to specify that video or mgmt classes have to be threat before critical data without modifiy bandwith value ?

In CBWFQ, unused interface/class bw will be redistributed between other classes based on weight. Is it the same for LLQ? In our exemple, if voice is not use, does the configured bw allocate to this class (128 k) will be redistribute to others?

Thanks in advance for your reply.

7 Replies 7

Florin Barhala
Level 6
Level 6

In your scenario you apply that policy map to an interface. Whenever traffic hits the interface, it will be checked against the policy map. If video and "critical data" traffic will arrive on your interface, someone has to come first right?Let's say the order was this one: 1 byte of "critical data", then after 1us came 1 byte of video traffic.

So both types of traffic resides in the same queue. Your equipment will check the type of traffic in the queue BUT will not send 1st the VIDEO traffic because the statement in your policy "says so". It will send the "critical data" byte first, then "video" trafic byte, as long as both types of traffic doesn't exceed the BW values.

The exception of my previous description it's for the VOICE traffic. If 1 byte of VIDEO traffic arrives on the queue, then 1 byte of VOICE traffic arrives on the same queue, VOICE traffic will LEAVE first the queue.

Thanks for your reply. But I don't really agree with you... there is not a single queue.

CBWFQ differ from WFQ with the ability to user to make its own classes. Each class has a separate software fifo queue, and all packets found to match the criteria for a particular class are assigned to that queue. The scheduler use weight (derived from bw) to choose the order in which each queue should be served. Then all packet are push to the hardware fifo queue...

So traffic for video and critical are not in the same queue. Router send critical data first because weight (bw assign to the class) is greater than video. But my question was on the scheduler. I think that bw and weight are two different things. If I assign a greater bw to crtical data but I want video traffic to be serve first, is it possible? Can you manually assign a weight for a class?

Yes, for voice traffic it's a priority queue in my example so this queue will be served before all other.

I could use MPQ for voice (level 1 -> hight priority) and video (level 2 -> low priority) but I prefer use CBWFQ for video, and keep MPQ for other kind of traffic.

Thanks in advance

Then, let's wait for others to share their thoughts. I know CBWFQ takes weight into consideration, nevertheless this is for splitting the available bandwidth and NOT for considering which packets goes in front of other.

Exactly so, the main difference with WFQ and CBWFQ is that it allows users to define classes to better manage the scheduling of the final queue (determine which packet should be dequeued next based on weight) and assign a minimum guaranteed bandwidth to these flow in case of congestion.

I agree with you, we'll see the comments of other users. It's the purpose of my question.

Joseph W. Doherty
Hall of Fame
Hall of Fame

Disclaimer

The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose.  Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind.  Usage of this posting's information is solely at reader's own risk

Liability Disclaimer

In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.

Posting

"So, packets in a class with a higher bandwidth will be service before an other with lower one."

Not service before but serviced more.  Non-LLQ classes aren't strictly priorized by their bandwidth allocations, CBWFQ attempts to proportionally service each queue based on class weight.  In your example classes critical-data, video, mgmt would be in the ratios of 4:2:1 (excluding FQ in class-default pre HQF or non-7500/FlexWAN).  However, LLQ does preempt all other CBWFQ queues (up to its explict limiter).

Any "unused" bandwidth is, I believe, proportionly serviced the same.  So, for instance, if there was only packets queued in critical-data and video, they would be serviced 4:2 or 2:1.

abrissonnet
Level 1
Level 1

I admit that your comments made ā€‹ā€‹me doubt compared to informations that I could read in the past. After some research, I found this information from the book "Cisco Telepresence foundamental" editing  on 2009 :

CBWFQ allows for the creation of up to 64 classes of traffic, each with its own reserved queue. Each queue is serviced in a weighted-round-robin (WRR) fashion based on the bandwidth assigned to each class.

I think the right question would be how CBWFQ scheduling really works
? I admit that this information is very hard to find....

Anyway thank you for your answers.

Disclaimer

The  Author of this posting offers the information contained within this  posting without consideration and with the reader's understanding that  there's no implied or expressed suitability or fitness for any purpose.   Information provided is for informational purposes only and should not  be construed as rendering professional advice of any kind.  Usage of  this posting's information is solely at reader's own risk

Liability Disclaimer

In  no event shall Author be liable for any damages whatsoever (including,  without limitation, damages for loss of use, data or profit) arising out  of the use or inability to use the posting's information even if Author  has been advised of the possibility of such damage.

Posting

I admit that your comments made ā€‹ā€‹me doubt compared to informations that I could read in the past. After some research, I found this information from the book "Cisco Telepresence foundamental" editing  on 2009 :

CBWFQ allows for the creation of up to 64 classes of traffic, each with its own reserved queue. Each queue is serviced in a weighted-round-robin (WRR) fashion based on the bandwidth assigned to each class.

I think the right question would be how CBWFQ scheduling really works
? I admit that this information is very hard to find....

I recall only the earliest versions of CBWFQ had the 64 class limitation, for instance, see http://www.cisco.com/en/US/tech/tk543/tk545/technologies_q_and_a_item09186a00800cdfab.shtml 's

Q. How many classes does a Quality of Service (QoS) policy support?



A. In Cisco IOS versions earlier than 12.2 you  could define a maximum of only 256 classes, and you could define up to  256 classes within each policy if the same classes are reused for  different policies. If you have two policies, the total number ...

In Cisco IOS versions 12.2(12),12.2(12)T, and 12.2(12)S,  this limitation of 256 global class-maps was changed, and it is now  possible to configure up to 1024 global class-maps and to use 256  class-maps inside the same policy-map.

Yes, specifics about CBWFQ scheduling are scattered, and there are small changes across different versions, but the WRR description is most apt.

Review Cisco Networking for a $25 gift card