cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1610
Views
13
Helpful
8
Replies

Question about fair-queue

linuxchild
Level 1
Level 1

Hello

below are 2 examples of CBWFQ and LLQ , my question is do I need to add under  class class-default "fair-queue" to be consider as CBWFQ ? the same question for LLQ , do I have to add "fair-queue" to be consider as LLQ ?

what are they going to be consider if I don't add "fair-queue" under them ??

Regards

CBWFQ

class-map match-all MatchEF
match dscp ef
!
!
policy-map VoicePolicy
class MatchEF
bandwidth percent 30
class class-default
fair-queue

LLQ

class-map match-all MatchEF
match dscp ef
!
!
policy-map VoicePolicy
class MatchEF
priority percent 30
class class-default
fair-queue

2 Accepted Solutions

Accepted Solutions

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

No, you don't.  CBWFQ is the policy map and its classes.  Of course, if you only have just one class, one might argue it's not really CBWFQ, but in both your examples you have two defined classes.  Class-default, a class in itself, doesn't require FQ, and if you don't explicitly define class-default, it's still there implicitly.

LLQ is a special priority class, denoted when you use the keyword "priority" (as in you second policy map example).  You can define multiple classes with priority, but there's only one actual priority queue.

View solution in original post

Hello,

Yes, both are using the CBWFQ. The first one without a priority class is a pure CBWFQ, the second uses a PQ for selected class, and all other traffic classes are scheduled using CBWFQ.

Best regards,

Peter

View solution in original post

8 Replies 8

Peter Paluch
Cisco Employee
Cisco Employee

Hello,

Both these configurations should be considered as CBWFQ (or PQ+CBWFQ which is equal to LLQ), regardless of the fair-queue command in the class-default section. The reason is that an entire class, as a whole, is scheduled using the basic WFQ algorithm, as if it was a single flow. That is the reason why we call this system class-based WFQ - because it is an entire class of traffic that is scheduled using WFQ.

The fair-queue in the class-default merely states how should the flows in the class-default class be scheduled. Without the fair-queue command, they will be scheduled in a FIFO fashion. With the fair-queue command, they will be scheduled using the basic WFQ, guaranteeing the bandwidth assigned to the class-default class. Note that in this case, the class-default is not scheduled as a single unit but rather all flows assigned to class-default will be individually scheduled using the WFQ algorithm.

Please feel welcome to ask further.

Best regards,

Peter

Just to carify this , you said

 Both these configurations should be considered as CBWFQ (or PQ+CBWFQ which is equal to LLQ), 

what you say  is , both are CBWFQ but only the second one  is LLQ =PQ+CBWFQ

that's it ?

Hello,

Yes, both are using the CBWFQ. The first one without a priority class is a pure CBWFQ, the second uses a PQ for selected class, and all other traffic classes are scheduled using CBWFQ.

Best regards,

Peter

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

Class-default FQ is actually a little more complex than what Peter describes.  How it actually functions also depends on the platform and IOS version.

On most software based platforms prior to HQF that support CBWFQ, class-default FQ flows compete with defined class flows (i.e. one queue per class) using WFQ.  Weight for individual flows are determined by the defined class's bandwidth allocation or a combination of class-default bandwidth (not explicitly defined) and packet's IP Precedence marking.

In the later HQF version of CBWFQ, class-default FQ flows are scheduled much more like Peter describes, although pure FQ is used (for scheduling within the class).  I.e. classes are still weighted, traffic within the class is either FIFO or FQ.  (NB: with HQF, FQ can now also be applied to other defined classes [excluding LLQ?].)

What this means is, a policy such as either of your examples may schedule traffic a little differently for pre-HQF vs. HQF when you use FQ within class-default.

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

No, you don't.  CBWFQ is the policy map and its classes.  Of course, if you only have just one class, one might argue it's not really CBWFQ, but in both your examples you have two defined classes.  Class-default, a class in itself, doesn't require FQ, and if you don't explicitly define class-default, it's still there implicitly.

LLQ is a special priority class, denoted when you use the keyword "priority" (as in you second policy map example).  You can define multiple classes with priority, but there's only one actual priority queue.

thank you JosephDoherty , what do you call a policy map that has both bandwidth and priority ?

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

linuxchild wrote:

thank you JosephDoherty , what do you call a policy map that has both bandwidth and priority ?

CBWFQ with/using LLQ.

PS:

If there's no priority class(es), then it's just CBWFQ.

thank you both for taking the time to answer me , it is more clear now

Regards

Review Cisco Networking for a $25 gift card